Как в запросе получить остатки и только последний документ которий зделал приход.

1. tt33 04.04.19 12:58 Сейчас в теме
Нужно получить остотк по товару с оборотом приходом и последний документ которий зделал приход.

 ВЫБРАТЬ
	ХозрасчетныйОстаткиИОбороты.Счет,
	МАКСИМУМ(ХозрасчетныйОстаткиИОбороты.Регистратор) КАК Регистратор,
	ХозрасчетныйОстаткиИОбороты.Субконто1,
	ХозрасчетныйОстаткиИОбороты.Субконто2,
	ХозрасчетныйОстаткиИОбороты.Организация,
	ХозрасчетныйОстаткиИОбороты.КоличествоОборотДт КАК КількістьНадходження,
	ХозрасчетныйОстаткиИОбороты.СуммаОборотДт КАК СуммаНадходження,
	ХозрасчетныйОстаткиИОбороты.КоличествоОборотКт КАК КількістьВидаток,
	ХозрасчетныйОстаткиИОбороты.СуммаОборотКт КАК СуммаВидаток,
	ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстаток КАК КількістьЗалишок,
	ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаЗалишок
ИЗ
	РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(, , Регистратор, , , , ) КАК ХозрасчетныйОстаткиИОбороты
ГДЕ
	ХозрасчетныйОстаткиИОбороты.Счет.Ссылка = &Счет
	И ХозрасчетныйОстаткиИОбороты.Субконто1 = &Ном

СГРУППИРОВАТЬ ПО
	ХозрасчетныйОстаткиИОбороты.Субконто2,
	ХозрасчетныйОстаткиИОбороты.Организация,
	ХозрасчетныйОстаткиИОбороты.Субконто1,
	ХозрасчетныйОстаткиИОбороты.Счет,
	ХозрасчетныйОстаткиИОбороты.КоличествоОборотДт,
	ХозрасчетныйОстаткиИОбороты.СуммаОборотДт,
	ХозрасчетныйОстаткиИОбороты.КоличествоОборотКт,
	ХозрасчетныйОстаткиИОбороты.СуммаОборотКт,
	ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстаток,
	ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстаток
Показать
+
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
5. tusv 211 04.04.19 14:58 Сейчас в теме
(1) Выбираете максимальный период , СубконтоДт1, СубконтоДт2 из ОборотыДтКт и соединяете внутренним соединением Остатки и обороты по периоду и субконто
Условия по счету и Номенклатуре из Где в фильтр виртуальных таблиц и добавить Список видов субконто туда же
ВЫБРАТЬ
	МАКСИМУМ(ХозрасчетныйОборотыДтКт.Период) КАК ДатаПоступления,
	МАКСИМУМ(ХозрасчетныйОстаткиИОбороты.Регистратор) КАК Регистратор,
	ВЫРАЗИТЬ(ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Справочник.Номенклатура) КАК Номенклатура,
	ВЫРАЗИТЬ(ХозрасчетныйОстаткиИОбороты.Субконто2 КАК Справочник.Склады) КАК Склад
ИЗ
	РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(
			,
			,
			Регистратор,
			СчетДт = &Счет,
			&ВидыСубконто,
			,
			,
			Организация = &Организация
				И СубконтоДт1 = &Субконто1) КАК ХозрасчетныйОборотыДтКт
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(
				,
				,
				Регистратор,
				,
				Счет = &Счет,
				&ВидыСубконто,
				Организация = &Организация
					И Субконто1 = &Субконто1) КАК ХозрасчетныйОстаткиИОбороты
		ПО (ХозрасчетныйОборотыДтКт.Период = ХозрасчетныйОстаткиИОбороты.Период)
			И (ХозрасчетныйОстаткиИОбороты.Субконто1 = ХозрасчетныйОборотыДтКт.СубконтоДт1)
			И (ХозрасчетныйОборотыДтКт.СубконтоДт2 = ХозрасчетныйОстаткиИОбороты.Субконто2)

СГРУППИРОВАТЬ ПО
	ХозрасчетныйОстаткиИОбороты.Субконто1,
	ХозрасчетныйОстаткиИОбороты.Субконто2
Показать
.
+
2. SedovSU@mail.ru 297 04.04.19 13:04 Сейчас в теме
Ну тут два подхода. Если вам нужен просто только последний приход - то по регистратору можете взять этот документ это будет последний приход на какой счет.
А если нужно именно взять документы которые сделали остаток - то тут нужен метод ФИФО распределять, если же конечно у вас нет аналитики документа, например в третьем субконте.

То есть например есть остаток 10 шт, а приход был на 2 шт. документ №000002 и вы хотите показать что последний приход это документ №00002 то это просто. делаете вложенный запрос к документам прихода и берете максимальный с датой / или последний с датой

Если же нужно раскидать остаток 10 шт. на док №00002 - 2 шт. док №00001 8 шт - то тут только распределять по ФИФО
+
3. tt33 04.04.19 13:06 Сейчас в теме
(2)Нужно както так. А и документи могут бить разние . нужно както по регистратору получить.
Прикрепленные файлы:
+
4. SedovSU@mail.ru 297 04.04.19 13:14 Сейчас в теме
(3) смотрите как лучше сделать. вы делаете вложенный запрос в котором у вас будут собираться документы прихода и в нем две колонки, например, Дата и Номенклатура. Дата - это дата документа можете взять из регистратора но в выборке должно быть только две колонки

Выбрать
МАКСИМУМ(Хоз.Регистратор.Дата) КАК Дата,
Хоз.Субконто1 КАК Номенклатура
ИЗ ........
СГРУППИРОВАТЬ
Хоз.Субконто1
+
6. tt33 04.04.19 16:02 Сейчас в теме
(2) ВидыСубконто скажите откуда брать . спс
+
7. tusv 211 04.04.19 17:44 Сейчас в теме
(6)В запросе
ВидыСубконто = Новый СписокЗначений;
ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура);
ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Склады);
Запрос.УстановитьПараметр("ВидыСубконто",ВидыСубконто);
+
8. SedovSU@mail.ru 297 05.04.19 06:12 Сейчас в теме
(7) скажите как вы хотите взять последний документ прихода, что это за документы??? по каким документам должно найтись последний приказ?
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот