Задача: есть некий справочник 1с с табличной частью “Заполнения”. Необходимо убедиться, что значения в колонке ‘Формула'(строка) одинаковые для всех строк, исключая те что непрямоугольные -колонка Прямоугольный (булево). При этом значение реквизита ‘Формула неизвестно’. ХарНом – ссылка на проверяемый элемент справочника
Чтобы не делать обход по всем строкам с проверкой значений поступим следующим образом:
Сперва выгрузим табличную часть, вернее интересующую нас колонку ‘Формула’ в таблицу значений с отбором по реквизиту Прямоугольный=Истина.
1 2 3 | Отбор = Новый Структура; Отбор.Вставить("Прямоугольный", Истина); ЗаполненияЗаказа=ХарНом.Заполнения.Выгрузить(Отбор,"Формула"); |
Далее свернем таблицу значений по колонке “Формула”. После свертки в таблице останутся только отличающиеся значения. Если элементов будет больше одного , значит в табличной части присутствовали разные значения.
1 2 3 4 5 | ЗаполненияЗаказа.свернуть("Формула"); Если ЗаполненияЗаказа.количество()>1 Тогда Сообщить("В изделии присутствуют отличающиеся формулы!"); Возврат; Конецесли; |