Запись не верна! Значение поля "Объект оплаты" не может быть пустым!: ГрафикПлатежей: , , 10.07.2020 0:00:00, , Проект ООО, Поступление от банка по эквайрингу, Поступление, RUB (Регистр сведений: График платежей; Номер строки: 1)
{РегистрСведений.ГрафикПлатежей.МодульМенеджера(390)}: НаборЗаписей.Записать();
{РегистрСведений.ГрафикПлатежей.МодульМенеджера(447)}: РегистрыСведений.ГрафикПлатежей.РассчитатьГрафикПлатежейПоДенежнымСредствамВПути(Результат.Выгрузить());
{Обработка.ЖурналДокументовБезналичныеПлатежи.Форма.ФормаСписка.Форма(29)}: РегистрыСведений.ГрафикПлатежей.РассчитатьГрафикПлатежейПоПоступлениямОтБанкаПоЭквайрингу();
{Обработка.ЖурналДокументовБезналичныеПлатежи.Команда.БезналичныеПлатежи.МодульКоманды(9)}: ОткрытьФорму("Обработка.ЖурналДокументовБезналичныеПлатежи.Форма",
по причине:
Запись не верна! Значение поля "Объект оплаты" не может быть пустым!: ГрафикПлатежей: , , 10.07.2020 0:00:00, , Проект ООО, Поступление от банка по эквайрингу, Поступление, RUB (Регистр сведений: График платежей; Номер строки: 1)
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
ОбъектыОплаты = Новый Массив;
ОбъектыРасчетов = Новый Массив;
Возвраты = Новый Массив;
НеОбрабатываемые = Новый Массив;
НеОбрабатываемые.Добавить(Тип("ДокументСсылка.ПоступлениеБезналичныхДенежныхСредств"));
НеОбрабатываемые.Добавить(Тип("ДокументСсылка.ПриходныйКассовыйОрдер"));
НеОбрабатываемые.Добавить(Тип("ДокументСсылка.РасходныйКассовыйОрдер"));
НеОбрабатываемые.Добавить(Тип("ДокументСсылка.СписаниеБезналичныхДенежныхСредств"));
НеОбрабатываемые.Добавить(Тип("ДокументСсылка.ОперацияПоПлатежнойКарте"));
НеОбрабатываемые.Добавить(Тип("ДокументСсылка.ОперацияПоЯндексКассе"));
Для каждого ДокументОплаты Из ДокументыОплаты Цикл
Если НеОбрабатываемые.Найти(ТипЗнч(ДокументОплаты)) = Неопределено Тогда
ОбъектыОплаты.Добавить(ДокументОплаты);
КонецЕсли;
КонецЦикла;
ОбъектыРасчетов = Новый Массив;
Возвраты = Новый Массив;
Для каждого ОбъектОплаты Из ОбъектыОплаты Цикл
Если ТипЗнч(ОбъектОплаты) = Тип("ДокументСсылка.ВозвратТоваровОтКлиента")
Или ТипЗнч(ОбъектОплаты) = Тип("ДокументСсылка.ЗаявкаНаВозвратТоваровОтКлиента") Тогда
Возвраты.Добавить(ОбъектОплаты);
Иначе
ОбъектыРасчетов.Добавить(ОбъектОплаты);
КонецЕсли;
КонецЦикла;
Если ОбъектыРасчетов.Количество() Тогда
Если НоваяАрхитектураВзаиморасчетов Тогда
ТекстЗапроса = ТекстЗапросаГрафикПлатежейПоРасчетамСКлиентамиНоваяАрхитектура();
Иначе
ТекстЗапроса = ТекстЗапросаГрафикПлатежейПоРасчетамСКлиентами();
КонецЕсли;
Если НоваяАрхитектураВзаиморасчетов Тогда
ТекстЗапроса = ТекстЗапросаГрафикПлатежейПоВозвратамКлиентамНоваяАрхитектура();
Иначе
ТекстЗапроса = ТекстЗапросаГрафикПлатежейПоВозвратамКлиентам();
КонецЕсли;
ОбъектыОплаты = Новый Массив;
ОбъектыРасчетов = Новый Массив;
Возвраты = Новый Массив;
НеОбрабатываемые = Новый Массив;
НеОбрабатываемые.Добавить(Тип("ДокументСсылка.ПоступлениеБезналичныхДенежныхСредств"));
НеОбрабатываемые.Добавить(Тип("ДокументСсылка.ПриходныйКассовыйОрдер"));
НеОбрабатываемые.Добавить(Тип("ДокументСсылка.РасходныйКассовыйОрдер"));
НеОбрабатываемые.Добавить(Тип("ДокументСсылка.СписаниеБезналичныхДенежныхСредств"));
НеОбрабатываемые.Добавить(Тип("ДокументСсылка.ОперацияПоПлатежнойКарте"));
НеОбрабатываемые.Добавить(Тип("ДокументСсылка.ОперацияПоЯндексКассе"));
Для каждого ДокументОплаты Из ДокументыОплаты Цикл
Если НеОбрабатываемые.Найти(ТипЗнч(ДокументОплаты)) = Неопределено Тогда
ОбъектыОплаты.Добавить(ДокументОплаты);
КонецЕсли;
КонецЦикла;
ОбъектыРасчетов = Новый Массив;
Возвраты = Новый Массив;
Для каждого ОбъектОплаты Из ОбъектыОплаты Цикл
Если ТипЗнч(ОбъектОплаты) = Тип("ДокументСсылка.ВозвратТоваровПоставщику") Тогда
Возвраты.Добавить(ОбъектОплаты);
Иначе
ОбъектыРасчетов.Добавить(ОбъектОплаты);
КонецЕсли;
КонецЦикла;
Если ОбъектыРасчетов.Количество() Тогда
Если НоваяАрхитектураВзаиморасчетов Тогда
ТекстЗапроса = ТекстЗапросаГрафикПлатежейПоРасчетамСПоставщикамиНоваяАрхитектура();
Иначе
ТекстЗапроса = ТекстЗапросаГрафикПлатежейПоРасчетамСПоставщиками();
КонецЕсли;
Если НоваяАрхитектураВзаиморасчетов Тогда
ТекстЗапроса = ТекстЗапросаГрафикПлатежейПоВозвратамОтПоставщиковНоваяАрхитектура();
Иначе
ТекстЗапроса = ТекстЗапросаГрафикПлатежейПоВозвратамОтПоставщиков();
КонецЕсли;
Процедура РассчитатьГрафикПлатежейПоДенежнымСредствамКВыплате(ОбъектыОплаты, Очередь = Неопределено) Экспорт
Заявки = Новый Массив;
Распоряжения = Новый Массив;
Уведомления = Новый Массив;
Для каждого ОбъектОплаты Из ОбъектыОплаты Цикл
Если ТипЗнч(ОбъектОплаты) = Тип("ДокументСсылка.ЗаявкаНаРасходованиеДенежныхСредств") Тогда
Заявки.Добавить(ОбъектОплаты);
ИначеЕсли ТипЗнч(ОбъектОплаты) = Тип("ДокументСсылка.РаспоряжениеНаПеремещениеДенежныхСредств") Тогда
Распоряжения.Добавить(ОбъектОплаты);
ИначеЕсли ТипЗнч(ОбъектОплаты) = Тип("ДокументСсылка.УведомлениеОЗачисленииВалюты") Тогда
Уведомления.Добавить(ОбъектОплаты);
КонецЕсли;
КонецЦикла;
Если Заявки.Количество() Тогда
ИдентификаторОбъектаМетаданных = ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.ЗаявкаНаРасходованиеДенежныхСредств");
ТекстЗапроса = ТекстЗапросаГрафикПлатежейПоЗаявкам();
ЗаписатьГрафикПлатежейПоДенежнымСредствамКВыплате(Заявки, ТекстЗапроса, ИдентификаторОбъектаМетаданных, Очередь);
КонецЕсли;
Если Распоряжения.Количество() Тогда
ИдентификаторОбъектаМетаданных = ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.РаспоряжениеНаПеремещениеДенежныхСредств");
ТекстЗапроса = ТекстЗапросаГрафикПлатежейПоРаспоряжениямНаОплату();
ЗаписатьГрафикПлатежейПоДенежнымСредствамКВыплате(Распоряжения, ТекстЗапроса, ИдентификаторОбъектаМетаданных, Очередь);
КонецЕсли;
Если Уведомления.Количество() Тогда
ИдентификаторОбъектаМетаданных = ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.УведомлениеОЗачисленииВалюты");
ТекстЗапроса = ТекстЗапросаГрафикПлатежейПоУведомлениямОЗачисленииВалюты();
ЗаписатьГрафикПлатежейПоДенежнымСредствамКВыплате(Уведомления, ТекстЗапроса, ИдентификаторОбъектаМетаданных, Очередь);
КонецЕсли;
КонецПроцедуры
Процедура РассчитатьГрафикПлатежейПоДенежнымСредствамВПути(ТаблицаОбъектовОплаты, Очередь = Неопределено) Экспорт
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
| ДенежныеСредства.Отправитель КАК ОбъектОплаты,
| ДенежныеСредства.Получатель КАК БанковскийСчетКасса,
| ВЫБОР ДенежныеСредства.ВидПереводаДенежныхСредств
| КОГДА ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ИнкассацияВБанк) ТОГДА
| ДОБАВИТЬКДАТЕ(&ДатаРасчета, ДЕНЬ, ЕСТЬNULL(ВЫРАЗИТЬ(ДенежныеСредства.Отправитель КАК Справочник.Кассы).СрокИнкассации, 0))
| КОГДА ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ИнкассацияИзБанка) ТОГДА
| ДОБАВИТЬКДАТЕ(&ДатаРасчета, ДЕНЬ, ЕСТЬNULL(ВЫРАЗИТЬ(ДенежныеСредства.Получатель КАК Справочник.Кассы).СрокИнкассации, 0))
| КОГДА ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ПеречислениеНаДругойСчет) ТОГДА
| ДОБАВИТЬКДАТЕ(&ДатаРасчета, ДЕНЬ, 1)
| КОГДА ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ПеремещениеВДругуюКассу) ТОГДА
| ДОБАВИТЬКДАТЕ(&ДатаРасчета, ДЕНЬ, ЕСТЬNULL(ВЫРАЗИТЬ(ДенежныеСредства.Отправитель КАК Справочник.Кассы).СрокИнкассации, 0))
| КОНЕЦ КАК ДатаПлатежа,
| ДенежныеСредства.Организация КАК ПлательщикПолучатель,
| ЗНАЧЕНИЕ(Перечисление.ТипыДвиженияДенежныхСредств.Поступление) КАК ПоступлениеСписание,
| ДенежныеСредства.ВидПереводаДенежныхСредств КАК ТипСуммы,
| ДенежныеСредства.Валюта КАК Валюта,
| ДенежныеСредства.СуммаОстаток КАК Сумма,
| ДенежныеСредства.Организация КАК Организация,
| ДенежныеСредства.Получатель.Подразделение КАК Подразделение,
| ДенежныеСредства.Получатель.НаправлениеДеятельности КАК НаправлениеДеятельности,
|
| ВЫБОР ДенежныеСредства.ВидПереводаДенежныхСредств
| КОГДА ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ИнкассацияВБанк) ТОГДА
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеДенежныхСредствИзКассыНаРасчетныйСчет)
| КОГДА ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ИнкассацияИзБанка) ТОГДА
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ИнкассацияДенежныхСредствИзБанка)
| КОГДА ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ПеречислениеНаДругойСчет) ТОГДА
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеДенежныхСредствСДругогоСчета)
| КОГДА ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ПеремещениеВДругуюКассу) ТОГДА
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеДенежныхСредствИзДругойКассы)
| КОНЕЦ КАК ХозяйственнаяОперация,
|
| ВЫБОР ДенежныеСредства.ВидПереводаДенежныхСредств
| КОГДА ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ИнкассацияВБанк) ТОГДА
| ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.СдачаДенежныхСредствВБанк)
| КОГДА ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ИнкассацияИзБанка) ТОГДА
| ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПоступлениеДенежныхСредствИзБанка)
| КОГДА ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ПеречислениеНаДругойСчет) ТОГДА
| ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПеречислениеДенежныхСредствНаДругойСчет)
| КОГДА ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ПеремещениеВДругуюКассу) ТОГДА
| ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ВыдачаДенежныхСредствВДругуюКассу)
| КОНЕЦ КАК СтатьяДвиженияДенежныхСредств,
|
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ДенежныеСредства.Получатель) = ТИП(Справочник.Кассы)
| ИЛИ ТИПЗНАЧЕНИЯ(ДенежныеСредства.Отправитель) = ТИП(Справочник.КассыККМ)
| ИЛИ ТИПЗНАЧЕНИЯ(ДенежныеСредства.Получатель) = ТИП(Справочник.КассыККМ) ТОГДА
| ЗНАЧЕНИЕ(Перечисление.ФормыОплаты.Наличная)
| КОГДА ТИПЗНАЧЕНИЯ(ДенежныеСредства.Получатель) = ТИП(Справочник.БанковскиеСчетаОрганизаций) ТОГДА
| ЗНАЧЕНИЕ(Перечисление.ФормыОплаты.Безналичная)
| КОНЕЦ КАК ФормаОплаты,
| ЗНАЧЕНИЕ(Перечисление.ОбластиПланированияПлатежей.ДенежныеСредстваВПути) КАК ОбластьПланирования,
| ДенежныеСредства.СуммаОстаток КАК СуммаДокумента,
| НЕОПРЕДЕЛЕНО КАК КорВалюта
|ИЗ
| РегистрНакопления.ДенежныеСредстваВПути.Остатки(,
| ВидПереводаДенежныхСредств В (
| ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ИнкассацияВБанк),
| ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ИнкассацияИзБанка),
| ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ПеречислениеНаДругойСчет),
| ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ПеремещениеВДругуюКассу)
| )
| И Получатель В (&БанковскийСчетКасса)
| И Отправитель В (&ОбъектОплаты)
| ) КАК ДенежныеСредства
|
|ГДЕ
| ДенежныеСредства.СуммаОстаток > 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДенежныеСредства.Контрагент КАК ОбъектОплаты,
| ДенежныеСредства.Получатель КАК БанковскийСчетКасса,
| ДОБАВИТЬКДАТЕ(&ДатаРасчета, ДЕНЬ, 1) КАК ДатаПлатежа,
| ДенежныеСредства.Контрагент КАК ПлательщикПолучатель,
| ЗНАЧЕНИЕ(Перечисление.ТипыДвиженияДенежныхСредств.Поступление) КАК ПоступлениеСписание,
| ДенежныеСредства.ВидПереводаДенежныхСредств КАК ТипСуммы,
| ДенежныеСредства.Валюта КАК Валюта,
| ДенежныеСредства.СуммаОстаток КАК Сумма,
| ДенежныеСредства.Организация КАК Организация,
| ВЫРАЗИТЬ(ДенежныеСредства.Получатель КАК Справочник.БанковскиеСчетаОрганизаций).Подразделение,
| ВЫРАЗИТЬ(ДенежныеСредства.Получатель КАК Справочник.БанковскиеСчетаОрганизаций).НаправлениеДеятельности,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОплатыПоПлатежнойКарте),
| ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПоступлениеОплатыОтКлиента),
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ДенежныеСредства.Получатель) = ТИП(Справочник.Кассы) ТОГДА
| ЗНАЧЕНИЕ(Перечисление.ФормыОплаты.Наличная)
| КОГДА ТИПЗНАЧЕНИЯ(ДенежныеСредства.Получатель) = ТИП(Справочник.БанковскиеСчетаОрганизаций) ТОГДА
| ЗНАЧЕНИЕ(Перечисление.ФормыОплаты.Безналичная)
| КОНЕЦ КАК ФормаОплаты,
| ЗНАЧЕНИЕ(Перечисление.ОбластиПланированияПлатежей.ДенежныеСредстваВПути) КАК ОбластьПланирования,
| ДенежныеСредства.СуммаОстаток КАК СуммаДокумента,
| НЕОПРЕДЕЛЕНО КАК КорВалюта
|ИЗ
| РегистрНакопления.ДенежныеСредстваВПути.Остатки(,
| ВидПереводаДенежныхСредств = ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ПоступлениеОтБанкаПоЭквайрингу)
| И Получатель В (&БанковскийСчетКасса)
| И Контрагент В (&ОбъектОплаты)
| ) КАК ДенежныеСредства
|
|ГДЕ
| ДенежныеСредства.СуммаОстаток > 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДенежныеСредства.Контрагент КАК ОбъектОплаты,
| ДенежныеСредства.Получатель КАК БанковскийСчетКасса,
| ДОБАВИТЬКДАТЕ(&ДатаРасчета, ДЕНЬ, 1) КАК ДатаПлатежа,
| ДенежныеСредства.Контрагент КАК ПлательщикПолучатель,
| ЗНАЧЕНИЕ(Перечисление.ТипыДвиженияДенежныхСредств.Поступление) КАК ПоступлениеСписание,
| ДенежныеСредства.ВидПереводаДенежныхСредств КАК ТипСуммы,
| ДенежныеСредства.Получатель.ВалютаДенежныхСредств КАК Валюта,
|
| СУММА(ВЫБОР КОГДА КурсВалютыОтправителя.Кратность <> 0 И КурсВалютыПолучателя.Курс <> 0 ТОГДА
| ДенежныеСредства.СуммаОстаток *
| КурсВалютыОтправителя.Курс * КурсВалютыПолучателя.Кратность / (КурсВалютыОтправителя.Кратность * КурсВалютыПолучателя.Курс)
| ИНАЧЕ
| 0
| КОНЕЦ) КАК Сумма,
|
| ДенежныеСредства.Организация КАК Организация,
| ДенежныеСредства.Получатель.Подразделение,
| ДенежныеСредства.Получатель.НаправлениеДеятельности,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КонвертацияВалюты),
| НЕОПРЕДЕЛЕНО,
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ДенежныеСредства.Получатель) = ТИП(Справочник.Кассы) ТОГДА
| ЗНАЧЕНИЕ(Перечисление.ФормыОплаты.Наличная)
| КОГДА ТИПЗНАЧЕНИЯ(ДенежныеСредства.Получатель) = ТИП(Справочник.БанковскиеСчетаОрганизаций) ТОГДА
| ЗНАЧЕНИЕ(Перечисление.ФормыОплаты.Безналичная)
| КОНЕЦ КАК ФормаОплаты,
| ЗНАЧЕНИЕ(Перечисление.ОбластиПланированияПлатежей.ДенежныеСредстваВПути) КАК ОбластьПланирования,
| СУММА(ДенежныеСредства.СуммаОстаток) КАК СуммаДокумента,
| ДенежныеСредства.Валюта КАК КорВалюта
|ИЗ
| РегистрНакопления.ДенежныеСредстваВПути.Остатки(,
| ВидПереводаДенежныхСредств В (
| ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ПриобретениеВалюты),
| ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.РеализацияВалюты)
| )
| И Получатель В (&БанковскийСчетКасса)
| И Контрагент В (&ОбъектОплаты)
| ) КАК ДенежныеСредства
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаРасчета) КАК КурсВалютыОтправителя
| ПО КурсВалютыОтправителя.Валюта = ДенежныеСредства.Валюта
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаРасчета) КАК КурсВалютыПолучателя
| ПО КурсВалютыПолучателя.Валюта = ДенежныеСредства.Получатель.ВалютаДенежныхСредств
|
|ГДЕ
| ДенежныеСредства.СуммаОстаток > 0
|
|СГРУППИРОВАТЬ ПО
| ДенежныеСредства.Контрагент,
| ДенежныеСредства.Получатель,
| ДенежныеСредства.Организация,
| ДенежныеСредства.ВидПереводаДенежныхСредств,
| ДенежныеСредства.Валюта
|";
Если Не ЗначениеЗаполнено(Запись.СтатьяДвиженияДенежныхСредств) Тогда
Запись.СтатьяДвиженияДенежныхСредств =
Справочники.СтатьиДвиженияДенежныхСредств.СтатьяДвиженияДенежныхСредствПоХозяйственнойОперации(Запись.ХозяйственнаяОперация);
КонецЕсли;
КонецЦикла;
Выборка.Сбросить();
НачатьТранзакцию();
Попытка
Если Очередь <> Неопределено Тогда
ОбновлениеИнформационнойБазы.ЗаписатьДанные(НаборЗаписей);
Иначе
НаборЗаписей.Записать();
КонецЕсли;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ТекстСообщения = НСтр("ru = 'Не удалось записать график платежей по: %1 по причине: %2'");
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
ТекстСообщения, СтрокаОбъектОплаты.ОбъектОплаты, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
Процедура РассчитатьГрафикПлатежейПоФинансовымИнструментам(ОбъектыОплаты, Очередь = Неопределено) Экспорт
ДоговорыКредитовДепозитов = Новый Массив;
//++ НЕ УТ
ДоговорыЛизинга = Новый Массив;
//-- НЕ УТ
Для каждого ОбъектОплаты Из ОбъектыОплаты Цикл
Если ТипЗнч(ОбъектОплаты) = Тип("СправочникСсылка.ДоговорыКредитовИДепозитов") Тогда
ДоговорыКредитовДепозитов.Добавить(ОбъектОплаты);
//++ НЕ УТ
ИначеЕсли ТипЗнч(ОбъектОплаты) = Тип("СправочникСсылка.ДоговорыЛизинга") Тогда
ДоговорыЛизинга.Добавить(ОбъектОплаты);
//-- НЕ УТ
КонецЕсли;
КонецЦикла;
Если ДоговорыКредитовДепозитов.Количество() Тогда
ИдентификаторОбъектаМетаданных = ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Справочник.ДоговорыКредитовИДепозитов");
ТекстЗапроса = ТекстЗапросаГрафикПлатежейПоДоговорамКредитовИДепозитов();
ЗаписатьГрафикПлатежейПоФинансовымИнструментам(ДоговорыКредитовДепозитов, ТекстЗапроса, ИдентификаторОбъектаМетаданных, Очередь);
КонецЕсли;
//++ НЕ УТ
Если ДоговорыЛизинга.Количество() Тогда
ИдентификаторОбъектаМетаданных = ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Справочник.ДоговорыЛизинга");
ТекстЗапроса = ТекстЗапросаГрафикПлатежейПоДоговорамЛизинга();
ЗаписатьГрафикПлатежейПоФинансовымИнструментам(ДоговорыЛизинга, ТекстЗапроса, ИдентификаторОбъектаМетаданных, Очередь);
КонецЕсли;
//-- НЕ УТ
Если Не ОбъектыОплаты.Количество() Тогда
Возврат;
КонецЕсли;
ПоляГрафика = ИнициализироватьПоляГрафика();
ЗапросыПоТипам = Новый Соответствие;
ВыборкиПоТипам = Новый Соответствие;
Для каждого ОбъектОплаты Из ОбъектыОплаты Цикл
Если Не ЗначениеЗаполнено(ОбъектОплаты) Тогда
Продолжить;
КонецЕсли;
ТипОбъектаОплаты = ОбщегоНазначения.ИмяТаблицыПоСсылке(ОбъектОплаты);
Если ЗапросыПоТипам.Получить(ТипОбъектаОплаты) = Неопределено Тогда
ЗапросыПоТипам.Вставить(ТипОбъектаОплаты,
ДенежныеСредстваПовтИсп.ТекстЗапросаКэшРеквизитовПлатежа(ТипОбъектаОплаты, ПоляГрафика));
КонецЕсли;
КонецЦикла;
СхемаЗапроса = Новый СхемаЗапроса;
Для каждого ЗапросПоТипу Из ЗапросыПоТипам Цикл
НовыйЗапрос = СхемаЗапроса.ПакетЗапросов.Добавить();
НовыйЗапрос.УстановитьТекстЗапроса(ЗапросПоТипу.Значение);
КонецЦикла;
Запрос = Новый Запрос(СхемаЗапроса.ПолучитьТекстЗапроса());
Если ЗначениеЗаполнено(Запрос.Текст) Тогда
Запрос.УстановитьПараметр("Ссылка", ОбъектыОплаты);
Результат = Запрос.ВыполнитьПакет();
инд = 0;
Для каждого ЗапросПоТипу Из ЗапросыПоТипам Цикл
ВыборкиПоТипам.Вставить(ЗапросПоТипу.Ключ, Результат[инд].Выбрать());
инд = инд + 1;
КонецЦикла;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
Если ВыборкаРеквизитов.НайтиСледующий(СтруктураПоиска) Тогда
ПоляГрафика = ИнициализироватьПоляГрафика();
ЗаполнитьЗначенияСвойств(ПоляГрафика, ВыборкаРеквизитов);
КонецЕсли;
Запись.БанковскийСчетКасса = Неопределено;
Если ЗначениеЗаполнено(ПоляГрафика.ФормаОплаты) Тогда
Если ПоляГрафика.ФормаОплаты = Перечисления.ФормыОплаты.Безналичная Тогда
Если ЗначениеЗаполнено(ПоляГрафика.БанковскийСчет) Тогда
Запись.БанковскийСчетКасса = ПоляГрафика.БанковскийСчет;
ИначеЕсли ЗначениеЗаполнено(ПоляГрафика.БанковскийСчетОрганизации) Тогда
Запись.БанковскийСчетКасса = ПоляГрафика.БанковскийСчетОрганизации;
КонецЕсли;
ИначеЕсли ПоляГрафика.ФормаОплаты = Перечисления.ФормыОплаты.Наличная
И ЗначениеЗаполнено(ПоляГрафика.Касса) Тогда
Запись.БанковскийСчетКасса = ПоляГрафика.Касса;
КонецЕсли;
Иначе
Если ЗначениеЗаполнено(ПоляГрафика.Касса) Тогда
Запись.БанковскийСчетКасса = ПоляГрафика.Касса;
ИначеЕсли ЗначениеЗаполнено(ПоляГрафика.БанковскийСчет) Тогда
Запись.БанковскийСчетКасса = ПоляГрафика.БанковскийСчет;
ИначеЕсли ЗначениеЗаполнено(ПоляГрафика.БанковскийСчетОрганизации) Тогда
Запись.БанковскийСчетКасса = ПоляГрафика.БанковскийСчетОрганизации;
КонецЕсли;
КонецЕсли;
Если Не ЗначениеЗаполнено(ПоляГрафика.СтатьяДвиженияДенежныхСредств) Тогда
Если ЗначениеЗаполнено(ПоляГрафика.ДоговорСтатьяДвиженияДенежныхСредств) Тогда
Запись.СтатьяДвиженияДенежныхСредств = ПоляГрафика.ДоговорСтатьяДвиженияДенежныхСредств;
ИначеЕсли ЗначениеЗаполнено(ПоляГрафика.СоглашениеСтатьяДвиженияДенежныхСредств) Тогда
Запись.СтатьяДвиженияДенежныхСредств = ПоляГрафика.СоглашениеСтатьяДвиженияДенежныхСредств;
Иначе
Запись.СтатьяДвиженияДенежныхСредств =
Справочники.СтатьиДвиженияДенежныхСредств.СтатьяДвиженияДенежныхСредствПоХозяйственнойОперации(ПоляГрафика.ХозяйственнаяОперация);
КонецЕсли;
КонецЕсли;
Запись.БанковскийСчетКасса = Неопределено;
Если ЗначениеЗаполнено(ВыборкаРеквизитов.ФормаОплаты) Тогда
Если ВыборкаРеквизитов.ФормаОплаты = Перечисления.ФормыОплаты.Безналичная Тогда
Если ЗначениеЗаполнено(ВыборкаРеквизитов.БанковскийСчет) Тогда
Запись.БанковскийСчетКасса = ВыборкаРеквизитов.БанковскийСчет;
КонецЕсли;
ИначеЕсли ВыборкаРеквизитов.ФормаОплаты = Перечисления.ФормыОплаты.Наличная
И ЗначениеЗаполнено(ВыборкаРеквизитов.Касса) Тогда
Запись.БанковскийСчетКасса = ВыборкаРеквизитов.Касса;
КонецЕсли;
Иначе
Если ЗначениеЗаполнено(ВыборкаРеквизитов.Касса) Тогда
Запись.БанковскийСчетКасса = ВыборкаРеквизитов.Касса;
ИначеЕсли ЗначениеЗаполнено(ВыборкаРеквизитов.БанковскийСчет) Тогда
Запись.БанковскийСчетКасса = ВыборкаРеквизитов.БанковскийСчет;
КонецЕсли;
КонецЕсли;
Если ТипЗнч(ОбъектОплаты) = Тип("СправочникСсылка.ДоговорыКредитовИДепозитов") Тогда
Если Выборка.ПоступлениеСписание = Перечисления.ТипыДвиженияДенежныхСредств.Списание
И ВыборкаРеквизитов.ХарактерДоговора = Перечисления.ХарактерыДоговоровФинансовыхИнструментов.КредитИлиЗайм
Или Выборка.ПоступлениеСписание = Перечисления.ТипыДвиженияДенежныхСредств.Поступление
И (ВыборкаРеквизитов.ХарактерДоговора = Перечисления.ХарактерыДоговоровФинансовыхИнструментов.Депозит
Или ВыборкаРеквизитов.ХарактерДоговора = Перечисления.ХарактерыДоговоровФинансовыхИнструментов.ЗаймВыданный) Тогда
Если Выборка.ТипСуммы = Перечисления.ТипыСуммГрафикаКредитовИДепозитов.ОсновнойДолг Тогда
Запись.СтатьяДвиженияДенежныхСредств = ВыборкаРеквизитов.СтатьяДДСОсновногоДолга;
ИначеЕсли Выборка.ТипСуммы = Перечисления.ТипыСуммГрафикаКредитовИДепозитов.Проценты Тогда
Запись.СтатьяДвиженияДенежныхСредств = ВыборкаРеквизитов.СтатьяДДСПроцентов;
ИначеЕсли Выборка.ТипСуммы = Перечисления.ТипыСуммГрафикаКредитовИДепозитов.Комиссия Тогда
Запись.СтатьяДвиженияДенежныхСредств = ВыборкаРеквизитов.СтатьяДДСКомиссии;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Функция ТекстЗапросаГрафикПлатежейПоРасчетамСКлиентами()
ТекстЗапроса = "
|ВЫБРАТЬ
| Расчеты.ЗаказКлиента КАК ЗаказКлиента,
| Расчеты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| Расчеты.Валюта КАК Валюта,
| Расчеты.КОплатеОстаток - Расчеты.ОплачиваетсяОстаток КАК КОплате
|ПОМЕСТИТЬ Остатки
|ИЗ
| РегистрНакопления.РасчетыСКлиентами.Остатки(,
| ЗаказКлиента В (&ОбъектыОплаты)
| ) КАК Расчеты
|
|ГДЕ
| Расчеты.КОплатеОстаток - Расчеты.ОплачиваетсяОстаток > 0
|
|ИНДЕКСИРОВАТЬ ПО
| ЗаказКлиента,
| АналитикаУчетаПоПартнерам,
| Валюта
|;
|
|/////////////////////////////////////////////////
|ВЫБРАТЬ
| Расчеты.Период КАК Период,
| Расчеты.ЗаказКлиента КАК ЗаказКлиента,
| Расчеты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| Расчеты.Валюта КАК Валюта,
| Расчеты.КОплатеПриход КАК КОплате
|ПОМЕСТИТЬ ГрафикОплаты
|ИЗ
| РегистрНакопления.РасчетыСКлиентами.Обороты(,,
| День,
| (ЗаказКлиента, АналитикаУчетаПоПартнерам, Валюта) В
| (ВЫБРАТЬ
| Остатки.ЗаказКлиента,
| Остатки.АналитикаУчетаПоПартнерам,
| Остатки.Валюта
| ИЗ
| Остатки КАК Остатки)
| ) КАК Расчеты
|
|ИНДЕКСИРОВАТЬ ПО
| ЗаказКлиента,
| АналитикаУчетаПоПартнерам,
| Валюта
|;
|
|/////////////////////////////////////////////////
|ВЫБРАТЬ
| ГрафикОплаты.Период КАК ДатаПлатежа,
| ГрафикОплаты.ЗаказКлиента КАК Ссылка,
| ГрафикОплаты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ГрафикОплаты.Валюта КАК Валюта,
|
| ВЫБОР КОГДА МАКСИМУМ(Остатки.КОплате) - МАКСИМУМ(ГрафикОплаты.КОплате) - СУММА(ЕСТЬNULL(ГрафикОплатыИтог.КОплате, 0)) > 0
| ТОГДА
| МАКСИМУМ(ГрафикОплаты.КОплате)
| ИНАЧЕ
| МАКСИМУМ(Остатки.КОплате) - СУММА(ЕСТЬNULL(ГрафикОплатыИтог.КОплате, 0))
| КОНЕЦ КАК Сумма
|
|ПОМЕСТИТЬ ГрафикОплатыРассчитанный
|ИЗ
| ГрафикОплаты КАК ГрафикОплаты
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ГрафикОплаты КАК ГрафикОплатыИтог
| ПО
| ГрафикОплатыИтог.ЗаказКлиента = ГрафикОплаты.ЗаказКлиента
| И ГрафикОплатыИтог.АналитикаУчетаПоПартнерам = ГрафикОплаты.АналитикаУчетаПоПартнерам
| И ГрафикОплатыИтог.Валюта = ГрафикОплаты.Валюта
| И ГрафикОплатыИтог.Период > ГрафикОплаты.Период
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Остатки КАК Остатки
| ПО
| Остатки.ЗаказКлиента = ГрафикОплаты.ЗаказКлиента
| И Остатки.АналитикаУчетаПоПартнерам = ГрафикОплаты.АналитикаУчетаПоПартнерам
| И Остатки.Валюта = ГрафикОплаты.Валюта
|
|СГРУППИРОВАТЬ ПО
| ГрафикОплаты.Период,
| ГрафикОплаты.ЗаказКлиента,
| ГрафикОплаты.АналитикаУчетаПоПартнерам,
| ГрафикОплаты.Валюта
|
|ИМЕЮЩИЕ
| МАКСИМУМ(Остатки.КОплате) - СУММА(ЕСТЬNULL(ГрафикОплатыИтог.КОплате, 0)) > 0
|;
|
|/////////////////////////////////////////////////
|ВЫБРАТЬ
| ГрафикОплаты.ДатаПлатежа КАК ДатаПлатежа,
| ГрафикОплаты.Ссылка КАК Ссылка,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Контрагент КАК ПлательщикПолучатель,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Организация КАК Организация,
| ГрафикОплаты.Валюта КАК Валюта,
| СУММА(ГрафикОплаты.Сумма) КАК Сумма
|ИЗ
| ГрафикОплатыРассчитанный КАК ГрафикОплаты
|СГРУППИРОВАТЬ ПО
| ГрафикОплаты.ДатаПлатежа,
| ГрафикОплаты.Ссылка,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Контрагент,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Организация,
| ГрафикОплаты.Валюта
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаГрафикПлатежейПоВозвратамКлиентам()
ТекстЗапроса = "
|ВЫБРАТЬ
| Расчеты.ЗаказКлиента КАК ЗаказКлиента,
| Расчеты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| Расчеты.Валюта КАК Валюта,
| -(Расчеты.КОплатеОстаток - Расчеты.ОплачиваетсяОстаток) КАК КОплате
|ПОМЕСТИТЬ Остатки
|ИЗ
| РегистрНакопления.РасчетыСКлиентами.Остатки(,
| ЗаказКлиента В (&ОбъектыОплаты)
| ) КАК Расчеты
|
|ГДЕ
| Расчеты.КОплатеОстаток - Расчеты.ОплачиваетсяОстаток < 0
|
|ИНДЕКСИРОВАТЬ ПО
| ЗаказКлиента,
| АналитикаУчетаПоПартнерам,
| Валюта
|;
|
|/////////////////////////////////////////////////
|ВЫБРАТЬ
| Расчеты.Период КАК Период,
| Расчеты.ЗаказКлиента КАК ЗаказКлиента,
| Расчеты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| Расчеты.Валюта КАК Валюта,
| Расчеты.КОплатеРасход КАК КОплате
|ПОМЕСТИТЬ ГрафикОплаты
|ИЗ
| РегистрНакопления.РасчетыСКлиентами.Обороты(,,
| День,
| (ЗаказКлиента, АналитикаУчетаПоПартнерам, Валюта) В
| (ВЫБРАТЬ
| Остатки.ЗаказКлиента,
| Остатки.АналитикаУчетаПоПартнерам,
| Остатки.Валюта
| ИЗ
| Остатки КАК Остатки)
| ) КАК Расчеты
|
|ИНДЕКСИРОВАТЬ ПО
| ЗаказКлиента,
| АналитикаУчетаПоПартнерам,
| Валюта
|;
|
|/////////////////////////////////////////////////
|ВЫБРАТЬ
| ГрафикОплаты.Период КАК ДатаПлатежа,
| ГрафикОплаты.ЗаказКлиента КАК Ссылка,
| ГрафикОплаты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ГрафикОплаты.Валюта КАК Валюта,
|
| ВЫБОР КОГДА МАКСИМУМ(Остатки.КОплате) - МАКСИМУМ(ГрафикОплаты.КОплате) - СУММА(ЕСТЬNULL(ГрафикОплатыИтог.КОплате, 0)) > 0
| ТОГДА
| МАКСИМУМ(ГрафикОплаты.КОплате)
| ИНАЧЕ
| МАКСИМУМ(Остатки.КОплате) - СУММА(ЕСТЬNULL(ГрафикОплатыИтог.КОплате, 0))
| КОНЕЦ КАК Сумма
|
|ПОМЕСТИТЬ ГрафикОплатыРассчитанный
|ИЗ
| ГрафикОплаты КАК ГрафикОплаты
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ГрафикОплаты КАК ГрафикОплатыИтог
| ПО
| ГрафикОплатыИтог.ЗаказКлиента = ГрафикОплаты.ЗаказКлиента
| И ГрафикОплатыИтог.АналитикаУчетаПоПартнерам = ГрафикОплаты.АналитикаУчетаПоПартнерам
| И ГрафикОплатыИтог.Валюта = ГрафикОплаты.Валюта
| И ГрафикОплатыИтог.Период > ГрафикОплаты.Период
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Остатки КАК Остатки
| ПО
| Остатки.ЗаказКлиента = ГрафикОплаты.ЗаказКлиента
| И Остатки.АналитикаУчетаПоПартнерам = ГрафикОплаты.АналитикаУчетаПоПартнерам
| И Остатки.Валюта = ГрафикОплаты.Валюта
|
|СГРУППИРОВАТЬ ПО
| ГрафикОплаты.Период,
| ГрафикОплаты.ЗаказКлиента,
| ГрафикОплаты.АналитикаУчетаПоПартнерам,
| ГрафикОплаты.Валюта
|
|ИМЕЮЩИЕ
| МАКСИМУМ(Остатки.КОплате) - СУММА(ЕСТЬNULL(ГрафикОплатыИтог.КОплате, 0)) > 0
|;
|
|/////////////////////////////////////////////////
|ВЫБРАТЬ
| ГрафикОплаты.ДатаПлатежа КАК ДатаПлатежа,
| ГрафикОплаты.Ссылка КАК Ссылка,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Контрагент КАК ПлательщикПолучатель,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Организация КАК Организация,
| ГрафикОплаты.Валюта КАК Валюта,
| СУММА(ГрафикОплаты.Сумма) КАК Сумма
|ИЗ
| ГрафикОплатыРассчитанный КАК ГрафикОплаты
|СГРУППИРОВАТЬ ПО
| ГрафикОплаты.ДатаПлатежа,
| ГрафикОплаты.Ссылка,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Контрагент,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Организация,
| ГрафикОплаты.Валюта
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаГрафикПлатежейПоРасчетамСКлиентамиНоваяАрхитектура()
ТекстЗапроса = "
|ВЫБРАТЬ
| Расчеты.ЗаказКлиента КАК ЗаказКлиента,
| Расчеты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| Расчеты.Валюта КАК Валюта,
| Расчеты.КОплатеОстаток - Расчеты.ОплачиваетсяОстаток КАК КОплате
|ПОМЕСТИТЬ Остатки
|ИЗ
| РегистрНакопления.РасчетыСКлиентами.Остатки(,
| ЗаказКлиента В (&ОбъектыОплаты)
| ) КАК Расчеты
|
|ГДЕ
| Расчеты.КОплатеОстаток - Расчеты.ОплачиваетсяОстаток > 0
|
|ИНДЕКСИРОВАТЬ ПО
| ЗаказКлиента,
| АналитикаУчетаПоПартнерам,
| Валюта
|;
|
|/////////////////////////////////////////////////
|ВЫБРАТЬ
| ПланОплат.ДатаПлановогоПогашения КАК Период,
| ПланОплат.ОбъектРасчетов КАК ЗаказКлиента,
| ПланОплат.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ПланОплат.Валюта КАК Валюта,
| СУММА(ПланОплат.КОплатеКонечныйОстаток) КАК КОплате
|ПОМЕСТИТЬ ГрафикОплаты
|ИЗ
| РегистрНакопления.РасчетыСКлиентамиПланОплат.ОстаткиИОбороты(,,,, ОбъектРасчетов В (&ОбъектыОплаты)) КАК ПланОплат
|ГДЕ
| ПланОплат.КОплатеКонечныйОстаток <> 0
|СГРУППИРОВАТЬ ПО
| ПланОплат.ДатаПлановогоПогашения,
| ПланОплат.ОбъектРасчетов,
| ПланОплат.АналитикаУчетаПоПартнерам,
| ПланОплат.Валюта
|ИНДЕКСИРОВАТЬ ПО
| ЗаказКлиента,
| АналитикаУчетаПоПартнерам,
| Валюта
|;
|
|/////////////////////////////////////////////////
|ВЫБРАТЬ
| ГрафикОплаты.Период КАК ДатаПлатежа,
| ГрафикОплаты.ЗаказКлиента КАК Ссылка,
| ГрафикОплаты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ГрафикОплаты.Валюта КАК Валюта,
|
| ВЫБОР КОГДА МАКСИМУМ(Остатки.КОплате) - МАКСИМУМ(ГрафикОплаты.КОплате) - СУММА(ЕСТЬNULL(ГрафикОплатыИтог.КОплате, 0)) > 0
| ТОГДА
| МАКСИМУМ(ГрафикОплаты.КОплате)
| ИНАЧЕ
| МАКСИМУМ(Остатки.КОплате) - СУММА(ЕСТЬNULL(ГрафикОплатыИтог.КОплате, 0))
| КОНЕЦ КАК Сумма
|
|ПОМЕСТИТЬ ГрафикОплатыРассчитанный
|ИЗ
| ГрафикОплаты КАК ГрафикОплаты
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ГрафикОплаты КАК ГрафикОплатыИтог
| ПО
| ГрафикОплатыИтог.ЗаказКлиента = ГрафикОплаты.ЗаказКлиента
| И ГрафикОплатыИтог.АналитикаУчетаПоПартнерам = ГрафикОплаты.АналитикаУчетаПоПартнерам
| И ГрафикОплатыИтог.Валюта = ГрафикОплаты.Валюта
| И ГрафикОплатыИтог.Период > ГрафикОплаты.Период
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Остатки КАК Остатки
| ПО
| Остатки.ЗаказКлиента = ГрафикОплаты.ЗаказКлиента
| И Остатки.АналитикаУчетаПоПартнерам = ГрафикОплаты.АналитикаУчетаПоПартнерам
| И Остатки.Валюта = ГрафикОплаты.Валюта
|
|СГРУППИРОВАТЬ ПО
| ГрафикОплаты.Период,
| ГрафикОплаты.ЗаказКлиента,
| ГрафикОплаты.АналитикаУчетаПоПартнерам,
| ГрафикОплаты.Валюта
|
|ИМЕЮЩИЕ
| МАКСИМУМ(Остатки.КОплате) - СУММА(ЕСТЬNULL(ГрафикОплатыИтог.КОплате, 0)) > 0
|;
|
|/////////////////////////////////////////////////
|ВЫБРАТЬ
| ГрафикОплаты.ДатаПлатежа КАК ДатаПлатежа,
| ГрафикОплаты.Ссылка КАК Ссылка,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Контрагент КАК ПлательщикПолучатель,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Организация КАК Организация,
| ГрафикОплаты.Валюта КАК Валюта,
| СУММА(ГрафикОплаты.Сумма) КАК Сумма
|ИЗ
| ГрафикОплатыРассчитанный КАК ГрафикОплаты
|СГРУППИРОВАТЬ ПО
| ГрафикОплаты.ДатаПлатежа,
| ГрафикОплаты.Ссылка,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Контрагент,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Организация,
| ГрафикОплаты.Валюта
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаГрафикПлатежейПоВозвратамКлиентамНоваяАрхитектура()
ТекстЗапроса = "
|ВЫБРАТЬ
| Расчеты.ЗаказКлиента КАК ЗаказКлиента,
| Расчеты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| Расчеты.Валюта КАК Валюта,
| -(Расчеты.КОплатеОстаток - Расчеты.ОплачиваетсяОстаток) КАК КОплате
|ПОМЕСТИТЬ Остатки
|ИЗ
| РегистрНакопления.РасчетыСКлиентами.Остатки(,
| ЗаказКлиента В (&ОбъектыОплаты)
| ) КАК Расчеты
|
|ГДЕ
| Расчеты.КОплатеОстаток - Расчеты.ОплачиваетсяОстаток < 0
|
|ИНДЕКСИРОВАТЬ ПО
| ЗаказКлиента,
| АналитикаУчетаПоПартнерам,
| Валюта
|;
|
|/////////////////////////////////////////////////
|ВЫБРАТЬ
| ПланОплат.ДатаПлановогоПогашения КАК Период,
| ПланОплат.ОбъектРасчетов КАК ЗаказКлиента,
| ПланОплат.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ПланОплат.Валюта КАК Валюта,
| СУММА(ПланОплат.КОплатеКонечныйОстаток) КАК КОплате
|ПОМЕСТИТЬ ГрафикОплаты
|ИЗ
| РегистрНакопления.РасчетыСКлиентамиПланОплат.ОстаткиИОбороты(,,,, ОбъектРасчетов В (&ОбъектыОплаты)) КАК ПланОплат
|ГДЕ
| ПланОплат.КОплатеКонечныйОстаток <> 0
|СГРУППИРОВАТЬ ПО
| ПланОплат.ДатаПлановогоПогашения,
| ПланОплат.ОбъектРасчетов,
| ПланОплат.АналитикаУчетаПоПартнерам,
| ПланОплат.Валюта
|ИНДЕКСИРОВАТЬ ПО
| ЗаказКлиента,
| АналитикаУчетаПоПартнерам,
| Валюта
|;
|
|/////////////////////////////////////////////////
|ВЫБРАТЬ
| ГрафикОплаты.Период КАК ДатаПлатежа,
| ГрафикОплаты.ЗаказКлиента КАК Ссылка,
| ГрафикОплаты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ГрафикОплаты.Валюта КАК Валюта,
|
| ВЫБОР КОГДА МАКСИМУМ(Остатки.КОплате) - МАКСИМУМ(ГрафикОплаты.КОплате) - СУММА(ЕСТЬNULL(ГрафикОплатыИтог.КОплате, 0)) > 0
| ТОГДА
| МАКСИМУМ(ГрафикОплаты.КОплате)
| ИНАЧЕ
| МАКСИМУМ(Остатки.КОплате) - СУММА(ЕСТЬNULL(ГрафикОплатыИтог.КОплате, 0))
| КОНЕЦ КАК Сумма
|
|ПОМЕСТИТЬ ГрафикОплатыРассчитанный
|ИЗ
| ГрафикОплаты КАК ГрафикОплаты
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ГрафикОплаты КАК ГрафикОплатыИтог
| ПО
| ГрафикОплатыИтог.ЗаказКлиента = ГрафикОплаты.ЗаказКлиента
| И ГрафикОплатыИтог.АналитикаУчетаПоПартнерам = ГрафикОплаты.АналитикаУчетаПоПартнерам
| И ГрафикОплатыИтог.Валюта = ГрафикОплаты.Валюта
| И ГрафикОплатыИтог.Период > ГрафикОплаты.Период
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Остатки КАК Остатки
| ПО
| Остатки.ЗаказКлиента = ГрафикОплаты.ЗаказКлиента
| И Остатки.АналитикаУчетаПоПартнерам = ГрафикОплаты.АналитикаУчетаПоПартнерам
| И Остатки.Валюта = ГрафикОплаты.Валюта
|
|СГРУППИРОВАТЬ ПО
| ГрафикОплаты.Период,
| ГрафикОплаты.ЗаказКлиента,
| ГрафикОплаты.АналитикаУчетаПоПартнерам,
| ГрафикОплаты.Валюта
|
|ИМЕЮЩИЕ
| МАКСИМУМ(Остатки.КОплате) - СУММА(ЕСТЬNULL(ГрафикОплатыИтог.КОплате, 0)) > 0
|;
|
|/////////////////////////////////////////////////
|ВЫБРАТЬ
| ГрафикОплаты.ДатаПлатежа КАК ДатаПлатежа,
| ГрафикОплаты.Ссылка КАК Ссылка,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Контрагент КАК ПлательщикПолучатель,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Организация КАК Организация,
| ГрафикОплаты.Валюта КАК Валюта,
| СУММА(ГрафикОплаты.Сумма) КАК Сумма
|ИЗ
| ГрафикОплатыРассчитанный КАК ГрафикОплаты
|СГРУППИРОВАТЬ ПО
| ГрафикОплаты.ДатаПлатежа,
| ГрафикОплаты.Ссылка,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Контрагент,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Организация,
| ГрафикОплаты.Валюта
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаГрафикПлатежейПоРасчетамСПоставщиками()
ТекстЗапроса = "
|ВЫБРАТЬ
| Расчеты.ЗаказПоставщику КАК ЗаказПоставщику,
| Расчеты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| Расчеты.Валюта КАК Валюта,
| -(Расчеты.КОплатеОстаток - Расчеты.ОплачиваетсяОстаток) КАК КОплате
|ПОМЕСТИТЬ Остатки
|ИЗ
| РегистрНакопления.РасчетыСПоставщиками.Остатки(,
| ЗаказПоставщику В (&ОбъектыОплаты)
| ) КАК Расчеты
|
|ГДЕ
| Расчеты.КОплатеОстаток - Расчеты.ОплачиваетсяОстаток < 0
|
|ИНДЕКСИРОВАТЬ ПО
| ЗаказПоставщику,
| АналитикаУчетаПоПартнерам,
| Валюта
|;
|
|/////////////////////////////////////////////////
|ВЫБРАТЬ
| Расчеты.Период КАК Период,
| Расчеты.ЗаказПоставщику КАК ЗаказПоставщику,
| Расчеты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| Расчеты.Валюта КАК Валюта,
| Расчеты.КОплатеРасход КАК КОплате
|ПОМЕСТИТЬ ГрафикОплаты
|ИЗ
| РегистрНакопления.РасчетыСПоставщиками.Обороты(,,
| День,
| (ЗаказПоставщику, АналитикаУчетаПоПартнерам, Валюта) В
| (ВЫБРАТЬ
| Остатки.ЗаказПоставщику,
| Остатки.АналитикаУчетаПоПартнерам,
| Остатки.Валюта
| ИЗ
| Остатки КАК Остатки)
| ) КАК Расчеты
|
|ИНДЕКСИРОВАТЬ ПО
| ЗаказПоставщику,
| АналитикаУчетаПоПартнерам,
| Валюта
|;
|
|/////////////////////////////////////////////////
|ВЫБРАТЬ
| ГрафикОплаты.Период КАК ДатаПлатежа,
| ГрафикОплаты.ЗаказПоставщику КАК Ссылка,
| ГрафикОплаты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ГрафикОплаты.Валюта КАК Валюта,
|
| ВЫБОР КОГДА МАКСИМУМ(Остатки.КОплате) - МАКСИМУМ(ГрафикОплаты.КОплате) - СУММА(ЕСТЬNULL(ГрафикОплатыИтог.КОплате, 0)) > 0
| ТОГДА
| МАКСИМУМ(ГрафикОплаты.КОплате)
| ИНАЧЕ
| МАКСИМУМ(Остатки.КОплате) - СУММА(ЕСТЬNULL(ГрафикОплатыИтог.КОплате, 0))
| КОНЕЦ КАК Сумма
|
|ПОМЕСТИТЬ ГрафикОплатыРассчитанный
|ИЗ
| ГрафикОплаты КАК ГрафикОплаты
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ГрафикОплаты КАК ГрафикОплатыИтог
| ПО
| ГрафикОплатыИтог.ЗаказПоставщику = ГрафикОплаты.ЗаказПоставщику
| И ГрафикОплатыИтог.АналитикаУчетаПоПартнерам = ГрафикОплаты.АналитикаУчетаПоПартнерам
| И ГрафикОплатыИтог.Валюта = ГрафикОплаты.Валюта
| И ГрафикОплатыИтог.Период > ГрафикОплаты.Период
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Остатки КАК Остатки
| ПО
| Остатки.ЗаказПоставщику = ГрафикОплаты.ЗаказПоставщику
| И Остатки.АналитикаУчетаПоПартнерам = ГрафикОплаты.АналитикаУчетаПоПартнерам
| И Остатки.Валюта = ГрафикОплаты.Валюта
|
|СГРУППИРОВАТЬ ПО
| ГрафикОплаты.Период,
| ГрафикОплаты.ЗаказПоставщику,
| ГрафикОплаты.АналитикаУчетаПоПартнерам,
| ГрафикОплаты.Валюта
|
|ИМЕЮЩИЕ
| МАКСИМУМ(Остатки.КОплате) - СУММА(ЕСТЬNULL(ГрафикОплатыИтог.КОплате, 0)) > 0
|;
|
|/////////////////////////////////////////////////
|ВЫБРАТЬ
| ГрафикОплаты.ДатаПлатежа КАК ДатаПлатежа,
| ГрафикОплаты.Ссылка КАК Ссылка,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Контрагент КАК ПлательщикПолучатель,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Организация КАК Организация,
| ГрафикОплаты.Валюта КАК Валюта,
| СУММА(ГрафикОплаты.Сумма) КАК Сумма
|ИЗ
| ГрафикОплатыРассчитанный КАК ГрафикОплаты
|СГРУППИРОВАТЬ ПО
| ГрафикОплаты.ДатаПлатежа,
| ГрафикОплаты.Ссылка,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Контрагент,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Организация,
| ГрафикОплаты.Валюта
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаГрафикПлатежейПоВозвратамОтПоставщиков()
ТекстЗапроса = "
|ВЫБРАТЬ
| Расчеты.ЗаказПоставщику КАК ЗаказПоставщику,
| Расчеты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| Расчеты.Валюта КАК Валюта,
| Расчеты.КОплатеОстаток - Расчеты.ОплачиваетсяОстаток КАК КОплате
|ПОМЕСТИТЬ Остатки
|ИЗ
| РегистрНакопления.РасчетыСПоставщиками.Остатки(,
| ЗаказПоставщику В (&ОбъектыОплаты)
| ) КАК Расчеты
|
|ГДЕ
| Расчеты.КОплатеОстаток - Расчеты.ОплачиваетсяОстаток > 0
|
|ИНДЕКСИРОВАТЬ ПО
| ЗаказПоставщику,
| АналитикаУчетаПоПартнерам,
| Валюта
|;
|
|/////////////////////////////////////////////////
|ВЫБРАТЬ
| Расчеты.Период КАК Период,
| Расчеты.ЗаказПоставщику КАК ЗаказПоставщику,
| Расчеты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| Расчеты.Валюта КАК Валюта,
| Расчеты.КОплатеПриход КАК КОплате
|ПОМЕСТИТЬ ГрафикОплаты
|ИЗ
| РегистрНакопления.РасчетыСПоставщиками.Обороты(,,
| День,
| (ЗаказПоставщику, АналитикаУчетаПоПартнерам, Валюта) В
| (ВЫБРАТЬ
| Остатки.ЗаказПоставщику,
| Остатки.АналитикаУчетаПоПартнерам,
| Остатки.Валюта
| ИЗ
| Остатки КАК Остатки)
| ) КАК Расчеты
|
|ИНДЕКСИРОВАТЬ ПО
| ЗаказПоставщику,
| АналитикаУчетаПоПартнерам,
| Валюта
|;
|
|/////////////////////////////////////////////////
|ВЫБРАТЬ
| ГрафикОплаты.Период КАК ДатаПлатежа,
| ГрафикОплаты.ЗаказПоставщику КАК Ссылка,
| ГрафикОплаты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ГрафикОплаты.Валюта КАК Валюта,
|
| ВЫБОР КОГДА МАКСИМУМ(Остатки.КОплате) - МАКСИМУМ(ГрафикОплаты.КОплате) - СУММА(ЕСТЬNULL(ГрафикОплатыИтог.КОплате, 0)) > 0
| ТОГДА
| МАКСИМУМ(ГрафикОплаты.КОплате)
| ИНАЧЕ
| МАКСИМУМ(Остатки.КОплате) - СУММА(ЕСТЬNULL(ГрафикОплатыИтог.КОплате, 0))
| КОНЕЦ КАК Сумма
|
|ПОМЕСТИТЬ ГрафикОплатыРассчитанный
|ИЗ
| ГрафикОплаты КАК ГрафикОплаты
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ГрафикОплаты КАК ГрафикОплатыИтог
| ПО
| ГрафикОплатыИтог.ЗаказПоставщику = ГрафикОплаты.ЗаказПоставщику
| И ГрафикОплатыИтог.АналитикаУчетаПоПартнерам = ГрафикОплаты.АналитикаУчетаПоПартнерам
| И ГрафикОплатыИтог.Валюта = ГрафикОплаты.Валюта
| И ГрафикОплатыИтог.Период > ГрафикОплаты.Период
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Остатки КАК Остатки
| ПО
| Остатки.ЗаказПоставщику = ГрафикОплаты.ЗаказПоставщику
| И Остатки.АналитикаУчетаПоПартнерам = ГрафикОплаты.АналитикаУчетаПоПартнерам
| И Остатки.Валюта = ГрафикОплаты.Валюта
|
|СГРУППИРОВАТЬ ПО
| ГрафикОплаты.Период,
| ГрафикОплаты.ЗаказПоставщику,
| ГрафикОплаты.АналитикаУчетаПоПартнерам,
| ГрафикОплаты.Валюта
|
|ИМЕЮЩИЕ
| МАКСИМУМ(Остатки.КОплате) - СУММА(ЕСТЬNULL(ГрафикОплатыИтог.КОплате, 0)) > 0
|;
|
|/////////////////////////////////////////////////
|ВЫБРАТЬ
| ГрафикОплаты.ДатаПлатежа КАК ДатаПлатежа,
| ГрафикОплаты.Ссылка КАК Ссылка,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Контрагент КАК ПлательщикПолучатель,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Организация КАК Организация,
| ГрафикОплаты.Валюта КАК Валюта,
| СУММА(ГрафикОплаты.Сумма) КАК Сумма
|ИЗ
| ГрафикОплатыРассчитанный КАК ГрафикОплаты
|СГРУППИРОВАТЬ ПО
| ГрафикОплаты.ДатаПлатежа,
| ГрафикОплаты.Ссылка,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Контрагент,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Организация,
| ГрафикОплаты.Валюта
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаГрафикПлатежейПоРасчетамСПоставщикамиНоваяАрхитектура()
ТекстЗапроса = "
|ВЫБРАТЬ
| Расчеты.ЗаказПоставщику КАК ЗаказПоставщику,
| Расчеты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| Расчеты.Валюта КАК Валюта,
| -(Расчеты.КОплатеОстаток - Расчеты.ОплачиваетсяОстаток) КАК КОплате
|ПОМЕСТИТЬ Остатки
|ИЗ
| РегистрНакопления.РасчетыСПоставщиками.Остатки(,
| ЗаказПоставщику В (&ОбъектыОплаты)
| ) КАК Расчеты
|
|ГДЕ
| Расчеты.КОплатеОстаток - Расчеты.ОплачиваетсяОстаток < 0
|
|ИНДЕКСИРОВАТЬ ПО
| ЗаказПоставщику,
| АналитикаУчетаПоПартнерам,
| Валюта
|;
|
|/////////////////////////////////////////////////
|ВЫБРАТЬ
| ПланОплат.ДатаПлановогоПогашения КАК Период,
| ПланОплат.ОбъектРасчетов КАК ЗаказПоставщику,
| ПланОплат.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ПланОплат.Валюта КАК Валюта,
| СУММА(ПланОплат.КОплатеКонечныйОстаток) КАК КОплате
|ПОМЕСТИТЬ ГрафикОплаты
|ИЗ
| РегистрНакопления.РасчетыСПоставщикамиПланОплат.ОстаткиИОбороты(,,,, ОбъектРасчетов В (&ОбъектыОплаты)) КАК ПланОплат
|ГДЕ
| ПланОплат.КОплатеКонечныйОстаток <> 0
|СГРУППИРОВАТЬ ПО
| ПланОплат.ДатаПлановогоПогашения,
| ПланОплат.ОбъектРасчетов,
| ПланОплат.АналитикаУчетаПоПартнерам,
| ПланОплат.Валюта
|ИНДЕКСИРОВАТЬ ПО
| ЗаказПоставщику,
| АналитикаУчетаПоПартнерам,
| Валюта
|;
|
|/////////////////////////////////////////////////
|ВЫБРАТЬ
| ГрафикОплаты.Период КАК ДатаПлатежа,
| ГрафикОплаты.ЗаказПоставщику КАК Ссылка,
| ГрафикОплаты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ГрафикОплаты.Валюта КАК Валюта,
|
| ВЫБОР КОГДА МАКСИМУМ(Остатки.КОплате) - МАКСИМУМ(ГрафикОплаты.КОплате) - СУММА(ЕСТЬNULL(ГрафикОплатыИтог.КОплате, 0)) > 0
| ТОГДА
| МАКСИМУМ(ГрафикОплаты.КОплате)
| ИНАЧЕ
| МАКСИМУМ(Остатки.КОплате) - СУММА(ЕСТЬNULL(ГрафикОплатыИтог.КОплате, 0))
| КОНЕЦ КАК Сумма
|
|ПОМЕСТИТЬ ГрафикОплатыРассчитанный
|ИЗ
| ГрафикОплаты КАК ГрафикОплаты
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ГрафикОплаты КАК ГрафикОплатыИтог
| ПО
| ГрафикОплатыИтог.ЗаказПоставщику = ГрафикОплаты.ЗаказПоставщику
| И ГрафикОплатыИтог.АналитикаУчетаПоПартнерам = ГрафикОплаты.АналитикаУчетаПоПартнерам
| И ГрафикОплатыИтог.Валюта = ГрафикОплаты.Валюта
| И ГрафикОплатыИтог.Период > ГрафикОплаты.Период
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Остатки КАК Остатки
| ПО
| Остатки.ЗаказПоставщику = ГрафикОплаты.ЗаказПоставщику
| И Остатки.АналитикаУчетаПоПартнерам = ГрафикОплаты.АналитикаУчетаПоПартнерам
| И Остатки.Валюта = ГрафикОплаты.Валюта
|
|СГРУППИРОВАТЬ ПО
| ГрафикОплаты.Период,
| ГрафикОплаты.ЗаказПоставщику,
| ГрафикОплаты.АналитикаУчетаПоПартнерам,
| ГрафикОплаты.Валюта
|
|ИМЕЮЩИЕ
| МАКСИМУМ(Остатки.КОплате) - СУММА(ЕСТЬNULL(ГрафикОплатыИтог.КОплате, 0)) > 0
|;
|
|/////////////////////////////////////////////////
|ВЫБРАТЬ
| ГрафикОплаты.ДатаПлатежа КАК ДатаПлатежа,
| ГрафикОплаты.Ссылка КАК Ссылка,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Контрагент КАК ПлательщикПолучатель,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Организация КАК Организация,
| ГрафикОплаты.Валюта КАК Валюта,
| СУММА(ГрафикОплаты.Сумма) КАК Сумма
|ИЗ
| ГрафикОплатыРассчитанный КАК ГрафикОплаты
|СГРУППИРОВАТЬ ПО
| ГрафикОплаты.ДатаПлатежа,
| ГрафикОплаты.Ссылка,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Контрагент,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Организация,
| ГрафикОплаты.Валюта
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаГрафикПлатежейПоВозвратамОтПоставщиковНоваяАрхитектура()
ТекстЗапроса = "
|ВЫБРАТЬ
| Расчеты.ЗаказПоставщику КАК ЗаказПоставщику,
| Расчеты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| Расчеты.Валюта КАК Валюта,
| Расчеты.КОплатеОстаток - Расчеты.ОплачиваетсяОстаток КАК КОплате
|ПОМЕСТИТЬ Остатки
|ИЗ
| РегистрНакопления.РасчетыСПоставщиками.Остатки(,
| ЗаказПоставщику В (&ОбъектыОплаты)
| ) КАК Расчеты
|
|ГДЕ
| Расчеты.КОплатеОстаток - Расчеты.ОплачиваетсяОстаток > 0
|
|ИНДЕКСИРОВАТЬ ПО
| ЗаказПоставщику,
| АналитикаУчетаПоПартнерам,
| Валюта
|;
|
|/////////////////////////////////////////////////
|ВЫБРАТЬ
| ПланОплат.ДатаПлановогоПогашения КАК Период,
| ПланОплат.ОбъектРасчетов КАК ЗаказПоставщику,
| ПланОплат.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ПланОплат.Валюта КАК Валюта,
| СУММА(ПланОплат.КОплатеКонечныйОстаток) КАК КОплате
|ПОМЕСТИТЬ ГрафикОплаты
|ИЗ
| РегистрНакопления.РасчетыСПоставщикамиПланОплат.ОстаткиИОбороты(,,,, ОбъектРасчетов В (&ОбъектыОплаты)) КАК ПланОплат
|ГДЕ
| ПланОплат.КОплатеКонечныйОстаток <> 0
|СГРУППИРОВАТЬ ПО
| ПланОплат.ДатаПлановогоПогашения,
| ПланОплат.ОбъектРасчетов,
| ПланОплат.АналитикаУчетаПоПартнерам,
| ПланОплат.Валюта
|ИНДЕКСИРОВАТЬ ПО
| ЗаказПоставщику,
| АналитикаУчетаПоПартнерам,
| Валюта
|;
|
|/////////////////////////////////////////////////
|ВЫБРАТЬ
| ГрафикОплаты.Период КАК ДатаПлатежа,
| ГрафикОплаты.ЗаказПоставщику КАК Ссылка,
| ГрафикОплаты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ГрафикОплаты.Валюта КАК Валюта,
|
| ВЫБОР КОГДА МАКСИМУМ(Остатки.КОплате) - МАКСИМУМ(ГрафикОплаты.КОплате) - СУММА(ЕСТЬNULL(ГрафикОплатыИтог.КОплате, 0)) > 0
| ТОГДА
| МАКСИМУМ(ГрафикОплаты.КОплате)
| ИНАЧЕ
| МАКСИМУМ(Остатки.КОплате) - СУММА(ЕСТЬNULL(ГрафикОплатыИтог.КОплате, 0))
| КОНЕЦ КАК Сумма
|
|ПОМЕСТИТЬ ГрафикОплатыРассчитанный
|ИЗ
| ГрафикОплаты КАК ГрафикОплаты
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ГрафикОплаты КАК ГрафикОплатыИтог
| ПО
| ГрафикОплатыИтог.ЗаказПоставщику = ГрафикОплаты.ЗаказПоставщику
| И ГрафикОплатыИтог.АналитикаУчетаПоПартнерам = ГрафикОплаты.АналитикаУчетаПоПартнерам
| И ГрафикОплатыИтог.Валюта = ГрафикОплаты.Валюта
| И ГрафикОплатыИтог.Период > ГрафикОплаты.Период
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Остатки КАК Остатки
| ПО
| Остатки.ЗаказПоставщику = ГрафикОплаты.ЗаказПоставщику
| И Остатки.АналитикаУчетаПоПартнерам = ГрафикОплаты.АналитикаУчетаПоПартнерам
| И Остатки.Валюта = ГрафикОплаты.Валюта
|
|СГРУППИРОВАТЬ ПО
| ГрафикОплаты.Период,
| ГрафикОплаты.ЗаказПоставщику,
| ГрафикОплаты.АналитикаУчетаПоПартнерам,
| ГрафикОплаты.Валюта
|
|ИМЕЮЩИЕ
| МАКСИМУМ(Остатки.КОплате) - СУММА(ЕСТЬNULL(ГрафикОплатыИтог.КОплате, 0)) > 0
|;
|
|/////////////////////////////////////////////////
|ВЫБРАТЬ
| ГрафикОплаты.ДатаПлатежа КАК ДатаПлатежа,
| ГрафикОплаты.Ссылка КАК Ссылка,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Контрагент КАК ПлательщикПолучатель,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Организация КАК Организация,
| ГрафикОплаты.Валюта КАК Валюта,
| СУММА(ГрафикОплаты.Сумма) КАК Сумма
|ИЗ
| ГрафикОплатыРассчитанный КАК ГрафикОплаты
|СГРУППИРОВАТЬ ПО
| ГрафикОплаты.ДатаПлатежа,
| ГрафикОплаты.Ссылка,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Контрагент,
| ГрафикОплаты.АналитикаУчетаПоПартнерам.Организация,
| ГрафикОплаты.Валюта
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаГрафикПлатежейПоЗаявкам()
ТекстЗапроса = "
|ВЫБРАТЬ
| ДенежныеСредства.ЗаявкаНаРасходованиеДенежныхСредств КАК Заявка,
| ДенежныеСредства.БанковскийСчетКасса КАК БанковскийСчетКасса,
| ДенежныеСредства.СуммаОстаток КАК КВыплате
|ПОМЕСТИТЬ Остатки
|ИЗ
| РегистрНакопления.ДенежныеСредстваКВыплате.Остатки(,
| ЗаявкаНаРасходованиеДенежныхСредств В (&ОбъектыОплаты)
| ) КАК ДенежныеСредства
|
|ГДЕ
| ДенежныеСредства.СуммаОстаток > 0
|
|ИНДЕКСИРОВАТЬ ПО
| ЗаявкаНаРасходованиеДенежныхСредств,
| БанковскийСчетКасса
|;
|
|/////////////////////////////////////////////////
|ВЫБРАТЬ
| ДенежныеСредства.Период КАК Период,
| ДенежныеСредства.ЗаявкаНаРасходованиеДенежныхСредств КАК Заявка,
| ДенежныеСредства.БанковскийСчетКасса КАК БанковскийСчетКасса,
| ДенежныеСредства.СуммаПриход КАК КВыплате
|ПОМЕСТИТЬ ГрафикОплаты
|ИЗ
| РегистрНакопления.ДенежныеСредстваКВыплате.Обороты(,,
| День,
| (ЗаявкаНаРасходованиеДенежныхСредств, БанковскийСчетКасса) В
| (ВЫБРАТЬ
| Остатки.Заявка,
| Остатки.БанковскийСчетКасса
| ИЗ
| Остатки КАК Остатки)
| ) КАК ДенежныеСредства
|
|ИНДЕКСИРОВАТЬ ПО
| ЗаявкаНаРасходованиеДенежныхСредств,
| БанковскийСчетКасса
|;
|
|/////////////////////////////////////////////////
|ВЫБРАТЬ
| ГрафикОплаты.Период КАК ДатаПлатежа,
| ГрафикОплаты.Заявка КАК Ссылка,
| ГрафикОплаты.БанковскийСчетКасса КАК БанковскийСчетКасса,
|
| ВЫБОР КОГДА МАКСИМУМ(Остатки.КВыплате) - МАКСИМУМ(ГрафикОплаты.КВыплате) - СУММА(ЕСТЬNULL(ГрафикОплатыИтог.КВыплате, 0)) > 0
| ТОГДА
| МАКСИМУМ(ГрафикОплаты.КВыплате)
| ИНАЧЕ
| МАКСИМУМ(Остатки.КВыплате) - СУММА(ЕСТЬNULL(ГрафикОплатыИтог.КВыплате, 0))
| КОНЕЦ КАК Сумма
|
|ПОМЕСТИТЬ ГрафикПлатежейИтог
|ИЗ
| ГрафикОплаты КАК ГрафикОплаты
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ГрафикОплаты КАК ГрафикОплатыИтог
| ПО
| ГрафикОплатыИтог.Заявка = ГрафикОплаты.Заявка
| И ГрафикОплатыИтог.БанковскийСчетКасса = ГрафикОплаты.БанковскийСчетКасса
| И ГрафикОплатыИтог.Период > ГрафикОплаты.Период
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Остатки КАК Остатки
| ПО
| Остатки.Заявка = ГрафикОплаты.Заявка
| И Остатки.БанковскийСчетКасса = ГрафикОплаты.БанковскийСчетКасса
|
|СГРУППИРОВАТЬ ПО
| ГрафикОплаты.Период,
| ГрафикОплаты.Заявка,
| ГрафикОплаты.БанковскийСчетКасса
|
|ИМЕЮЩИЕ
| МАКСИМУМ(Остатки.КВыплате) - СУММА(ЕСТЬNULL(ГрафикОплатыИтог.КВыплате, 0)) > 0
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ГрафикПлатежей.Ссылка КАК ОбъектОплаты,
| ГрафикПлатежей.БанковскийСчетКасса КАК БанковскийСчетКасса,
| ГрафикПлатежей.ДатаПлатежа КАК ДатаПлатежа,
| ЗНАЧЕНИЕ(Перечисление.ТипыДвиженияДенежныхСредств.Списание) КАК ПоступлениеСписание,
| ВЫБОР
| КОГДА Заявка.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыдачаЗаймаСотруднику),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыдачаДенежныхСредствПодотчетнику)
| )
| ТОГДА
| Заявка.ПодотчетноеЛицо
| КОГДА Заявка.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОплатаДенежныхСредствВДругуюОрганизацию),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратДенежныхСредствВДругуюОрганизацию
Было как то похожее в УТ. Вроде бы это отсылка на реестр ключей аналитики для журналов. Или же вручную нашел эту запись и или удалил или проставил дату
(6) Спасибо за подсказку.
Была аналогичная проблема: данные в программу (КА 2.4) перекочевали через синхронизацию с Розницей 2.3, реквизиты эквайрингового терминала оказались незаполненными. После заполнения и перепроведения отчетов ККМ ошибка исчезла.
(6) После "кривого" синхрона в УТ с Розницей в УТ свалились "кривые" отчеты о розничных продажах, с некорректным эквайринговым терминалом (Объект не найден) поставил корректный Эквайрингвый терминал перепровел Отчеты о Розничных и все заработало.