Имя: Пароль:
1C
1С v8
Отбор на не номенклатуру.
0 breezee
 
26.09.16
17:56
Добрый день, подскажите, как найти все строки в ТЧ, где номенклатура <> моей номенклатуры с помощью "НайтиСтроки" Код ниже падате на строке "МассивСтрок = Док.Товары.НайтиСтроки(Новый Структура("Номенклатура", НЕ НоменклатураДляОтбора));
" Пишет что не может преобразовать к булево

    Если   НеОтгружено > 0 Тогда
                        ИскомаяСтрока = Неопределено;
                        МассивСтрок = Док.Товары.НайтиСтроки(Новый Структура("Номенклатура", НЕ НоменклатураДляОтбора));
                        Если МассивСтрок.Количество() > 0 Тогда
                            Для Каждого МСтрока ИЗ МассивСтрок Цикл
                                Док.Товары.Удалить(МСтрока);
                            КонецЦикла;    
                        КонецЕсли;
                        
                        Стр.НеОтгруженоПоЗаказу = НеОтгружено;
                        Стр.НеОтгруженоПоНоменклатуре = НеОтгружено;
                        КонецЕсли;
1 jsmith
 
26.09.16
18:16
ТипЗнч(НЕ НоменклатураДляОтбора) <> Тип("СправочникСсылка.Номенклатура)
2 youalex
 
26.09.16
18:21
(0) логично, падает на "НЕ НоменклатураДляОтбора", т.к. НоменклатураДляОтбора - не является логическим выражением.
Как вариант - можно найти строки с твоей номенклатурой, остальные - будут НЕ.
Или через вт
3 jsmith
 
26.09.16
18:22

    Для Каждого Стр Из Док.Товары Цикл
        Если Стр.Номенклатура <> НоменклатураДляОтбора Тогда
            Док.Товары.Удалить(Стр);
        КонецЕсли;
    КонецЦикла;
4 Irbis
 
26.09.16
19:04
(0) Так отбор в этом методе только на равенство работает?
5 Irbis
 
26.09.16
19:05
(4)+ Адмирал Я Сен Пень
6 breezee
 
26.09.16
21:19
Обошел, костыльно правда.
Пробовал не костыльно. Сделал запрос к номенклатуре с условием что ссылка <> моей номенклатуре. Выгрузил в массив и поставил отбор на массив. Отбор не сработал. Можете сказать - почему?
7 youalex
 
27.09.16
02:15
(6)
1) что значит "не сработал"? Ошибка или что?
2) Значением отбора может быть список значения, но не массив
3) для ОФ можно использовать ВидСравнения.НеРавно:

элОтбора = ЭлементыФормы.Товары.ОтборСтрок.Номенклатура;
элОтбора.ВидСравнения = ВидСравнения.НеРавно;
элОтбора.Значение = НоменклатураДляОтбора;
элОтбора.Использование =
8 Chameleon1980
 
27.09.16
07:03
(6)
re: "...Отбор не сработал. Можете сказать - почему?..."

ну дык текст в студию.

не видно жеж так.