Сегодня делал небольшую доработку 1с УНФ написанную на БСП 3.1. Задача была сделать кнопку, которая рассылала бы отчет определенным адресатам и сам отчет был бы во вложении. На основании рассылки должны были создаваться документы событие и вложенные фалы должны быть там приложены.
Сохранить файл или записать файл для программиста 1с не сложная задача. Тут можно прочитать про диалоги работы с файлами.
Написав функционал по рассылкам и создав событие, столкнулся с выбором как мне быстрее и проще реализовать прикрепление файла к документу объекту. Выбрал функцию БСП, что бы отчет не требовал доработок при обновлении УНФ, а также что бы не писать много кода.
Код ниже берет файл с диска и прикрепляет его к объекту.
// Готовим файл и помещаем его в хранилище ИмяФайлаНаДиске = "C:\Users\v.burmistrov\Downloads\ффд12.pdf"; ДвоичныеДанные = Новый ДвоичныеДанные(ИмяФайлаНаДиске); ВременноеХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные); // Подготоваливаем описание файла заполнив все необходимые параметры ПараметрыФайла = РаботаСФайлами.ПараметрыДобавленияФайла(); ПараметрыФайла.Автор = Пользователи.ТекущийПользователь(); ПараметрыФайла.ВладелецФайлов = ДокументСсылка; ПараметрыФайла.ИмяБезРасширения = СтрЗаменить(ИмяФайлаНаДиске,".pdf",""); ПараметрыФайла.РасширениеБезТочки = "pdf"; // Используем функцию БСП и добавляем файл к объекту РаботаСФайлами.ДобавитьФайл(ПараметрыФайла, ВременноеХранилище);
10 строк кода и задача решена. Используйте БСП, изучайте БСП. Программное присоединение файла к документу в 1с с помощью БСП это очень просто и быстро, написать самому весь код с нуля заняло бы минут 30.
В типовых базах есть два типа объектов:
- Объекты для которых создан справочник для файлов и все файлы хранятся в нем. Например: СобытиеПрисоединенныеФайлы
- Объекты для которых нет специального справочника, файлы хранятся в справочнике Файлы.
Для второго типа объектов нужно использовать другой код.
ИмяФайлаНаДиске = "C:\Users\v.burmistrov\Downloads\ффд12.pdf"; РаботаСФайлами.ДобавитьФайлСДиска(ДокументСсылка, ИмяФайлаНаДиске);
Благодаря этой заметке программное присоединение файла к документу в 1с теперь не проблема.
Дополнительные материалы по теме:
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.