Доброе время суток, уважаемые.
Задача, ставшая проблемой.
Необходимо обойти табличные части РАЗЛИЧНЫХ (перечень не определен изначально) документов и, в зависимости наличия (существования) определенных реквизитов, проделать с ними определенные действия.
Например, перебирая табличные части документа из выборки документов разных типов проверить существование реквизита Договор, и, если он существует, присвоить ему ссылку на определенный объект из справочника Договоры.
Прошу совета.
Задача, ставшая проблемой.
Необходимо обойти табличные части РАЗЛИЧНЫХ (перечень не определен изначально) документов и, в зависимости наличия (существования) определенных реквизитов, проделать с ними определенные действия.
Например, перебирая табличные части документа из выборки документов разных типов проверить существование реквизита Договор, и, если он существует, присвоить ему ссылку на определенный объект из справочника Договоры.
Прошу совета.
По теме из базы знаний
- Выгрузка и загрузка табличных частей (а также копирование)
- Дополнительные реквизиты табличной части документов без изменения хранения данных
- Обработка табличных частей (обычные и управляемые формы)
- Заполнение табличной части поступления из спецификации на выпуск продукции
- Шаблон заполнения или обработки документа или табличных частей документов
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Проблема в обходе?
Для каждого Док Из Метаданные.Документы Цикл
Сообщить("" + Док.Имя);
Для каждого ТЧ Из Док.ТабличныеЧасти Цикл
Сообщить(" " + ТЧ.Имя);
Для каждого Рек Из ТЧ.Реквизиты Цикл
Сообщить(" " + Рек.Имя);
КонецЦикла;
КонецЦикла;
КонецЦикла;
Показать
(22) Извините, опять неверно сформулировал. Можно перебирать табличные части и реквизиты в них только из метаданных документа. Допустим, нашли, что в текущей табличной части существует данный реквизит. Как, перебирая строки этой табличной части, присвоить данному реквизиту ссылочное значение? Ведь мы по прежнему находимся внутри дерева метаданных и строки там не определены?
(23)Так у вас к этому моменту УЖЕ должна быть ссылка на сам документ и сам Документобъект, полученный по ссылке, а так же позиционирование на нужной ТЧ для работы с ней.
или вас этому нужно учить?
Найти строки ТЧ - ТЧ.НайтиСтроки().
Обойти полученный результат циклом с присвоением нового значения в нужную колонку, имя которой вы определите по метаданным.
или вас этому нужно учить?
Найти строки ТЧ - ТЧ.НайтиСтроки().
Обойти полученный результат циклом с присвоением нового значения в нужную колонку, имя которой вы определите по метаданным.
(26)Да начните вы уже делать, а не разглагольствовать - там все и поймете.
К тому моменту, как вы поймете, какой именно реквизит ТЧ вам нужен, вы уже должны понимать, с каким объемом данных вам необходимо работать, следовательно у вас будет либо уже готовый запрос с выборкой нужных строк нужной ТЧ нужных документов, либо получаете каждый документ и обрабатываете только его ТЧ и строки в них.
К тому моменту, как вы поймете, какой именно реквизит ТЧ вам нужен, вы уже должны понимать, с каким объемом данных вам необходимо работать, следовательно у вас будет либо уже готовый запрос с выборкой нужных строк нужной ТЧ нужных документов, либо получаете каждый документ и обрабатываете только его ТЧ и строки в них.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот