Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Вопрос по регистру накопления остатки

Вопрос по регистру накопления остатки
Я
   asder117
 
01.07.19 - 11:29
Доброго времени суток. на борту конфа УПП.
В СКД делаю отчет который должен выводить имеющиеся заказы на производство и остатки материалов по ним на складах
запрос такого типа:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    РегЗаказы.ЗаказНаПроизводство КАК ЗаказНаПроизводство,
    РегЗаказы.Номенклатура КАК Продукция,
    РегЗаказы.Спецификация КАК Спецификация,
    РегЗаказы.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    РегЗаказы.КоличествоОстаток КАК КоличествоОстаток
ПОМЕСТИТЬ ЗаказыНаПроизводство
ИЗ
    РегистрНакопления.ЗаказыНаПроизводство.Остатки(&ДатаКон, ) КАК РегЗаказы
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура КАК Полуфабрикат,
    СпецификацииНоменклатурыИсходныеКомплектующие.Количество,
    СпецификацииНоменклатурыИсходныеКомплектующие.Ссылка КАК Спецификация
ПОМЕСТИТЬ НоменклатураСпецификаций
ИЗ
    Справочник.СпецификацииНоменклатуры.ИсходныеКомплектующие КАК СпецификацииНоменклатурыИсходныеКомплектующие
ГДЕ
    СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура.Комментарий ПОДОБНО &Коммент
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    СвободныеОстаткиОстатки.Номенклатура КАК НоменклатураСклад,
    СвободныеОстаткиОстатки.КоличествоОстаток КАК ОстатокНаСкладе,
    СвободныеОстаткиОстатки1.КоличествоОстаток КАК ОстатокНаСкладеПР
ПОМЕСТИТЬ ОстаткиНаСкладах
ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&ДатаКон, Склад = &Склад) КАК СвободныеОстаткиОстатки
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&ДатаКон, Склад = &Склад2) КАК СвободныеОстаткиОстатки1
        ПО СвободныеОстаткиОстатки.Номенклатура = СвободныеОстаткиОстатки1.Номенклатура
ГДЕ
    СвободныеОстаткиОстатки.КоличествоОстаток > 0
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    НоменклатураСпецификаций.Полуфабрикат,
    ЗаказыНаПроизводство.Продукция,
    ЗаказыНаПроизводство.ЗаказНаПроизводство,
    ЗаказыНаПроизводство.КоличествоОстаток,
    ВЫБОР
        КОГДА ЗаказыНаПроизводство.КоличествоОстаток = NULL
            ТОГДА 0
        ИНАЧЕ НоменклатураСпецификаций.Количество
    КОНЕЦ КАК КоличествоВСпец,
    ОстаткиНаСкладах.ОстатокНаСкладе,
    ОстаткиНаСкладах.ОстатокНаСкладеПР
ИЗ
    ЗаказыНаПроизводство КАК ЗаказыНаПроизводство
        ЛЕВОЕ СОЕДИНЕНИЕ НоменклатураСпецификаций КАК НоменклатураСпецификаций
            ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиНаСкладах КАК ОстаткиНаСкладах
            ПО НоменклатураСпецификаций.Полуфабрикат = ОстаткиНаСкладах.НоменклатураСклад
        ПО ЗаказыНаПроизводство.Спецификация = НоменклатураСпецификаций.Спецификация;
В результате вываливает даже те заказы которые закрыты. Данный запрос выполнил в консоли. В результате да заметил строки с закрытыми заказами и по ним в поле "РегЗаказы.КоличествоОстаток" есть одинаковые положительные и отрицательные значения, что в результате дает 0 по данному заказу и он выводиться не должен. Делал запрос как по частям так и полностью. Подтолкните на путь истинный, где что не так делаю. Заранее спасибо
 
 
   Beduin
 
1 - 01.07.19 - 11:32
Этот запрос выдает заказы без остатков?
ВЫБРАТЬ РАЗРЕШЕННЫЕ 
    РегЗаказы.ЗаказНаПроизводство КАК ЗаказНаПроизводство, 
    РегЗаказы.Номенклатура КАК Продукция, 
    РегЗаказы.Спецификация КАК Спецификация, 
    РегЗаказы.ЕдиницаИзмерения КАК ЕдиницаИзмерения, 
    РегЗаказы.КоличествоОстаток КАК КоличествоОстаток 
ПОМЕСТИТЬ ЗаказыНаПроизводство 
ИЗ 
    РегистрНакопления.ЗаказыНаПроизводство.Остатки(&ДатаКон, ) КАК РегЗаказы
   asder117
 
2 - 01.07.19 - 11:34
(1) нет в нем тоже остатки одинаковые по закрытым заказам как со знаком "+" так и "-"
   catena
 
3 - 01.07.19 - 11:49
(2)Значит что-то там по измерениям не закрывается.
   Ёпрст
 
4 - 01.07.19 - 11:52
(0)v ГДЕ 
    СвободныеОстаткиОстатки.КоличествоОстаток > 0 

это выкинь, для начала
   asder117
 
5 - 01.07.19 - 13:56
(4) Убрал. ничего не поменялось. на что это может повлиять? это част запроса для того чтобы вынуть остатки по 2 складам
   asder117
 
6 - 01.07.19 - 13:57
(3) что самое интересное универсальный отчет "Заказы на производство"по данному запросу схлопывает все нормально. Часть запроса по заказам взята оттуда
   asder117
 
7 - 02.07.19 - 09:31
подниму тему
   Exxter
 
8 - 02.07.19 - 09:52
(7) ЗаказыНаПроизводство.КоличествоОстаток = NULL  тут "0" всегда будет разве нет?

Может так:
ИЗ 
    РегистрНакопления.ЗаказыНаПроизводство.Остатки(&ДатаКон, ) КАК РегЗаказы
Где
     РегЗаказы.КоличествоОстаток <> 0
   catena
 
9 - 02.07.19 - 10:05
(7)Выведите в первом запросе все измерения и сравните в тех строчках, которые +/-
РегистрНакопления.ЗаказыНаПроизводство.Остатки(&ДатаКон, )
   hhhh
 
10 - 02.07.19 - 10:27
(7) да, вот это дебилизм 

КОГДА ЗаказыНаПроизводство.КоличествоОстаток = NULL 

= NULL всегда дает ЛОЖЬ. Нужно ЕСТЬ NULL
   asder117
 
11 - 02.07.19 - 13:33
(9) попробую..т.е. есть вероятность того что не по всем полям закрывается?
   catena
 
12 - 02.07.19 - 13:36
(11)Судя по (2) - да
   asder117
 
13 - 02.07.19 - 13:37
(12) только что сделал. все один в один
   catena
 
14 - 02.07.19 - 13:38
(13)Если не врешь, тогда итоги пересчитывай.
   asder117
 
15 - 02.07.19 - 13:46
(14) я не идиот чтобы врать....решение понял буду пробовать
   asder117
 
16 - 02.07.19 - 13:47
(8) (10) так он у меня и не NULL он или минусового или плюсового значения
   catena
 
17 - 02.07.19 - 13:51
(15)Я ничего не утверждаю, но "= NULL" в запросе и в принципе ожидание NULL в этом поле позволяет мне усомниться в вашем заявлении, что "все один в один". Многое визуально может выглядеть "все один в один", а по факту нет.
   catena
 
18 - 02.07.19 - 13:52
Ну, совсем для надежности, вывести в запрос все измерения и ресурсы, сгруппировать по измерениям, суммируя ресурсы.
   asder117
 
19 - 02.07.19 - 13:56
(18) Группировка работает. данные суммируются и в итоге по закрытому заказу дает 0 но СКД я не могу заставить обходить эту часть запроса по группировкам. Если бы можно было я бы поставил условие на 0. Прост вопрос...почему его универсальный отрабатывает как надо и не выводит закрытые заказы?

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.