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


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

как проверить логическими операторами список условий

как проверить логическими операторами список условий
Я
   na1kk
 
10.05.18 - 14:38
Добрый день!
Нужно, чтобы после выборки перебиралась номенклатура, и если в условие = ложь, то проваливаться в это условие

было вот так:
Если ВыборкаНоменклатура.Номенклатура.ЕдиницаДляОтчетов.ЕдиницаПоКлассификатору.Код = "196" И НЕ ВыборкаНоменклатура.Номенклатура.ПринадлежитЭлементу(Справочники.Номенклатура.НайтиПоКоду("0245")) Тогда

а нужно добавить еще 

НЕ ВыборкаНоменклатура.Номенклатура.ПринадлежитЭлементу(Справочники.Номенклатура.НайтиПоКоду("К0244"))

Если пишу вот так

Если ВыборкаНоменклатура.Номенклатура.ЕдиницаДляОтчетов.ЕдиницаПоКлассификатору.Код = "796" И (НЕ ВыборкаНоменклатура.Номенклатура.ПринадлежитЭлементу(Справочники.Номенклатура.НайтиПоКоду("00000000224")) ИЛИ НЕ ВыборкаНоменклатура.Номенклатура.ПринадлежитЭлементу(Справочники.Номенклатура.НайтиПоКоду("К0000003244")))

то будет хрень, т.к. Истина И Истина или Ложь = Истина

Думаю засунуть все в массив, только хочу его потом перебирать,т.к. уже будет цикл в цикле
 
 
   na1kk
 
1 - 10.05.18 - 14:39
*только НЕ хочу его потом перебирать
   Любопытная
 
2 - 10.05.18 - 14:40
А ВыборкаНоменклатура откуда берется? Почему при формировании выборки сразу не отсеять всё лишнее?
   na1kk
 
3 - 10.05.18 - 14:42
(2) из запроса тянется, но там запрос весь разрезан на разные куски и соединяется в зависимости от условий
   Lexey_
 
4 - 10.05.18 - 14:45
(3) и?
   Timon1405
 
5 - 10.05.18 - 14:46
(3) Дописать в конце запроса "ГДЕ ... прошлые условия и &МоеУсловие"
Потом СтрЗаменить(Текст,&МоеУсловие,"текст условия")
или СтрЗаменить(Текст,&МоеУсловие,"Истина") если условие применять не нужно
   na1kk
 
6 - 10.05.18 - 14:47
(4) Есть еще ИНАЧЕ и там отрабатывается другие условия
   sandal_r
 
7 - 10.05.18 - 14:48
убрать скобки, вместо ИЛИ использовать И
   na1kk
 
8 - 10.05.18 - 14:49
(7) тогда номенклатура из выборке не будет вообще попадать в условие, т.к. номенклатура не может быть в одной и той же группе
   Волшебник
 
9 - 10.05.18 - 14:50
В ИЕРАРХИИ(&СписокГрупп)
   na1kk
 
10 - 10.05.18 - 14:52
(9) тогда отберет в запросе только то, что в списке. А мне нужно и с другими номенкл.работать, которые не находятся в этих группах
 
 Рекламное место пустует
   Волшебник
 
11 - 10.05.18 - 14:53
(10) В ИЕРАРХИИ(&СписокГрупп) И НЕ В ИЕРАРХИИ(&СписокГруппИскл)
   hhhh
 
12 - 10.05.18 - 14:53
(10) какой вы привередливый.
   Волшебник
 
13 - 10.05.18 - 14:54
(12) Действительно.
(10) Вам надо, Вы и делайте.
   sandal_r
 
14 - 10.05.18 - 14:55
(8) у вас условие 
Если ЕдиницаИзмерения И НЕ "В группе1" И НЕ "В группе2"

если номенклатура из выборки не находится ни в группе1 ни в группе2 то условие сработает
   Любопытная
 
15 - 10.05.18 - 14:55
Не, надо флаг рисовать 

Выбор когда не Номенклатура в иерархии(&МассивГрупп)
Тогда ИдемНаправо
Иначе ИдемНалево
Конец

И потом проверяем в какую сторону у нас номенклатура поворачивает.
   na1kk
 
16 - 10.05.18 - 14:55
(13) )))) да я то чего) поставили задачу, сказали добавь еще условие, там делов на 5 минут, вот думаю уже пару часов
   Timon1405
 
17 - 10.05.18 - 14:55
(10) добавьте в запрос новое поле и там через "выбор когда походит под условие тогда истина иначе ложь" напишите ваши условия потом при обходе выборки будете анализировать только это поле, а не делать запрос в цикле "принадлежит элементу"
   na1kk
 
18 - 10.05.18 - 14:56
(14) сработает, только есть номеклатура которая находится в группе
   na1kk
 
19 - 10.05.18 - 15:00
с массивом никаких идей нет?
   sandal_r
 
20 - 10.05.18 - 15:00
(18) так а что тогда отсечь надо?

Сначала отсекалась номенклатура с ед.изм. и в группе1.
Теперь попросили добавить чтобы отсекалась с такой же ед.изм и в группе2? Или просто, которая в группе2?
   na1kk
 
21 - 10.05.18 - 15:03
(20) например: запрос формирует:
карандаш,   -группа 1  сумма 100
ручка, -группа 2       сумма 200
стол -группа 3         сумма 500

Если номенклатура входит в группу 1 тогда
сумма = 100 + 200 (тут делаем какое-то действие)
Иначе
Сумма = 500/ 5 ( и тут с оставшиеся номенклатурой делаем действие)
   na1kk
 
22 - 10.05.18 - 15:04
только ручка в группе 1
   sandal_r
 
23 - 10.05.18 - 15:09
(22) один из нас хорошо отметил День Победы...

почему ручка в группе1, если запрос показывает "ручка, -группа 2"?

вы бы уже выложили текст старшного запроса, и вам бы тыкнули в каком нужном месте что вставить
   Михаил Козлов
 
24 - 10.05.18 - 15:14
Если единица="196" И НЕ (номенлатуравГруппе("0245") ИЛИ номенклатураВГруппе("К0244")) Тогда...
(лень было длинные имена писать).
И еще: не ищите в цикле группы "0245" и "К0244" по коду: найдите сразу и проверяйте.


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