Имя: Пароль:
1C
1С v8
Перебор табличной части Обычные формы
,
0 1СникомХочу Стать
 
11.03.20
12:41
Здравствуйте, подскажите пожалуйста: УТ 10.3, делаю перебор табличной части и хочу проверить - если есть такая номенклатура тогда записать документ нельзя. Почему то, у меня всегда нельзя.

    ТолькоУслугаПоКодуДляТабЧасти = Справочники.Номенклатура.НайтиПоКоду("F0000016957");
    
    Для Каждого СтрокаТабЧасти Из ЭтотОбъект.Услуги Цикл
        Если СтрокаТабЧасти <> ТолькоУслугаПоКодуДляТабЧасти Тогда
            Сообщить("Для табличной части Услуги, можно использовать только Комплектация заказа!");
            Отказ = Истина;
        КонецЕсли;    
        
    КонецЦикла
1 2S
 
11.03.20
12:43
о май гад
Используй НайтиСтроки(СтруктураОтбора)
2 2S
 
11.03.20
12:43
СтрокаТабЧасти - это строка, кэп! Строку сравниваешь с номенклатурой!
3 ssh2006
 
11.03.20
12:46
(0) надо освоить работу со встроенной справкой. Там есть типы элементов коллекций при обходе. И еще много полезного
4 1СникомХочу Стать
 
11.03.20
13:30
(1) сорри учусь 1с, перепробовал не получается... Можно пример под мой код? пожалуйста
5 Ёпрст
 
11.03.20
13:31
(4)

Если СтрокаТабЧасти.Номенклатура <> ТолькоУслугаПоКодуДляТабЧасти
6 1СникомХочу Стать
 
11.03.20
13:35
(5) Спасибо огромное! Очень помог
7 1СникомХочу Стать
 
11.03.20
13:38
(5) можно вопрос? подскажите почему тогда тут (Для Каждого СтрокаТабЧасти) не указываю .Номенклатура?
8 hhhh
 
11.03.20
13:41
(7) прочему Номенклатура? У тебя там в табчасти 50 реквизитов, указывай все 50.
9 Ёпрст
 
11.03.20
13:44
(7)
Для Каждого СтрокаТабЧасти Из Услуги Цикл //ты вы перебираете Таб часть Услуги, в переменная цикла СтрокаТабЧасти будет содержать строку табличной части, в теле цикла, через точку можете получать реквизиты
табличной части  СтрокаТабЧасти.Номенклатура, СтрокаТабЧасти .Количество и т.д..
10 unbred
 
11.03.20
13:45
(7) в отладчике посмотри, что лежит у тебя в твоей переменной "СтрокаТабЧасти" и сразу всё поймёшь.
11 1СникомХочу Стать
 
11.03.20
13:50
(9) (10) (8)  спасибо, теперь понятней стало.