|
как проверить логическими операторами список условий | ☑ | ||
---|---|---|---|---|
0
na1kk
10.05.18
✎
14:38
|
Добрый день!
Нужно, чтобы после выборки перебиралась номенклатура, и если в условие = ложь, то проваливаться в это условие было вот так: Если ВыборкаНоменклатура.Номенклатура.ЕдиницаДляОтчетов.ЕдиницаПоКлассификатору.Код = "196" И НЕ ВыборкаНоменклатура.Номенклатура.ПринадлежитЭлементу(Справочники.Номенклатура.НайтиПоКоду("0245")) Тогда а нужно добавить еще НЕ ВыборкаНоменклатура.Номенклатура.ПринадлежитЭлементу(Справочники.Номенклатура.НайтиПоКоду("К0244")) Если пишу вот так Если ВыборкаНоменклатура.Номенклатура.ЕдиницаДляОтчетов.ЕдиницаПоКлассификатору.Код = "796" И (НЕ ВыборкаНоменклатура.Номенклатура.ПринадлежитЭлементу(Справочники.Номенклатура.НайтиПоКоду("00000000224")) ИЛИ НЕ ВыборкаНоменклатура.Номенклатура.ПринадлежитЭлементу(Справочники.Номенклатура.НайтиПоКоду("К0000003244"))) то будет хрень, т.к. Истина И Истина или Ложь = Истина Думаю засунуть все в массив, только хочу его потом перебирать,т.к. уже будет цикл в цикле |
|||
1
na1kk
10.05.18
✎
14:39
|
*только НЕ хочу его потом перебирать
|
|||
2
Любопытная
10.05.18
✎
14:40
|
А ВыборкаНоменклатура откуда берется? Почему при формировании выборки сразу не отсеять всё лишнее?
|
|||
3
na1kk
10.05.18
✎
14:42
|
(2) из запроса тянется, но там запрос весь разрезан на разные куски и соединяется в зависимости от условий
|
|||
4
Lexey_
10.05.18
✎
14:45
|
(3) и?
|
|||
5
Timon1405
10.05.18
✎
14:46
|
(3) Дописать в конце запроса "ГДЕ ... прошлые условия и &МоеУсловие"
Потом СтрЗаменить(Текст,&МоеУсловие,"текст условия") или СтрЗаменить(Текст,&МоеУсловие,"Истина") если условие применять не нужно |
|||
6
na1kk
10.05.18
✎
14:47
|
(4) Есть еще ИНАЧЕ и там отрабатывается другие условия
|
|||
7
sandal_r
10.05.18
✎
14:48
|
убрать скобки, вместо ИЛИ использовать И
|
|||
8
na1kk
10.05.18
✎
14:49
|
(7) тогда номенклатура из выборке не будет вообще попадать в условие, т.к. номенклатура не может быть в одной и той же группе
|
|||
9
Волшебник
10.05.18
✎
14:50
|
В ИЕРАРХИИ(&СписокГрупп)
|
|||
10
na1kk
10.05.18
✎
14:52
|
(9) тогда отберет в запросе только то, что в списке. А мне нужно и с другими номенкл.работать, которые не находятся в этих группах
|
|||
11
Волшебник
10.05.18
✎
14:53
|
(10) В ИЕРАРХИИ(&СписокГрупп) И НЕ В ИЕРАРХИИ(&СписокГруппИскл)
|
|||
12
hhhh
10.05.18
✎
14:53
|
(10) какой вы привередливый.
|
|||
13
Волшебник
10.05.18
✎
14:54
|
(12) Действительно.
(10) Вам надо, Вы и делайте. |
|||
14
sandal_r
10.05.18
✎
14:55
|
(8) у вас условие
Если ЕдиницаИзмерения И НЕ "В группе1" И НЕ "В группе2" если номенклатура из выборки не находится ни в группе1 ни в группе2 то условие сработает |
|||
15
Любопытная
10.05.18
✎
14:55
|
Не, надо флаг рисовать
Выбор когда не Номенклатура в иерархии(&МассивГрупп) Тогда ИдемНаправо Иначе ИдемНалево Конец И потом проверяем в какую сторону у нас номенклатура поворачивает. |
|||
16
na1kk
10.05.18
✎
14:55
|
(13) )))) да я то чего) поставили задачу, сказали добавь еще условие, там делов на 5 минут, вот думаю уже пару часов
|
|||
17
Timon1405
10.05.18
✎
14:55
|
(10) добавьте в запрос новое поле и там через "выбор когда походит под условие тогда истина иначе ложь" напишите ваши условия потом при обходе выборки будете анализировать только это поле, а не делать запрос в цикле "принадлежит элементу"
|
|||
18
na1kk
10.05.18
✎
14:56
|
(14) сработает, только есть номеклатура которая находится в группе
|
|||
19
na1kk
10.05.18
✎
15:00
|
с массивом никаких идей нет?
|
|||
20
sandal_r
10.05.18
✎
15:00
|
(18) так а что тогда отсечь надо?
Сначала отсекалась номенклатура с ед.изм. и в группе1. Теперь попросили добавить чтобы отсекалась с такой же ед.изм и в группе2? Или просто, которая в группе2? |
|||
21
na1kk
10.05.18
✎
15:03
|
(20) например: запрос формирует:
карандаш, -группа 1 сумма 100 ручка, -группа 2 сумма 200 стол -группа 3 сумма 500 Если номенклатура входит в группу 1 тогда сумма = 100 + 200 (тут делаем какое-то действие) Иначе Сумма = 500/ 5 ( и тут с оставшиеся номенклатурой делаем действие) |
|||
22
na1kk
10.05.18
✎
15:04
|
только ручка в группе 1
|
|||
23
sandal_r
10.05.18
✎
15:09
|
(22) один из нас хорошо отметил День Победы...
почему ручка в группе1, если запрос показывает "ручка, -группа 2"? вы бы уже выложили текст старшного запроса, и вам бы тыкнули в каком нужном месте что вставить |
|||
24
Михаил Козлов
10.05.18
✎
15:14
|
Если единица="196" И НЕ (номенлатуравГруппе("0245") ИЛИ номенклатураВГруппе("К0244")) Тогда...
(лень было длинные имена писать). И еще: не ищите в цикле группы "0245" и "К0244" по коду: найдите сразу и проверяйте. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |