После обновления типовых и отраслевых конфигураций (например, «1С:Бухгалтерия предприятия», «1С:Бухгалтерия строительной организации») пользователи могут столкнуться с ошибкой при попытке прикрепить файл к документу: «Не удалось добавить файл ни в один из томов». При этом в тексте ошибки или в журнале регистрации фигурирует дополнительное пояснение: «У владельца файлов типа [ИмяОбъекта] не имеется справочников для хранения файлов» (в качестве объекта могут выступать, например, Заявка на выпуск КиЗ для маркировки, Отчет комиссионера о продажах, УдалитьПроизвольныйЭД и другие). Аналогичная ошибка блокирует открытие и редактирование справочника ТомаХраненияФайлов.
Параллельно при открытии формы работы с файлами может возникать предупреждение: «TWAIN : Invalid TWAIN driver». Разберем детально причины такого поведения программы и рассмотрим способы решения проблемы.
Проанализируем архитектуру подсистемы работы с файлами в Библиотеке стандартных подсистем (БСП). В обновленных версиях БСП был переработан алгоритм функции РаботаСФайламиСлужебный.ИменаСправочниковХраненияФайлов. Логика работы механизма устроена следующим образом:
ВладелецФайлов (или ВладелецПрисоединенныхФайлов), подсистема выполняет сопоставление со справочником, где должны размещаться данные....ПрисоединенныеФайлы (например, для документа ЗаявкаНаВыпускКиЗГИСМ это должен быть справочник ЗаявкаНаВыпускКиЗГИСМПрисоединенныеФайлы).РаботаСФайламиПереопределяемый на наличие явного указания общего справочника (как правило, справочника Файлы).Поскольку при открытии или изменении элементов справочника ТомаХраненияФайлов выполняется фоновая валидация мест хранения сразу для всех зарегистрированных в метаданных владельцев, ошибка проявляется даже при операциях с томами, когда пользователь не работает с конкретным документом.
Если информационная база находится на стандартной поддержке без возможности редактирования метаданных конфигурации поставщика, самым надежным и правильным способом является подключение расширения конфигурации. Разберем по шагам создание такого расширения:
РаботаСФайламиПереопределяемый.ПриОпределенииСправочниковХраненияФайлов с помощью директивы &После, указав в ней проблемные типы объектов.Посмотрим на пример программного кода, который необходимо разместить в модуле расширения:
&После("ПриОпределенииСправочниковХраненияФайлов")
Процедура Расш_ПриОпределенииСправочниковХраненияФайлов(ТипВладелецФайла, ИменаСправочников) Экспорт
Если ТипВладелецФайла = Тип("ДокументСсылка.ЗаявкаНаВыпускКиЗГИСМ")
ИЛИ ТипВладелецФайла = Тип("ДокументСсылка.УдалитьПроизвольныйЭД")
ИЛИ ТипВладелецФайла = Тип("ДокументСсылка.ОтчетКомиссионераОПродажах") Тогда
ИменаСправочников.Вставить("Файлы", Истина);
КонецЕсли;
КонецПроцедуры
После применения расширения для всех указанных объектов-владельцев в качестве хранилища будет явно определен справочник Файлы, и ошибка при обращении к томам или документам будет устранена.
Если конфигурация уже снята с поддержки или находится в режиме редактирования с сохранением поддержки, проанализируем состав метаданных:
ВладелецФайлов и ВладелецПрисоединенныхФайлов.Удалить...) прикрепление файлов не требуется, исключим их из списка типов.[ИмяОбъекта]ПрисоединенныеФайлы со стандартным составом реквизитов подсистемы работы с файлами.Данная проблема была зарегистрирована вендором как ошибка типовых конфигураций. Если возможность доработки конфигурации или подключения расширений отсутствует, рекомендуется проверить раздел обновлений на портале ИТС и выполнить установку официального патча (исправления) либо обновить конфигурацию на более свежий релиз, в котором ошибка сопоставления объектов устранена разработчиками.
В критических ситуациях, когда требуется немедленно восстановить возможность прикрепления файлов до момента внесения изменений программистом, можно применить временное организационное решение:
При открытии окна прикрепления файлов система опрашивает установленные в операционной системе службы сканирования. Ошибка недействительного драйвера TWAIN возникает по двум основным причинам:
TWAIN на WIA (Windows Image Acquisition), если он поддерживается оборудованием.