Must Know для внедренцев 1С – 3 приема Системы Компоновки Данных для доработки типовых отчетов



Доброго дня, коллеги!

Одна из часто решаемых задач на внедрениях – доработка отчетов в типовых конфигурациях.

Сегодня мы рассмотрим 3 приема работы с отчетами на СКД, которые позволят эффективно решать следующие задачи:

  • Правильно встроить новый отчет в интерфейс типовой конфигурации на базе БСП
  • Быстро понять логику формирования отчета (и что делать, если Вы не видите запроса в схеме компоновки)
  • Подключить к собственным отчетам сегментирование клиентов и товаров – или сделать в СКД текст запроса динамическим

Казалось бы, там все просто?

Когда клиент просит о простой доработке, а внедренец начинает судорожные метания по конфигуратору, и в итоге задача берется в офис с формулировкой – “опять тут 1С наворотили, нужно время, чтобы разобраться” – это, согласитесь, “неловко”.

Такая ситуация точно не увеличивает авторитет в глазах клиента :)

Поэтому всегда есть смысл найти 15 минут и разобраться с новыми для себя вещами.

Заранее :))

Итак, поехали:

Видео 01. Как встроить отчет на СКД в типовую конфигурацию на базе БСП?

В видео рассмотрим пошаговый алгоритм для добавления нового отчета в интерфейс типовой конфигурации.

Чтобы решить эту задачу в современных типовых (на базе БСП), недостаточно добавить отчет в метаданные и отнести его к нужной подсистеме.

Потребуется выполнить ряд необходимых действий:

  • Воспользоваться обработкой из состава БСП «Обновление вспомогательных данных»
  • Исключить отчет из основного интерфейса подсистемы и оставить его только в панели отчетов
  • Добавить описание варианта отчета
  • Обеспечить возможность поиска отчета пользователем по ключевым словам…

Видео 02. Как быстро проанализировать формирование типового отчета на СКД?

В уроке мы рассмотрим задачу по доработке типового отчета по остаткам денежных средств.

Ключевой момент: если обратиться в схему компоновки в конфигураторе, мы не увидим ни одного запроса.

Это происходит в силу того, что многие отчеты в типовых построены на основе вложенных схем компоновки данных.

В этом видео мы покажем, как “разобрать” логику формирования подобных отчетов.

Видео 03. Как настроить в отчетах отборы по сегментам?

Сегменты номенклатуры и партнеров – универсальный механизм, встречающийся в нескольких типовых конфигурациях.

И если вам предстоит их внедрять, практически гарантировано, что появится потребность в новых отчетах по номенклатуре/партнерам.

Будет правильным сразу же добавлять в отчеты штатную функциональность – поэтому в этих видео мы покажем, как подключить к отчету такие механизмы отбора по сегментам:

  • Как устроена фильтрация данных по сегментам
  • Как СКД может формировать запрос динамически
  • Как внедрить отбор по сегментам в собственные отчеты.

Приятного просмотра!

Эта тема детально раскрыта в курсе:

«Профессиональная разработка отчетов в 1С 8.3 на Системе Компоновки Данных (СКД)»

Поддержка – 2 месяца. Объем курса – 34 учебных часа.

Описание курса

Не откладывайте свое обучение!

