Дипломная работа: Автоматизация учета товарно-материальных ценностей в розничном магазине ООО "Вега"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
117
Приложение 2. Модуль формы документа "Продажа в розницу"
&НаКлиенте
Процедура ФормаОплатыПриИзменении(Элемент)
Наличная = ОпределитьФормуОплаты (Наличная);
Если Наличная = Истина Тогда
Элементы.БанковскийСчетОрганизации.Видимость = Ложь;
Элементы.Касса.Видимость = Истина;
Элементы.Касса.Доступность = Истина;
Иначе
Элементы.БанковскийСчетОрганизации.Видимость = Истина;
Элементы.БанковскийСчетОрганизации.Доступность = Истина;
Элементы.Касса.Видимость = Ложь;
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ОпределитьФормуОплаты (Наличная) Экспорт
Если Объект.ФормаОплаты = Перечисления.ФормаОплаты.Наличная
Тогда
Наличная = Истина;
ИначеЕсли Объект.ФормаОплаты =
Перечисления.ФормаОплаты.Безналичная Тогда
Наличная = Ложь;
Иначе
Наличная = Неопределено;
КонецЕсли;
Возврат Наличная
КонецФункции
&НаКлиенте
Процедура ПриОткрытии(Отказ)
Наличная = ОпределитьФормуОплаты (Наличная);
Если Наличная = Неопределено Тогда
118
Элементы.БанковскийСчетОрганизации.Доступность =Ложь;
Элементы.Касса.Доступность =Ложь;
КонецЕсли;
Если Наличная = Истина Тогда
Элементы.БанковскийСчетОрганизации.Видимость = Ложь;
Элементы.Касса.Видимость = Истина;
Иначе
Элементы.БанковскийСчетОрганизации.Видимость = Истина;
Элементы.Касса.Видимость = Ложь;
КонецЕсли;
Если Объект.СуммаОплаты = Объект.СуммаДокумента И
Объект.СуммаДокумента <> 0 Тогда
Элементы.Декорация1.Видимость = Истина;
КонецЕсли;
Если Объект.СуммаДокумента <> 0 Тогда
ПроцентОплаты = Окр(Объект.СуммаОплаты * 100 /
Объект.СуммаДокумента, 2);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ТоварыКоличествоПриИзменении(Элемент)
КоэффициентНДС = ПолучитьКоэффициентНДС(КоэффициентНДС);
ТекДанные = ЭтаФорма.ТекущийЭлемент.ТекущиеДанные;
Если Объект.ЦенаВключаетНДС = Истина Тогда
ТекДанные.Сумма = ТекДанные.Количество * ТекДанные.Цена;
ТекДанные.СуммаНДС = ТекДанные.Сумма * КоэффициентНДС;
ТекДанные.СуммаСНДС = ТекДанные.Сумма;
КонецЕсли;
Если Объект.ЦенаВключаетНДС = Ложь Тогда
ТекДанные.СуммаНДС = ТекДанные.Количество *
ТекДанные.Цена * КоэффициентНДС;
ТекДанные.Сумма = ТекДанные.Количество * ТекДанные.Цена;
119
ТекДанные.СуммаСНДС = ТекДанные.Сумма +
ТекДанные.СуммаНДС;
КонецЕсли;
ПересчитатьИтог();
КонецПроцедуры
&НаСервере
Функция ПолучитьКоэффициентНДС(КоэффициентНДС) Экспорт
Для Каждого Строка Из Объект.Товары Цикл
Если Строка.СТавкаНДС = Перечисления.СтавкиНДС.БезНДС
Тогда
КоэффициентНДС = 0;
КонецЕсли;
Если Строка.СТавкаНДС = Перечисления.СтавкиНДС.НДС18 Тогда
КоэффициентНДС = 0.18;
КонецЕсли;
КонецЦикла;
Возврат КоэффициентНДС
КонецФункции
&НаСервере
Функция ПолучитьСтавкуНДСПоУмолчанию(СтавкаНДСПоУмолчанию)
Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| УчетнаяПолитикаСрезПоследних.НДС КАК НДС
|ИЗ
| РегистрСведений.УчетнаяПолитика.СрезПоследних КАК
УчетнаяПолитикаСрезПоследних
|ГДЕ
| УчетнаяПолитикаСрезПоследних.Организация = &Организация";
Запрос.УстановитьПараметр("Организация", Объект.Организация);
120
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
СтавкаНДСПоУмолчанию = Выборка.НДС;
КонецЦикла;
Возврат СтавкаНДСПоУмолчанию
КонецФункции
&НаКлиенте
Процедура ТоварыНоменклатураПриИзменении(Элемент)
ТекДанные = ЭтаФорма.ТекущийЭлемент.ТекущиеДанные;
СтавкаНДСПоУмолчанию =
ПолучитьСтавкуНДСПоУмолчанию(СтавкаНДСПоУмолчанию);
ТекДанные.СтавкаНДС = СтавкаНДСПоУмолчанию;
РозничнаяЦена = ОпределитьРозничнуюЦену (РозничнаяЦена);
ТекДанные.Цена = РозничнаяЦена;
КонецПроцедуры
&НаКлиенте
Процедура ТоварыЦенаПриИзменении(Элемент)
КоэффициентНДС = ПолучитьКоэффициентНДС(КоэффициентНДС);
ТекДанные = ЭтаФорма.ТекущийЭлемент.ТекущиеДанные;
Если Объект.ЦенаВключаетНДС = Истина Тогда
ТекДанные.Сумма = ТекДанные.Количество * ТекДанные.Цена;
ТекДанные.СуммаНДС = ТекДанные.Сумма * КоэффициентНДС;
ТекДанные.СуммаСНДС = ТекДанные.Сумма;
КонецЕсли;
Если Объект.ЦенаВключаетНДС = Ложь Тогда
ТекДанные.СуммаНДС = ТекДанные.Количество *
ТекДанные.Цена * КоэффициентНДС;
ТекДанные.Сумма = ТекДанные.Количество * ТекДанные.Цена;
ТекДанные.СуммаСНДС = ТекДанные.Сумма +
ТекДанные.СуммаНДС;
КонецЕсли;
ПересчитатьИтог();
121
КонецПроцедуры
&НаКлиенте
Процедура ТоварыСтавкаНДСПриИзменении(Элемент)
КоэффициентНДС = ПолучитьКоэффициентНДС(КоэффициентНДС);
ТекДанные = ЭтаФорма.ТекущийЭлемент.ТекущиеДанные;
Если Объект.ЦенаВключаетНДС = Истина Тогда
ТекДанные.Сумма = ТекДанные.Количество * ТекДанные.Цена;
ТекДанные.СуммаНДС = ТекДанные.Сумма * КоэффициентНДС;
ТекДанные.СуммаСНДС = ТекДанные.Сумма;
КонецЕсли;
Если Объект.ЦенаВключаетНДС = Ложь Тогда
ТекДанные.СуммаНДС = ТекДанные.Количество *
ТекДанные.Цена * КоэффициентНДС;
ТекДанные.Сумма = ТекДанные.Количество * ТекДанные.Цена;
ТекДанные.СуммаСНДС = ТекДанные.Сумма +
ТекДанные.СуммаНДС;
КонецЕсли;
ПересчитатьИтог();
КонецПроцедуры
&НаСервере
Процедура ЦенаВключаетНДСПриИзмененииНаСервере()
КоэффициентНДС = ПолучитьКоэффициентНДС(КоэффициентНДС);
Для Каждого Строка Из Объект.Товары Цикл
Если Объект.ЦенаВключаетНДС = Истина Тогда
Строка.Сумма = Строка.Количество * Строка.Цена;
Строка.СуммаНДС = Строка.Сумма * КоэффициентНДС;
Строка.СуммаСНДС = Строка.Сумма;
КонецЕсли;
Если Объект.ЦенаВключаетНДС = Ложь Тогда
Строка.СуммаНДС = Строка.Количество * Строка.Цена *
КоэффициентНДС;
Строка.Сумма = Строка.Количество * Строка.Цена;
Источник: https://baza.diplomsite.ru/previewfile/2469