|   |   | 
| 
 | Подскажите с запросом | ☑ | ||
|---|---|---|---|---|
| 0
    
        redber 15.05.14✎ 13:20 | 
        В конфигурации в карточку номенклатуры было добавлено поле с числовой переменной содержащей минимальный остаток, далее выбираю для отчета в запросе ту номенклатуру у которой значение минимальный остаток превышает текущий остаток товара на складе, а так же доп сведения по резерву и заказу у поставщиков. Таким запросом:
 ВЫБРАТЬ РАЗЛИЧНЫЕ Номенклатура1.Ссылка, Номенклатура1.Мин_остаток, ТоварыНаСкладахОстатки.КоличествоОстаток, ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК КоличествоРезерва, ЗаказыПоставщикамОстатки.КоличествоОстаток КАК КоличествоЗаказа ИЗ Справочник.Номенклатура КАК Номенклатура1 ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки ПО (ТоварыНаСкладахОстатки.Номенклатура = Номенклатура1.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки КАК ТоварыВРезервеНаСкладахОстатки ПО (ТоварыВРезервеНаСкладахОстатки.Номенклатура = Номенклатура1.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПоставщикам.Остатки КАК ЗаказыПоставщикамОстатки ПО (ЗаказыПоставщикамОстатки.Номенклатура = Номенклатура1.Ссылка) ГДЕ Номенклатура1.Мин_остаток > ТоварыНаСкладахОстатки.КоличествоОстаток СГРУППИРОВАТЬ ПО Номенклатура1.Ссылка, Номенклатура1.Мин_остаток, ТоварыНаСкладахОстатки.КоличествоОстаток, ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, ЗаказыПоставщикамОстатки.КоличествоОстаток Получаю данные, но проблема в том, что в выборку не попадают позиции номенклатуры с текущим нулевым остатком на складе (похоже потому что не присутсвуют в таблице ТоварыНаСкладахОстатки), как обойти проблему. По резервам и по заказам поставщикам все в порядке. | |||
| 1
    
        Shurjk 15.05.14✎ 13:21 | 
        Номенклатура1.Мин_остаток > ЕстьNULL(ТоварыНаСкладахОстатки.КоличествоОстаток,0)     | |||
| 2
    
        redber 15.05.14✎ 13:23 | 
        Все ок, спасибо! ))     | |||
| 3
    
        redber 15.05.14✎ 14:58 | 
        Другая проблема вылезла, когда пользователь делает отбор по группе номенклатуры, в отчет вываливается весь список номенклатуры с пустыми значениями по регистрам накопления.     | |||
| 4
    
        AlexITGround 15.05.14✎ 15:22 | 
        (3) все норм отрабатывает, кидай отчет в скайп, гляну     | |||
| 5
    
        catena 15.05.14✎ 15:26 | 
        (3)Потому что псевдонимы надо давать, а не надеяться на автомат.     | |||
| 6
    
        redber 15.05.14✎ 16:04 | 
        (4) На работе скайпа нету(( 
 (5) Сейчас попробую | |||
| 7
    
        redber 15.05.14✎ 16:09 | 
        (4) Можно в консоль отчетов просто копирнуть запрос     | |||
| 8
    
        redber 15.05.14✎ 16:13 | 
        (5) Сделал:
 ВЫБРАТЬ РАЗЛИЧНЫЕ Номенклатура1.Ссылка КАК Номенклатура, Номенклатура1.Мин_остаток КАК МинимальныйОстаток, ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток, ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК КоличествоРезерва, ЗаказыПоставщикамОстатки.КоличествоОстаток КАК КоличествоЗаказа Та же ситуация | |||
| 9
    
        salvator 15.05.14✎ 16:16 | 
        (3) Делай правым соединением     | |||
| 10
    
        redber 15.05.14✎ 16:30 | 
        (9) Сделал, по группам выводит с нулевыми остатками теперь не выводит.     | |||
| 11
    
        catena 16.05.14✎ 05:48 | 
        (8)Ты обманываешь.     | |||
| 12
    
        redber 16.05.14✎ 09:24 | 
        (11) Скрины:
 http://i61.fastpic.ru/big/2014/0516/e0/c774383cf41461e46c19d66b72769ce0.png http://i62.fastpic.ru/big/2014/0516/0e/5f970fa9aafa00444de98ba197be5c0e.png Но после именования, на номенклатуру стало более корректно ссылаться. | |||
| 13
    
        Ёпрст гуру 16.05.14✎ 09:34 | 
        (12) и где там в запросе фильтр по группе номенклатуры ????     | |||
| 14
    
        Ёпрст гуру 16.05.14✎ 09:35 | 
        Ну и группировать по количеству остатка... это пять!     | |||
| 15
    
        redber 16.05.14✎ 09:42 | 
        (13) А разве из консоли оно не выбирает только ту номенклатуру которая указана в отборе?     | |||
| 16
    
        Ёпрст гуру 16.05.14✎ 10:02 | 
        (15) проехали, см (14)     | |||
| 17
    
        redber 16.05.14✎ 10:05 | 
        (14) Через чур тонкий намек)) Можно более толсто?     | |||
