Хранение файла в базе 1с документооборот и его получение

1. Дон Кихот 07.07.22 15:00 Сейчас в теме
Нужно хранить в базе файл, который будет прикрепляться к внутренним документам программно. Файл прикрепленный к внутреннему документу будет редактироваться, поэтому первоначальная версия файла должна остаться неизменной. Приведите пожалуйста пример кода как поместить файл в базу и как его потом получить для прикрепления. Просьба не использовать троллинг и писать по существу.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. olbu 07.07.22 16:20 Сейчас в теме
Вы на чем "споткнулись"? у Вас получается програмно открыть форму выбора файла? или Вы файл выбрали и не получается его прикрепить к Реквизиту с типом Хранилище значений?
С чего начать подсказывать? Что Вы уже сами смогли реализовать?
3. melenaspb 208 07.07.22 18:17 Сейчас в теме
А вы вообще работали с Документооборотом?
Зачем вам прикреплять файл программно в ДО? Какой кейс?
К шаблону внутреннего документа прикрепите файл , когда создадите сам внутренний документ по шаблону, файл уже будет прикреплен, в самом внут.документе правьте его, а в шаблоне останется неизменным, как эталон.
Прикрепленные файлы:
4. Дон Кихот 08.07.22 08:45 Сейчас в теме
(3) Внутренний документ создаётся программно. Использую шаблон внутреннего документа с прикрепленным файлом. У внутреннего документа файл не появляется. Вероятно у документооборота есть процедура которая создает внутренний документ и при этом прикрепит файл из шаблона, вы не знаете какая это процедура?
5. Дон Кихот 08.07.22 15:04 Сейчас в теме
(2)Такой код создает элемент ХранилищеЗначения
ПутьКФайлу = "C:\14\14.xlsx";
ДФайл = Новый ДвоичныеДанные(ПутьКФайлу);
ХЗ = Новый ХранилищеЗначения(ДФайл);
его потом можно сохранить в реквизит справочника, документа, ресурсу регистра сведений и т.д.
и получить его потом с помощью Получить()
Остался вопрос прикрепления файла к внутреннему документу, не нашёл пока процедуры которая прикрепляет файл к внутреннему документу в документообороте.
6. melenaspb 208 08.07.22 18:01 Сейчас в теме
(5) У вас ДО 2.1 ? Можно прямо загрузить файл в документ с диска, без хранилища значений.Посмотрите на функцию РаботаСФайламиВнешнийВызов.СоздатьФайлНаОсновеФайлаНаДиске
Но я бы смотрела в сторону создания сразу и документа и файла из шаблона документа.
Для создания документа из шаблона такой код примерно:
Шаблон = Справочники.ШаблоныВнутреннихДокументов.НайтиПоНаименованию("Служебная записка");
НовыйДок = Справочники.ВнутренниеДокументы.СоздатьЭлемент();
НовыйДок.Шаблон = Шаблон;
ШаблоныДокументов.ЗаполнитьРеквизитыДокументаПоШаблону(Шаблон, НовыйДок);
В модуле ШаблоныДокументов есть еще и функция ЗаполнитьФайлыДокументаПоШаблону , может ее можно использовать чтобы файлы из шаблона присоединить к новому документу, я правда сама не пробовала.
7. Дон Кихот 12.07.22 07:53 Сейчас в теме
(6) После того как внутренний документ записан, использование функции
Файл = РаботаСФайламиВнешнийВызов.СоздатьФайлНаОсновеФайлаНаДиске(СсылкаВнутреннийДокумент, ПутьКФайлу)
возвращает элемент справочника Файлы (который нам и ни к чему) и прикрепляет к СсылкаВнутреннийДокумент файл, расположенный ПутьКФайлу.
Процедура ШаблоныДокументов.ЗаполнитьРеквизитыДокументаПоШаблону(Шаблон, НовыйДок); не прикрепляет файл к внутреннему документу, в коде этой процедуры нет работы с файлом
Процедура ШаблоныДокументов.ЗаполнитьФайлыДокументаПоШаблону(Шаблон,Файлы); не прикрепляет файл к внутреннему документу, он в параметре передает шаблон, а не ссылку на документ
Как же прикрепить файл прикрепленный к шаблону к создаваемому по нему внутреннему документу, ответа на этот вопрос пока нет.
8. melenaspb 208 12.07.22 09:50 Сейчас в теме
(7) Так все файлы прикрепленные к внутр.документу - это элементы справочника Файлы, хотите вы этого или нет.
12. melenaspb 208 15.07.22 12:10 Сейчас в теме
9. Elena_1305 15.07.22 11:16 Сейчас в теме
Если вы создали шаблон файла к любому документу, то при создании данного документа, при выборе нужно выбрать именно этот документ. Тогда шаблон файла приложится. Если же при создании вы выбираете какой то другой документ, и потом в Виде документа выбираете нужный - шаблон не заполнится уже.
10. Elena_1305 15.07.22 12:01 Сейчас в теме
11. melenaspb 208 15.07.22 12:10 Сейчас в теме
(10) Документ программно создается, а не вручную.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот