Почему в самописном отчете «Сводная справка выполнения» не отображаются данные по субподряду?

Программист 1С v8.3 (Управляемые формы) 1С:Комплексная автоматизация Управленческий учет Промышленность, строительство и АПК
← На главную

При работе с нетиповыми модулями в Комплексной автоматизации часто возникают ситуации, когда логика отчетов не учитывает все цепочки формирования затрат. Рассмотрим пошагово, как проанализировать и устранить проблему, когда данные по «Заказу поставщику» (субподряду) не попадают в отчет.

Шаг 1. Анализ архитектуры данных и причин отсутствия информации

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

Возможные причины:

  1. Отсутствие связи между объектом «Этап проекта» и «Заказом поставщику» в структуре базы данных.
  2. Отсутствие движений по регистру накопления, на котором строится отчет.
  3. Некорректная настройка левого соединения в запросе СКД.

Шаг 2. Диагностика регистров накопления

Для начала откроем Конфигуратор или Консоль запросов и проверим регистр, который является источником данных для отчета. В нашем случае это ПИР_КалендарныеПланыЭтаповПроектов. Проверьте, заполнен ли там реквизит ЗаказПоставщику. Если поле отсутствует в регистре, значит, документы не делают по нему движений, либо структура регистра не предусматривает учет субподряда в разрезе этапов.

Шаг 3. Использование консоли запросов для отладки

Чтобы понять, что именно «видит» отчет, выгрузите текст запроса СКД в Консоль запросов. Проверьте результат выполнения. Если запрос возвращает пустые значения для колонки Заказ поставщику, значит проблема кроется в LEFT JOIN (левом соединении) или в отсутствии записи в таблице-источнике.

Проанализируйте, к каким таблицам присоединяется основная выборка. Если в цепочке «Задание на проектирование — Договор — Этап» отсутствует присоединение таблицы ЗаказыПоставщику, данные не будут подтянуты.

Шаг 4. Методы решения проблемы

Разберем способы доработки системы, чтобы данные начали отображаться:

  1. Расширение модели данных. Если в текущем регистре нет информации о субподряде, необходимо добавить в него новое измерение ЗаказПоставщику через расширение конфигурации. Это позволит при проведении документов (например, заказов поставщику) записывать ссылку на этап проекта, создавая тем самым прочную связь.
  2. Добавление реквизита в документ. Убедитесь, что в документе Заказ поставщику есть ссылка на Этап проекта. Если ее нет, ее нужно добавить. Это даст возможность связать расходный документ с доходным этапом.
  3. Изменение запроса в СКД. После того как вы обеспечили наличие данных в документах и регистрах, измените запрос в СКД:</li

ВЫБРАТЬ
    Этапы.Ссылка КАК Этап,
    Заказы.Ссылка КАК ЗаказПоставщику
ИЗ
    Справочник.ПИР_КалендарныеПланыЭтаповПроектов КАК Этапы
ЛЕВОЕ СОЕДИНЕНИЕ
    Документ.ЗаказПоставщику КАК Заказы
ПО
    Этапы.Ссылка = Заказы.ЭтапПроекта

Шаг 5. Проверка заполнения реквизитов

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

Если эти поля пусты, отчет не сможет правильно классифицировать субподряд, даже при наличии корректного запроса.

Резюме

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

Это позволит связать доходную часть (этапы) с расходной (субподряд) и вывести необходимые данные в сводную справку.

← На главную