Комментарии / обсуждение (28):

  1. Олег

    Если товар находится в нескольких сегментах, а необходимо сделать отбор “не в сегменте”?

    • Василий Ханевич

      Добрый день!
      В таком случае предлагаю воспользоваться консолью компоновки. В пользовательском режиме устанавливаете отбор в настройках компоновки, при помощи консоли просматриваете, какой запрос получился в макете компоновки, как Ваш отбор был транслирован в текст запроса.
      Анализируете, что получилось, принимаете решение о необходимости доработок в типовой конфигурации.

  2. Никитин Дмитрий

    Просмотрел 1-е видео.
    Подумалось, что внешний отчет проще подключить. В конфигураторе описание дописывать не надо, обновлять обработкой ничего не надо.

    Может после 2-го и третьего видео передумаю.

    • Василий Ханевич

      Добрый день!
      Во внешнем отчете в модуле объекта нужно реализовать специальную функцию СведенияОВнешнейОбработке, которая содержит описание этого отчета. Тогда его можно будет подключить к УТ 11 (или другой конфигурации на базе БСП).
      А при добавлении отчета в саму конфигурацию нужно выполнить ряд действий, чтобы вариант отчета отобразился в специальной панели. Если точно не знать, какие действия потребуются, то можно потратить много времени, разбираясь в хитростях БСП. Поэтому в видеоуроке показывается, какие шаги при этом нужно будет выполнить.

      • Никитин Дмитрий

        Сразу оговорюсь, что никоем образом не оспариваю материал, не подвергаю сомнению.
        Просто мне как то удобнее с внешним отчетом. Пользуюсь шаблоном внешнего отчета. Там надо только идентификатор придумать и название отчета. Вся “рыба” функции готовая. С поддержки снимать не надо. Все остальное в программе (пользовательский режим) в помощнике подключения внешних обработок есть. Один раз понять логику помощника, какие функции как выполняются, потом несложно и быстро.

  3. Klyacksa

    Не поняла в 3м видео, зачем нам доп.поля?

    Можно же просто написать в условии
    “ГДЕ
    &ИспользуетсяОтборПоСегментуНоменклатуры”

    • Василий Ханевич

      Добрый день!
      В программном коде параметр ИспользуетсяОтборПоСегментуНоменклатуры устанавливается следующим образом:

      КомпоновкаДанныхКлиентСервер.УстановитьПараметр(ОбъектНастройки, "ИспользуетсяОтборПоСегментуНоменклатуры", Истина, ИспользуетсяОтборПоСегменту);

      Т.е. его значение всегда Истина, управляем только флагом Использование. В зависимости от этого выражение в предложении ГДЕ включается или не включается в итоговый запрос.
      Если мы используем выражение

      (Номенклатура, Характеристика) В
                     (ВЫБРАТЬ
                         ОтборПоСегментуНоменклатуры.Номенклатура,
                         ОтборПоСегментуНоменклатуры.Характеристика
                     ИЗ
                         ОтборПоСегментуНоменклатуры
                     ГДЕ
                         &ИспользуетсяОтборПоСегментуНоменклатуры

      То получится такой же результат. Тоже можно использовать.

      • Klyacksa

        А каким образом определяется, какая часть условия в ГДЕ включается, а какая нет? Разбивается по И?
        Например, в таком выражении:
        (Условие1 или &УсловиеЗависящееОтНашегоПараметра) и Условие2
        что останется при выключенном параметре?

        • Василий Ханевич

          В фигурных скобках в предложении ГДЕ отдельные выражения перечисляются через запятую:

          ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
              Сегменты.Партнер КАК Партнер,
              ИСТИНА КАК ИспользуетсяОтборПоСегментуПартнеров
          ПОМЕСТИТЬ ОтборПоСегментуПартнеров
          ИЗ
              РегистрСведений.ПартнерыСегмента КАК Сегменты
          {ГДЕ
              Сегменты.Сегмент.* КАК СегментПартнеров,
              Сегменты.Партнер.* КАК Партнер}

          Так они и разделяются при составлении итогового запроса.
          В вашем примере:

          ВЫБРАТЬ
              ПродажиОбороты.Контрагент КАК Контрагент,
              ПродажиОбороты.Номенклатура КАК Номенклатура,
              ПродажиОбороты.СуммаОборот КАК СуммаОборот,
              ПродажиОбороты.КоличествоОборот КАК КоличествоОборот
          {ВЫБРАТЬ
              Контрагент.*,
              Номенклатура.*,
              СуммаОборот,
              КоличествоОборот}
          ИЗ
              РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты
          {ГДЕ
              ((ПродажиОбороты.СуммаОборот > 10
                      ИЛИ &Парам1)
                      И ПродажиОбороты.КоличествоОборот > 2)}

          Если выключаем использование параметра Парам1, то предложения ГДЕ в итоговом запросе не будет вообще. Если включаем использование, то это выражение полностью и попадет в результирующий запрос.
          Наглядно это можно увидеть при помощи консоли компоновок, просматривая итоговый запрос в макете компоновки.

      • vvi3ard

        На первый взгляд можно было бы сделать проще. Внутреннее необязательное соеденение с условием. Тогда если установили отобор соеденение будет добавлено а т.к. оно внутреннее произойдет фильтрация

  4. Владимир

    Спасибо вам за труды.
    Ну наворачивают, конечно, они с СКД…. черезчур уже….

  5. Сергей

    Спасибо!
    3 раза пересмотрел 3е видео, пока врубился почему же пропадает условие. Помоему очень неочевидное поведение платформы, при отключении использования параметра..
    Мне кажется возможны ситуации когда отключение использования параметра неверно изменит текст запроса. логика – “если параметр не используется то нужно удалить все условия в которых он участвует, и все зависимые запросы”. так что ли?

    • Василий Ханевич

      Добрый день!
      Это особенность использования расширения языка запросов для системы компоновки данных. Если значения параметров не заданы, то предложение ГДЕ в итоговый запрос не включается. Соответственно получается, что не используется и временная таблица, содержащая состав сегмента. А поскольку поля временной таблицы не используются в следующих запросах пакета, то запрос на создание временной таблицы удаляется из итогового запроса в макете компоновки данных. Вот такая логика.

    • Евгений Гилев (Мастер-тренер)

      Какие-то проблемы случились у Samson meteor mic – звук стал действительно сильно хуже.
      Ждем AUDIO-TECHNICA AT 2020 USB+, тогда видео будут переписаны – в поставке курса будут видео с кристальным звуком :)

    • Евгений Гилев (Мастер-тренер)

      Пока аналогичных жалоб от подписчиков не поступало.
      Но сервисы видеохостинга wistia.com немного подтормаживают, возможно проблема на их стороне.
      Можете попробовать запустить видео с этой страницы – https://content.wistia.com/customer-stories/liveintent, будет ли оно подтормаживать?

        • Евгений Гилев (Мастер-тренер)

          Значит проблема не конкретно с этим видео.
          1. Либо проблемы у видеохостера, они решаются в течение нескольких часов.
          2. Либо проблемы у Вашего провайдера. Чтобы проверить – запустите, например видео с Youtube.

  6. facepeeler

    Почему у роликов так различается уровень громкости? В полном курсе тоже так будет?

    • Юлия Толстых

      Добрый день!
      Спасибо, что сообщили – громкость в роликах отрегулирована.
      В основном курсе качество звука и видео значительно выше, так как используется другой формат видео.

    • Евгений Гилев (Мастер-тренер)

      По ошибке громкость в видео не была выровнена – уже исправили.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Вход на сайт

Зарегистрироваться

Подтверждение регистрации будет отправлено на указанный e-mail.

Я подтверждаю, что ознакомлен(а) с Пользовательским соглашением, принимаю его условия и даю свое согласие на обработку моих персональных данных.

Восстановить доступ

E-mail или логин

Ссылка на создание нового пароля будет отправлена на указанный e-mail.