|   |   | 
| 
 | Как совместить Спр.Склады, Спр.Номенклатура и остатки по регистру? | ☑ | ||
|---|---|---|---|---|
| 0
    
        Andrey_19_73 11.07.16✎ 14:41 | 
        Подскажите, пожалуйста.
 Нужно выводить ВСЕ позиции, в т.ч. нулевые, в отчет "остатки с заказами". Сделал запрос, который это отлично делает, но надо делать в разрезе Склад/Номенклатура. Даже не представляю как это можно решить запросом. Заранее спасибо. ВЫБРАТЬ СпрНоменклатура.Ссылка, ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток, ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход, ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход, ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток, ЗаказыКлиентовОстатки.ЗаказаноОстаток ИЗ Справочник.Номенклатура КАК СпрНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты КАК ТоварыНаСкладахОстаткиИОбороты ПО СпрНоменклатура.Ссылка = ТоварыНаСкладахОстаткиИОбороты.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыКлиентов.Остатки КАК ЗаказыКлиентовОстатки ПО СпрНоменклатура.Ссылка = ЗаказыКлиентовОстатки.Номенклатура | |||
| 1
    
        saaken 11.07.16✎ 14:44 | 
        хоть картинку нарисуй, что мы тоже не представляли     | |||
| 2
    
        Andrey_19_73 11.07.16✎ 14:57 | 
        не знаю как сюда картинку приатачить. Сделал ссылкой
 https://cloud.mail.ru/public/4unn/E46D7Ldky А на словах. Выводится весь список номенклатуры (2000 позиций), с нулевыми, а далее идут колонки Остатки на нач, Прих, Расх, На конец, Заказано. ================================= ТМЦ 1 ОстН Прих Расх ОстК Заказ ТМЦ 2 ОстН Прих Расх ОстК Заказ ТМЦ 3 ОстН Прих Расх ОстК Заказ ================================= Все красиво, но надо по каждому складу отдельно. ================================= Склад 1 ТМЦ 1 ОстН Прих Расх ОстК Заказ ТМЦ 2 ОстН Прих Расх ОстК Заказ ТМЦ 3 ОстН Прих Расх ОстК Заказ Склад 2 ТМЦ 1 ОстН Прих Расх ОстК Заказ ТМЦ 2 ОстН Прих Расх ОстК Заказ ТМЦ 3 ОстН Прих Расх ОстК Заказ Склад 3 ТМЦ 1 ОстН Прих Расх ОстК Заказ ТМЦ 2 ОстН Прих Расх ОстК Заказ ТМЦ 3 ОстН Прих Расх ОстК Заказ ================================= | |||
| 3
    
        Зая Бусечка 11.07.16✎ 15:05 | 
        У тебя ТМЦ нет. На каком складе его выводить?     | |||
| 4
    
        Andrey_19_73 11.07.16✎ 15:13 | 
        Как нет ТМЦ, на скриншоте видно как формируется запрос и там колонка ТМЦ. 
 "На каком складе" По всем, также брать список со справочника и выводить Сейчас у меня 2000 строк а должно быть 2000 * колСкладов. | |||
| 5
    
        ovrfox 11.07.16✎ 16:05 | 
        У тебя не выбираются Склады
 Просто добавь выбор склада в запрос а также в условие соединения мезду остатками и заказами | |||
| 6
    
        ovrfox 11.07.16✎ 16:08 | 
        где то так:
 ВЫБРАТЬ | ТоварыНаСкладахОстаткиИОбороты.Склад, | СпрНоменклатура.Ссылка, | ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток, | ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход, | ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход, | ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток, | ЗаказыКлиентовОстатки.ЗаказаноОстаток |ИЗ | Справочник.Номенклатура КАК СпрНоменклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты КАК ТоварыНаСкладахОстаткиИОбороты | ПО СпрНоменклатура.Ссылка = ТоварыНаСкладахОстаткиИОбороты.Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыКлиентов.Остатки КАК ЗаказыКлиентовОстатки | ПО СпрНоменклатура.Ссылка = ЗаказыКлиентовОстатки.Номенклатура | И (ТоварыНаСкладахОстаткиИОбороты.Склад = ЗаказыКлиентовОстатки.Склад) | |||
