|
Работа с метаданными |
☑ |
0
demiurggig
13.12.18
✎
13:16
|
Есть документ, я перебираю реквизиты табличных частей этого документа и ищу реквизит, тип значения которого - перечисление.СтавкиНДС.
ТабличныеЧасти = ДокументОбъект.Метаданные().ТабличныеЧасти;
Для Каждого ТабличнаяЧасть Из ТабличныеЧасти Цикл
Реквизиты = ТабличнаяЧасть.Реквизиты;
Для Каждого Реквизит Из Реквизиты Цикл
Если Реквизит.Тип.СодержитТип(Тип("ПеречислениеСсылка.СтавкиНДС")) Тогда
Для Каждого Строка Из ДокументОбъект[ТабличнаяЧасть.Имя] Цикл
// какие - то действия
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецЦикла;
А можно ли как - то сразу выяснить есть среди реквизитов данной ТЧ нужный мне реквизит, не перебирая их по одному в цикле?
|
|
1
Волшебник
13.12.18
✎
13:18
|
Один раз перебери и сохрани
|
|
2
exwill
13.12.18
✎
13:19
|
(0) Интуиция?
|
|
3
Buster007
13.12.18
✎
13:28
|
в конфигураторе выделяешь перечисление "СтавкиНДС", жмешь правой кнопкой и выбираешь "Поиск ссылок на объект"
результат куда-нибудь копируешь и обрабатываешь
|
|
4
SleepyHead
гуру
13.12.18
✎
13:28
|
(0)
Реквизиты = ТабличнаяЧасть.Реквизиты;
Если Реквизиты.Найти(ИмяРеквизитыТабличной)<>Неопределено Тогда
// есть такой реквизит
|
|
5
demiurggig
13.12.18
✎
13:37
|
(4) Мне так нельзя сделать. Я обрабатываю много документов, и кто его знает как в данном документе называется нужный мне реквизит: "СтавкаНДС "или "НДССтавка".
А мне нужно узнать без перебора элементов коллекции есть ли там элемент с типом значения Перечисление.СтавкаНДС.
|
|
6
demiurggig
13.12.18
✎
13:39
|
5+ Имеется в виду много видов документов
|
|
7
Мыш
13.12.18
✎
13:39
|
(5) > узнать без перебора элементов
Такого функционала в платформе нет. Только перебор.
|
|
8
demiurggig
13.12.18
✎
13:41
|
(7) Спасибо, понятно
|
|
9
Сияющий в темноте
13.12.18
✎
13:44
|
В чем проблема перебора метаданных,вы же не на каждом документе перебираете,а выбрали тип документа,узнали,что там есть ндс и потом можно выбирать и обрабатывать.
|
|
10
Serg_1960
13.12.18
✎
13:59
|
(8) Если Вы обрабатываете много разнотипных документов "за один раз", то результаты ранее сделанного поиска в метаданных можно сохранять и накапливать в какой-либо структуре и многократно использовать.
|
|