новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
Александр Валерьевич
Приватное сообщение

БГУ 2.0.105.60. Внешняя обработка. Переделать запрос

7 |  0
вчера в 21:08:04 (19 часов назад)
1000
Текст задания
Есть внешняя обработка Реестр счетов-фактур, работала до определенного релиза. На последних релизах перестала работать.
В файловом варианте выполняется без ошибок, а вот в клиент серверном (postgresql) возникает ошибка:

"Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm:
по причине:
Ошибка СУБД:
54000: ERROR: joins can have at most 32767 columns"

Ошибка возникает на этапе выполнения ВТ_ОтсторнированныИзПредыдущегоПериода

Нужно переделать запрос, не потеряв результат выполнения и исправить ошибку.
Обработку предоставлю.

Полный текст запроса:

Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| СУММА(ЖурналПроводокЕПСБУ.Сумма) КАК СуммаДокумента,
| ЖурналПроводокЕПСБУ.Регистратор КАК Документ
|ПОМЕСТИТЬ ВТ_СписокДокументов
|ИЗ
| РегистрБухгалтерии.ЖурналПроводокЕПСБУ КАК ЖурналПроводокЕПСБУ
|ГДЕ
| ЖурналПроводокЕПСБУ.СчетДт В ИЕРАРХИИ(&СчетДт)
| И ЖурналПроводокЕПСБУ.СчетКт В(&Счет401_10)
| И ЖурналПроводокЕПСБУ.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
| И ВЫБОР
| КОГДА &ОтборКФО
| ТОГДА ЖурналПроводокЕПСБУ.КФО = &КФО
| ИНАЧЕ ИСТИНА
| КОНЕЦ
| И ВЫБОР
| КОГДА &ОтборИФО
| ТОГДА ЖурналПроводокЕПСБУ.ИФО = &ИФО
| ИНАЧЕ ИСТИНА
| КОНЕЦ
| И ЖурналПроводокЕПСБУ.Организация = &Организация
|
|СГРУППИРОВАТЬ ПО
| ЖурналПроводокЕПСБУ.Регистратор
|
|ИМЕЮЩИЕ
| НЕ СУММА(ЖурналПроводокЕПСБУ.Сумма) = 0
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ_СписокДокументов.СуммаДокумента КАК СуммаДокумента,
| ВТ_СписокДокументов.Документ КАК Документ,
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ВТ_СписокДокументов.Документ) = ТИП(Документ.Сторно)
| ТОГДА ВТ_СписокДокументов.Документ.ДокументОснование
| ИНАЧЕ ВТ_СписокДокументов.Документ
| КОНЕЦ КАК ДокументОснование
|ПОМЕСТИТЬ ВТ_ОтсторнированныИзПредыдущегоПериода
|ИЗ
| ВТ_СписокДокументов КАК ВТ_СписокДокументов
|ГДЕ
| ВТ_СписокДокументов.Документ.ДокументОснование.Дата < &ДатаНачала
| И ТИПЗНАЧЕНИЯ(ВТ_СписокДокументов.Документ) = ТИП(Документ.Сторно)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ_СписокДокументов.СуммаДокумента КАК СуммаДокумента,
| ВТ_СписокДокументов.Документ КАК Документ,
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ВТ_СписокДокументов.Документ) = ТИП(Документ.Сторно)
| ТОГДА ВТ_СписокДокументов.Документ.ДокументОснование
| ИНАЧЕ ВТ_СписокДокументов.Документ
| КОНЕЦ КАК ДокументОснование
|ПОМЕСТИТЬ ВТ_ДокументыТекущегоПериода
|ИЗ
| ВТ_СписокДокументов КАК ВТ_СписокДокументов
|ГДЕ
| НЕ ВТ_СписокДокументов.Документ В
| (ВЫБРАТЬ
| ВТ_ОтсторнированныИзПредыдущегоПериода.Документ
| ИЗ
| ВТ_ОтсторнированныИзПредыдущегоПериода)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ_ОтсторнированныИзПредыдущегоПериода.СуммаДокумента КАК СуммаДокумента,
| ВТ_ОтсторнированныИзПредыдущегоПериода.Документ КАК Документ,
| ВТ_ОтсторнированныИзПредыдущегоПериода.ДокументОснование КАК ДокументОснование
|ПОМЕСТИТЬ ВТ_ПодготовленныеДокументы
|ИЗ
| ВТ_ОтсторнированныИзПредыдущегоПериода КАК ВТ_ОтсторнированныИзПредыдущегоПериода
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СУММА(ВТ_ДокументыТекущегоПериода.СуммаДокумента),
| NULL,
| ВТ_ДокументыТекущегоПериода.ДокументОснование
|ИЗ
| ВТ_ДокументыТекущегоПериода КАК ВТ_ДокументыТекущегоПериода
|
|СГРУППИРОВАТЬ ПО
| ВТ_ДокументыТекущегоПериода.ДокументОснование
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ_ПодготовленныеДокументы.СуммаДокумента КАК СуммаДокумента,
| ВТ_ПодготовленныеДокументы.Документ КАК Документ,
| ВТ_ПодготовленныеДокументы.ДокументОснование КАК ДокументОснование,
| ВТ_ПодготовленныеДокументы.ДокументОснование.Договор.ДатаДоговора КАК ДатаДоговора,
| ВТ_ПодготовленныеДокументы.ДокументОснование.Договор.НомерДоговора КАК НомерДоговора,
| ВТ_ПодготовленныеДокументы.ДокументОснование.Договор.Ссылка КАК ДоговорСсылка,
| ВТ_ПодготовленныеДокументы.ДокументОснование.Контрагент.Ссылка КАК КонтрагентСсылка,
| ВТ_ПодготовленныеДокументы.ДокументОснование.Контрагент.ИНН КАК ИНН,
| ВТ_ПодготовленныеДокументы.ДокументОснование.Контрагент.КПП КАК КПП,
| ВТ_ПодготовленныеДокументы.ДокументОснование.Номер КАК Номер,
| ВТ_ПодготовленныеДокументы.ДокументОснование.Дата КАК Дата
|ПОМЕСТИТЬ ВТ_Подитог
|ИЗ
| ВТ_ПодготовленныеДокументы КАК ВТ_ПодготовленныеДокументы
|ГДЕ
| ВТ_ПодготовленныеДокументы.СуммаДокумента <> 0
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВЫБОР
| КОГДА АктОбОказанииУслугУслугиОказанные.СуммаНДС = 0
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ЕстьНДС,
| АктОбОказанииУслугУслугиОказанные.Ссылка КАК Документ
|ПОМЕСТИТЬ ВТ_НДС
|ИЗ
| Документ.АктОбОказанииУслуг.УслугиОказанные КАК АктОбОказанииУслугУслугиОказанные
|ГДЕ
| АктОбОказанииУслугУслугиОказанные.Ссылка В
| (ВЫБРАТЬ
| ВТ_Подитог.ДокументОснование КАК ДокументОснование
| ИЗ
| ВТ_Подитог КАК ВТ_Подитог)
|
|СГРУППИРОВАТЬ ПО
| АктОбОказанииУслугУслугиОказанные.Ссылка,
| ВЫБОР
| КОГДА АктОбОказанииУслугУслугиОказанные.СуммаНДС = 0
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ДоговорыДополнительныеРеквизиты.Ссылка КАК Ссылка,
| ДоговорыДополнительныеРеквизиты.Значение КАК Значение
|ПОМЕСТИТЬ ВТ_СуммыПоДоговору
|ИЗ
| Справочник.Договоры.ДополнительныеРеквизиты КАК ДоговорыДополнительныеРеквизиты
|ГДЕ
| ДоговорыДополнительныеРеквизиты.Свойство.Наименование = ""Сумма договора""
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ_Подитог.СуммаДокумента КАК СуммаДокумента,
| ВТ_Подитог.Документ КАК Документ,
| ВТ_Подитог.ДокументОснование КАК ДокументОснование,
| ВТ_Подитог.ДатаДоговора КАК ДатаДоговора,
| ВТ_Подитог.НомерДоговора КАК НомерДоговора,
| ВТ_Подитог.ДоговорСсылка КАК ДоговорСсылка,
| ВТ_Подитог.КонтрагентСсылка КАК КонтрагентСсылка,
| ВТ_Подитог.ИНН КАК ИНН,
| ВТ_Подитог.КПП КАК КПП,
| ВТ_Подитог.Номер КАК Номер,
| ВТ_Подитог.Дата КАК Дата,
| ВЫБОР
| КОГДА ВТ_Подитог.КонтрагентСсылка.ВидКонтрагента = ЗНАЧЕНИЕ(Перечисление.ЮрФизЛицо.ФизЛицо)
| ТОГДА ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ВТ_Подитог.Документ) = ТИП(Документ.Сторно)
| ТОГДА -ВТ_Подитог.СуммаДокумента
| ИНАЧЕ ВТ_Подитог.СуммаДокумента
| КОНЕЦ
| ИНАЧЕ ЕСТЬNULL(ВТ_СуммыПоДоговору.Значение, ВТ_Подитог.СуммаДокумента)
| КОНЕЦ КАК СуммаДоговора,
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ВТ_Подитог.Документ) = ТИП(Документ.Сторно)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК Сторно,
| ВЫБОР
| КОГДА ВТ_Подитог.КонтрагентСсылка.ВидКонтрагента = ЗНАЧЕНИЕ(Перечисление.ЮрФизЛицо.ФизЛицо)
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ЮрЛицо,
| ЕСТЬNULL(ВТ_НДС.ЕстьНДС, ЛОЖЬ) КАК Поле1
|ПОМЕСТИТЬ ВТ
|ИЗ
| ВТ_Подитог КАК ВТ_Подитог
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СуммыПоДоговору КАК ВТ_СуммыПоДоговору
| ПО ВТ_Подитог.ДоговорСсылка = ВТ_СуммыПоДоговору.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_НДС КАК ВТ_НДС
| ПО ВТ_Подитог.ДокументОснование = ВТ_НДС.Документ
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ.СуммаДокумента КАК СуммаДокумента,
| ВТ.Документ КАК Документ,
| ВТ.ДокументОснование КАК ДокументОснование,
| ВТ.ДатаДоговора КАК ДатаДоговора,
| ВТ.НомерДоговора КАК НомерДоговора,
| ВТ.ДоговорСсылка КАК ДоговорСсылка,
| ВТ.КонтрагентСсылка КАК КонтрагентСсылка,
| ВТ.ИНН КАК ИНН,
| ВТ.КПП КАК КПП,
| ВТ.Номер КАК Номер,
| ВТ.Дата КАК Дата,
| ВТ.СуммаДоговора КАК СуммаДоговора,
| ВТ.Сторно КАК Сторно,
| ВТ.ЮрЛицо КАК ЮрЛицо
|ИЗ
| ВТ КАК ВТ
|ГДЕ
| НЕ ВТ.Поле1
|
|УПОРЯДОЧИТЬ ПО
| Дата,
| Номер
|ИТОГИ
| СУММА(СуммаДокумента)
|ПО
| ОБЩИЕ
|АВТОУПОРЯДОЧИВАНИЕ";
0
Отклики (9)
Чтобы добавить свое предложение, Вам необходимо авторизоваться либо зарегистрироваться.