| 18
    
        Ёпрст гуру 16.05.14✎ 10:37 | 
        выкини группировку по числовым полям из гроуп бай, воткни их в агрегатную функцию в селект.     | |||
| 19
    
        redber 16.05.14✎ 10:48 | 
        Сделал:
 http://i62.fastpic.ru/big/2014/0516/07/597d0bb908d2df3e5d1a258388a60707.png все равно косячит по группам | |||
| 20
    
        redber 16.05.14✎ 10:49 | 
        (18) 3 строчки из кода выкинул, уже хорошо)     | |||
| 21
    
        redber 16.05.14✎ 10:54 | 
        На прошлом скрине не заметил, что не видно окна отбора:
 http://i61.fastpic.ru/big/2014/0516/50/749214884ba006f5a7695bb8fc6d5a50.png | |||
| 22
    
        Ёпрст гуру 16.05.14✎ 11:09 | 
        И .. ? что по-твоему неверно сейчас ?
 ЗЫ: естьNULL() воткни в поля, которые из левого соединения прилетели Сумма(ЕстьNULL(....,0)) как ... | |||
| 23
    
        redber 16.05.14✎ 11:19 | 
        (22) В таблицу должна попасть Номенклатура из этой группы товаров, а так же подгрупп, у которой МинимальныйОстаток больше текущего остатка на складе.
 "Сумма(ЕстьNULL(....,0)) " - нули просто расставит вместо пустых ячеек. | |||
| 24
    
        Ёпрст гуру 16.05.14✎ 11:22 | 
        (23) И ???
 У тебя сейчас во всех строках МинимальныйОстаток БОЛЬШЕ чем остаток на складе (который равен НУЛЮ) Что не устраивает ? | |||
| 25
    
        redber 16.05.14✎ 11:28 | 
        В таблицу попадает вся номенклатура, даже та у которой родитель совсем другой.
 http://i61.fastpic.ru/big/2014/0516/01/e827423aff9ee926e6e58a1d0dd86701.png | |||
| 26
    
        redber 16.05.14✎ 11:29 | 
        Отбор идет по группе из предыдущего скрина,это родитель верхнего уровня.     | |||
| 27
    
        redber 16.05.14✎ 11:33 | 
        (24) На 12 таким же образом работал запрос )     | |||
| 28
    
        redber 16.05.14✎ 11:44 | 
        Должно делать так, но с таким кодом не выводит с нулевым остатком.
 http://i64.fastpic.ru/big/2014/0516/2e/f688a8b8b938004caf00ce57adfc802e.png | |||
| 29
    
        Ёпрст гуру 16.05.14✎ 11:47 | 
        Да блин..
 Имеющие используй, раз группируешь | |||
| 30
    
        redber 16.05.14✎ 11:48 | 
        (29) Не уловил суть(     | |||
| 31
    
        Ёпрст гуру 16.05.14✎ 11:51 | 
        Выкини своё ГДЕ
 и воткни ИМЕЮЩИЕ СУММА(ЕСТЬNULL(ТоварыНаСкладахОстанки.КоличествоОстанков,0))<МинОстаток | |||
| 32
    
        redber 16.05.14✎ 12:01 | ||||
| 33
    
        Ёпрст гуру 16.05.14✎ 12:20 | 
        может, закроешь к  e6..ям консоль свою, напишешь обычный параметр в текст запроса и проверишь ?     | |||
| 34
    
        redber 16.05.14✎ 12:21 | 
        (33) Подскажи обычный параметр, что бы учитывал вложенные подгруппы?     | |||
| 35
    
        Ёпрст гуру 16.05.14✎ 12:44 | 
        (32) В ИЕРАРХИИ (&Вася)     | |||
| 36
    
        redber 16.05.14✎ 12:54 | 
        (35) Да так заработало (забыл про этот оператор), сделал через консоль))
 http://i61.fastpic.ru/big/2014/0516/70/907a1e3922c14addc40e44bac0c36c70.png Спасибо!! )) | |||
| 37
    
        redber 16.05.14✎ 13:04 | 
        Всем спасибо за помощь, реально удалось оптимизировать отчет с выполнения в 4-5 минут до нескольких секунд, и с использованием одного запроса))     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |