1С БСП работа с файлами
Функционал БСП по загрузке файлов, позволяет к любому справочнику или документу прикрепить файл или документ, в том числе возможно добавление файла напрямую со сканера.
В нашем случае для документа _ДемоСчетНаОплатуПокупателю, необходимо реализовать возможно прикрепления файла, для этого необходимо.
Создаем справочник для хранения файлов
Создаем одноименный справочник и в конце наименования добавляем текст “ПрисоединенныеФайлы“, получается _ДемоСчетНаОплатуПокупателюПрисоединенныеФайлы. Должно получится, как на рисунке ниже.
Структура справочника, такая
Справочник можно скопировать из уже существующей конфигурации, переименовать, как нужно и важно изменить тип реквизита ВладелецФайла, в нашем случае указать документ _ДемоСчетНаОплатуПокупателюПрисоединенныеФайлы.
Расширяем определяемые типы
Для типа Присоединенный Файл, добавляем в состав ссылку на созданный справочник с файлами
Для типа Присоединенный ФайлОбъект, добавляем в состав тот же справочник, но с типом Объект.
Для типа ВладелецПрисоединенныхФайлов, добавляем в состав ссылку на документ, то есть на владельца файлов
Тип ВладелецПрисоединенныхФайловОбъект, расширяется только в случае добавления файлов для справочников, для документа состав изменять не нужно.
Для определяемого типа ПереопределитьПолучаемуюФормуПрисоединенногоФайла, выбираем СправочникМенедежер созданный для файлов _ДемоСчетНаОплатуПокупателюПрисоединенныеФайлы.
Для определяемого типа УстановитьПометкуУдаленияПрисоединенныхФайловДокументов, добавим в состав ДокументОбъект _ДемоСчетНаОплатуПокупателю, для справочников данный определяемый тип изменять не нужно.
Добавляем необходимые обработчики
В форму документа добавим следующие обработчики из подсистемы работы с файлами:
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // СтандартныеПодсистемы.РаботаСФайлами ГиперссылкаФайлов = РаботаСФайлами.ГиперссылкаФайлов(); ГиперссылкаФайлов.Размещение = "Файлы"; РаботаСФайлами.ПриСозданииНаСервере(ЭтотОбъект, ГиперссылкаФайлов); // Конец СтандартныеПодсистемы.РаботаСФайлами КонецПроцедуры
&НаКлиенте Процедура ПриОткрытии(Отказ) // СтандартныеПодсистемы.РаботаСФайлами РаботаСФайламиКлиент.ПриОткрытии(ЭтотОбъект, Отказ); // Конец СтандартныеПодсистемы.РаботаСФайлами КонецПроцедуры
&НаКлиенте Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) // СтандартныеПодсистемы.РаботаСФайлами РаботаСФайламиКлиент.ОбработкаОповещения(ЭтотОбъект, ИмяСобытия); // Конец СтандартныеПодсистемы.РаботаСФайлами КонецПроцедуры
С обработчиками формы закончено, дальше добавляем код:
// СтандартныеПодсистемы.РаботаСФайлами &НаКлиенте Процедура Подключаемый_ПолеПредпросмотраНажатие(Элемент, СтандартнаяОбработка) РаботаСФайламиКлиент.ПолеПредпросмотраНажатие(ЭтотОбъект, Элемент, СтандартнаяОбработка); КонецПроцедуры &НаКлиенте Процедура Подключаемый_ПолеПредпросмотраПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка) РаботаСФайламиКлиент.ПолеПредпросмотраПроверкаПеретаскивания(ЭтотОбъект, Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка); КонецПроцедуры &НаКлиенте Процедура Подключаемый_ПолеПредпросмотраПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка) РаботаСФайламиКлиент.ПолеПредпросмотраПеретаскивание(ЭтотОбъект, Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка); КонецПроцедуры // Конец СтандартныеПодсистемы.РаботаСФайлами
// СтандартныеПодсистемы.РаботаСФайлами &НаКлиенте Процедура Подключаемый_КомандаПанелиПрисоединенныхФайлов(Команда) РаботаСФайламиКлиент.КомандаУправленияПрисоединеннымиФайлами(ЭтотОбъект, Команда); КонецПроцедуры // Конец СтандартныеПодсистемы.РаботаСФайлами
После запуска, в форме документа должна появиться кнопка для добавления файлов, для просмотра файлов, необходимо кликнуть по надписи Файлы.
Спасибо Вам большое! Все получилось. Только как вывести гиперссылку и не выводить “скрепку” – так и не разобрался…
Приветствую. Может эта функция поможет?