Имя: Пароль:
1C
1С v8
Сравнить реквизит с нереквизитом
0 brotger
 
17.12.25
17:25
Мне надо сделать вот такое сравнение. Проблема в том, что Поле2 не является реквизитом, оно просто добавлено в табличную часть формы через "Добавить колонку реквизита" (красненький значок). Как выбраться из этой ситуации?..

Для Каждого СтрокаТЧ Из Объект.ТЧ Цикл
    Если СтрокаТЧ.Поле1 = СтрокаТЧ.Поле2 Тогда
        // Действия.
    КонецЕсли;
КонецЦикла;
1 Волшебник
 
17.12.25
17:26
Плохие имена полей и табличной части
2 brotger
 
17.12.25
17:28
Это просто пример.
3 brotger
 
17.12.25
17:29
К полю не обратиться, оно же не входит в состав СтрокаТЧ
4 brotger
 
17.12.25
17:55
Какое-то решение ведь должно быть. Надо получить значение нереквизита для каждой строки табличной части.
5 Bigbro
 
17.12.25
18:02
если надо сравнить что-то на форме так и сравнивать надо на форме а не реквизит объекта.
6 Волшебник
 
17.12.25
18:47
(2) плохой пример
7 brotger
 
17.12.25
18:47
Так я и сравниваю в модуле формы. Просто не могу понять, как обратиться к полю2.
Есть таблица с полями 1 и 2. Поле 1 - это реквизит. Поле 2 - это поле, добавленное через "Добавить колонку реквизита", оно реквизитом не является. Надо получить доступ к нему.
8 CaIIIka
 
17.12.25
18:50
(3) Очень даже входит! Вот пример кода, который работает со времен появления УФ (присваивание значения колонке реквизита):

Для Каждого СтрТч Из Объект.Товары Цикл
    СтрТч.Код = пКод;
КонецЦикла;                

Объект.Товары - это ДанныеФормыКоллекция.
9 brotger
 
17.12.25
18:54
Ясно, спасибо большое. Проверил, работает. Значит у меня всё гораздо интересней, буду глубже копать...
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой