Имя: Пароль:
1C
 
Логический оператор "не".
0 Antipod-SH
 
15.11.06
08:26
Можно ли этот оператор использовать со списком значений? То есть, если в списке значений нет определённого значения, то условие верно.
1 ASV
 
15.11.06
08:28
можно
примеры в ТИС
2 Antipod-SH
 
15.11.06
08:29
(1) Я новичок здесь... ТиС - это где?
3 skunk
 
15.11.06
08:29
(0)а если проверить... или думаешь тут шустрее
4 Antipod-SH
 
15.11.06
08:30
(3) Проверял, но не получается. Может что не правильно делаю...
5 dk
 
15.11.06
08:32
должно работать
группы в списке есть?
6 smaharbA
 
15.11.06
08:32
не сп.пренадлежит(знач)=1
тока нафих если можно так
сп.пренадлежит(знач)=0
7 dk
 
15.11.06
08:33
"Условие (НЕ (номенклатура в МойСЗ))"
Что-то такое должно быть
8 skunk
 
15.11.06
08:36
(7)это запрос
9 Antipod-SH
 
15.11.06
08:37
(8) Мне кстати в запросе и нужно! Но если просто работает, то и в запросе тоже должен.
10 Antipod-SH
 
15.11.06
08:39
(7) Всё верно! Спасибо!
11 Подполковник
 
15.11.06
08:39
пожалуйста
12 dk
 
15.11.06
08:41
(9)
ИМХО В запросе и в модуле работает по разному:
- в модуле есть "Принадлежит", но тогда не отрабатывает вхождение в группу
- в запросе
- "В мойСЗ" отрабатывает вхождение в группу, но работает долго
- "Принадлежит" не отрабатывает вхождение в группу, на работает быстро
13 dk
 
15.11.06
08:42
(11)
И куда, молодежь, катимся? :)
14 ASV
 
15.11.06
08:43
(12) ???
ПринадлежитГруппе(<?>)
Синтаксис:
ПринадлежитГруппе(<Группа>)
Назначение:
Метод проверяет, принадлежит ли указанной группе текущий элемент справочника (независимо от того, на каком нижележащем уровне он находится).
15 dk
 
15.11.06
08:45
(14) речь про список значений, а это метод справочника
16 Antipod-SH
 
15.11.06
08:45
(12) Как я понимаю лучше использовать "Принадлежит"? Групп у меня в СЗ нет.
17 ASV
 
15.11.06
08:48
(15) в СЗ тоже группы обработываются
Принадлежит(<?>)
Синтаксис:
Принадлежит(<Значение>)
Замечание:
Если на принадлежность проверяется значение типа элемент справочника, то проверка выполняется с учетом его возможного вхождения в группы справочников, которые являются значениями списка значений. Данный метод
18 dk
 
15.11.06
08:48
Будет намного быстрее
см. (6)
19 Antipod-SH
 
15.11.06
08:51
(18), (6) Как хорошо что есть добрые и мудрые люди на свете! :)
20 dk
 
15.11.06
14:57
(17) Действительно, почему-то думал иначе. Спасибо за информацию.
---
Просто где-то пробегала информация, что "СЗ.Принадлежит(Эл) = 1" работает в запросе в разы быстрее, чем "Эл В СЗ". Решил проверить:

Версия 1: 63.726 с
Версия 2: 0.187 с
--------------------------------------------------------------------------------
Версия 1: 59.688 с
Версия 2: 0.166 с
--------------------------------------------------------------------------------
Версия 2: 0.189 с
Версия 1: 61.11 с

   ТекстЗапроса =    
   "Эл = Справочник.Номенклатура.ТекущийЭлемент;
   |Условие (СЗ.Принадлежит(Эл) = 1);
   |Группировка Эл Без Групп;
   |Без Итогов;
   |";
   
   Запрос = СоздатьОбъект("Запрос");
   Нач = _GetPerformanceCounter();
   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
       //Сообщить("Облом");
       Возврат Результат;
   КонецЕсли;
   Кон = _GetPerformanceCounter();
                                     
   Сообщить(Шаблон("Версия 1: [(Кон - Нач)/1000] с"));

---------
   ТекстЗапроса =    
   "Эл = Справочник.Номенклатура.ТекущийЭлемент;
   |Условие (Эл В СЗ);
   |Группировка Эл Без Групп;
   |Без Итогов;
   |";
   
   Запрос = СоздатьОбъект("Запрос");
   Нач = _GetPerformanceCounter();
   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
       //Сообщить("Облом");
       Возврат Результат;
   КонецЕсли;
   Кон = _GetPerformanceCounter();
                                     
   Сообщить(Шаблон("Версия 2: [(Кон - Нач)/1000] с"));

25-й релиз, SQL, разделенный режим
--------
Так что "Эл В СЗ" все же быстрее
21 dk
 
15.11.06
15:07
В список заносил только 1 группу номенклатуры
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший