Операнд "НЕ" не работает в сложном условии запроса! #482902


#0 by LevelUP
Или я безбожно туплю или сабж? Часть запроса работает также как
#1 by mikecool
=ВидРасчета.ОплатаПоТарифу) ИЛИ (ФормаТруда=Пере ?
#2 by LevelUP
зачем? мне нужно исключить сочетание когда сотрудник сдельщик и при этом имеет вид начисления ОплатаПоТарифу. Зачем это надо это отдельный вопрос. Интересно то что запрос так себя ведет.
#3 by mikecool
это я к вопросу игнорируемости, ибо сабжа быть не может
#4 by LevelUP
я тоже удивился, но с не и без не - работает одинаково, жестко фильтруя только сдельщиков и только по ВР ОплатаПоТраифу
#5 by mikecool
значит еще где от собака порылась
#6 by LevelUP
Запрос я уже перестроил не используя НЕ. Таким образом: Несколько длиннее зато работает. А условия то при этом идентичные..
#7 by zak555
#8 by zak555
#9 by LevelUP
в твоем варианте то же самое, что с НЕ что без НЕ получается. Я проверил. Может релиз 25 такой. Или вообще в конструкции "когда" НЕ применяться не могут. По крайней мере я в типовых глобальным поиском не нашел.
#10 by zak555
как это? я просто убрал лишнее скобки
#11 by LevelUP
Я понял, и тоже убрал у себя по твоему варианту. И результат в . То есть убирание лишних скобок не решает проблему.
#12 by DrZombi
Вообще то в 1С запросах 7.7 вообще не рекомендуется делать все сложно, там запросы годны только для школьников, типо 1 + 2 = 3 :) А если хочешь серьезные запросы, то пиши прямыми :) Или через функцию, типо - Условие(МояОнализа(ЧтоТо1,ЧтоТо2,...ЧтоТо(n))=1); И в перед
#13 by zak555
а если так :
#14 by LevelUP
логика рухнет, нельзя (ФизЛицо = Сотрудник) выносить в |Условие
#15 by LevelUP
Вот-вот, похоже на то. Разобрать условие после "Когда" выходит затруднительно.
#16 by zak555
весь код покажи - может переписать можно +проверь на движке 027, на партабеле
#17 by LevelUP
решение уже в я описал. Запрос - основной запрос из Расчетной ведомости в ЗиК. А вот на 27 надо бы попробовать, тока портабл не помню куда засунул на компе.
#18 by zak555
аську проверь
#19 by LevelUP
На 27 то же самое
#20 by Ёпрст
выложи полный текст запроса и как проверяешь результат.
#21 by LevelUP
Проверяется выгрузкой в ТЗ и если у сотрудника сдельщика по ВР ОплатаПоТарифу есть часы, то выходит условие не сработало
#22 by Ёпрст
ФизЛицо = Сотрудник - что за бредовое условие ?
#23 by LevelUP
вопросы к 1с, я в описал откуда запрос
#24 by Ёпрст
вот так, проверь, для начала:
#25 by LevelUP
работает конечно, это ж все-равно что в , тока по-красивше.
#26 by LevelUP
+25 Проблема с "НЕ"
#27 by Ёпрст
вообще-то не смотрел, а это = , если что, просто НЕ убран и всё.
#28 by Ёпрст
не используй. У меня вообще нет ни одной конструкции с НЕ...нигде, вообще непонятно, накой этот оператор нужен.
#29 by Ёпрст
+28 :)
#30 by LevelUP
ну да. Дело не в том как сделать чтоб запрос работал, работа уже сдана. Просто стало интересно неужели "НЕ" не работает в таком контексте.
#31 by zak555
ну как же : пример вывести начисление по сотрам, не входящих в подбор
#32 by Ёпрст
и чо ?
#33 by zak555
ну так нагляднее :-) чем собирать СЗ с "нужными" значениями
#34 by Ёпрст
Бредим ? Любую конструкцию в условии можно написать без НЕ. И ничего специально делать для этого не надо.
#35 by zak555
на фирме 1500 работающих челов надо рассчитать все начисления по сотрам, за исключение 50, выбранным на форме подбором в СЗ
#36 by Ёпрст
да уж..
#37 by Ёпрст
+36 причем, конструкция в с "НЕ" будет неверно работать, если в списке 1 элемент (в sql точно, в дбф не помню ужо).
#38 by zak555
так много кто писал, что "принадлежит" долго обрабатывается если 1 элемент, то можно проверить на размерСписка
#39 by Ёпрст
замеры есть? А на заборе еще и не то напишут..
#40 by zak555
вечером постараюсь найти БД с таким количеством сотров
#41 by zak555
"тесты" на работе фишка такая в компоненте "растчёт" - если СЗ больщой - надо "НЕ", "иначе Принадлежит=0"
#42 by МихаилМ
для 1с77 скл  сз.Принадлежит - генерирует карявый запрос к СУБД, тк в сз могут быть группы. поэтому работает медленно. скорее всего тоже и для дбф. для скл оптимальнее в текте запроса через или перечислить все идентификаторы !!! правда есть ограничение на размер текста запроса в 40 килобайт. поэтому максимум элементов, передаваемых таким способом примерно 2200 опятьже замена ВходитВГруппу на перечисление этих элементов (через метаданные) ускоряет на порядки выполнение запроса
#43 by ДенисЧ
Фигасе... Вообще-то, Для СКЛ В - лучший вариант...
#44 by МихаилМ
1с77 извращенно вепедает список на скл сервер для использования конструкции "В" , создает для каждого элемента списка хранимую процедуру, исполняет её , затем удаляет. этот механим работает на порядки медленнее, чем компиляция  запроса. так что лучший вариант только с точки зрения читаемости запроса.
#45 by zak555
замеры правда не нашёл БД с сотрами > 1000 будет, как 622 Замер по Принадлежит=0 на сотрах = 11 =>>> 1.432 Замер по НЕ___________ на сотрах = 11 =>>> 1.43 Замер по Принадлежит=0 на сотрах = 11 =>>> 1.381 Замер по НЕ___________ на сотрах = 11 =>>> 1.484 Замер по Принадлежит=0 на сотрах = 11 =>>> 1.39 Замер по НЕ___________ на сотрах = 11 =>>> 1.417 Замер по Принадлежит=0 на сотрах = 26 =>>> 1.568 Замер по НЕ___________ на сотрах = 26 =>>> 1.388 Замер по Принадлежит=0 на сотрах = 26 =>>> 1.471 Замер по НЕ___________ на сотрах = 26 =>>> 1.408 Замер по Принадлежит=0 на сотрах = 26 =>>> 1.421 Замер по НЕ___________ на сотрах = 26 =>>> 1.436 Замер по Принадлежит=0 на сотрах = 26 =>>> 1.412 Замер по НЕ___________ на сотрах = 26 =>>> 1.422 Замер по Принадлежит=0 на сотрах = 43 =>>> 1.404 Замер по Принадлежит=0 на сотрах = 43 =>>> 1.495 Замер по Принадлежит=0 на сотрах = 43 =>>> 1.448 Замер по Принадлежит=0 на сотрах = 43 =>>> 1.454 Замер по Принадлежит=0 на сотрах = 43 =>>> 1.496 Замер по НЕ___________ на сотрах = 43 =>>> 1.468 Замер по НЕ___________ на сотрах = 43 =>>> 1.436 Замер по НЕ___________ на сотрах = 43 =>>> 1.381 Замер по НЕ___________ на сотрах = 43 =>>> 1.474 Замер по НЕ___________ на сотрах = 43 =>>> 1.506
#46 by Злопчинский
ты давай не пару десятков, а несколько сотен...
#47 by zak555
Замер по Принадлежит=0 на сотрах = 74 =>>> 1.34 Замер по Принадлежит=0 на сотрах = 74 =>>> 1.424 Замер по Принадлежит=0 на сотрах = 74 =>>> 1.403 Замер по Принадлежит=0 на сотрах = 74 =>>> 1.365 Замер по Принадлежит=0 на сотрах = 74 =>>> 1.506 Замер по НЕ___________ на сотрах = 74 =>>> 1.486 Замер по НЕ___________ на сотрах = 74 =>>> 1.399 Замер по НЕ___________ на сотрах = 74 =>>> 1.392 Замер по НЕ___________ на сотрах = 74 =>>> 1.414 Замер по НЕ___________ на сотрах = 74 =>>> 1.427
#48 by zak555
Замер по Принадлежит=0 на сотрах = 120 =>>> 1.436 Замер по Принадлежит=0 на сотрах = 120 =>>> 1.421 Замер по Принадлежит=0 на сотрах = 120 =>>> 1.461 Замер по Принадлежит=0 на сотрах = 120 =>>> 1.393 Замер по Принадлежит=0 на сотрах = 120 =>>> 1.472 Замер по НЕ___________ на сотрах = 120 =>>> 1.481 Замер по НЕ___________ на сотрах = 120 =>>> 1.567 Замер по НЕ___________ на сотрах = 120 =>>> 1.658 Замер по НЕ___________ на сотрах = 120 =>>> 1.43 Замер по НЕ___________ на сотрах = 120 =>>> 1.491 Замер по НЕ___________ на сотрах = 120 =>>> 1.436
#49 by zak555
Замер по Принадлежит=0 на сотрах = 75 =>>> 1.54 Замер по Принадлежит=0 на сотрах = 75 =>>> 1.488 Замер по Принадлежит=0 на сотрах = 75 =>>> 1.588 Замер по Принадлежит=0 на сотрах = 75 =>>> 1.612 Замер по Принадлежит=0 на сотрах = 75 =>>> 1.638 Замер по НЕ___________ на сотрах = 75 =>>> 1.557 Замер по НЕ___________ на сотрах = 75 =>>> 1.67 Замер по НЕ___________ на сотрах = 75 =>>> 1.576 Замер по НЕ___________ на сотрах = 75 =>>> 1.658 Замер по НЕ___________ на сотрах = 75 =>>> 1.704 Замер по НЕ___________ на сотрах = 75 =>>> 1.657
#50 by МихаилМ
обычно Зик(расчет) используют терминально из-за тормознутости типовых конфы. Но в остальных случаях корректно производить замеры, когда база и клиент на рзных компютерах тк влияние сети очень существенно.
#51 by Ёпрст
(47-49) ну и ? Есть разница ?.. :)
#52 by zak555
так НЕ быстрее обрабатывает, если в СЗ "большое количество"
#53 by Ёпрст
где ? на 0.1 секунду ? Да и тест недостоверный..
#54 by zak555
что недостоверного ?
#55 by Ёпрст
количество замеров маленькое, по , например, они вообше равны + я хз, как ты тестировал - последовательно запускал тесты, или разными обработками ит.д.
#56 by zak555
распиши, как лучше
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С