Сравнение реквизитов элемента справочника и строки выборки #661900


#0 by пыхтачокк
Всем доброго дня! Хочу оптимизировать процедуру сравнения, ну и параллельно взять метод на "вооружение". Итак: имеется элемент справочника с реквизитами Поле1, Поле2, Поле3. на форме элемента расположены поля ввода этих реквизитов имеется строка выборки запроса с полями Поле1, Поле2, Поле3 реквизиты в справочнике и поля выборки имеют одинаковые названия и типы. требуется сравнить значение реквизита со значением поля выборки и если они различны например установить фон поля ввода данного реквизита на форме. конструкция Если Поле1 <> Выборка.Поле1 Тогда ЭлементыФормы.Поле1..... и так далее вполне работоспособна, но имхо громоздка и примитивна. да и реквизитов не 3, а поболе. нельзя ли реализовать подобное например обходом коллекции? вроде припоминается что когда-то видел подобное изящное решение, да уже не помню где. не подскажете?
#1 by shuhard
кури []
#2 by Maxus43
обходи по метаданным эелемента названия реквизитов... потом типа Если СсылкаНаСправочник[ИмяРеквизита] <> Выборка[ИмяРеквизита]
#3 by пыхтачокк
гм, а более подробного куска кода нет? сначала нужно получить сам объект метаданных и после уже обходить его? никогда с метаданными не работал, затрудняюсь с чего начинать то
#4 by shuhard
[сначала нужно получить сам объект метаданных и после уже обходить его] угу
#5 by Maxus43
ссылка на элемент у тебя есть? Для Каждого ИмяРеквизита Из ЭлементСсылка.Метаданные.Реквизиты Цикл
#6 by пыхтачокк
Во! То что нужно. Дальше откопаю сам. Благодарю за помощь!
#7 by пыхтачокк
Гм. а еще вдогонку вопросик не подскажешь? Как в строке выборки проверить существование поля заданного в ИмяРеквизита? (некоторые реквизиты справочника не входят в поля выборки, служебные)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С