Имя: Пароль:
1C
1C 7.7
v7: Черный запрос на нулевые остатки
0 Злопчинский
 
18.12.13
16:25
дано: ТиС, Спр.номенклатура, реквизит "Активен", число
требуется: получить запросом список всех позиций номенклатуры, по которым остаток (Регистр.ОстаткиТМЦ по конкретному складу) = 0 и Активен=2.
.
не получается..?
можно ли..?
1 МихаилМ
 
18.12.13
16:26
не получится.
2 Diter
 
18.12.13
16:26
конечно можно ;)
3 Diter
 
18.12.13
16:28
группировка Товар все
Условие (Запрос.КонКол=0);

конкол - остаток на конец
4 Diter
 
18.12.13
16:28
эх фикси фикси ;)
5 Guk
 
18.12.13
16:28
вроде была такая конструкция "Когда" в функции запроса. если я не путаю...
6 ДенисЧ
 
18.12.13
16:29
(3) ужасна...
7 selenat
 
18.12.13
16:29
(5) с 7.7? :)
8 Ёпрст
 
18.12.13
16:29
(1) получится
9 Diter
 
18.12.13
16:30
(6) каков вопрос таков ответ ;) все работает.
10 Ёпрст
 
18.12.13
16:30
(0) можно
11 Ёпрст
 
18.12.13
16:31
только, фильтровать как в (3) не стоит..
12 Guk
 
18.12.13
16:31
(7) ну да...
13 Diter
 
18.12.13
16:32
(11) согласен это срабатывает не всегда. иногда бессистемно не показывает. но другой вариант - отлавливать при обходе
14 Guk
 
18.12.13
16:34
+(12) это для Активен = 2. хотя и в условии конечно можно. мда, забывать стал семерку...
15 selenat
 
18.12.13
16:34
Гы. Единственная ветка из раздела 7 на первой странице форума. И собрались в ней старейшие. "Давно здесь сидим" (с) :)))
16 Diter
 
18.12.13
16:35
в 7.7 тоже есть "когда" привязана к функции
17 Злопчинский
 
18.12.13
16:42
(10) а шаблончик запроса можно получить.?
18 Злопчинский
 
18.12.13
16:44
а то сделал, но двумя запросами,  а один - не осилил.. бред получался...
19 МихаилМ
 
18.12.13
16:45
(3)
обсуждалось с проверкой на демо базе
что Условие Запрос.  работает с ошибками
20 Ёпрст
 
18.12.13
16:45
(17) дык в (3), тока выкини оттуда условие на итоги запроса.
Грубо, группировка товар все + условие на реквизит товара и привет.
Остальное отрежешь на выходе или фильтрануть другим запросом.
21 Злопчинский
 
18.12.13
16:47
(20) непонятно, Переменная "Номенклатура" - в запросе как определять..?
22 Ёпрст
 
18.12.13
16:48
(20) просто как измерение регистра
23 Diter
 
18.12.13
16:51
(19) методом научного тыка я определил что ошибка в таком случаи получается если число группировок больше одной. для одной группировки срабатывает чаще чем не срабатывает. причем если раз сработало - будет работать. т.е. не от текущей ситуации зависит. скорее от интерпретации 1С. а вот тут зависимостей я не нашел
24 Злопчинский
 
18.12.13
16:57
(22) Фигня-с получается...
.
Номенклатура попадает вся, не фильтруется условием.
.
    ТекстЗапроса = "
    |Номенклатура     = Регистр.ОстаткиТМЦ.Номенклатура;
    |Склад             = Регистр.ОстаткиТМЦ.Склад;
    |Количество     = Регистр.ОстаткиТМЦ.Количество;
    |Активен        = Регистр.ОстаткиТМЦ.Номенклатура.Активен;
    |Функция         КоличествоКонОст = КонОст(Количество);
    |Группировка     Номенклатура Без Групп Все;
    |Условие(Активен = 2);
    |Условие(Склад в ВыбСклад);
    |";
25 Злопчинский
 
18.12.13
16:57
В результате в выборке имеем всю номенклатуру,
в т.ч. и с Активен <> 2...
26 Guk
 
18.12.13
17:00
надо наверное написать ВСЕ ВошедшиеВЗапрос...
27 Guk
 
18.12.13
17:01
+(26) хотя не уверен ;)...
28 Guk
 
18.12.13
17:03
если не получится - пиши, есть еще вариант ;)...
29 Ёпрст
 
18.12.13
17:04
(25) на счет активен - брешешь поди,да ?
30 Злопчинский
 
18.12.13
17:05
(26) не прокатит, останутся только ненулевые  остатки по регистру
31 Guk
 
18.12.13
17:06
(30) тогда определи номенклатуру и активен еще и через справочник номенклатура. и вот тогда уже все вошедшиевзапрос...
32 Ёпрст
 
18.12.13
17:06
и это, тип какой у реквизита Активен ?
33 Guk
 
18.12.13
17:07
вообще да, тоже странно, что (24) не работает...
34 Злопчинский
 
18.12.13
17:08
(32) число 1.0
35 Ёпрст
 
18.12.13
17:08
(34) должно работать тогда, как проверил ?
36 Ёпрст
 
18.12.13
17:09
активен, не периодический ?
37 NS
 
18.12.13
17:09
|Номенклатура     = Регистр.ОстаткиТМЦ.Номенклатура, справочник.номенклатура.текущийэлемент;
Условие (Запрос.количествоконост=0);
Никаких все.
38 Ёпрст
 
18.12.13
17:10
(37) эт не верно
39 Злопчинский
 
18.12.13
17:10
(36) именно так
40 Злопчинский
 
18.12.13
17:11
(36) подцепишься по тиму - глянешь в живую?
41 NS
 
18.12.13
17:11
По регистру, с нулевым остатком вообще легко могут не войти в запрос.
(38) Что неверно?
42 Diter
 
18.12.13
17:12
слушайте если дело в том что 1С некорректно интерпретирует "0" (пустое значение а не число) может прибавить к функции единицу и фильтр поставить по значению =1;?
43 Diter
 
18.12.13
17:12
(41) а разве такое соединение с справочником не аналогично "все"?
44 Ёпрст
 
18.12.13
17:13
(41) писать условие на итоги запроса.. оно для каждого вычисления будет рассчитываться, результат будет не тем, что ожидаешь.. выполни на ТА и за ТА свой запрос..
45 Diter
 
18.12.13
17:14
(44) запрос на ТА (отсутствует граница) и группировка одна - должно прокатить
46 Злопчинский
 
18.12.13
17:14
(44) у мну запрос на ТА
47 Diter
 
18.12.13
17:15
(46) ты условие из (3) пробовал ставить?
48 Diter
 
18.12.13
17:15
типа Условие (Запрос.КонОст+1=1);
49 КонецЦикла
 
18.12.13
17:15
Выгружай итоги, задав перед этим фильтры регистру
Набуя запрос?
50 Guk
 
18.12.13
17:16
я уже не помню, а не было никакой фичи, что если реквизит периодический, дату конца запроса явно надо указывать? или без указания на ТА в любом случае должно прокатить?...
51 Diter
 
18.12.13
17:16
(49) ему только нулевые нужны
52 Guk
 
18.12.13
17:17
охренеть, вроде элементарный вопрос, а уже столько времени обсуждаем ;)...
53 Ёпрст
 
18.12.13
17:17
(46) воткни период в текст запроса, чтоб периодику хавал..
54 Злопчинский
 
18.12.13
17:17
(52) ну так дайте рабочий запрос.. перепробовал кучу - нихрена не получается как надо
55 Ёпрст
 
18.12.13
17:17
(52) заняться то один хрен нечем..
:)
56 Злопчинский
 
18.12.13
17:18
(53) периодики вообще нет.
57 Ёпрст
 
