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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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