Недопустимое значение параметра присоединенныйфайл в работасфайлами двоичныеданныефайла
Подключение функционала «Присоединенные файлы» для нового объекта (БСП)
1. Создать справочник для хранения присоединенных файлов. Для этого в качестве заготовки скопировать в конфигурацию справочник _ДемоПроектыПрисоединенныеФайлы из демонстрационной конфигурации и задать ему имя по шаблону:
где – имя объекта метаданных, для которого настраиваются присоединенные файлы. Например, для справочника Номенклатура справочник с файлами должен называться НоменклатураПрисоединенныеФайлы. Задать синоним, например: Присоединенные файлы (Номенклатура).
2. У реквизита ВладелецФайла установить тип – «объект с файлами». Например, СправочникСсылка.Номенклатура.
3. Включить в состав определяемых типов ПрисоединенныйФайл (ссылки) и ПрисоединенныйФайлОбъект (объекты) справочник, созданный на шаге 1. Например, СправочникСсылка.НоменклатураПрисоединенныеФайлы.
4. Расширить состав определяемых типов ВладелецПрисоединенныхФайлов (ссылки) и ВладелецПрисоединенныхФайловОбъект (объекты, кроме документов), добавив в него тип «объект с файлами». Например СправочникСсылка.Номенклатура.
5. Расширить состав типов свойства Источник у подписки ПереопределитьПолучаемуюФормуПрисоединенногоФайла, включив в него тип – справочник с файлами, созданный на шаге 1. Например, СправочникМенеджер.НоменклатураПрисоединенныеФайлы.
6. Расширить состав типов свойства Источник подписки УстановитьПометкуУдаленияПрисоединенныхФайловДокументов, включив в него тип – «объект с файлами» (только документы). Например, ДокументОбъект.СчетНаОплатуПокупателю.
7. Если при интерактивном копировании объекта, содержащего присоединенные файлы, требуется их автоматическое копирование в новый объект, то в форме объекта необходимо:
● в параметры формы добавить ключевой параметр ЗначениеКопирования такого же типа, как и сам объект;
● в модуле формы в процедуру ПриЗаписиНаСервере вставить следующий код:
Подключение нового объекта конфигурации к подсистеме по работе с файлами
В данной заметке я хочу рассказать как организовать работу с прикрепленными файлами для нового объекта в конфигурациях 1С, которые содержат библиотеку стандартных подсистем (БСП).
Задача. Создать новый документ и для этого документа добавить возможность прикреплять файлы.
Решение данной задачи будем осуществлять на конфигурации «1С: Управление торговлей 11.2», но все действия можно применять и к другим конфигурациям, содержащим БСП (ЗУП 3, БУ 3, ERP 2 и т.д.).
1. Чтобы добавить новый документ необходимо включить возможность редактирования нашей конфигурации.
2. Добавим новый документ с произвольной структурой
3. Добавим копированием новый справочник «БСП_НовыйДокументПрисоединенныеФайлы» и в реквизите «ВладелецФайла» изменим тип на «ДокументСсылка.БСП_НовыйДокумент». Для копирования был выбран справочник «ЗаказКлиентаПрисоединенныеФайлы».
Также не забываем изменить описание и представление объекта.
4. Добавляем в определяемые типы «ВладелецПрисоединенныхФайлов», «ПрисоединенныйФайл», «ПрисоединенныйФайлОбъект» новые объекты.
5. Если необходимо добавить возможность копирования присоединенных файлов при копировании документа, то необходимо в параметры формы документа добавить параметр «ЗначениеКопирования» и сделать его ключевым.
В модуль формы добавить процедуру «ПриЗаписиНаСервере».
6. Для отображения в форме списка наличия прикрепленных файлов необходимо доработать форму списка.
Изменим текст запроса списка
В форму списка добавим колонку «ЕстьФайлы» и изменим настройки отображения.
Запускаем режим «1С:Предприятие» и с помощью обработки из набора внешних обработок библиотеки стандартных подсистем «ИнструментыРазработчикаОбновлениеВспомогательныхДанных.epf» обновляем наши новые данные.
Прикрепленный файл
Работа с файлами в расширении
Подсистема работа с файлами БСП.
Расширение стандартной подсистемы работы с файлами, версия 1.0
Для использования подсистемы Работа с файлами и подсистемы Присоединенные файлы в расширении прикладных решений, созданных на базе БСП 3.1 (платформа 1С 8.3.15 и выше) я написал расширение :
Расширение нужно подключать в обычном безопасном режиме. При применении расширения в безопасном режиме будут расширяться только клиентские методы и серверные обработчики форм, которые установлены через панель свойств. К остальным серверным методам (в т. ч. и к аннотированным серверным методам модулей) расширение применяться не будет.
Для каждого объекта – владельца нужно создавать в расширении справочник с именем
ПрисоединенныеФайлы,
где – имя объекта метаданных, для которого настраиваются присоединенные файлы. Для этого в качестве заготовки можно скопировать Согл_ЗаявкаНаОплатуПрисоединенныеФайлы. У реквизита ВладелецФайла нужно установить тип владельца файла. Например, ДокументСсылка. Согл_ЗаявкаНаОплату
В форме демонстрационного документа Согл_ЗаявкаНаОплату я добавил гиперссылку вложения для показа наименовании всех присоединенных файлов, а а также добавил общую команду Присоединенные файлы в панель навигации формы Перейти
При нажатие по гиперссылку или по общей команде открывается типовая форма списка присоединенных файлов для добавленя, просмотра и редактирования
Присоединенные файлы расширяемой конфигурации хранятся в информационной базе в виде двоичных данных в регистре сведений ДвоичныеДанныеФайла. Но этот регистр имеет одно измерение типа Определяемые типы :
В этом регистре невозможно хранить присоединенные файлы, созданные в расширении потому, что невозможно добавлять в расширении объекты типа Определяемые типы. Поэтому я создал копию регистра сведений ДвоичныеДанныеФайла и переименовал с префиксом расширения, а в свойстве тип измерения файл я указал составной тип объектов присоединённых файлов.
Также в общем модуле расширения я создал следующие функции :
В теле функции МассивТиповПрисоединенныхФайлов нужно включать все справочники типа ПрисоединенныеФайлы, созданные в расширении, а в теле функции МассивТиповВладельцевПрисоединенныхФайлов нужно включать владельцы этих файлов.
На функцию ЭтоПрисоединенныйФайлВРасширении передается ссылка на справочник типа ПрисоединенныеФайлы и она возвращает значение Истина если передаваемая ссылка создан в расширении.
Я переписал программные коды общих модулей подсистемы в расширении таким образом, чтобы операции записи и чтения двоичных данных файла выполнялись по новому регистру, когда владелец являлся объектом, добавленным в расширении. Во всех случаях я использовал метод замены (аннотация Вместо), например:
Шаблон расширения с инструкциями по внедрению в прикладных расширениях стоит 8 000 р. Для его приобретения обращайтеcь ко master1c8x@mail.ru
Новая версия 1.1 расширения подсистемы работы с файлами
Процедура “Перенос файлов” в разделе администрирование/настройки работы с файлами в первой версии шаблона не переносила файлы владельца, созданного в расширении.
В новой версии шаблона расширения доработан модуль формы обработки Перенос файла в расширении, чтобы переносились также файлы владельца, созданного в расширении
Можно также установить отбор по владельцу при переносе:
Шаблон расширения с инструкциями по внедрению в прикладных расширениях стоит 8 000 р. Для его приобретения обращайтеcь ко master1c8x@mail.ru
Полный список дополнительных отчетов и обработок можно посмотреть здесь




















