Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Очень медленно формируется отчет
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
Дарина
Очень медленно формируется отчет.
Помогите, пожалуйста, разобраться, что я неправильно делаю при формировании отчета «о задолженности контрагентов перед компанией», но не по периодам возникновения задолженности, а остатка задолженности в интервалах(0-30,30-60,…) дней.

Вот как формируется отчет:
- запросом в массив «договора» формируются договора контрагентов из РегНакопл.ВзаиморасчСКонтрагентами.Остатки, по кот. есть остатки;
- другим запросом на основе выбранных договоров из РегНакопл.ВзаиморасчСКонтрагентами.ОстаткиИОбороты выбираются данные на конкретную дату;
- потом выборкой из рез.запроса выбираю все документы по данному договору и контрагенту и записываю «суммы» в ТЗ:
докоплаты и докотгрузки, соответственно по оплате и отгрузке контрагентами;
- потом в цикле перебираю эти ТЗ, удаляя строки, как только документ по отгрузке закрыт документом оплаты;
- теперь вывожу в отчет по данному договору, суммируя результаты в Тз ДокОтгрузки.

Запросы быстро отрабатываются, долго идет выборка документов и расчеты с ТЗ.
Не ругайте строго, если примитивно описала проблему, но пока не знаю, как оптимизировать этот отчет с моими начальными знаниями в 1С.

1С:Предприятие 8.2 (8.2.15.301)
"Управление торговлей" для Беларуси, редакция 2.0
Разработка конфигурации: СООО "1С-Минск", 2005 (2.0.3.23)
logist
Исключите ТЗ, делайте всё запросами, работайте с виртуальными таблицами.
Дарина
Цитата(logist @ 07.06.12, 11:55) необходимо зарегистрироваться для просмотра ссылки
Исключите ТЗ, делайте всё запросами, работайте с виртуальными таблицами.


Если не трудно, подскажите схемку решения задачки или укажите на ссылку, где решалось подобное.
Попыталась объединить первых 2 запроса, а потом? делать выборку в этом же запросе и помещать в виртуальные ТЗ по разным периодам в разные ТЗ?
у меня еще не было опыта написания вложенных запросов, помогите справиться и разобраться с запросом.
alex040269
Делать пакет запросов. В первых запросах должно быть ключевое слово ПОМЕСТИТЬ, В конструкторе закладка "ДОПОЛНИТЕЛЬНО" .
затем можно выбирать из временных таблиц и помещать в новые (при необходимости)
Запросы нужно формировать таким образом, чтобы последний выдавал нужную (только нужную) информацию в нужной последовательности.
Дарина
Цитата(alex040269 @ 08.06.12, 8:54) необходимо зарегистрироваться для просмотра ссылки
Делать пакет запросов. В первых запросах должно быть ключевое слово ПОМЕСТИТЬ, В конструкторе закладка "ДОПОЛНИТЕЛЬНО" .
затем можно выбирать из временных таблиц и помещать в новые (при необходимости)
Запросы нужно формировать таким образом, чтобы последний выдавал нужную (только нужную) информацию в нужной последовательности.


Спасибо огромное за подсказку про "пакет запросов", это чудо-формирует за секунды.
Только вот совсем запуталась: мне нужно получить, как формировался долг на конкретную дату по периодам, т.е.если долг 50, то он в заданные периоды формировался, наприм, 10+20+10+10. Надо показать так: 50 40 30 10.
Выбираю СУММА(ВзаиморасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовКонечныйОстаток) из РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты. Не то. Подскажите, пожалуйста, как надо выбрать.
Vofka
Правила форума читать не будем? Ну-ну.

ЗЫ. Пункт 6.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.