|                                                ВТ_Док. Контрагент

               |                                        ИЗ

               |                                                ВТ_Док КАК ВТ_Док)) КАК ОсновнойОстатки

               |                ПО ВТ_Док. Контрагент = ОсновнойОстатки. Субконто1

               |

               |УПОРЯДОЧИТЬ ПО

               |        ОсновнойОстатки. Субконто2.СрокОкончанияДействия,

               |        ОсновнойОстатки. Субконто3.МоментВремени

               |ИТОГИ

               |        МАКСИМУМ(СуммаВРублях),

               |        СУММА(СуммаОстаток)

НЕ нашли? Не то? Что вы ищете?

               |ПО

               |        Контрагент";

       

       Запрос. УстановитьПараметр("МоментВремени", МоментВремени());

       Запрос. УстановитьПараметр("Ссылка", Ссылка);

       

       РезультатЗапроса = Запрос. Выполнить();

       

       ВыборкаКонтрагент = РезультатЗапроса. Выбрать(ОбходРезультатаЗапроса. ПоГруппировкам);

       

       Пока ВыборкаКонтрагент. Следующий() Цикл

               

               Если ВыборкаКонтрагент. СуммаВРублях > ВыборкаКонтрагент. СуммаОстаток Тогда

                       Сообщение = Новый СообщениеПользователю;

                       Сообщение. Текст = "По контрагенту " + ВыборкаКонтрагент. Контрагент + " сумма превышает на " + (ВыборкаКонтрагент. СуммаВРублях - ВыборкаКонтрагент. СуммаОстаток);

                       Сообщение. Сообщить();

                       

                       Отказ = Истина;

                       Продолжить;

               КонецЕсли;

               

        КСписанию = ВыборкаКонтрагент. СуммаВРублях;

               ВыборкаДетальныеЗаписи = ВыборкаКонтрагент. Выбрать();

       

               Пока ВыборкаДетальныеЗаписи. Следующий() Цикл

                       Если КСписанию > 0 Тогда

                               

                               Если КСписанию >= ВыборкаДетальныеЗаписи. СуммаОстаток Тогда

                                       // регистр Основной

                                       Движение = Движения. Основной. Добавить();

                                       Движение. СчетДт = ПланыСчетов. Управленческий. Касса;

                                       Движение. СчетКт = ПланыСчетов. Управленческий. Покупатели;

                                       Движение. Период = Дата;

                                       Движение. Сумма = ВыборкаДетальныеЗаписи. СуммаОстаток;

                                       Движение. СуммаВЕвроКт = Окр(?(ВыборкаДетальныеЗаписи. КурсЕвро = 0, 0, ВыборкаДетальныеЗаписи. СуммаОстаток / ВыборкаДетальныеЗаписи. КурсЕвро),2);

                                       Движение. СубконтоКт[ПланыВидовХарактеристик. ВидыСубконто. Контрагент] = ВыборкаДетальныеЗаписи. Контрагент;

                                       Движение. СубконтоКт[ПланыВидовХарактеристик. ВидыСубконто. Договор] = ВыборкаДетальныеЗаписи. Договор;

                                       Движение. СубконтоКт[ПланыВидовХарактеристик. ВидыСубконто. Документ] = ВыборкаДетальныеЗаписи. Документ;

                                       

                                       КСписанию = КСписанию - ВыборкаДетальныеЗаписи. СуммаОстаток

                               Иначе

                                       // регистр Основной

                                       Движение = Движения. Основной. Добавить();

                                       Движение. СчетДт = ПланыСчетов. Управленческий. Касса;

                                       Движение. СчетКт = ПланыСчетов. Управленческий. Покупатели;

                                       Движение. Период = Дата;

                                       Движение. Сумма = КСписанию;

                                       Движение. СуммаВЕвроКт = Окр(?(ВыборкаДетальныеЗаписи. КурсЕвро = 0, 0, КСписанию / ВыборкаДетальныеЗаписи. КурсЕвро),2);

                                       Движение. СубконтоКт[ПланыВидовХарактеристик. ВидыСубконто. Контрагент] = ВыборкаДетальныеЗаписи. Контрагент;

                                       Движение. СубконтоКт[ПланыВидовХарактеристик. ВидыСубконто. Договор] = ВыборкаДетальныеЗаписи. Договор;

                                       Движение. СубконтоКт[ПланыВидовХарактеристик. ВидыСубконто. Документ] = ВыборкаДетальныеЗаписи. Документ;

                                       

                                       КСписанию = 0;

                               КонецЕсли;

                               

                       Иначе

                               Прервать;

                       КонецЕсли;

               КонецЦикла;

       КонецЦикла;

КонецПроцедуры

Документ «Операция»

Описание вынесено отдельно

Отчет «Взаиморасчеты»

ВЫБРАТЬ

       ОсновнойОборотыДтКт. СубконтоДт1 КАК Контрагент,

       ОсновнойОборотыДтКт. СубконтоДт2 КАК Договор,

       ОсновнойОборотыДтКт. СубконтоДт3 КАК Документ,

       ОсновнойОборотыДтКт. СуммаОборот КАК СуммаОтгрузка,

       ОсновнойОборотыДтКт. СуммаВЕвроОборотДт КАК СуммаВЕвроОтгрузка,

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10