Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: запрос игнорирует все условия

v7: запрос игнорирует все условия
Я
   zenon46
 
15.11.17 - 16:22
Есть запрос к регистрам, сегодня прилепил в группировке условие ("+?(флПоказНулевых=1," Все","")+";), так теперь запрос отрабатывает игнорируя все условия, не пойму что не так.
Вот текст запроса.
Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = "
    |Период с ДатаНачала по ДатаКонца;     
    |Фирма                              = Регистр.ОстаткиТМЦ.Фирма,             
    |                                   Регистр.РезервыТМЦ.Фирма,
    |                                   Регистр.Заказы.Фирма;
    |Номенклатура                      = Регистр.ОстаткиТМЦ.Номенклатура,
    |                                   Регистр.РезервыТМЦ.Номенклатура,    
    |                                   Регистр.Заказы.Номенклатура;
    |Поставщик                        = Регистр.ОстаткиТМЦ.Номенклатура.Поставщик,
    |                                   Регистр.РезервыТМЦ.Номенклатура.Поставщик,    
    |                                   Регистр.Заказы.Номенклатура.Поставщик;    
    |Количество                       = Регистр.ОстаткиТМЦ.Количество;
    |Резерв                           = Регистр.РезервыТМЦ.Количество;
    |Заказ                            = Регистр.Заказы.КоличествоПриход;
    |Функция КоличествоНачОст          = НачОст(Количество);
    |Функция КоличествоПриход          = Приход(Количество);
    |Функция КоличествоРасход          = Расход(Количество);
    |Функция КоличествоКонОст          = КонОст(Количество);
    |Функция РезервНачОст              = НачОст(Резерв);
    |Функция РезервПриход           = Приход(Резерв);
    |Функция РезервРасход              = Расход(Резерв);
    |Функция РезервКонОст              = КонОст(Резерв);
    |Функция ЗаказНачОст              = НачОст(Заказ);
    |Функция ЗаказПриход            = Приход(Заказ);
    |Функция ЗаказРасход              = Расход(Заказ);
    |Функция ЗаказКонОст              = КонОст(Заказ);
    |Группировка Номенклатура Без Групп"+?(флПоказНулевых=1," Все","")+";
    |Условие (Фирма в ВбрФирма);    
    |Условие (Номенклатура в ВбрНоменклатура);
    |Условие (Поставщик = ВбрПоставщик);
    |";
 
 
   aka AMIGO
 
1 - 15.11.17 - 16:32
(0) И что, игнорирует независимо от значения флПоказНулевых ?
   zenon46
 
2 - 15.11.17 - 16:35
(1) валит всю номенклатуру, игнорирую условия по отбору поставщика. а хотелось бы что бы валилась с отбором по этому условию.
   Ёпрст
 
3 - 15.11.17 - 16:36
(0)
ВСЕ - покажет все, т.е весь справочник.
   Ёпрст
 
4 - 15.11.17 - 16:37
все ВошедшиеВЗапрос - покажет те, что были при вычислении функций.
   zenon46
 
5 - 15.11.17 - 16:38
(4) да уже так сделал
   Davalebor
 
6 - 15.11.17 - 16:38
(2) Как он отберет по поставщику, если поставщик в регистре, а ВСЕ подразумевает включение в выборку всего справочника номенклатура.
   aka AMIGO
 
7 - 15.11.17 - 16:43
Совет, конечно, кхм.. но.. Раз прилепленное условие губит идею, примени хотя-бы это:
ТекстЗапроса = ... [твой текст до Группировки]
Если флПоказНулевых = 1 Тогда
  ТекстЗапроса = ТекстЗапроса +"
  [Группировка Номенклатура Без Групп..Все]
Иначе
  [Группировка Номенклатура Без Групп]
КонецЕсли;

ТекстЗапроса = ТекстЗапроса +" [остатки от твоего текста запроса]
   zenon46
 
8 - 15.11.17 - 18:12
(7) да валится вся, причем та что на остатках есть или в резерве или в заказе, то с указанием количества, НО игнорируется Условие Поставщика, я так понимаю тут методология не правильная или вообще идея не правильная. Действом "ВСЕ" хотелось получить в выборке ВСЮ номенклатуру по данному поставщику, даже если ее нет на остатке/в заказе /в резерве плюсом к той что есть на остатке/в заказе /в резерве.
   Ёпрст
 
9 - 15.11.17 - 19:27
(8) так нельзя сделать, можно с извртом в черных запросах, или через 2 чорных запроса.

А так, пиши прямой запрос, там что угодно и бысстро

Список тем форума
Рекламное место пустует  Рекламное место пустует
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует