Оптимизация кода отчета
X

Привет дорогой друг

Наш сайт существует и развиваетется за счет рекламы. Пожалуйста, отключите блокировку рекламы AdBlock или подобное, для нашего сайта. Спасибо!
Показано с 1 по 9 из 9

Комбинированный просмотр

  1. #1
    Пришел за помощью

    Регистрация
    15.12.2010
    Сообщений
    29
    Сказал(а) спасибо
    1
    Поблагодарили 1 раз в 1 сообщении

    По умолчанию

    Написано очень коряво, такое надо не править и оптимизировать, а писать заново.

    Грубые ошибки и неточности:
    1) Запрос в цикле это неправильно, некрасиво и медленно, есть неточности и ошибки

    2) Параметры к запросу к основным начислениям заданы таким образом, что мы можем получить данные только за конкретный месяц и то, если будем пользоваться кнопкой (...) для выбора периода, данные за произвольный период мы не получим в принципе. Надо было написать что-то Вроде:
    ГДЕ ПериодДействия МЕЖДУ НАЧАЛОПЕРИОДА(День,&ДН) и КОНЕЦПЕРИОДА(День,&ДК), т.к. часто дата в 8.2 это Дата и время а не просто дата

    3) Отчет формируется за период, а срез последних без параметра даты, стало быть выведутся самые последние значения, если сейчас май, а данные смотрели, скажем, за январь, то данные по должностям будут неправильные.

    4) Условие на виртуальные таблицы типа СрезПоследних нужно задавать в параметрах таблицы, а не в секции ГДЕ.

    5) за каким-то чертом три раза выгружаются данные из первого запроса, да еще и сворачиваются и сортируются, а кроме того не используется индекс, я так подозреваю это попытка сгруппировать данные по видам рассчетов и по сотрудникам.

    6) Циклы, Циклы внутри циклов. Новый("ТаблицаЗначений"), столетняя привычка к 77, это надо искоренять, 8.2 может и быстрее и лучше и проще. И запросы ускоряют, а не замедляют работу.

    7) Такой отчет делается одним запросом с группировкой по итогам. А еще лучше и правильнее делать такие простые отчеты в СКД, тогда будет возможность в режиме Предприятие вносить изменения в группировки отчета. Если нет возможности использовать СКД(бывает и такое, но редко), надо готовить отчет к тому, что он может быть конвертирован в управляемое приложение. Для этого в модуле отчета должна быть экспортная функция, в которую передается структура с параметрами, которая возвращает результат отчета в виде готового табличного документа.

    8) ТабДок.Показать(), это довольно аляпистое решение, должна быть таблица на форме, куда будет выгружаться результат отчета, т.о. форма отчета и результат будут в одном окне, это вызовет меньше непоняток у пользователей.

  2. #2
    Пришел за помощью

    Регистрация
    30.03.2009
    Сообщений
    9
    Сказал(а) спасибо
    5
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию

    Добрый день.
    А по 3,4 пунктам, можно пример в коде ?:)

Похожие темы

  1. Ответов: 0
    Последнее сообщение: 21.12.2010, 00:10

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •