Почему новый документ не отображается в отчете «Связанные документы» (структура подчиненности) в 1С:КА 2.4?

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

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

Анализ проблемы и настройка состава критерия отбора

Рассмотрим ситуацию: вы создали новый документ, настроили его ввод на основании существующего, добавили тип документа в критерий отбора СвязанныеДокументы, но дерево связей остается пустым. Проанализируем самую распространенную ошибку, связанную с настройкой метаданных в конфигураторе.

Многие начинающие разработчики полагают, что достаточно просто добавить тип документа в список «Данные» критерия отбора. На самом деле, механизм работы критерия отбора строится на поиске ссылок в конкретных реквизитах. Разберем по шагам правильную последовательность действий в конфигураторе:

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

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

Программное заполнение реквизита в модуле объекта

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

Проанализируем пример кода, который необходимо добавить в модуль объекта нового документа в процедуру ОбработкаЗаполнения. Это гарантирует, что при создании документа на основании другого объекта связь будет зафиксирована в базе данных.


Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
    
    // Проверяем, что заполнение происходит на основании другого документа
    Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ЗаказКлиента") Тогда
        
        // Заполняем реквизит, который указан в составе критерия отбора
        ЭтотОбъект.ДокументОснование = ДанныеЗаполнения;
        
        // Дополнительная логика заполнения табличных частей и реквизитов шапки
        ЗаполнитьПоОснованию(ДанныеЗаполнения);
        
    КонецЕсли;
    
КонецПроцедуры

Без этой строки — ДокументОснование = ДанныеЗаполнения — реквизит в базе останется пустым, и отчет «Связанные документы» не сможет найти «родителя» для текущего объекта, так как критерий отбора анализирует именно записанные данные.

Регистрация команд отчетов в модуле менеджера (БСП)

В современных конфигурациях, таких как КА 2.4, отчет «Связанные документы» интегрирован через подсистему «Варианты отчетов» Библиотеки стандартных подсистем (БСП). Для того чтобы команда вызова отчета появилась в интерфейсе документа и работала корректно, рекомендуется внести изменения в модуль менеджера вашего документа.

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


Процедура ДобавитьКомандыОтчетов(КомандыОтчетов) Экспорт
    
    // Если используется типовой механизм УТ/КА/ERP
    ВариантыОтчетовУТПереопределяемый.ДобавитьКомандуСтруктураПодчиненности(КомандыОтчетов);
    
КонецПроцедуры

Эта процедура позволяет отчету динамически подтягиваться в подменю «Отчеты» формы документа. Это профессиональный подход, принятый в типовых решениях 1С, который обеспечивает единообразие интерфейса. Для быстрого вывода команды структуры подчиненности непосредственно на командную панель списков и документов можно воспользоваться расширением для размещения кнопки «Связанные документы» на панели инструментов.

Оптимизация производительности и дополнительные настройки

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

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

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

← На главную