Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Отбор на не номенклатуру.

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

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

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

   Chameleon1980
 
8 - 27.09.16 - 07:03
(6)
re: "...Отбор не сработал. Можете сказать - почему?..."
ну дык текст в студию.


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

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует