Как отредактировать внешний отчет в 1С:Комплексная автоматизация 2.5?

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

Работа с внешними отчетами в современных конфигурациях на базе 1С:Предприятие 8.3, таких как «Комплексная автоматизация 2.5», требует понимания не только основ программирования, но и механизмов работы подсистемы «Дополнительные отчеты и обработки». В данной статье мы подробно разберем процесс внесения изменений во внешний отчет, на примере добавления новой колонки «Снят с производства».

Шаг 1. Извлечение файла отчета из информационной базы

Прежде чем приступать к редактированию кода или макета, нам необходимо получить физический файл отчета с расширением .erf. В конфигурации «Комплексная автоматизация 2.5» внешние отчеты не хранятся в дереве конфигурации, они находятся в специальном справочнике. Проанализируем, как его найти.

  1. Перейдем в раздел НСИ и администрирование.
  2. В блоке «Администрирование» выберем пункт Печатные формы, отчеты и обработки.
  3. Найдем гиперссылку Дополнительные отчеты и обработки и перейдем по ней.
  4. В открывшемся списке найдем нужный нам отчет. Выделим его курсором.
  5. Нажмем кнопку Выгрузить в файл.... Система предложит выбрать путь для сохранения. Сохраним файл на рабочий стол или в рабочую папку.

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

Шаг 2. Открытие отчета в Конфигураторе

Теперь, когда у нас есть файл .erf, запустим систему 1С:Предприятие в режиме Конфигуратор. Выполним следующие действия:

Выберем в главном меню Файл — Открыть и укажем путь к нашему выгруженному файлу. Перед нами откроется окно внешнего отчета. В этом окне нас больше всего интересует объект Основная схема компоновки данных (сокращенно СКД). Именно здесь в 99% случаев описывается логика получения данных и внешний вид отчета в современных конфигурациях.

Нажмем на иконку «лупы» (открыть) рядом с полем выбора основной схемы. Перед нами откроется Конструктор схемы компоновки данных.

Шаг 3. Добавление данных в запрос СКД

Чтобы в отчете появилась новая колонка (например, признак «Снят с производства»), этот признак сначала нужно извлечь из базы данных. Разберем по шагам, как это сделать во вкладке Набор данных:

  1. Найдем наш набор данных (обычно это НаборДанных1 с типом «Запрос»).
  2. Нажмем кнопку Конструктор запроса.
  3. В «Комплексной автоматизации 2.5» информация о номенклатуре хранится в справочнике Справочник.Номенклатура. Нам нужно найти поле, отвечающее за статус производства. Часто это может быть поле Статус или специфический реквизит, добавленный разработчиками ранее.
  4. Если это стандартный реквизит, перетащим его из левого списка (доступные поля) в правый список (выбранные поля).
  5. Если данные в отчете собираются из нескольких таблиц или используют временные таблицы, нам нужно проследить, чтобы новое поле было добавлено во все промежуточные запросы и попало в итоговую выборку.

Пример изменения текста запроса в конструкторе может выглядеть так:


ВЫБРАТЬ
    Номенклатура.Ссылка КАК Номенклатура,
    Номенклатура.Код КАК Код,
    Номенклатура.Наименование КАК Наименование,
    // Добавляем наше поле
    ВЫБОР
        КОГДА Номенклатура.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыНоменклатуры.СнятаСПроизводства)
            ТОГДА "Снят с производства"
        ИНАЧЕ ""
    КОНЕЦ КАК СтатусПроизводства
ИЗ
    Справочник.Номенклатура КАК Номенклатура

Шаг 4. Настройка вывода новой колонки

Добавление поля в запрос — это только половина дела. Теперь выясним, как заставить отчет отображать это поле пользователю. Перейдем на вкладку Настройки в нижней части конструктора СКД.

  1. В нижней части окна выберем вкладку Выбранные поля.
  2. В левом списке «Доступные поля» найдем наше новое поле СтатусПроизводства.
  3. Перетащим его в правый список. Теперь оно включено в структуру вывода.
  4. Если мы хотим изменить заголовок колонки, нажмем правой кнопкой мыши на поле в правом списке, выберем «Установить заголовок» и введем текст, который увидит пользователь (например, «Состояние»).

Проанализируем ситуацию, если поле не появилось сразу. В КА 2.5 настройки отчетов часто сохраняются в пользовательских настройках. Чтобы изменения вступили в силу для всех, иногда требуется сбросить настройки отчета в режиме «1С:Предприятие» до стандартных.

Шаг 5. Модуль объекта и программные настройки

Иногда отчеты в КА 2.5 строятся с использованием БСП (Библиотеки стандартных подсистем). В этом случае часть настроек может переопределяться программно. Рассмотрим, где это проверить:

В окне внешнего отчета (в Конфигураторе) нажмем кнопку Действия — Открыть модуль объекта. Посмотрим, нет ли там процедур типа ПриКомпоновкеРезультата. Если такая процедура есть, изучим ее код. Иногда разработчики жестко прописывают список доступных полей или программно меняют структуру компоновщика.

Если вы видите код, подобный приведенному ниже, убедитесь, что ваше новое поле не исключается из обработки:


Процедура ПриКомпоновкеРезультата(ДанныеРасшифровки, СтандартнаяОбработка)
    // Здесь может быть программная модификация настроек СКД
    // Если СтандартнаяОбработка = Ложь, то отчет формируется полностью программно
КонецПроцедуры

Шаг 6. Сохранение и обратная загрузка в базу

После внесения всех правок сохраним файл (нажмем Ctrl + S или иконку дискеты). Теперь нам нужно вернуть обновленную версию отчета в информационную базу, чтобы пользователи могли с ним работать.

  1. Вернемся в режим «1С:Предприятие», в тот же справочник Дополнительные отчеты и обработки.
  2. Откроем карточку нашего отчета.
  3. Нажмем кнопку Обновить из файла....
  4. Выберите отредактированный файл .erf на диске.
  5. Нажмем Записать и закрыть.

Теперь проверим результат. Откроем отчет, нажмем «Сформировать». Если колонка не появилась, зайдем в меню Настройки (в форме отчета), переключимся в режим Расширенный, перейдем на вкладку Поля и сортировки и проверим, стоит ли галочка напротив нашего нового поля. Если галочки нет — поставим ее и нажмем «Закрыть и сформировать».

Рассмотренный алгоритм является универсальным для большинства внешних отчетов в системе «1С:Предприятие 8.3». Помните, что при работе с типовыми конфигурациями важно соблюдать структуру запросов и использовать стандартные реквизиты объектов, чтобы избежать ошибок при обновлении программы.

← На главную