18.12.13
17:18
так че кажет ?

    ТекстЗапроса = "Период с НачДата По КонДата;
    |Номенклатура     = Регистр.ОстаткиТМЦ.Номенклатура;
    |Склад             = Регистр.ОстаткиТМЦ.Склад;
    |Количество     = Регистр.ОстаткиТМЦ.Количество;
    |Активен        = Регистр.ОстаткиТМЦ.Номенклатура.Активен;
    |Функция         КоличествоКонОст = КонОст(Количество);
    |Группировка     Номенклатура Без Групп Все;
    |Условие(Активен = 2);
    |Условие(Склад в ВыбСклад);
    |";
58 Ёпрст
 
18.12.13
17:19
если выгрузить в ТЗ и поглядеть, активен там чему равен ?
59 Guk
 
18.12.13
17:19
(56) а мы поняли, что есть...
60 Diter
 
18.12.13
17:19
а на арене все те же ;)
61 Ёпрст
 
18.12.13
17:19
не верится , что по активен не фильтруется..
62 NS
 
18.12.13
17:20
Проверил, не работает с Условие (Запрос.)
(57) Так часть товаров с нулевым остатков вообще в запрос не попадет. Независимо от условий, по переменной Номенклатура     = Регистр.ОстаткиТМЦ.Номенклатура; товары с нулевым остатком будут отсеиваться.
63 Ёпрст
 
18.12.13
17:20
мот ты не тот запрос смотришь ?
:)
64 КонецЦикла
 
18.12.13
17:20
(57) Так ему ж действительно нужны нулевые остатки, а ты к регистру запрос делаешь
65 Злопчинский
 
18.12.13
17:20
Исходный запрос
.
    ТекстЗапроса = "
    |Номенклатура     = Регистр.ОстаткиТМЦ.Номенклатура;
    |Склад         = Регистр.ОстаткиТМЦ.Склад;
    |Количество     = Регистр.ОстаткиТМЦ.Количество;
    |Активен        = Регистр.ОстаткиТМЦ.Номенклатура.wms_Активен;
    |Функция КоличествоКонОст = КонОст(Количество);
    |Группировка Номенклатура Без Групп;
    |Условие(Активен = 2);
    |Условие(Склад в ВыбСклад);
    |";

Дает Ненулевые остатки.
.
надо получить нулевые
66 Diter
 
18.12.13
17:21
я так правил один отчет а проверял другой как то.. было дело.
67 Ёпрст
 
18.12.13
17:21
(62) та не, там же в группировке ВСЕ указано..должен быть весь справочник..
68 Diter
 
18.12.13
17:21
(65) теперь второй запрос по справочнику с невхождением номенклатуры в результаты первого ;)
69 NS
 
18.12.13
17:22
(67) ВСЕ - это весь регистр, вся таблица остатков. У тебя в запросе нет справочника.
70 Ёпрст
 
18.12.13
17:22
(65) блин, по активен фильтр есть в этом запросе ????
Если есть, отфильтруешь по количеству на выходе и привет..
71 NS
 
18.12.13
17:22
Чтоб появился справочник, его через запятую нужно добавить в переменную запроса.
72 NS
 
18.12.13
17:24
Вообще, по остатку можно легко отфильтровав выгрузив в ТЗ (две сортировки), либо просто в процессе перебора.
73 Diter
 
18.12.13
17:25
(69( нет все это все которые есть в справочнике
74 Злопчинский
 
18.12.13
17:25
Вариант со "Все"
.
    ТекстЗапроса = "
    |Номенклатура     = Регистр.ОстаткиТМЦ.Номенклатура;
    |Склад             = Регистр.ОстаткиТМЦ.Склад;
    |Количество     = Регистр.ОстаткиТМЦ.Количество;
    |Активен        = Регистр.ОстаткиТМЦ.Номенклатура.wms_Активен;
    |Функция         КоличествоКонОст = КонОст(Количество);
    |Группировка     Номенклатура Без Групп Все;
    |Условие(Активен = 2);
    |Условие(Склад в ВыбСклад);
    |";

.
дает лабуду, попадают записи не удовлетворяющие условию Активен=2
75 NS
 
18.12.13
17:26
(73) В запросе нет справочника! Или 1С уже искусственным разумом обзавелась?
76 Ёпрст
 
18.12.13
17:26
(69) ошибаешься
77 Ёпрст
 
18.12.13
17:27
(75) :))
всё то ты позабывать начал. давно бы слепил тест на демке торговли..
78 Diter
 
18.12.13
17:27
(73) а номенклатура это не элемент справочника? ты стал забывать 7.7
79 Ёпрст
 
18.12.13
17:28
(74) одна из черепашек врёт
..блин Чебур, из-за тебя придётся пофигуратор открыть
80 NS
 
18.12.13
17:28
(78) Никогда в таком контексте оно не отрабатывало. Во всяком случае я ни разу не видел.
81 Diter
 
18.12.13
17:28
(80) всегда.
82 Злопчинский
 
18.12.13
17:28
ну так может кто из спецов (мнящих себя таковым) подцепиться по тиму вживую глянуть?
.
а то пока ни один вариант не работает
83 Diter
 
18.12.13
17:29
отчет остатки товаров режим "все товары" в нашей типовой
84 NS
 
18.12.13
17:29
Почитал доку - по доке действительно да. Вообщем хз :)
Но с условием, противоречащие условию - ну никак попадать не должны.
85 Diter
 
18.12.13
17:29
(82) два запроса или при обходе или вы ТЗ сортировкой. тоже не работают?
86 Злопчинский
 
18.12.13
17:29
(79) ну так цепляйся по тиму, блин вживую ко мне.
87 Злопчинский
 
18.12.13
17:30
(85) да давно уже сделал.
.
фишка-то - хочется одним запросом
88 Злопчинский
 
18.12.13
17:31
идея у мну какая была -
1. номенклатуру определить как регистр+справочник
2. активен определить как регистр+справочник
2. врубить "все"
3. отфильтровать Запрос.КоличествоКоност=0
.
а нифига не выходит
89 Злопчинский
 
18.12.13
17:32
ну, пока Епрст майстрячит у себя в пофигураторе - я отвлекусь минут на 10...
90 Diter
 
18.12.13
17:32
Запрос.КоличествоКоност=0 действительно не всегда срабатывает.
91 NS
 
18.12.13
17:33
(25) У тебя переменной модуля или формы "Активен" случайно нет?
92 Diter
 
18.12.13
17:34
мля.... я пока мониторил ветку вместо того чтобы на флешку записать новую версию md клиента сделал наоборот и на компе затер те изменения что сегодня вносил.... твою....
93 Злопчинский
 
18.12.13
17:38
(91) нет
94 Злопчинский
 
18.12.13
17:39
(92) это на тебе карма отыгралась, что ты мен ягнобил как фикся... так что следующий раз будь пердельно бздителен
95 Ёпрст
 
18.12.13
17:40
Действительно, ВСЕ ..убивает все фильтры к едрени фени :)
96 Ёпрст
 
18.12.13
17:41
Ну делай 2-мя запросами.. куле
:)
97 Ёпрст
 
18.12.13
17:41
не выёживайся..
или прямым запросом
98 Diter
 
18.12.13
17:44
(94) ;)~

копия осталась в newstru ;)
99 Ёпрст
 
18.12.13
17:46
Так Пробуй, по заветам Гука

       ТекстЗапроса = "
    |Номенклатура     = Справочник.Номенклатура.ТекущийЭлемент,Регистр.ОстаткиТМЦ.Номенклатура;
    |Склад             = Регистр.ОстаткиТМЦ.Склад;
    |Активен= Справочник.Номенклатура.Активен,Регистр.ОстаткиТМЦ.Номенклатура.Активен;
    |Количество     = Регистр.ОстаткиТМЦ.Количество;
    |Функция         КоличествоКонОст = КонОст(Количество);
    |Группировка     Номенклатура Без Групп Все ВошедшиеВЗапрос;
    |Условие Активен =2;


