После добавления курсов валют в отчет он начал долго выполняться.
Всем привет! Подскажите, есть отчет, добавил в него курсы валют, и он стал очень тугим, долго формируется. Можно как то это исправить? За ранее спасибо!
Прикрепленные файлы:
КП-ЗК-ЗП.erf
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) КурсыИКоммерч выполняется быстро, но дальше в наборах "ЗаказКлиента" и "ЗаказПоставщика" я использую
И от этого начинает тупить. А в КурсыИКоммерч используется этот код что ниже. Но он не корректно отрабатывает в заказе клиента и поставщика, по этому там сделал как в коде выше и все стало корректно.(не верно считал сумму по курсу)
ПО (КурсыВалют.Период В
(ВЫБРАТЬ ПЕРВЫЕ 1
КурсыВалют.Период
ИЗ
РегистрСведений.КурсыВалют КАК КурсыВалют
ГДЕ
КурсыВалют.Валюта = ЗаказПоставщикуТовары.Ссылка.Валюта
И КурсыВалют.Период <= ЗаказПоставщикуТовары.Ссылка.Дата
УПОРЯДОЧИТЬ ПО
КурсыВалют.Период УБЫВ))
И ЗаказПоставщикуТовары.Ссылка.Валюта = КурсыВалют.Валюта
ПоказатьИ от этого начинает тупить. А в КурсыИКоммерч используется этот код что ниже. Но он не корректно отрабатывает в заказе клиента и поставщика, по этому там сделал как в коде выше и все стало корректно.(не верно считал сумму по курсу)
ВЫБРАТЬ
КурсыВалют.Период КАК Период,
КурсыВалют.Валюта КАК Валюта,
КурсыВалют.Курс КАК Курс,
КурсыВалют.Кратность КАК Кратность
ПОМЕСТИТЬ КурсыВалют
ИЗ
РегистрСведений.КурсыВалют КАК КурсыВалют
ГДЕ
КурсыВалют.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
ПО КоммерческоеПредложениеКлиентуТовары.Ссылка.Валюта = КурсыВалют.Валюта
И (НАЧАЛОПЕРИОДА(КоммерческоеПредложениеКлиентуТовары.Ссылка.Дата, ДЕНЬ) = КурсыВалют.Период)
Показать
(4) Вспомнил. Сделал я как раньше так на заказе клиента:
и он не по всем заказам заполняет рассчитанный курс. В некоторых заполняет, в большинстве пустые поля. Он так даже не цепляет какой заказ клиента идет из коммерческого предложения, все поля пустые. Хотя толком ничего не изменилось, просто добавил курсы.
ВЫБРАТЬ
КурсыВалют.Период КАК Период,
КурсыВалют.Валюта КАК Валюта,
КурсыВалют.Курс КАК Курс,
КурсыВалют.Кратность КАК Кратность
ПОМЕСТИТЬ КурсыВалют
ИЗ
РегистрСведений.КурсыВалют КАК КурсыВалют
ГДЕ
КурсыВалют.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ЗаказКлиентаТовары.Ссылка КАК ЗаказКлиента,
ЗаказКлиентаТовары.Ссылка.СуммаДокумента КАК СуммаДокументаЗК,
ЗаказКлиентаТовары.Номенклатура КАК НоменклатураЗК,
ЗаказКлиентаТовары.Ссылка.Валюта КАК ВалютаЗК,
ЗаказКлиентаТовары.Сумма КАК Сумма,
ЗаказКлиентаТовары.СуммаСНДС КАК СуммаТовараСндсЗК,
ЗаказКлиентаТовары.Ссылка.ДокументОснование КАК ДокументОснованиеЗК,
ВЫБОР
КОГДА ЗаказКлиентаТовары.Ссылка.Валюта.Код = "643"
ТОГДА ЗаказКлиентаТовары.СуммаСНДС
КОГДА ЗаказКлиентаТовары.Ссылка.Валюта.Код = "392"
ТОГДА КурсыВалют.Курс / КурсыВалют.Кратность * ЗаказКлиентаТовары.СуммаСНДС
ИНАЧЕ ЗаказКлиентаТовары.СуммаСНДС * КурсыВалют.Курс
КОНЕЦ КАК СуммаРубСНдсЗК
ИЗ
Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсыВалют
ПО ЗаказКлиентаТовары.Ссылка.Валюта = КурсыВалют.Валюта
И (НАЧАЛОПЕРИОДА(ЗаказКлиентаТовары.Ссылка.Дата, ДЕНЬ) = КурсыВалют.Период)
ГДЕ
ЗаказКлиентаТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
И ЗаказКлиентаТовары.Отменено = ЛОЖЬ
Показатьи он не по всем заказам заполняет рассчитанный курс. В некоторых заполняет, в большинстве пустые поля. Он так даже не цепляет какой заказ клиента идет из коммерческого предложения, все поля пустые. Хотя толком ничего не изменилось, просто добавил курсы.
Прикрепленные файлы:


Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот