При внедрении функционала «Присоединенные файлы» в новые объекты конфигурации на базе Библиотеки Стандартных Подсистем (БСП), разработчики часто сталкиваются с ситуацией, когда файлы добавляются, но их пиктограммы не отображаются, а при попытке открытия возникает ошибка. Рассмотрим детально, как проанализировать проблему и устранить ее, следуя стандартам БСП.
Первым делом необходимо убедиться, что новый документ корректно зарегистрирован в системе. Одной регистрации в ОпределяемыеТипы недостаточно. Проверьте следующие критические настройки:
Справочник.ИмяДокумента_ПрисоединенныеФайлы) включен в состав подсистемы ПрисоединенныеФайлы.ВладелецФайлов, ВладелецПрисоединяемыхФайлов и ВерсионируемыеДанные. Если хотя бы в одном из них пропущен ваш документ, механизмы БСП не смогут корректно идентифицировать объект-владелец.ПриЗаписи для вашего документа.Если визуальный осмотр метаданных не дал результата, переходите к отладке. Основная проблема часто кроется в функции ДанныеФайлаДляОткрытия модуля РаботаСФайламиСлужебныйВызовСервера. В этой функции переменная ПредыдущийАдресФайла может оказаться пустой, что свидетельствует о невозможности получения двоичных данных.
Поставьте точку останова в методе, который инициализирует открытие формы файла. Проанализируйте, передается ли в него корректный УникальныйИдентификатор владельца. Если идентификатор пуст или не соответствует ожидаемому, значит, на форме документа неверно настроена связь между командной панелью и менеджером файлов.
Механизм «Присоединенные файлы» в БСП требует явной регистрации документа в параметрах работы. В коде конфигурации существуют функции, которые возвращают настройки для разных типов объектов. Разберем типичный пример инициализации параметров:
Функция ПараметрыРаботыСФайлами() Экспорт
Параметры = Новый Структура;
// ... логика инициализации
// Необходимо проверить, добавлен ли ваш документ в этот список
Возврат Параметры;
КонецФункции
Проанализируйте общий модуль ПрисоединенныеФайлыКлиентСервер или аналогичный модуль, используемый в вашей версии БСП. Если ваш документ отсутствует в списке обрабатываемых объектов, функции БСП будут возвращать ошибки при попытке обращения к нему через универсальные механизмы.
Если поиск по имени справочника не дает результатов, это связано с тем, что БСП активно использует метаданные динамически. Вместо поиска по полному имени справочника Справочник.ВашСправочник_ПрисоединенныеФайлы, попробуйте искать по имени метаданных в коде:
Метаданные.НайтиПоПолномуИмени(), так как именно через него система часто получает доступ к объектам.Совет: Не забывайте, что настройка «Присоединенных файлов» — это комплексная задача. Если вы добавили справочник и определили типы, но не провели настройку командной панели формы (или групп команд), ссылки на файлы могут отображаться, но работать некорректно. Проверьте свойства групп команд на форме документа и убедитесь, что они связаны с типовыми командами подсистемы БСП.
Работая последовательно, сверяя настройки «рабочего» и «нерабочего» документа через инструменты конфигуратора, вы обязательно выявите, какой элемент метаданных был пропущен или настроен неверно. Всегда начинайте с проверки того, видит ли БСП ваш документ как владельца файлов в общих модулях подсистемы.