вроде работает
100 Злопчинский
 
18.12.13
17:47
(98) это потому что я просто добрый и не мстительный
101 Злопчинский
 
18.12.13
17:48
(96) ну, блин, так не интересно, так я давно сделал уже
102 Ёпрст
 
18.12.13
17:48
Хотя не, не работает
..
кажет только, если номенклатурка участвовала в расчете регистра..
103 Злопчинский
 
18.12.13
17:50
а Если фильтр сделать самопальной функцией..?
104 Ёпрст
 
18.12.13
17:52
А ёпта.. всомнил я, как обходить это г.. делал же когда-то, обход регистров с нулевыми ресурсами..от жешь склероз.. на вот, наслаждайся:

       ТекстЗапроса = "
    |Номенклатура     = Справочник.Номенклатура.ТекущийЭлемент,Регистр.ОстаткиТМЦ.Номенклатура;
    |Склад             = Регистр.ОстаткиТМЦ.Склад;
    |Активен= Справочник.Номенклатура.Активен,Регистр.ОстаткиТМЦ.Номенклатура.Активен;
    |Количество     = Регистр.ОстаткиТМЦ.Количество;
    |Функция         КоличествоКонОст = КонОст(Количество);
    |Функция         Вася = Сумма(1);
    |Группировка     Номенклатура Без Групп ;
    |Условие Активен =2;
105 Злопчинский
 
18.12.13
17:58
(104) и впихнуть условие на отсев ненулевых остатков?
106 Ёпрст
 
18.12.13
18:00
(105) это врят ли..
107 Ёпрст
 
18.12.13
18:01
можно сделать через ж..у во внешней функции, но это уже запрос в запросе будет..
108 Ёпрст
 
18.12.13
18:01
:)
109 Ёпрст
 
18.12.13
18:01
смысла нет, проще уж выгрузить итоги тогда, вс1ё быстрее
110 Злопчинский
 
18.12.13
18:02
(106) а нахрена ненулевые остатки? их бы сразу в запросе исключить...
111 Злопчинский
 
18.12.13
18:03
(109) ну и что в итогах тогда будет - остатки, потом по номенклатуре бежать и фильтровать..?
112 Ёпрст
 
18.12.13
18:03
(111) ага, только так..
Тебе же группы не нужны, отфильтруешь быстро
113 Злопчинский
 
18.12.13
18:05
(112) if проверю товй вариант.
.
самое интересное, что пожожую фичу мы уже обсуждали какую-то родственную, и я втой ветке был... а уже и не помнишь всего
114 Злопчинский
 
18.12.13
18:14
Проверил (104)
.
нулевые сотатки выдаются, но выдаются и ненулевые остатки.
От ненулевых избавиться внутри запроса не получается... бяка..
115 Злопчинский
 
18.12.13
18:17
С выгрузкой итогов - тоже не сильно кузяво.
Выгрузив итоги - надо ТЗ свернуть по номенклатуре и количеству.
В результате свертки может получиться нулевое количество. это значит надо ТЗ дополнительно фильтровать.
116 Злопчинский
 
18.12.13
18:24
Впрочем и запрос такую же хрень даст, так что все равно даже результат запроса надо фильтровать...
117 Ёпрст
 
19.12.13
08:39
(115) в выгрузитьИтоги ТЗ всегда свёрнута.
118 Ёпрст
 
19.12.13
08:40
(114) ну и че ? на выходе отфильтруешь..

Можно и..во внешней функции фильтровать, но это будет.. "запрос в запросе."
119 Ёпрст
 
19.12.13
08:41
А на ТА.. попробуйц воткнуть через Запрос.КонОст..там должно верно казать (надо проверить)
120 Злопчинский
 
19.12.13
13:23
(119) поздно. перепилил уже на выгрузку итогов и запрос к справочнику.
.
Резюме - спецов вагон, а никто ничего не знает...
121 Ёпрст
 
19.12.13
13:24
ой-ой-ой
122 Ёпрст
 
19.12.13
13:25
никто не пишет чорные запросы давно просто.
123 Diter
 
19.12.13
13:28
(120) ну здрасьте..... тут мозговой штурм был а ты так... ладно запишем в свою маленькую книжечку "бяки на форуме" ;)
124 Diter
 
19.12.13
13:29
(122) я пишу. они мне больше чем бухзапросы нравятся. правда в последнее время все больше на 1с++ но они там тоже черные
125 Злопчинский
 
19.12.13
13:41
(122) пишут, но простые ;-)
я в прямых запросах слаб, но блин когда текст вижу - хоть понимаю о чем там. когда блин в чорном запросе переменная как и регистр и справочник, количество - из регистра, КонСот - к количеству - у меян мозг наичнет ломаться... ;-)
126 Злопчинский
 
19.12.13
13:41
(123) какой на мозговой штурм. так ничего и не выпилилось
127 Ёпрст
 
19.12.13
13:43
(126) прям таки и ничего ?
Я те дал рабочий код, на выходе нужно было убрать только ненулевые останки и привет, или, проверить его с функцией Запрос.КонОст<>0
128 Ёпрст
 
19.12.13
13:44
Проверил (раз запрос на ТА, должен был корректно вернуть)
129 Ёпрст
 
19.12.13
13:44
?
130 selenat
 
19.12.13
13:52
(125) вот именно. Сам механизм запросов в 7 изначально кривой и непредсказуемый. Может ну их нафиг такие запросы? :)
131 Diter
 
19.12.13
14:18
(128) а я что говорил? но меня вчера закидали тапками. при некоторых условия (дата запроса и число группировок) условие на функцию в теле запроса отрабатывает корректно
132 Ёпрст
 
19.12.13
14:20
(131) это вопрос.. чебуру, чтоб он проверил
:))
133 NS
 
19.12.13
14:35
(131) И меня тоже. Требую сатисфакции! :)
134 Diter
 
19.12.13
14:41
(133) тебя правильно закидали. ты про "все" тупил ;)
135 Злопчинский
 
19.12.13
14:45
(132) ща проверю.
136 Diter
 
19.12.13
14:46
(135) группировка только одна, без фильтра по "Активность" с "все"
137 NS
 
19.12.13
14:47
(134) то есть "все" работает? Или все-таки нет? :)
138 Diter
 
19.12.13
14:51
(137) "все" обрезает фильтр по реквизиту но нулевые остатки попадают в общую выборку
139 Злопчинский
 
19.12.13
15:01
(132) Епрст, вот не получается у мну!!
.
    ТекстЗапроса = "
    |Номенклатура   = Справочник.Номенклатура.ТекущийЭлемент,Регистр.ОстаткиТМЦ.Номенклатура;
    |Артикул         = Справочник.Номенклатура.Артикул,Регистр.ОстаткиТМЦ.Номенклатура.Артикул;
    |Склад          = Регистр.ОстаткиТМЦ.Склад;
    |Активен        = Справочник.Номенклатура.wms_Активен,Регистр.ОстаткиТМЦ.Номенклатура.wms_Активен;
    |Количество     = Регистр.ОстаткиТМЦ.Количество;
    |Функция       КоличествоКонОст = КонОст(Количество);
    |Функция       Вася = Сумма(1);
    |Группировка   Номенклатура Без Групп ;
    |Условие (Активен= 2);
    |Условие (КакОтсеятьНеНулевыеостатки);
    |";

.
Что поставить в
    |Условие (КакОтсеятьНеНулевыеостатки);
.
чтобы в запросе остались только нулевые остатки?
140 Ёпрст
 
19.12.13
15:03
(139) ну втыкай туда

|Условие(Запрос.КонОст=0);
141 Ёпрст
 
19.12.13
15:04
точнее
|Условие(Запрос.КоличествоКонОст =0);
в твоём случае.. смотри, мот и выйдет аленький цветочек.
142 Злопчинский
 
19.12.13
15:09
(141) а не выходит!!!
.
вот твой исходный запрос, все нормально - выводятся ненулевые и нулевые остатки
.
http://content.screencast.com/users/Che66/folders/Jing/media/358e8402-539b-4b1c-8cb5-5938a9e6be4f/2013-12-19_1508.png
143 Злопчинский
 
19.12.13
15:10
последние две позиции на рсунке - это то что надо иметь в результатах запроса
144 Злопчинский
 
19.12.13
15:10
Добавляем в твой запрос условие
|Условие(Запрос.КоличествоКонОст =0);
145 Ёпрст
 
19.12.13
15:12
Это финальная табличка, которую надо поиметь ? Или ради примера ?..
146 Злопчинский
 
19.12.13
15:12
147 Ёпрст
 
19.12.13
15:12
если финальная, то не понимаю, в чем проблема не выводить секцию по условию :)
148 Злопчинский
 
19.12.13
15:12
(145) это живая таблица. В финальной, которую хочется получить - должны остаться только две строки, последние
149 Злопчинский
 
19.12.13
15:13
(147) ну, это не интересно... Хочется итогом запроса получить готовый результат
150 Diter
 
19.12.13
15:14
значит не повезло - не работает. тогда только при обходе тем более что "ступенек" у тебя все одно нет
151 Ёпрст
 
19.12.13
15:14
(148) т.е в таком виде её пользователь получит, так ?
Тогда бери первый запрос и на выходе не выводи секцию.. делов то :)
152 Злопчинский
 
19.12.13
15:28
(151) ну блин! это понятно.
вопрос-то в том, можно ли получить запросом сразу готовое, не отсеивая при выводе...
153 Duke1C
 
19.12.13
15:31
(151)+Добавить в Группировку по Номенклатуре
упорядочить по КоличествоКонОст
и прерывать Цикл при обходе группировки, когда КоличествоКонОст станет > 0
154 NS
 
19.12.13
15:33
(149) Вместо условия по складу, в функцию напиши "когда"
155 Ёпрст
 
19.12.13
16:07
Запрос..запрос.. вот ты нудный :))
Ну на:

Перем ТЗ;
Функция Вася(Номенклатурка)
   Если ТипЗначенияСтр(ТЗ)<>"ТаблицаЗначений" Тогда
     Рег = СоздатьОбъект("Регистр.ОстаткиТМЦ");
     Рег.ВыгрузитьИтоги(ТЗ);
   КонецЕсли;
   Возврат ТЗ.НайтиЗначение(Номенклатурка,,"Номенклатура")
КонецФункции
.....
ТекстЗапроса = "
    |Номенклатура   = Справочник.Номенклатура.ТекущийЭлемент;
    |Артикул         = Справочник.Номенклатура.Артикул;
    |Активен        = Справочник.Номенклатура.wms_Активен;
    |Группировка   Номенклатура Без Групп ;
    |Условие (Активен= 2);
    |Условие (Вася(Номенклатура)=0);
    |";
156 Ёпрст
 
19.12.13
16:08
склад свой еще в фильтр выгрузить итоги запихай.
157 Злопчинский
 
19.12.13
20:00
9155) ну блин ты типа хитрый, фигня это а не нормальный запрос.
158 Злопчинский
 
19.12.13
20:01
(153) это более кузявое решение, но все равно изврат
159 Ёпрст
 
20.12.13
08:23
(157) А чем не нравится ?
:))
160 Ёпрст
 
20.12.13
08:23
отработает быстро.
161 Ёпрст
 
20.12.13
08:24
можно сказать, это будет почти максимум, для чорного запроса, тем более, итоги не надо рассчитывать.
Ну , разве что поиск в ТЗ не айс.. можно заменить на поиск в ИТЗ, к примеру.
162 Ёпрст
 
20.12.13
08:25
Зато и итоги по группам можно поиметь .. и всё такое..
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн