Универсальный подбор и обработка объектов. Произвольный алгоритм. Как обратиться к реквизиту табличной части, который является ссылкой на другой документ?
Имеется документ Транспортная накладная. У него есть табличная часть "ДокументыОснования" - в ней один реквизит, собственно ссылка на документ основание (РТиУ). Мне нужно изменить номер транспортной накладной на номер документа-основания из табличной части. Пытаюсь сделать это с помощью обработки Универсальный подбор и обработка объектов произвольным алгоритмом.
Получаю ошибку:
Не видит реквизит "Номер" у СтрокиТЧ
Подскажите, как это можно реализовать?
//Изменение в цикле значения номера товарной накладной = номеру РТиУ (документа-основания) в табличной части документа
Для Каждого СтрокаТЧ из Объект.ДокументыОснования Цикл
Объект.Номер = СтрокаТЧ.Номер;
КонецЦикла;
Если Объект.Проведен тогда
Объект.Записать(РежимЗаписиДокумента.Проведение);
Иначе
Объект.Записать();
КонецЕсли;
ПоказатьПолучаю ошибку:
{(3)}: Поле объекта не обнаружено (Номер)
Не видит реквизит "Номер" у СтрокиТЧ
Подскажите, как это можно реализовать?
Найденные решения
Что-то вроде такого, предположил, что реквизит табличной части называется ДокументОснование
И перебирать строки ТЧ в цикле смысла не имеет - берем сразу первую, да и все
И перебирать строки ТЧ в цикле смысла не имеет - берем сразу первую, да и все
СтрокаТЧ = Объект.ДокументыОснования[0];
Объект.Номер = СтрокаТЧ.ДокументОснование.Номер;
Если Объект.Проведен тогда
Объект.Записать(РежимЗаписиДокумента.Проведение);
Иначе
Объект.Записать();
КонецЕсли;
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Что-то вроде такого, предположил, что реквизит табличной части называется ДокументОснование
И перебирать строки ТЧ в цикле смысла не имеет - берем сразу первую, да и все
И перебирать строки ТЧ в цикле смысла не имеет - берем сразу первую, да и все
СтрокаТЧ = Объект.ДокументыОснования[0];
Объект.Номер = СтрокаТЧ.ДокументОснование.Номер;
Если Объект.Проведен тогда
Объект.Записать(РежимЗаписиДокумента.Проведение);
Иначе
Объект.Записать();
КонецЕсли;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот