Добрый день, подскажите, как найти все строки в ТЧ, где номенклатура <> моей номенклатуры с помощью "НайтиСтроки" Код ниже падате на строке "МассивСтрок = Док.Товары.НайтиСтроки(Новый Структура("Номенклатура", НЕ НоменклатураДляОтбора));
" Пишет что не может преобразовать к булево
Если НеОтгружено > 0 Тогда
ИскомаяСтрока = Неопределено;
МассивСтрок = Док.Товары.НайтиСтроки(Новый Структура("Номенклатура", НЕ НоменклатураДляОтбора));
Если МассивСтрок.Количество() > 0 Тогда
Для Каждого МСтрока ИЗ МассивСтрок Цикл
Док.Товары.Удалить(МСтрока);
КонецЦикла;
КонецЕсли;
(0) логично, падает на "НЕ НоменклатураДляОтбора", т.к. НоменклатураДляОтбора - не является логическим выражением.
Как вариант - можно найти строки с твоей номенклатурой, остальные - будут НЕ.
Или через вт
Обошел, костыльно правда.
Пробовал не костыльно. Сделал запрос к номенклатуре с условием что ссылка <> моей номенклатуре. Выгрузил в массив и поставил отбор на массив. Отбор не сработал. Можете сказать - почему?
(6)
1) что значит "не сработал"? Ошибка или что?
2) Значением отбора может быть список значения, но не массив
3) для ОФ можно использовать ВидСравнения.НеРавно:
элОтбора = ЭлементыФормы.Товары.ОтборСтрок.Номенклатура;
элОтбора.ВидСравнения = ВидСравнения.НеРавно;
элОтбора.Значение = НоменклатураДляОтбора;
элОтбора.Использование =
(6)
re: "...Отбор не сработал. Можете сказать - почему?..."
ну дык текст в студию.
не видно жеж так.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший