Запрос - начальные и конечные остатки

  1. 10 г. назад
    28.11.2014 13:29:19 отредактировано Масянька

    Нужно сделать отчет:
    начальный остаток - общая сумма без НДС по всем складам, по все номенклатуре (просто сумма)
    приход - документ (сумма без НДС по док-ту)
    - номенклатура по док-ту (сумма без НДС, кол-во)
    расход - документ (сумма без НДС по док-ту)
    - номенклатура (сумма без НДС, кол-во)
    конечный остаток - аналог начальным.
    (тут все норм)
    Для каждой номенклатуры, попавшей в приход/расход нужно вывести начальный и конечный остаток (тут - не норм).

    	"//{{ЗАПРОС(Сформировать)
    	|Период с ДатаНачала по ДатаКонца;
    	|Фирма			= Регистр.ПартииНаличие.Фирма;
    	|УпрАналитика	= Регистр.ПартииНаличие.Фирма.УпрАналитика;
    	|ЮрЛицо 		= Регистр.ПартииНаличие.Фирма.ЮрЛицо;
    	|СтатусПартии 	= Регистр.ПартииНаличие.СтатусПартии;
    	|Номенклатура	= Регистр.ПартииНаличие.Номенклатура;
    	|МОЛ			= Регистр.ПартииНаличие.МОЛ;
    	|Партия			= Регистр.ПартииНаличие.Партия;
    	|СвойствоПартии	= Регистр.ПартииНаличие.Партия.Свойство;
    	|Поставщик		= Регистр.ПартииНаличие.Партия.Поставщик;
    	|Док			= Регистр.ПартииНаличие.ТекущийДокумент;
    	|КодОперации	= Регистр.ПартииНаличие.КодОперации;
    	|Количество 	= Регистр.ПартииНаличие.Количество;
    	|Сумма 			= Регистр.ПартииНаличие.СуммаБезНДС;
    	|Функция НачОстС = НачОст(Сумма);
    	|Функция ПриходС = Приход(Сумма);
    	|Функция РасходС = Расход(Сумма);
    	|Функция КонОстС = КонОст(Сумма);
    	|Функция НачОстК = НачОст(Количество);
    	|Функция ПриходК = Приход(Количество);
    	|Функция РасходК = Расход(Количество);
    	|Функция КонОстК = КонОст(Количество);
    	|Функция ПриходПоДокументу = Сумма(Сумма) Когда ((КодОперации = КодОперацииПоступление) ИЛИ (КодОперации = КодОперацииТР));
    	|Функция КолВоПоДокументу = Сумма(Количество);
    	|Функция РасходПоДокументу = Сумма(Сумма) Когда ((КодОперации = КодОперацииРеализация) ИЛИ (КодОперации = КодОперацииРозница));
    	|Функция ПриходСумма = Приход(Сумма) Когда ((КодОперации = КодОперацииПоступление) ИЛИ (КодОперации = КодОперацииТР));
    	|Функция ПриходКолВо = Приход(Количество) Когда ((КодОперации = КодОперацииПоступление) ИЛИ (КодОперации = КодОперацииТР));
    	|Функция РасходСумма = Расход(Сумма) Когда ((КодОперации = КодОперацииРеализация) ИЛИ (КодОперации = КодОперацииРозница));
    	|Функция РасходКолВо = Расход(Количество) Когда ((КодОперации = КодОперацииРеализация) ИЛИ (КодОперации = КодОперацииРозница));
    	|Группировка Док;
    	|Группировка Номенклатура Без Групп;
    	|";
    

    Если группировки поменять местами (сначала номенклатура, потом док) - вылазит вообще вся номенклатура, которая есть (остатки).
    Как сделать?

    Ответы: (1)
  2. (0) Ты про цены не рассказала...

    Ответы: (2)
  3. (1) Мне - цены не нужны. У меня - себестоимость (без НДС).

  4. Если я правильно понял, то это классическая попытка получить остаток в разрезе документа. Такие вопросы уже 10 лет без фото (.)(.) не рассматриваются

    Ответы: (5)
  5. Ставлю на то, что без двух запросов не обойтись. Ну или одного прямого

    Ответы: (5)
  6. (3) А решаются ли?
    (4) Прямой - на фиг! Со вторым - как?

    Ответы: (6)
  7. (5) как обычно это делается в семёрке?
    Выгружаем отдельно остатки номенклатуры в таблицу значений.
    При выводе запроса из 0 подставляешь правильные остатки. Угадал?)

    Ответы: (7) (8)
  8. (6) Мысль...

  9. (6) Это все - тебе:
    cute_smiley55.gif
    Спасибо.jpg

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