| 7
    
        Andrey_19_73 11.07.16✎ 16:22 | 
        Да, так я делал.
 Выводятся 3000 строк, все остатки по всем складам. Но нет пустых остатков, ради чего все и затевалось. | |||
| 8
    
        Andrey_19_73 11.07.16✎ 16:23 | 
        5 - Прости не понимаю.     | |||
| 9
    
        ovrfox 11.07.16✎ 16:23 | 
        Тогда в первой строчке нужно написать
 ЕстьNull(ТоварыНаСкладахОстаткиИОбороты.Склад, "Склад не указан") КАК Склад | |||
| 10
    
        ovrfox 11.07.16✎ 16:25 | 
        Ответ (7) на какой пост?     | |||
| 11
    
        Andrey_19_73 11.07.16✎ 16:29 | 
        на пятый     | |||
| 12
    
        Andrey_19_73 11.07.16✎ 16:30 | 
        (9) 
 Сдалал, ничего не изменилось. 3000 записей. ВЫБРАТЬ ЕстьNull(ТоварыНаСкладахОстаткиИОбороты.Склад, "Склад не указан") КАК Склад, СпрНоменклатура.Ссылка, ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток, ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход, ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход, ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток, ЗаказыКлиентовОстатки.ЗаказаноОстаток ИЗ Справочник.Номенклатура КАК СпрНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты КАК ТоварыНаСкладахОстаткиИОбороты ПО СпрНоменклатура.Ссылка = ТоварыНаСкладахОстаткиИОбороты.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыКлиентов.Остатки КАК ЗаказыКлиентовОстатки ПО СпрНоменклатура.Ссылка = ЗаказыКлиентовОстатки.Номенклатура И (ТоварыНаСкладахОстаткиИОбороты.Склад = ЗаказыКлиентовОстатки.Склад) | |||
| 13
    
        Nuobu 11.07.16✎ 16:55 | 
        (12) Отборы стоят какие-то? Может, ты не весь запрос показал?     | |||
| 14
    
        Andrey_19_73 11.07.16✎ 17:15 | 
        Весь, я его с консоли запросов копирую, где он отрабатывает.     | |||
| 15
    
        Nuobu 11.07.16✎ 17:16 | 
        (14) И в консоли нету записей без "Склад не указан"?     | |||
| 16
    
        Andrey_19_73 11.07.16✎ 17:42 | ||||
| 17
    
        Nuobu 11.07.16✎ 17:44 | 
        (16) Найди поиском строку "Склад не указан".     | |||
| 18
    
        Andrey_19_73 11.07.16✎ 18:00 | 
        Да, простите, не подумал
 Добавил УПОРЯДОЧИТЬ ПО Склад и первые 520 из 3000 строк "Склад не указан" | |||
| 19
    
        Andrey_19_73 12.07.16✎ 07:17 | 
        тест оформления...
 >>Да, простите, не подумал >>Добавил <code> УПОРЯДОЧИТЬ ПО Склад </code> >>и первые 520 из 3000 строк "Склад не указан" | |||
| 20
    
        Andrey_19_73 12.07.16✎ 08:48 | 
        Лучшего, что я добился это все склады, все товары, но нет нулевых ТМЦ. Может мне сделать вложенный запрос? Подскажите, хоть в каком направлении двигаться?
 <code> ВЫБРАТЬ ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад, СпрНоменклатура.Ссылка КАК Ссылка, ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток, ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход, ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход, ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток, ЗаказыКлиентовОстатки.ЗаказаноОстаток ИЗ Справочник.Номенклатура КАК СпрНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты КАК ТоварыНаСкладахОстаткиИОбороты ПО СпрНоменклатура.Ссылка = ТоварыНаСкладахОстаткиИОбороты.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыКлиентов.Остатки КАК ЗаказыКлиентовОстатки ПО СпрНоменклатура.Ссылка = ЗаказыКлиентовОстатки.Номенклатура И (ТоварыНаСкладахОстаткиИОбороты.Склад = ЗаказыКлиентовОстатки.Склад) ГДЕ ТоварыНаСкладахОстаткиИОбороты.Склад ЕСТЬ НЕ NULL УПОРЯДОЧИТЬ ПО Склад, Ссылка </code> | |||
