Ускоритель СЗВ 2010 для ЗиК 2.99

20.07.10

Разработка - Запросы

Ускоряет формирование СЗВ примерно вполовину за счет уменьшения числа запросов.
Реально полезно, когда надо часто и много заходить в редактирование форм СЗВ.
ЗиК 2.99

В процедуре глЗаполнитьТаблицуСотрудниковСОсобымиПериодами имеем классическую ошибку, за которую выгоняют с экзаменов - многократные запросы к одному объекту - ЖурналуРасчетов.

Заменяем их на единый и получаем выигрыш примерно в половину.

 


 

    ДатаЗапросаС  = ДатаНачала;
    ДатаЗапросаПо = ДатаОкончания;

    Запрос=СоздатьОбъект("Запрос");
   
    ТекстЗапроса = "//{{ЗАПРОС(ТаблицаПериодовДействияБЛ)
    |с ДатаЗапросаС по ДатаЗапросаПо;
    |Сотрудник = ЖурналРасчетов.Зарплата.Объект;
    |ВидРасч = ЖурналРасчетов.Зарплата.ВидРасч;
    |Функция ЕстьБЛ               = Сумма(1) Когда (ВидРасч в СписокВРБольничныеЛисты) ;
    |Функция ЕстьОтпускЗаСвойСчет = Сумма(1) Когда (ВидРасч в СписокВРОтпускаБезСохранения) ;
    |Функция ЕстьОтпуск           = Сумма(1) Когда (ВидРасч в СписокВРОтпускаИсключаемыеИзСтажа) ;
    |Группировка Сотрудник без групп;
    |Условие(Сотрудник в СписокСотрудников);
    |Условие ((ВидРасч в СписокВРБольничныеЛисты) ИЛИ (ВидРасч в СписокВРОтпускаБезСохранения) ИЛИ (ВидРасч в СписокВРОтпускаИсключаемыеИзСтажа));
    |"//}}ЗАПРОС
    ;
   
    Если Запрос.Выполнить(ТекстЗапроса) =1 Тогда
        Пока Запрос.Группировка("Сотрудник")=1 Цикл
            ТаблицаСотрудниковСОсобымиПериодами.НоваяСтрока();
            ТаблицаСотрудниковСОсобымиПериодами.Сотрудник = Запрос.Сотрудник;
            ТаблицаСотрудниковСОсобымиПериодами.ЕстьБЛ               = ?(Запрос.ЕстьБЛ              =0,0,1);
            ТаблицаСотрудниковСОсобымиПериодами.ЕстьОтпускЗаСвойСчет = ?(Запрос.ЕстьОтпускЗаСвойСчет=0,0,1);
            ТаблицаСотрудниковСОсобымиПериодами.ЕстьОтпуск           = ?(Запрос.ЕстьОтпуск          =0,0,1);
        КонецЦикла;
    КонецЕсли;

 

См. также

Зарплата Запросы Программист Расчет 7.7 1С:Зарплата и кадры 7.7 Абонемент ($m)

Обзор методов реализации условий и функций с условиями в обращениях к журналу расчетов при помощи прямого запроса.

1 стартмани

06.12.2012    14447    nicotin    5    

9

Запросы Программист Платформа 1С v7.7 1C77 Россия Абонемент ($m)

Собственно, надоело одно и тоже делать для каждого отчета.

1 стартмани

24.04.2012    15130    22    newbas    3    

5

Запросы Платформа 1С v7.7 Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 1C77 Абонемент ($m)

Универсальный отчет для конфигураций на платформе 1С 7.7. Умеет обращатся к справочникам, документам, регистрам и журналам расчетов. Удобен для быстрого получения каких либо данных, которые можно получить посредствам запроса. Предусмотренна возможность сохранения настроек.

1 стартмани

14.04.2012    34553    309    set2333    16    

11

Запросы Программист Платформа 1С v7.7 1C77 Россия Бесплатно (free)

Коллеги! Не пожалейте несколько секунд нажав на плюсик, вам мелочь, а мне приятно))))) Также оставляйте замечания, комментарии и пожелания. В продолжение темы от O-Planet Мастер класс «O-Planet»: использование рекурсивных вычислений в 1С - http://infostart.ru/articles/82/?ref=8784 Пару лет назад столкнулся с тем, что в ПУБе в некоторых отчетах количество группировок ограничено 5 уровнями и это при списке из позиций кажется 12. Честно говоря, как-то не вдохновило описывать 12 реальных циклов, решил написать рекурсию. Потом функция переросла в практический пример, который я привожу своим слушателям для демонстрации того, как реализовывать рекурсию при использовании запроса. пример отчета с рекурсией вот тут - http://infostart.ru/projects/827/?ref=8784 в примере также дана обучающая обработка по работе с запросом, очень будет полезна тем кто только начинает знакомится с таким объектом как "запросом"

14.03.2007    17235    GSoft    23    

28
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. mart-sha 296 20.07.10 18:47 Сейчас в теме
Класс ! Уделал ты их...
Из-за этого тормоза файл серверный вариант остановился полностью. Пришлось срочно переходить на терминал (или альтернативу Viterminal).
2. econom1 28 21.07.10 10:09 Сейчас в теме
это они специально, чтобы потом показать на примере, что 8 быстрей работает
3. Stety 153 22.07.10 08:25 Сейчас в теме
Ценная вещь. А еще разработчики в очередной раз "упустили", что в льготный стаж для пенсий не включаются не только учебные отпуска, но и простои с прогулами.
4. harek78 23.07.10 18:33 Сейчас в теме
Прикольное замечание!

Но по времени одинаково формирует! Специально проверил!
5. aves 228 28.07.10 11:39 Сейчас в теме
(4) замерял монитором - бонус есть.

Да и пользователи заметили, хотя им не сообщалось - слепой тест. :D
6. mihenius 83 15.04.11 14:17 Сейчас в теме
Кстати джамшуды из 1С до сих пор не поправили )
Оставьте свое сообщение