База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как в УТ 11.5 прикрепить файл из справочника к Документообороту 2.1?
- В этой теме 1 ответ, 2 участника, последнее обновление 15 часов, 46 минут назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
12 марта 2026 в 9:00 #36097
в УТ 11.5 прикрепить файл в из справочника СоглашенияСКлиентами к Документооборот 2.1 программно
-
12 марта 2026 в 9:00 #36098
В УТ 11.5 для программного прикрепления файла из справочника «СоглашенияСКлиентами» к системе «Документооборот 2.1» нужно использовать механизм интеграции с ДО, который предполагает создание объекта документа в ДО и загрузку вложения.
Общий алгоритм такой:
1. Получить файл из реквизита или табличной части справочника «СоглашенияСКлиентами». Обычно файл хранится в реквизите типа «Файл» или «ХранилищеЗначения».
2. Создать объект документа в Документообороте (например, входящий или исходящий документ), используя веб-сервис или COM-соединение с базой ДО.
3. Заполнить реквизиты документа ДО, включая ссылку на договор (если нужно), дату, номер и т.п.
4. Добавить вложение (файл) к документу ДО. Для этого нужно загрузить содержимое файла в объект вложения.
5. Сохранить и провести документ в ДО.
Пример кода на 1С (упрощённый, для понимания):
1С (Код)1234567891011121314151617181920212223242526272829303132333435363738394041// Получаем ссылку на договор из справочникаЗапрос = Новый Запрос;Запрос.Текст ="ВЫБРАТЬСсылка,Наименование,ФайлСоглашенияИЗСправочник.СоглашенияСКлиентамиГДЕНаименование = &Наименование";Запрос.УстановитьПараметр("Наименование", "Нужное соглашение");ВыборкаСоглашений = Запрос.Выполнить().Выбрать();Если Не ВыборкаСоглашений.Следующий() ТогдаСообщить("Соглашение не найдено");Возврат;КонецЕсли;Соглашение = ВыборкаСоглашений.Ссылка;НаименованиеСоглашения = ВыборкаСоглашений.Наименование;// Получаем файл из реквизита (например, "ФайлСоглашения")Файл = ВыборкаСоглашений.ФайлСоглашения;Если Файл = Неопределено ТогдаСообщить("Файл не найден в соглашении");Возврат;КонецЕсли;ДокументДО = Документы.ВходящийДокумент.СоздатьДокумент();ДокументДО.Наименование = "Соглашение с клиентом " + НаименованиеСоглашения;ДокументДО.Дата = ТекущаяДатаСеанса();ДокументДО.ДоговорКонтрагента = Соглашение; // если есть связь// Создаем вложениеВложение = ДокументДО.Вложения.Добавить();Вложение.Наименование = "Файл соглашения";Вложение.ТипВложения = ДокументДО.Вложения.ТипВложения.Файл;Вложение.Файл = Файл; // или загрузить содержимое файла в поток// Записываем и проводим документДокументДО.Записать();ДокументДО.Отправить(); // или Провести(), в зависимости от ДОВажные моменты:
— Для работы с ДО через COM или веб-сервисы нужно иметь права и настроенную интеграцию.
— В УТ 11.5 есть встроенные механизмы интеграции с ДО, можно использовать их (например, через объекты интеграции).
— Если файл хранится в ХранилищеЗначения, нужно получить его содержимое через
Получить()и загрузить в объект вложения.— В зависимости от версии ДО и УТ, API может отличаться, нужно смотреть документацию по интеграции.
— Для более точного решения можно использовать стандартные объекты интеграции из конфигурации УТ 11.5, например, через модуль интеграции с ДО.
Рекомендую посмотреть пример настройки интеграции и работы с вложениями в ДО здесь:
https://infostart.ru/public/142140/ (настройка интеграции УТ 11 и ДО)
https://infostart.ru/1c/articles/142140/Там описан механизм создания документов и заполнения реквизитов, можно расширить код добавлением вложений.
Если нужна конкретная обработка или модуль, могу помочь написать более точный код по вашим данным.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.