| 21
    
        Serg_1960 12.07.16✎ 09:03 | 
        В (3) автора спросили о его действиях, когда отчет по складам, а конкретной позиции номенклатуры нет на складах (от слова "совсем нет нигде", т.е остаток равен нулю) - то где именно, на каком складе такую позицию номенклатуры автор собирается показывать в отчете? Ну не показывать же такую позицию как нулевую по всем складам :(
 Я достаточно подробно изложил вопрос в топике (3)? :) | |||
| 22
    
        В тылу врага 12.07.16✎ 09:09 | 
        ВЫБРАТЬ
 Номенклатура.Ссылка КАК Номенклатура, Склады.Ссылка КАК Склад ПОМЕСТИТЬ ВсеВарианты ИЗ Справочник.Номенклатура КАК Номенклатура, Справочник.Склады КАК Склады ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВсеВарианты.Номенклатура, ВсеВарианты.Склад, ТоварыНаСкладахОстатки.КоличествоОстаток ИЗ ВсеВарианты КАК ВсеВарианты ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки ПО ВсеВарианты.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура И ВсеВарианты.Склад = ТоварыНаСкладахОстатки.Склад | |||
| 23
    
        catena 12.07.16✎ 09:10 | 
        (20)
 ГДЕ ТоварыНаСкладахОстаткиИОбороты.Склад ЕСТЬ НЕ NULL Как ты себе думаешь будет вести себя это условие для нулевых остатков? | |||
| 24
    
        Serg_1960 12.07.16✎ 09:11 | 
        Подсказываю :)
 ВЫБРАТЬ ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.Склад, &СкладДляНулевыхОстатков) КАК Склад, ... | |||
| 25
    
        Andrey_19_73 12.07.16✎ 09:56 | 
        (3) (23) В первоначальном моем запросе выводятся все позиции со справочника ТМЦ, где нет остатков будет пусто, итого в отчете 2000 строк (как и ТМЦ в спр).
 Мне надо Склад 1 ТМЦ 1 ОстН Прих Расх ОстК Заказ ТМЦ ... ОстН Прих Расх ОстК Заказ ТМЦ 2000 ОстН Прих Расх ОстК Заказ Склад 2 ТМЦ 1 ОстН Прих Расх ОстК Заказ ТМЦ ... ОстН Прих Расх ОстК Заказ ТМЦ 2000 ОстН Прих Расх ОстК Заказ Склад 3 ТМЦ 1 ОстН Прих Расх ОстК Заказ ТМЦ ... ОстН Прих Расх ОстК Заказ ТМЦ 2000 ОстН Прих Расх ОстК Заказ Да, если остатков ТМЦ нет, ТМЦ будет выводиться с пустыми значениями в отчет сколько раз, сколько есть складов. На первый взгляд это кажется чушь, но так правда надо, в отчете будут стоять фильтры (все кроме этого, только этот) на группы ТМЦ и склады. | |||
| 26
    
        catena 12.07.16✎ 10:24 | 
        (25)Это и надо было писать в первом посте. 
 Пример: ВЫБРАТЬ данные.Ссылка, Склады.Ссылка КАК Склад ИЗ (ВЫБРАТЬ НоменклатураСпр.Ссылка КАК Ссылка, ПартииТоваровНаСкладахОстатки.Склад КАК Склад ИЗ Справочник.Номенклатура КАК НоменклатураСпр ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.Остатки КАК ПартииТоваровНаСкладахОстатки ПО (ПартииТоваровНаСкладахОстатки.Номенклатура = НоменклатураСпр.Ссылка) ) КАК данные ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Склады КАК Склады ПО (ЕСТЬNULL(данные.Склад, Склады.Ссылка) = Склады.Ссылка) ИТОГИ ПО Склад | |||
