Ит = СоздатьОбъект("БухгалтерскиеИтоги");
Ит.ИспользоватьРазделительУчета(ПолучитьПустоеЗначение());
ВСК = ВидыСубконто.ЗначениеПоИДентификатору("Контрагенты");
Ит.ИспользоватьСубконто(ВСК, Клиент, 2);
Если Ит.ВыполнитьЗапрос(ДобавитьМесяц(ДокДата,-1), ДокДата, СчетПоКоду("62.1"),,,, "Проводка") = 0 Тогда
Возврат 0;
КонецЕсли;
//Получаем сумму
ДО = 0;
Ит.ВыбратьПериоды();
Пока Ит.ПолучитьПериод() = 1 Цикл
Опер = Ит.Операция;
//Пропускаем текущий документ
Если Опер.Документ = Конт Тогда
Продолжить;
КонецЕсли;
Дт = Ит.ВыбранаПоДт();
Кт = Ит.ВыбранаПоКт();
Если Дт = 1 Тогда
//Отгрузка пива
Если (Опер.Кредит.Номенклатура.Выбран() = 1) Тогда
Если (Опер.Кредит.Номенклатура.гСкидка = 1) Тогда
ДО = ДО + Опер.Сумма;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Оплачено = ДО;
Спр.ВыбратьЭлементыПоРеквизиту("ДляДР",Перечисление.Булево.Нет,0,0);
Пока Спр.ПолучитьЭлемент() = 1 Цикл
Если Спр.Действует = Перечисление.Булево.Да Тогда
Если Спр.СуммаСтарт <= Оплачено Тогда
Если (Спр.СуммаКонец = 0) или (Спр.СуммаКонец > Оплачено) Тогда
Возврат Спр.Размер;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Что делаем:
- Ит.ВыполнитьЗапрос( - Получаем Бухгалтерские итоги за период "месяц"
- В цикле cобирается купленный объем (при этом учитывается только тот товар у которого выставлена галка гСкидка)
- Выбираем подходящую скидку
Вот и все :) все достаточно просто
Комментариев нет:
Отправить комментарий