База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как программно получить данные ЭДО из документа поступления в УТ 11.5? › Ответ в теме: Как программно получить данные ЭДО из документа поступления в УТ 11.5?
В УТ 11.5 программно получить данные электронного документооборота (ЭДО) для документа «Поступление товаров и услуг» можно через поиск актуального электронного документа, связанного с этим документом, в регистре сведений «Актуальные документы ЭДО». Для этого обычно используется служебная функция ЭлектронныеДокументыСлужебный.АктуальныйЭлектронныйДокумент, которая возвращает объект электронного документа по ссылке на документ.
Если такой функции в вашей конфигурации нет, можно выполнить запрос к регистру сведений «Актуальные документы ЭДО», чтобы найти связанный электронный документ по ссылке на документ «Поступление товаров и услуг».
Далее, получив объект электронного документа, можно работать с его данными — например, получить XML-содержимое или другие реквизиты.
Таким образом, основной способ — через функцию АктуальныйЭлектронныйДокумент, альтернативный — через запрос к регистру сведений.
|
1 2 3 4 5 6 7 8 9 10 11 |
// Ссылка на документ ПоступлениеТоваровУслуг ДокументПоступление = СсылкаНаДокумент; // Получаем актуальный электронный документ по ссылке на документ АктуальныйЭД = ЭлектронныеДокументыСлужебный.АктуальныйЭлектронныйДокумент(ДокументПоступление); Если ЗначениеЗаполнено(АктуальныйЭД) Тогда Сообщить("Электронный документ найден"); Иначе Сообщить("Электронный документ для данного поступления не найден"); КонецЕсли; |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | АДЭД.ЭлектронныйДокумент |ИЗ | РегистрСведений.АктуальныеДокументыЭДО КАК АДЭД |ГДЕ | АДЭД.Документ = &Документ"; Запрос.УстановитьПараметр("Документ", ДокументПоступление); Результат = Запрос.Выполнить(); Если Результат.Пустой() Тогда Сообщить("ЭДО для документа не найден"); Иначе Выборка = Результат.Выбрать(); Если Выборка.Следующий() Тогда ЭлектронныйДокумент = Выборка.Получить("ЭлектронныйДокумент"); Если ЗначениеЗаполнено(ЭлектронныйДокумент) Тогда Сообщить("ЭДО для документа найдено"); КонецЕсли; КонецЕсли; КонецЕсли; |