| 27
    
        Andrey_19_73 12.07.16✎ 10:50 | 
        Вот оно, счастье:
 ВЫБРАТЬ Склады.Ссылка КАК Склад, данные.Ссылка, данные.ВНаличииНачальныйОстаток, данные.ВНаличииПриход, данные.ВНаличииРасход, данные.ВНаличииКонечныйОстаток, данные.ЗаказаноОстаток ИЗ (ВЫБРАТЬ НоменклатураСпр.Ссылка КАК Ссылка, ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад, ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток КАК ВНаличииНачальныйОстаток, ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход КАК ВНаличииПриход, ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход КАК ВНаличииРасход, ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток КАК ВНаличииКонечныйОстаток, ЗаказыКлиентовОстатки.ЗаказаноОстаток КАК ЗаказаноОстаток ИЗ Справочник.Номенклатура КАК НоменклатураСпр ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты КАК ТоварыНаСкладахОстаткиИОбороты ПО (ТоварыНаСкладахОстаткиИОбороты.Номенклатура = НоменклатураСпр.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыКлиентов.Остатки КАК ЗаказыКлиентовОстатки ПО (ЗаказыКлиентовОстатки.Номенклатура = НоменклатураСпр.Ссылка)) КАК данные ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Склады КАК Склады ПО (ЕСТЬNULL(данные.Склад, Склады.Ссылка) = Склады.Ссылка) УПОРЯДОЧИТЬ ПО Склад, данные.Ссылка Думал уже делать цикл по складам, в нем цикл по ТМЦ и там сводный остаток :) Огромное всем спасибо. Вопрос закрыт | |||
| 28
    
        В тылу врага 12.07.16✎ 10:52 | 
        см (22)     | |||
| 29
    
        catena 12.07.16✎ 11:12 | 
        (28)В таком запросе даже номенклатура с остатком будет во все склады светиться. А ему надо только чтобы нулевая.     | |||
| 30
    
        Andrey_19_73 12.07.16✎ 13:43 | 
        (29) Зачем мне только нулевая, мне все нужны. 
 Смотришь остатки, там: Гвозди 80 2 Гвозди 90 4 Гвозди 100 1 Гвозди 110 Гвозди 120 6 и сразу понятно что провтыкал заказать. (28) Простите, я не смог ваш пример довести до ума. | |||
| 31
    
        DrZombi гуру 12.07.16✎ 14:05 | 
        (0) Нулевые остатки, это как? :)     | |||
| 32
    
        DrZombi гуру 12.07.16✎ 14:10 | 
        (30) А зачем вам нужны все?
 Огласите полный текст задачи :) | |||
| 33
    
        DrZombi гуру 12.07.16✎ 14:11 | 
        + С таким успехом можно выводить номенклатуру для каждого склада в равнозначном списке, получая при этом остатки по нужным складам :)     | |||
| 34
    
        Andrey_19_73 12.07.16✎ 14:12 | 
        (31) (32) (33)   В (30) я все показал.     | |||
| 35
    
        PR 12.07.16✎ 14:18 | 
        Мда, 34 поста обсуждения тупейшей простейшей задачи     | |||
| 36
    
        Andrey_19_73 12.07.16✎ 15:20 | 
        (35) "Учиться не стыдно, стыдно не учиться"
 Я рано обрадовался. Итоговый запрос, рожденный в этой теме, выдает ~7700 записей в отчет. Вот он: ВЫБРАТЬ Склады.Ссылка КАК Склад, данные.Ссылка, данные.ВНаличииНачальныйОстаток, данные.ВНаличииПриход, данные.ВНаличииРасход, данные.ВНаличииКонечныйОстаток, данные.ЗаказаноОстаток ИЗ (ВЫБРАТЬ НоменклатураСпр.Ссылка КАК Ссылка, ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад, ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток КАК ВНаличииНачальныйОстаток, ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход КАК ВНаличииПриход, ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход КАК ВНаличииРасход, ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток КАК ВНаличииКонечныйОстаток, ЗаказыКлиентовОстатки.ЗаказаноОстаток КАК ЗаказаноОстаток ИЗ Справочник.Номенклатура КАК НоменклатураСпр ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты КАК ТоварыНаСкладахОстаткиИОбороты ПО (ТоварыНаСкладахОстаткиИОбороты.Номенклатура = НоменклатураСпр.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыКлиентов.Остатки КАК ЗаказыКлиентовОстатки ПО (ЗаказыКлиентовОстатки.Номенклатура = НоменклатураСпр.Ссылка)) КАК данные ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Склады КАК Склады ПО (ЕСТЬNULL(данные.Склад, Склады.Ссылка) = Склады.Ссылка) УПОРЯДОЧИТЬ ПО Склад, данные.Ссылка ------------------------------------- А вот такой запрос, проверочный, выдает ~20000 записей, это то мне и надо, только остатки добавить :) ВЫБРАТЬ СкладыСпр.Ссылка КАК Склад, НоменклатураСпр.Ссылка КАК Номенклатура ИЗ Справочник.Номенклатура КАК НоменклатураСпр, Справочник.Склады КАК СкладыСпр ------------------------ Я попытался пару часов сам мудрить, но победить три левых соединения не смог. Помогите еще, пожалуйста. | |||
| 37
    
        Andrey_19_73 12.07.16✎ 15:48 | 
        Волшебная пиндюлина в виде оскорблений помогла, спасибо всем. Думаю вопрос закрыт. Итог ~20000 записей:
 ВЫБРАТЬ Склады.Ссылка КАК Склад, данные.Ссылка, данные.ВНаличииНачальныйОстаток, данные.ВНаличииПриход, данные.ВНаличииРасход, данные.ВНаличииКонечныйОстаток, данные.ЗаказаноОстаток ИЗ (ВЫБРАТЬ НоменклатураСпр.Ссылка КАК Ссылка, СкладыСпр.Ссылка КАК Склад, ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток КАК ВНаличииНачальныйОстаток, ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход КАК ВНаличииПриход, ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход КАК ВНаличииРасход, ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток КАК ВНаличииКонечныйОстаток, ЗаказыКлиентовОстатки.ЗаказаноОстаток КАК ЗаказаноОстаток ИЗ Справочник.Номенклатура КАК НоменклатураСпр ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты КАК ТоварыНаСкладахОстаткиИОбороты ПО (ТоварыНаСкладахОстаткиИОбороты.Номенклатура = НоменклатураСпр.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыКлиентов.Остатки КАК ЗаказыКлиентовОстатки ПО (ЗаказыКлиентовОстатки.Номенклатура = НоменклатураСпр.Ссылка), Справочник.Склады КАК СкладыСпр ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты КАК ТоварыНаСкладахОстаткиИОбороты1 ПО (ТоварыНаСкладахОстаткиИОбороты1.Склад = СкладыСпр.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыКлиентов.Остатки КАК ЗаказыКлиентовОстатки1 ПО (ЗаказыКлиентовОстатки1.Склад = СкладыСпр.Ссылка) ГДЕ НоменклатураСпр.Ссылка В ИЕРАРХИИ(&ВыбТМЦ)) КАК данные ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Склады КАК Склады ПО (ЕСТЬNULL(данные.Склад, Склады.Ссылка) = Склады.Ссылка) УПОРЯДОЧИТЬ ПО Склад, данные.Ссылка Еще раз спасибо большое. | |||
| 38
    
        Ёпрст гуру 12.07.16✎ 15:52 | 
        (37) всё не читал, но зачем в тексте запроса куча ненужных соединений ?     | |||
| 39
    
        Andrey_19_73 12.07.16✎ 15:57 | 
        ЭпикФейл!!!
 (36) Неправильно работает, выбирает то 20000 строк, но остатки у всех одинаковые. (37) Да если бы я знал :) | |||
| 40
    
        PR 12.07.16✎ 16:04 | 
        (37) Охренеть, первый раз мне человек в явном виде говорит спасибо за волшебный пендель.
 Ради такого даже кину идею, которая витает в ветке. 
 | |||
| 41
    
        Andrey_19_73 12.07.16✎ 16:55 | 
        (40) Я так понимаю, что в СКД это не впихнешь, надо делать отчет, модуль, затем в цикле перебирать запрос и выводить в макет?
 Буду пробовать. Быстро не обещаю. | |||
| 42
    
        b_ru 12.07.16✎ 17:01 | 
        (40) В первом запросе ошибка. Нужно (без таблицы остатков)
 ВЫБРАТЬ СправочникНоменклатура.Ссылка КАК Номенклатура, СправочникСклады.Ссылка КАК Склад, ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток, ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход, ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход, ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток ПОМЕСТИТЬ ДекартовоПроизведение ИЗ Справочник.Номенклатура КАК СправочникНоменклатура, Справочник.Склады КАК СправочникСклады, ; | |||
| 43
    
        3achem 12.07.16✎ 17:04 | 
        (41) почему не пихнёшь? что ему помешает то?     | |||
| 44
    
        Andrey_19_73 12.07.16✎ 17:36 | 
        (43) опыта не хватает, первый раз это буду делать.     | |||
| 45
    
        Andrey_19_73 12.07.16✎ 20:35 | 
        (40) (42) "Не полетела"
 Простите, мне еще рано работать с временными таблицами и т.п. Целый вечер запускал Ваш пример. Чуть позже сделать с куска кода весь отчет для меня будет по силам, но пока нет. "Каждому свое". Возвращаюсь назад, к своему запросу и буду думать дальше. | |||
| 46
    
        Andrey_19_73 12.07.16✎ 21:52 | 
        Нарыл. В этом минималистическом запросе:
 ВЫБРАТЬ Склады.Ссылка КАК Склад, данные.Ссылка, данные.ВНаличииКонечныйОстаток ИЗ (ВЫБРАТЬ НоменклатураСпр.Ссылка КАК Ссылка, ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад, ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток КАК ВНаличииКонечныйОстаток ИЗ Справочник.Номенклатура КАК НоменклатураСпр ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты КАК ТоварыНаСкладахОстаткиИОбороты ПО (ТоварыНаСкладахОстаткиИОбороты.Номенклатура = НоменклатураСпр.Ссылка) ГДЕ НоменклатураСпр.Ссылка В ИЕРАРХИИ(&ВыбТМЦ)) КАК данные ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Склады КАК Склады ПО (ЕСТЬNULL(данные.Склад, Склады.Ссылка) = Склады.Ссылка) УПОРЯДОЧИТЬ ПО Склад, данные.Ссылка ---------------- я выбираю подгруппу справочника ТМЦ, в котором есть 20 позиций, в наличии из них только 10 и все они на одном складе. Так вот в отчет выводится 20 позиций по этому складу с остатками, а все остальные склады, сколько их там нет, выводят те 10 позиций, по которым не было остатков. Я думаю, что все дело в: ПО (ЕСТЬNULL(данные.Склад, Склады.Ссылка) = Склады.Ссылка) но как сделать не знаю. | |||
| 47
    
        PR 13.07.16✎ 01:14 | 
        (41) Почему не впихнешь?     | |||
| 48
    
        PR 13.07.16✎ 01:15 | 
        (42) А, ну да, копипастом забыл убрать, да     | |||
| 49
    
        PR 13.07.16✎ 01:19 | 
        (46) Что-то мне подсказывает уже, что не в коня корм, но все же, на еще раз
 
 | |||
| 50
    
        Andrey_19_73 13.07.16✎ 08:46 | 
        (49) Уважаемый PR, "играю как могу". В свое оправдание скажу то, что над этой задачей сижу большую часть дня и весь вечер. Я не профи и мне по ходу ее решения приходиться многому учиться, чему я несказанно рад. 
 Огромное спасибо, Ваш код работает немного добавил своих полей: ВЫБРАТЬ Данные.Склад КАК Склад, Данные.Номенклатура КАК Номенклатура, ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток, ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход, ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход, ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток, ЗаказыКлиентовОстатки.ЗаказаноОстаток КАК ЗаказаноОстаток ИЗ (ВЫБРАТЬ СправочникНоменклатура.Ссылка КАК Номенклатура, СправочникСклады.Ссылка КАК Склад ИЗ Справочник.Номенклатура КАК СправочникНоменклатура, Справочник.Склады КАК СправочникСклады ГДЕ СправочникНоменклатура.Ссылка В ИЕРАРХИИ(&ВыбТМЦ) И СправочникСклады.Ссылка = &ВыбСкл) КАК Данные, ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты КАК ТоварыНаСкладахОстаткиИОбороты ПО Данные.Номенклатура = ТоварыНаСкладахОстаткиИОбороты.Номенклатура И Данные.Склад = ТоварыНаСкладахОстаткиИОбороты.Склад, ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыКлиентов.Остатки КАК ЗаказыКлиентовОстатки ПО Данные.Номенклатура = ЗаказыКлиентовОстатки.Номенклатура И Данные.Склад = ЗаказыКлиентовОстатки.Склад УПОРЯДОЧИТЬ ПО Склад, Номенклатура Моя ошибка в "И", "И Данные.Склад = ТоварыНаСкладахОстаткиИОбороты.Склад" Сейчас отлично работает, осталось понять, как безболезненно накладывать отбор, хошь по одному складу/ТМЦ, хошь по всем. У меня сейчас только по одному чему-то, пустое значение не проходит. Но думаю это не проблема, найду. Чем больше чего-то ищешь, тем лучше это запоминается, а когда сказали - в одну ухо залетело.... Еще раз спасибо, теперь действительно работоспособный код. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |