1С БСП работа с файлами

Функционал БСП по загрузке файлов, позволяет к любому справочнику или документу прикрепить файл или документ, в том числе возможно добавление файла напрямую со сканера.

В нашем случае для документа _ДемоСчетНаОплатуПокупателю, необходимо реализовать возможно прикрепления файла, для этого необходимо.

Создаем справочник для хранения файлов

Создаем одноименный справочник и в конце наименования добавляем текст “ПрисоединенныеФайлы“, получается _ДемоСчетНаОплатуПокупателюПрисоединенныеФайлы. Должно получится, как на рисунке ниже.

Структура справочника, такая

Справочник можно скопировать из уже существующей конфигурации, переименовать, как нужно и важно изменить тип реквизита ВладелецФайла, в нашем случае указать документ _ДемоСчетНаОплатуПокупателюПрисоединенныеФайлы.

Расширяем определяемые типы

Для типа Присоединенный Файл, добавляем в состав ссылку на созданный справочник с файлами

Для типа Присоединенный ФайлОбъект, добавляем в состав тот же справочник, но с типом Объект.

Для типа ВладелецПрисоединенныхФайлов, добавляем в состав ссылку на документ, то есть на владельца файлов

Тип ВладелецПрисоединенныхФайловОбъект, расширяется только в случае добавления файлов для справочников, для документа состав изменять не нужно.

Для определяемого типа ПереопределитьПолучаемуюФормуПрисоединенногоФайла, выбираем СправочникМенедежер созданный для файлов _ДемоСчетНаОплатуПокупателюПрисоединенныеФайлы.

Для определяемого типа УстановитьПометкуУдаленияПрисоединенныхФайловДокументов, добавим в состав ДокументОбъект _ДемоСчетНаОплатуПокупателю, для справочников данный определяемый тип изменять не нужно.

Добавляем необходимые обработчики

В форму документа добавим следующие обработчики из подсистемы работы с файлами:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	// СтандартныеПодсистемы.РаботаСФайлами
	ГиперссылкаФайлов = РаботаСФайлами.ГиперссылкаФайлов();
	ГиперссылкаФайлов.Размещение = "Файлы";
	РаботаСФайлами.ПриСозданииНаСервере(ЭтотОбъект, ГиперссылкаФайлов);
	// Конец СтандартныеПодсистемы.РаботаСФайлами
	
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)

	// СтандартныеПодсистемы.РаботаСФайлами
	РаботаСФайламиКлиент.ПриОткрытии(ЭтотОбъект, Отказ);
	// Конец СтандартныеПодсистемы.РаботаСФайлами

КонецПроцедуры
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
	
	// СтандартныеПодсистемы.РаботаСФайлами
	РаботаСФайламиКлиент.ОбработкаОповещения(ЭтотОбъект, ИмяСобытия);
	// Конец СтандартныеПодсистемы.РаботаСФайлами

КонецПроцедуры

С обработчиками формы закончено, дальше добавляем код:

// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраНажатие(Элемент, СтандартнаяОбработка)

	РаботаСФайламиКлиент.ПолеПредпросмотраНажатие(ЭтотОбъект, Элемент, СтандартнаяОбработка);

КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)

	РаботаСФайламиКлиент.ПолеПредпросмотраПроверкаПеретаскивания(ЭтотОбъект, Элемент,
				ПараметрыПеретаскивания, СтандартнаяОбработка);

КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)

	РаботаСФайламиКлиент.ПолеПредпросмотраПеретаскивание(ЭтотОбъект, Элемент,
				ПараметрыПеретаскивания, СтандартнаяОбработка);

КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами
// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_КомандаПанелиПрисоединенныхФайлов(Команда)

	РаботаСФайламиКлиент.КомандаУправленияПрисоединеннымиФайлами(ЭтотОбъект, Команда);

КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами

После запуска, в форме документа должна появиться кнопка для добавления файлов, для просмотра файлов, необходимо кликнуть по надписи Файлы.

Похожие записи

2 комментария

  1. Спасибо Вам большое! Все получилось. Только как вывести гиперссылку и не выводить “скрепку” – так и не разобрался…

    1. Приветствую. Может эта функция поможет?

      // Инициализирует структуру параметров для размещения гиперссылки присоединенных файлов на форме.
      //
      // Возвращаемое значение:
      //  Структура - параметры размещения гиперссылки. Свойства:
      //    * Владелец                   - Строка - имя реквизита, содержащего ссылку на владельца присоединенных файлов.
      //                                 Значение по умолчанию - "Объект.Ссылка".
      //    * Размещение                 - Строка, Неопределено - если указано имя группы формы или командная панель,
      //                                 гиперссылка будет помещена в указанную группу или панель. Если указано имя элемента
      //                                 формы, гиперссылка будет вставлена перед указанным элементом. Если значение
      //                                 параметра - Неопределено или элемент не найден, гиперссылка будет добавлена на форму
      //                                 после всех существующих элементов.
      //                                 Значение по умолчанию - "УправлениеПрисоединеннымиФайлами".
      //    * Заголовок                  - Строка - заголовок гиперссылки. Значение по умолчанию - "Файлы".
      //    * ОтображатьЗаголовокСправа  - Булево - если параметр принимает значение Истина, заголовок
      //                                 будет отображаться после команд добавления, иначе - перед командами добавления.
      //                                 Значение по умолчанию - Истина;
      //    * ОтображатьКоличество       - Булево - если параметр принимает значение Истина, отображает
      //                                 количество присоединенных файлов в заголовке. Значение по умолчанию - Истина.
      //    * ДобавлятьФайлы             - Булево - если указать Ложь, команды добавления файлов будут отсутствовать.
      //                                 Значение по умолчанию - Истина.
      //    * ОтображениеФигуры          - Строка - строковое представление свойства "ОтображениеФигуры" для
      //                                 команд добавления присоединенных файлов. Значение по умолчанию - "Авто".
      //    * Видимость                  - Булево - если параметр принимает значение Ложь, гиперссылка на форме размещаться
      //                                 не будет. Параметр имеет смысл только для глобального отключения видимости
      //                                 в процедуре РаботаСФайламиПереопределяемый.ПриОпределенииГиперссылкиФайлов.
      //
      Функция ГиперссылкаФайлов() Экспорт
      	
      	ПараметрыГиперссылки = Новый Структура;
      	ПараметрыГиперссылки.Вставить("Владелец",                  "Объект.Ссылка");
      	ПараметрыГиперссылки.Вставить("Размещение",                "УправлениеПрисоединеннымиФайлами");
      	ПараметрыГиперссылки.Вставить("Заголовок",                 НСтр("ru = 'Файлы'"));
      	ПараметрыГиперссылки.Вставить("ОтображатьЗаголовокСправа", Истина);
      	ПараметрыГиперссылки.Вставить("ОтображатьКоличество",      Истина);
      	ПараметрыГиперссылки.Вставить("ДобавлятьФайлы",            Истина);
      	ПараметрыГиперссылки.Вставить("ОтображениеФигуры",         "Авто");
      	ПараметрыГиперссылки.Вставить("Видимость",                 Истина);
      	
      	РаботаСФайламиПереопределяемый.ПриОпределенииГиперссылкиФайлов(ПараметрыГиперссылки);
      	
      	Возврат ПараметрыГиперссылки;
      	
      КонецФункции
      
      ///////////////////////////////////////////////////////////////////////////////////////////////////////
      // Copyright (c) 2019, ООО 1С-Софт
      // Все права защищены. Эта программа и сопроводительные материалы предоставляются 
      // в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
      // Текст лицензии доступен по ссылке:
      // https://creativecommons.org/licenses/by/4.0/legalcode
      ///////////////////////////////////////////////////////////////////////////////////////////////////////
      

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *