gifts2017

Хранение присоединенных файлов в томах на диске в КА 1.1

Опубликовал Олег Афанасьев (oafan) в раздел Программирование - Практика программирования

Описание необходимых изменений в Комплексная автоматизация 1.1 для хранения файлов в томах на диске. Можно разделить тома хранения по объектам конфигурации.

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

1. В справочнике ХранилищеДополнительнойИнформации необходимо добавить реквизит для хранения пути к файлу (тип Строка 0).

2. Далее 2 способа - либо изменение формы "ФормаСпискаФайловИИзображений" справочника ХранилищеДополнительнойИнформации, либо создавать свою форму, но менять вызов из документов.

Строки- проверки изменения Хранилища - дополняем проверкой заполнения пути к файлу:

Если Не ОтменаРедактирования
       И НоваяСтрока
       И ЭлементыФормы.ДополнительныеФайлы.ТекущиеДанные.Хранилище.Получить() = Неопределено 
       И ЭлементыФормы.ДополнительныеФайлы.ТекущиеДанные.нашПутьКФайлу = "" Тогда

Код сохранения во внешнее хранилище:

ТекОбъект.Хранилище = Новый ХранилищеЗначения(Новый ДвоичныеДанные(Диалог.ПолноеИмяФайла), Новый СжатиеДанных);

заменяем на следующий:

Попытка
        ТекОбъект = ЭлементыФормы.ДополнительныеФайлы.ТекущиеДанные;
        ДвоичныеДанные = Новый ДвоичныеДанные(Диалог.ПолноеИмяФайла);
        ФайловыеФункции.ДобавитьНаДиск(ДвоичныеДанные, ПутьКФайлу, СсылкаНаТом, ТекущаяДатаСеанса(), "", ИмяБезРасширения, Расширение, "", Ложь, Неопределено);
        ТекОбъект.нашПутьКФайлу = ФайловыеФункции.ПолныйПутьТома(СсылкаНаТом) + ПутьКФайлу;
        ТекОбъект.ИмяФайла = Сред(Диалог.ПолноеИмяФайла, СтрДлина(Диалог.Каталог) + 1);
    Исключение
        Сообщить("" + ОписаниеОшибки());
    КонецПопытки;

Весь текст модуля формы "ФормаСпискаФайловИИзображений" приведен во вложении.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Модуль формы ФормаСпискаФайловИИзображений
.txt 36,33Kb
17.05.16
11
.txt 1.0 36,33Kb 11 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Пимшин 1 (Pim) 18.05.16 16:33
Рекомендую автору не придумывать велосипед, а использовать объект Файл для получения данных.
Т.к. если в имени файла будет точка (кроме разделителя с расширением), ваш алгоритм не сработает.
2. Пимшин 1 (Pim) 18.05.16 16:47
А где обработчик "КоманднаяПанельДополнительныхФайловСохранитьНаДиске"?
Зря скачал, много придётся допиливать...
3. Олег Афанасьев (oafan) 18.05.16 20:50
(2) Pim, Спасибо за замечание. Обязательно оптимизирую и подправлю файл модуля. На предприятии была немного другая задача - только файлы, без изображений. Там немного больше необходимо поправить. обязательно подправлю.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа