| ВТ_Док. Контрагент
| ИЗ
| ВТ_Док КАК ВТ_Док)) КАК ОсновнойОстатки
| ПО ВТ_Док. Контрагент = ОсновнойОстатки. Субконто1
|
|УПОРЯДОЧИТЬ ПО
| ОсновнойОстатки. Субконто2.СрокОкончанияДействия,
| ОсновнойОстатки. Субконто3.МоментВремени
|ИТОГИ
| МАКСИМУМ(СуммаВРублях),
| СУММА(СуммаОстаток)
|ПО
| Контрагент";
Запрос. УстановитьПараметр("МоментВремени", МоментВремени());
Запрос. УстановитьПараметр("Ссылка", Ссылка);
РезультатЗапроса = Запрос. Выполнить();
ВыборкаКонтрагент = РезультатЗапроса. Выбрать(ОбходРезультатаЗапроса. ПоГруппировкам);
Пока ВыборкаКонтрагент. Следующий() Цикл
Если ВыборкаКонтрагент. СуммаВРублях > ВыборкаКонтрагент. СуммаОстаток Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение. Текст = "По контрагенту " + ВыборкаКонтрагент. Контрагент + " сумма превышает на " + (ВыборкаКонтрагент. СуммаВРублях - ВыборкаКонтрагент. СуммаОстаток);
Сообщение. Сообщить();
Отказ = Истина;
Продолжить;
КонецЕсли;
КСписанию = ВыборкаКонтрагент. СуммаВРублях;
ВыборкаДетальныеЗаписи = ВыборкаКонтрагент. Выбрать();
Пока ВыборкаДетальныеЗаписи. Следующий() Цикл
Если КСписанию > 0 Тогда
Если КСписанию >= ВыборкаДетальныеЗаписи. СуммаОстаток Тогда
// регистр Основной
Движение = Движения. Основной. Добавить();
Движение. СчетДт = ПланыСчетов. Управленческий. Касса;
Движение. СчетКт = ПланыСчетов. Управленческий. Покупатели;
Движение. Период = Дата;
Движение. Сумма = ВыборкаДетальныеЗаписи. СуммаОстаток;
Движение. СуммаВЕвроКт = Окр(?(ВыборкаДетальныеЗаписи. КурсЕвро = 0, 0, ВыборкаДетальныеЗаписи. СуммаОстаток / ВыборкаДетальныеЗаписи. КурсЕвро),2);
Движение. СубконтоКт[ПланыВидовХарактеристик. ВидыСубконто. Контрагент] = ВыборкаДетальныеЗаписи. Контрагент;
Движение. СубконтоКт[ПланыВидовХарактеристик. ВидыСубконто. Договор] = ВыборкаДетальныеЗаписи. Договор;
Движение. СубконтоКт[ПланыВидовХарактеристик. ВидыСубконто. Документ] = ВыборкаДетальныеЗаписи. Документ;
КСписанию = КСписанию - ВыборкаДетальныеЗаписи. СуммаОстаток
Иначе
// регистр Основной
Движение = Движения. Основной. Добавить();
Движение. СчетДт = ПланыСчетов. Управленческий. Касса;
Движение. СчетКт = ПланыСчетов. Управленческий. Покупатели;
Движение. Период = Дата;
Движение. Сумма = КСписанию;
Движение. СуммаВЕвроКт = Окр(?(ВыборкаДетальныеЗаписи. КурсЕвро = 0, 0, КСписанию / ВыборкаДетальныеЗаписи. КурсЕвро),2);
Движение. СубконтоКт[ПланыВидовХарактеристик. ВидыСубконто. Контрагент] = ВыборкаДетальныеЗаписи. Контрагент;
Движение. СубконтоКт[ПланыВидовХарактеристик. ВидыСубконто. Договор] = ВыборкаДетальныеЗаписи. Договор;
Движение. СубконтоКт[ПланыВидовХарактеристик. ВидыСубконто. Документ] = ВыборкаДетальныеЗаписи. Документ;
КСписанию = 0;
КонецЕсли;
Иначе
Прервать;
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецПроцедуры
Документ «Операция»
Описание вынесено отдельно
Отчет «Взаиморасчеты»
ВЫБРАТЬ
ОсновнойОборотыДтКт. СубконтоДт1 КАК Контрагент,
ОсновнойОборотыДтКт. СубконтоДт2 КАК Договор,
ОсновнойОборотыДтКт. СубконтоДт3 КАК Документ,
ОсновнойОборотыДтКт. СуммаОборот КАК СуммаОтгрузка,
ОсновнойОборотыДтКт. СуммаВЕвроОборотДт КАК СуммаВЕвроОтгрузка,
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 |


