|   |   | 
| 
 | как проверить логическими операторами список условий | ☑ | ||
|---|---|---|---|---|
| 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" по коду: найдите сразу и проверяйте. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |