Хранение файла в базе 1с документооборот и его получение
Нужно хранить в базе файл, который будет прикрепляться к внутренним документам программно. Файл прикрепленный к внутреннему документу будет редактироваться, поэтому первоначальная версия файла должна остаться неизменной. Приведите пожалуйста пример кода как поместить файл в базу и как его потом получить для прикрепления. Просьба не использовать троллинг и писать по существу.
По теме из базы знаний
- Практические рекомендации по настройке бесшовной интеграции 1С:ERP и 1С:Документооборот КОРП
- Видеокурс-самоучитель "1С:Документооборот 2.1 и 3.0" для самостоятельного внедрения
- Релиз 1С:ТОИР КОРП 3.0.5.1: новые отчеты, ускорение обмена данными с 1С:ERP и расчета плана-графика ППР по наработке
- Электронная почта в 1С:Документооборот
- 1С:Управление недвижимостью и арендой КОРП на базе 1С:Бухгалтерия 8 КОРП
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Вы на чем "споткнулись"? у Вас получается програмно открыть форму выбора файла? или Вы файл выбрали и не получается его прикрепить к Реквизиту с типом Хранилище значений?
С чего начать подсказывать? Что Вы уже сами смогли реализовать?
С чего начать подсказывать? Что Вы уже сами смогли реализовать?
А вы вообще работали с Документооборотом?
Зачем вам прикреплять файл программно в ДО? Какой кейс?
К шаблону внутреннего документа прикрепите файл , когда создадите сам внутренний документ по шаблону, файл уже будет прикреплен, в самом внут.документе правьте его, а в шаблоне останется неизменным, как эталон.
Зачем вам прикреплять файл программно в ДО? Какой кейс?
К шаблону внутреннего документа прикрепите файл , когда создадите сам внутренний документ по шаблону, файл уже будет прикреплен, в самом внут.документе правьте его, а в шаблоне останется неизменным, как эталон.
Прикрепленные файлы:

(3) Внутренний документ создаётся программно. Использую шаблон внутреннего документа с прикрепленным файлом. У внутреннего документа файл не появляется. Вероятно у документооборота есть процедура которая создает внутренний документ и при этом прикрепит файл из шаблона, вы не знаете какая это процедура?
(2)Такой код создает элемент ХранилищеЗначения
ПутьКФайлу = "C:\14\14.xlsx";
ДФайл = Новый ДвоичныеДанные(ПутьКФайлу);
ХЗ = Новый ХранилищеЗначения(ДФайл);
его потом можно сохранить в реквизит справочника, документа, ресурсу регистра сведений и т.д.
и получить его потом с помощью Получить()
Остался вопрос прикрепления файла к внутреннему документу, не нашёл пока процедуры которая прикрепляет файл к внутреннему документу в документообороте.
ПутьКФайлу = "C:\14\14.xlsx";
ДФайл = Новый ДвоичныеДанные(ПутьКФайлу);
ХЗ = Новый ХранилищеЗначения(ДФайл);
его потом можно сохранить в реквизит справочника, документа, ресурсу регистра сведений и т.д.
и получить его потом с помощью Получить()
Остался вопрос прикрепления файла к внутреннему документу, не нашёл пока процедуры которая прикрепляет файл к внутреннему документу в документообороте.
(5) У вас ДО 2.1 ? Можно прямо загрузить файл в документ с диска, без хранилища значений.Посмотрите на функцию РаботаСФайламиВнешнийВызов.СоздатьФайлНаОсновеФайлаНаДиске
Но я бы смотрела в сторону создания сразу и документа и файла из шаблона документа.
Для создания документа из шаблона такой код примерно:
Шаблон = Справочники.ШаблоныВнутреннихДокументов.НайтиПоНаименованию("Служебная записка");
НовыйДок = Справочники.ВнутренниеДокументы.СоздатьЭлемент();
НовыйДок.Шаблон = Шаблон;
ШаблоныДокументов.ЗаполнитьРеквизитыДокументаПоШаблону(Шаблон, НовыйДок);
В модуле ШаблоныДокументов есть еще и функция ЗаполнитьФайлыДокументаПоШаблону , может ее можно использовать чтобы файлы из шаблона присоединить к новому документу, я правда сама не пробовала.
Но я бы смотрела в сторону создания сразу и документа и файла из шаблона документа.
Для создания документа из шаблона такой код примерно:
Шаблон = Справочники.ШаблоныВнутреннихДокументов.НайтиПоНаименованию("Служебная записка");
НовыйДок = Справочники.ВнутренниеДокументы.СоздатьЭлемент();
НовыйДок.Шаблон = Шаблон;
ШаблоныДокументов.ЗаполнитьРеквизитыДокументаПоШаблону(Шаблон, НовыйДок);
В модуле ШаблоныДокументов есть еще и функция ЗаполнитьФайлыДокументаПоШаблону , может ее можно использовать чтобы файлы из шаблона присоединить к новому документу, я правда сама не пробовала.
(6) После того как внутренний документ записан, использование функции
Файл = РаботаСФайламиВнешнийВызов.СоздатьФайлНаОсновеФайлаНаДиске(СсылкаВнутреннийДокумент, ПутьКФайлу)
возвращает элемент справочника Файлы (который нам и ни к чему) и прикрепляет к СсылкаВнутреннийДокумент файл, расположенный ПутьКФайлу.
Процедура ШаблоныДокументов.ЗаполнитьРеквизитыДокументаПоШаблону(Шаблон, НовыйДок); не прикрепляет файл к внутреннему документу, в коде этой процедуры нет работы с файлом
Процедура ШаблоныДокументов.ЗаполнитьФайлыДокументаПоШаблону(Шаблон,Файлы); не прикрепляет файл к внутреннему документу, он в параметре передает шаблон, а не ссылку на документ
Как же прикрепить файл прикрепленный к шаблону к создаваемому по нему внутреннему документу, ответа на этот вопрос пока нет.
Файл = РаботаСФайламиВнешнийВызов.СоздатьФайлНаОсновеФайлаНаДиске(СсылкаВнутреннийДокумент, ПутьКФайлу)
возвращает элемент справочника Файлы (который нам и ни к чему) и прикрепляет к СсылкаВнутреннийДокумент файл, расположенный ПутьКФайлу.
Процедура ШаблоныДокументов.ЗаполнитьРеквизитыДокументаПоШаблону(Шаблон, НовыйДок); не прикрепляет файл к внутреннему документу, в коде этой процедуры нет работы с файлом
Процедура ШаблоныДокументов.ЗаполнитьФайлыДокументаПоШаблону(Шаблон,Файлы); не прикрепляет файл к внутреннему документу, он в параметре передает шаблон, а не ссылку на документ
Как же прикрепить файл прикрепленный к шаблону к создаваемому по нему внутреннему документу, ответа на этот вопрос пока нет.
Если вы создали шаблон файла к любому документу, то при создании данного документа, при выборе нужно выбрать именно этот документ. Тогда шаблон файла приложится. Если же при создании вы выбираете какой то другой документ, и потом в Виде документа выбираете нужный - шаблон не заполнится уже.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот