Присоединенные файлы

Печать (Ctrl+P)
В данной статьи я описываю  очень интересное и простое изменение в механизме присоединенных файлов подсистемы “Работа с файлами”  библиотеки стандартных подсистем, которое мне пришлось делать для выполнения технического задания работодателя.

Механизм присоединенных файлов  предоставляет возможность хранения файлов произвольного формата , непосредственно связанных  с данными. Например, для Номенклатура в присоединенном файле можно хранить подробное описание товара, отсканированную инструкцию по использованию товара или его фотографию.  а для  физических лиц, например,  можно хранить различные виды документов.

Техническое  задание заключалось в том, чтобы была возможность обрабатывать различные типы файлы, присоединенные к документу Заказ.  Для этой целы, в конфигурации работодателя, написанной на базе БСП 2.4  мне пришлось  добавить перечисление ТипыФайлов ,  а в  справочнике ЗаказПрисоединенныеФайлы –  реквизит ТипФайла типа перечисления типов файлов (см рис 1).

Рис 1 Реквизиты справочника ЗаказПрисоединенныеФайлы

Для работы со справочниками типа присоединенных  файлов  как “ЗаказПрисоединенныеФайлы”  предусмотрены  2 формы обработки “Работа с файлами” стандартных подсистемы : Форма ПрисоединенныеФайлы и форма  ПрисоединенныйФайл (  см Рис 2)

Рис 2 Формы обработки “Работа с файлами” библиотеки стандартных подсистем

Однако, в  этих   двух формах обработки РаботаСФайлам  не предусмотрена работа с добавленным реквизитом ТипФайла справочника  ЗаказПрисоединенныеФайлы и мне пришлось внести небольшие простые изменения в этих формах:

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

Рис 3 Запрос динамического списка в форме ПрисоединенныеФайлы

Затем, в конце тела процедуры НастроитьДинамическийСписок я добавил 3 строки программного кода: 

&НаСервере
Процедура НастроитьДинамическийСписок(ИмяСправочникаХранилищаФайлов)
 //  ....... тело процедуры

 //Санчес
 Если ИмяСправочникаХранилищаФайлов = "ЗаказПрисоединенныеФайлы" Тогда
 Список.ТекстЗапроса = стрЗаменить(Список.ТекстЗапроса,"КАК РедактируетПользователь", "КАК РедактируетПользователь,
 | Файлы.ТипФайла КАК ТипФайла");
 КонецЕсли; 
 КонецПроцедуры

Мне также пришлось внести изменения в форме ПрисоединенныйФайл, чтобы было возможно редактировать добавленный реквизит ТипФайла. Эти изменения показаны на рис 4

Рис 4 Изменения в форме ПрисоединенныйФайл для редактирования поля ТипФайла.
Previous Article
Next Article

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

Ваш адрес email не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.