Здравствуйте.
В данной заметке я хочу рассказать как организовать работу с прикрепленными файлами для нового объекта в конфигурациях 1С, которые содержат библиотеку стандартных подсистем (БСП).
Задача. Создать новый документ и для этого документа добавить возможность прикреплять файлы.
Решение данной задачи будем осуществлять на конфигурации «1С: Управление торговлей 11.2», но все действия можно применять и к другим конфигурациям, содержащим БСП (ЗУП 3, БУ 3, ERP 2 и т.д.).
1. Чтобы добавить новый документ необходимо включить возможность редактирования нашей конфигурации.
2. Добавим новый документ с произвольной структурой
3. Добавим копированием новый справочник «БСП_НовыйДокументПрисоединенныеФайлы» и в реквизите «ВладелецФайла» изменим тип на «ДокументСсылка.БСП_НовыйДокумент». Для копирования был выбран справочник «ЗаказКлиентаПрисоединенныеФайлы».
Также не забываем изменить описание и представление объекта.
4. Добавляем в определяемые типы «ВладелецПрисоединенныхФайлов», «ПрисоединенныйФайл», «ПрисоединенныйФайлОбъект» новые объекты.
5. Если необходимо добавить возможность копирования присоединенных файлов при копировании документа, то необходимо в параметры формы документа добавить параметр «ЗначениеКопирования» и сделать его ключевым.
В модуль формы добавить процедуру «ПриЗаписиНаСервере».
&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
ПрисоединенныеФайлы.ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи, Параметры);
КонецПроцедуры
6. Для отображения в форме списка наличия прикрепленных файлов необходимо доработать форму списка.
Изменим текст запроса списка
ВЫБРАТЬ
ДокументБСП_НовыйДокумент.Ссылка,
ДокументБСП_НовыйДокумент.ПометкаУдаления,
ДокументБСП_НовыйДокумент.Номер,
ДокументБСП_НовыйДокумент.Дата,
ДокументБСП_НовыйДокумент.Проведен,
ДокументБСП_НовыйДокумент.Реквизит1,
ДокументБСП_НовыйДокумент.Реквизит2,
ДокументБСП_НовыйДокумент.МоментВремени,
ВЫБОР
КОГДА НаличиеПрисоединенныхФайлов.ЕстьФайлы ЕСТЬ NULL
ТОГДА 1
КОГДА НаличиеПрисоединенныхФайлов.ЕстьФайлы
ТОГДА 0
ИНАЧЕ 1
КОНЕЦ КАК ЕстьФайлы
ИЗ
Документ.БСП_НовыйДокумент КАК ДокументБСП_НовыйДокумент
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеПрисоединенныхФайлов КАК НаличиеПрисоединенныхФайлов
ПО ДокументБСП_НовыйДокумент.Ссылка = НаличиеПрисоединенныхФайлов.ОбъектСФайлами
В форму списка добавим колонку «ЕстьФайлы» и изменим настройки отображения.
7. Тестирование.
Запускаем режим «1С:Предприятие» и с помощью обработки из набора внешних обработок библиотеки стандартных подсистем «ИнструментыРазработчикаОбновлениеВспомогательныхДанных.epf» обновляем наши новые данные.
Популярность: 34%
спасибо за толковую статью
но без указания типа реквизита владелецФайла в справочнике ЭДПрисоединенныеФайлы не завелось (УТ 11.2.3.177 )
Здравствуйте. Про версию 11.2.3.177 ничего не могу сказать, т.к. статься писалась по версии 11.2.3.185, возможной что-то доработали к данному релизу.
Спасибо. В бухгалтерии КОРП 3.1 все работает
Пожалуйста. Рад, что данная информация помогла Вам
Спасибо. Полезная статья
Пожалуйста. Рад, что статья оказалась полезной
Спасибо!
Одна из немногих статей размещенных в инете (а ищу я настойчиво), по материалам которой можно быстро создать рабочий код.
Проверено на БСП 2.3.6.196 в ЕРП 2.2.4.
Еще раз СПАСИБО 🙂
Также необходимо добавить свой документ в ОбщиеКоманды-ПрисоединенииыеФайлыБП
Возможно в более новых версиях БСП необходимо еще добавлять в общую команду.
ERP 2.1.3.143. В документе перехожу к присоединенным файлам, нажимаю кнопку «Добавить», выбираю необходимый файл, кнопка «Открыть» (стандартный диалог выбора файла Windows) и ERP выдает ошибку: «Ошибка при добавлении присоединенного файла «TestFile.txt»: Не заполнен владелец в файле». Вроде делал все по инструкции, есть идею куда смотреть?
Могу предположить, что в новом справочнике, где хранятся файлы, например «КакойтоДокументПрисоединенныеФайлы», в реквизите «ВладелецФайла» указан не верный тип документа
У меня неверно было сформировано имя справочника ПрисоединенныеФайлы, а это оказалось критически важно. Необходимо, чтобы имя этого справочника было сформировано след. образом: ИмяДокументаПрисоединенныеФайлы или ИмяСправочникаПрисоединенныеФайлы. После переименования все заработало.
Сергей, спасибо за статью, все изложено куда как более понятно, чем в документации к БСП (там прям ужас).
Все получилось, своя нетленка, БСП 3.0.2
Автору — респект…
Добрый день!
Как появилась кнопка «Файлы»?
Добрый день. Данная кнопка появляется автоматически. Пример на сайте создан на версии БСП 2.3.2.72. Если у Вас более новая версия, то возможно есть дополнительные действия.
Например для 3.0.2 надо в процедуре «ПриСозданииНаСервере» добавить
Спасибо отличный материал, все получилось, но ее могу разобраться какие права нужно дать пользователю при работе с файлами для нового документа. Например при открытии файлов в документа реализации все ок, при открытии файлов у нового документа нарушение прав доступ, на документ права полные, на созданный справочник присоедененных файлов так же полные права. Чего может не хватать? БП 3.0.68.66
Еще в подсистеме работы с файлами используется регистр сведений «ПрисоединенныеФайлы», но это будет как то странно, потому что обычно достаточно прав на справочник и документ.
Спасибо, все получилось как нужно за считанные минуты для ЗУП 3.1.10.
Только не смогла сделать, чтобы вместо надписи «Присоединенные файлы» была картинка со скрепкой.
Огромная благодарность за подробное объяснение!!!
Все получилось в erp,кроме одного- не под полными правами не получается прикрепить файлы(((
Здравствуйте. Проверьте права на новый справочник присоединенных файлов, они должны быть такие же как и на основной объект.
Все было, добавила права на справочник версии файлов и все заработало, спасибо!!!
Заработало на тестовой базе, перенесла на рабочую, а там новая ошибка при определении имён справочников для хранения файлов. Отличаются названия дока и спр., попробую поменять, просто странно, что с разными названиями в другой бд тоже самое работает
Сергей, все получилось, спасибо! А как сделать, чтобы при копировании файлы не копировались в новом документе?
Не делать пункт 5.
Сергей подскажите пожалуйста почему файлы не пишутся в регистр сведений НаличиеФайлов?Значок скрепки в форме списка появляется только при наличии записи.
Могу предположить что для определяемого типа «ВладелецПрисоединенныхФайлов» не добавлен новый объект, для которого добавлялись присоединенные файлы
Сергей, спасибо большое за статью, но я столкнулся со следующей ошибкой, при попытке записать файл:
«Ошибка при добавлении присоединенного файла «Документ Microsoft Word.docx»:
Запись не верна! Значение поля «Файл» не может быть пустым!: ДвоичныеДанныеФайлов: (Регистр сведений: Двоичные данные файлов)
»
С самим файлом все в порядке, в другие справочники, этот файл крепится без проблем.
Разорался, неправильно указывал значения в определяемых типах «ПрисоединенныйФайл», «ПрисоединенныйФайлОбъект» ,там нужно указать ссылку на справочник «хранитель» файлов
Огромная благодарность за материал.
Все работает. Но почему-то в форме появились две гиперссылки «Файлы».
Посмотрите может стандартная команда еще добавляется на форму на закладке «Командный интерфейс».
на версии УТ 11.4.13.57 нет ПрисоединенныеФайлы.ПриЗаписиНаСервере()
Здравствуйте. В статье приведен пример на УТ 11.2, в УТ 11.4 необходимо использовать РаботаСФайлами.ПриЗаписиНаСервере()
+ УНФ 1.6
делал по инструкции.
в предприятии при попытке добавить файл пишет ошибку
Ошибка при добавлении присоединенного файла «111.epf»:
Значение поля «Владелец» не заполнено или заполнено неверно.
Добрый день. Проверил на УНФ 1.6.18. Файлы добавляются и ошибок не было. Какая у Вас версия УНФ?
Сергей, спасибо за сэкономленное время!
УТ 11.4.13.57, всё работает, только регистр сведений называется НаличиеФайлов.
УНФ 1.6.24.92 Работает. Спасибо =)
Большое спасибо, все получилось