Запрос к регистру бухии, где я туплю?

  1. 8 г. назад

    Есть виртуальная таблица Остатки и ЛЕВОЕ соединение с документом. В итоге получаю только записи, которые есть в документе.
    ОБЪЕДИНИТЬ не предлагать - в документе есть признак группировки, которого нет в Остатки.
    Для подмены использую ЕСТЬNULL(Признак,Спр.Признаки.ПустаяСсылка)
    Как получить правильно ВСЕ остатки и колонку Количество из документа?
    Если не понятно - могу весь запрос показать.

  2. Показывай

  3. 20.09.2015 16:28:26 отредактировано alex_shkut
     ВЫБРАТЬ РАЗРЕШЕННЫЕ
    	ХозрасчетныйОстатки.Организация,
    	ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто2 КАК Справочник.Склады) КАК Склад,
    	ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.Номенклатура) КАК Номенклатура,
    	ЕСТЬNULL(РаспределениеЗапасовТовары.Ссылка.КомуПереходит, ЗНАЧЕНИЕ(Справочник.ПризнакиДляРазделения.ПустаяСсылка)) КАК КомуПереходит,
    	СУММА(ЕСТЬNULL(РаспределениеЗапасовТовары.Количество, 0)) КАК КвоПотребн,
    	СУММА(ХозрасчетныйОстатки.КоличествоОстаток) КАК КвоОстаток,
    	СУММА(ХозрасчетныйОстатки.СуммаОстаток) КАК СуммаОстаток,
    	"+" КАК Фильтр
    ПОМЕСТИТЬ Товары
    ИЗ
    	РегистрБухгалтерии.Хозрасчетный.Остатки(, Счет В ИЕРАРХИИ (&Счета), , ) КАК ХозрасчетныйОстатки
    		ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеЗапасов.Товары КАК РаспределениеЗапасовТовары
    		ПО ХозрасчетныйОстатки.Организация = РаспределениеЗапасовТовары.Ссылка.Организация
    			И ((ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.Номенклатура)) = РаспределениеЗапасовТовары.Номенклатура)
    			И ((ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто2 КАК Справочник.Склады)) = РаспределениеЗапасовТовары.Склад)
    ГДЕ
    	РаспределениеЗапасовТовары.Ссылка.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) И &Период
    	И НЕ РаспределениеЗапасовТовары.Ссылка.ПометкаУдаления
    
    СГРУППИРОВАТЬ ПО
    	ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.Номенклатура),
    	ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто2 КАК Справочник.Склады),
    	ХозрасчетныйОстатки.Организация,
    	ЕСТЬNULL(РаспределениеЗапасовТовары.Ссылка.КомуПереходит, ЗНАЧЕНИЕ(Справочник.ПризнакиДляРазделения.ПустаяСсылка))
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    	Товары.Организация,
    	Товары.Склад,
    	Товары.КомуПереходит,
    	Товары.Фильтр,
    	Товары.Номенклатура,
    	СУММА(Товары.КвоПотребн) КАК КвоПотребн,
    	СУММА(Товары.КвоОстаток) КАК КвоОстаток,
    	СУММА(Товары.СуммаОстаток) КАК СуммаОстаток,
    	СУММА(Товары.КвоОстаток - Товары.КвоПотребн) КАК Дельта
    ИЗ
    	Товары КАК Товары
    
    СГРУППИРОВАТЬ ПО
    	Товары.Организация,
    	Товары.Склад,
    	Товары.Номенклатура,
    	Товары.Фильтр,
    	Товары.КомуПереходит 
  4. Весь запрос в студию.

  5. 20.09.2015 16:29:54 отредактировано Hans

    Это что за хрень? Это и оставляет только то что в документе.

    РаспределениеЗапасовТовары.Ссылка.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) И &Период
    И НЕ РаспределениеЗапасовТовары.Ссылка.ПометкаУдаления

    Ответы: (5)
  6. 20.09.2015 16:31:45 отредактировано alex_shkut

    (4) Хорошо, мне нужны не все документы, а только за прошедший месяц
    Ага, вроде понял... щас

  7. Внутренним запросом отсеки все ненужное в документах, потом соединяй с остатками.

    Ответы: (7)
  8. (6) Та понял уже... я наложил условие на ВСЮ выборку :)

или зарегистрируйтесь чтобы ответить!