Как вытащить свободные остатки в разрезе Организации

1. санясоку 29 09.07.21 15:31 Сейчас в теме
Доброго дня всем! Подскажите, пожалуйста, как вытащить свободные остатки в разрезе организаций?
Пытаюсь получить Свободные остатки приход этим запросом
ВЫБРАТЬ
	СвободныеОстатки.ВидДвижения КАК ВидДвижения,
	СвободныеОстатки.Номенклатура КАК Номенклатура,
	СвободныеОстатки.Характеристика КАК Характеристика,
	СвободныеОстатки.Склад КАК Склад,
	ЕСТЬNULL(СвободныеОстатки.ВНаличии, 0) КАК Приход,
	СвободныеОстатки.Регистратор.Организация КАК РегистраторОрганизация
ИЗ
	РегистрНакопления.СвободныеОстатки КАК СвободныеОстатки
ГДЕ
	СвободныеОстатки.Номенклатура = &Номенклатура
	И СвободныеОстатки.Склад = &Склад
	И СвободныеОстатки.Характеристика = &Характеристика
	И СвободныеОстатки.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
	И СвободныеОстатки.Регистратор.Организация = &Организация

СГРУППИРОВАТЬ ПО
	СвободныеОстатки.ВидДвижения,
	СвободныеОстатки.Номенклатура,
	СвободныеОстатки.Характеристика,
	СвободныеОстатки.Склад,
	ЕСТЬNULL(СвободныеОстатки.ВНаличии, 0),
	СвободныеОстатки.Регистратор.Организация
Показать
но не получается так вытащить если свободный остаток образовался документом Передача товаров.
По теме из базы знаний
Найденные решения
11. daenur1301 09.07.21 16:34 Сейчас в теме
Свободные остатки в разрезе Организаций в УТ не ведутся, так же как и Товары на складах.

Но есть регистр Товары организаций, склад там можно получить из АналитикиУчетаНоменклатуры. Резервы и то, что к отгрузке, оформлению и т.д. можно получить из регистра Товары к отгрузке, организацию тянуть из ДокументОтгрузки.

Могут быть нюансы при использовании ордерной схемы...
EvgeniyOlxovskiy; ivan_luzinov; Xershi; +3 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. homer_ 79 09.07.21 15:42 Сейчас в теме
я конечно не видал УТ11, но на мой взгляд запрос - полный бред.
3. санясоку 29 09.07.21 15:45 Сейчас в теме
(2) да понятно что бред, иначе бы не создавал вопрос. Просто ума не приложу как его вытащить.
4. homer_ 79 09.07.21 15:48 Сейчас в теме
(3) Если не хватает понимания программы. Посмотри стандартные отчеты. Наверняка есть отчет где можно увидеть свободный остаток.
5. санясоку 29 09.07.21 15:50 Сейчас в теме
(4) в том то и дело, что есть отчет "остатки и доступность", но он не в разрезе Организации его код
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
	Сегменты.Номенклатура КАК Номенклатура,
	Сегменты.Характеристика КАК Характеристика,
	ИСТИНА КАК ИспользуетсяОтборПоСегментуНоменклатуры
ПОМЕСТИТЬ ОтборПоСегментуНоменклатуры
ИЗ
	РегистрСведений.НоменклатураСегмента КАК Сегменты
{ГДЕ
	Сегменты.Сегмент.* КАК СегментНоменклатуры,
	Сегменты.Номенклатура.* КАК Номенклатура,
	Сегменты.Характеристика.* КАК Характеристика}

ИНДЕКСИРОВАТЬ ПО
	Номенклатура,
	Характеристика,
	ИспользуетсяОтборПоСегментуНоменклатуры
;

////////////////////////////////////////////////////////////­////////////////////
// Временная таблица "ВтСвободныеОстатки"
//
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	Набор.Номенклатура                         КАК Номенклатура,
	Набор.Характеристика                       КАК Характеристика,
	Набор.Склад                                КАК Склад,

	СУММА(Набор.ВНаличии)                      КАК ВНаличии,
	СУММА(Набор.ВРезервеСоСклада)              КАК ВРезервеСоСклада,
	СУММА(Набор.ВРезервеПодЗаказ)              КАК ВРезервеПодЗаказ,
	СУММА(Набор.КОтгрузке)                     КАК КОтгрузке

ПОМЕСТИТЬ ВтСвободныеОстатки
ИЗ(
	ВЫБРАТЬ

		Таблица.Номенклатура                         КАК Номенклатура,
		Таблица.Характеристика                       КАК Характеристика,
		Таблица.Склад                                КАК Склад,

		Таблица.ВНаличииОстаток                      КАК ВНаличии,
		Таблица.ВРезервеСоСкладаОстаток              КАК ВРезервеСоСклада,
		Таблица.ВРезервеПодЗаказОстаток              КАК ВРезервеПодЗаказ,
		0                                            КАК КОтгрузке

	ИЗ
		РегистрНакопления.СвободныеОстатки.Остатки( , {
			(Номенклатура, Характеристика) В(
				ВЫБРАТЬ
					ТаблицаОтбора.Номенклатура    КАК Номенклатура,
					ТаблицаОтбора.Характеристика  КАК Характеристика
				ИЗ
					ОтборПоСегментуНоменклатуры КАК ТаблицаОтбора
				ГДЕ
					ТаблицаОтбора.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры)
			} {Склад.*, Номенклатура.*, Характеристика.*}) КАК Таблица

	ОБЪЕДИНИТЬ ВСЕ

	ВЫБРАТЬ
		Таблица.Номенклатура     КАК Номенклатура,
		Таблица.Характеристика   КАК Характеристика,
		Таблица.Склад            КАК Склад,

		Таблица.КОтгрузкеОстаток КАК ВНаличии,
		0                        КАК ВРезервеСоСклада,
		0                        КАК ВРезервеПодЗаказ,
		Таблица.КОтгрузкеОстаток КАК КОтгрузке
	ИЗ
		РегистрНакопления.ТоварыКОтгрузке.Остатки(, {
			(Номенклатура, Характеристика) В(
				ВЫБРАТЬ
					ТаблицаОтбора.Номенклатура    КАК Номенклатура,
					ТаблицаОтбора.Характеристика  КАК Характеристика
				ИЗ
					ОтборПоСегментуНоменклатуры КАК ТаблицаОтбора
				ГДЕ
					ТаблицаОтбора.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры)
			} {Склад.*, Номенклатура.*, Характеристика.*}) КАК Таблица) КАК Набор

СГРУППИРОВАТЬ ПО
	Набор.Номенклатура, Набор.Характеристика, Набор.Склад

ИНДЕКСИРОВАТЬ ПО
	Номенклатура, Характеристика, Склад
;

////////////////////////////////////////////////////////////­////////////////////
// Построение отчета
//
ВЫБРАТЬ РАЗРЕШЕННЫЕ

	Набор.Номенклатура                          КАК Номенклатура,
	Набор.Характеристика                        КАК Характеристика,
	Набор.Склад                                 КАК Склад,
	МАКСИМУМ(&ТекстЗапросаВесНоменклатуры)      КАК Вес,
	МАКСИМУМ(&ТекстЗапросаОбъемНоменклатуры)    КАК Объем,
	МАКСИМУМ(Набор.Номенклатура.ЕдиницаИзмерения)             КАК ЕдиницаХранения,
	МАКСИМУМ(Набор.Номенклатура.ЕдиницаДляОтчетов)            КАК ЕдиницаДляОтчетов,
	МАКСИМУМ(Набор.Номенклатура.КоэффициентЕдиницыДляОтчетов) КАК КоэффициентЕдиницыДляОтчетов,
	
	СУММА(Набор.ВНаличии)                       КАК ВНаличии,
	СУММА(Набор.ПриходОсновной)                 КАК ПриходОсновной,
	СУММА(Набор.РасходОсновной)                 КАК РасходОсновной,
	СУММА(Набор.ВРезервеСоСкладаИПодЗаказ)      КАК ВРезервеСоСкладаИПодЗаказ,
	СУММА(Набор.ВРезервеСоСкладаИПодЗаказ)
		+ СУММА(Набор.ВРезервеГрафика)          КАК ВРезерве,
	СУММА(Набор.Котгрузке)                      КАК Котгрузке

ИЗ(
	// 1) В наличии
	ВЫБРАТЬ

		Таблица.Номенклатура                          КАК Номенклатура,
		Таблица.Характеристика                        КАК Характеристика,
		Таблица.Склад                                 КАК Склад,

		Таблица.ВНаличии                              КАК ВНаличии,
		0                                             КАК ПриходОсновной,
		Таблица.ВРезервеПодЗаказ
			+ Таблица.ВРезервеСоСклада
			+ Таблица.КОтгрузке                       КАК РасходОсновной,

		Таблица.ВРезервеПодЗаказ
			+ Таблица.ВРезервеСоСклада                КАК ВРезервеСоСкладаИПодЗаказ,

		0                                             КАК ВРезервеГрафика,
		Таблица.КОтгрузке                             КАК КОтгрузке

	ИЗ
		ВтСвободныеОстатки КАК Таблица

	ОБЪЕДИНИТЬ ВСЕ

	// 2) Приход по заказам
	ВЫБРАТЬ
		Таблица.Номенклатура                          КАК Номенклатура,
		Таблица.Характеристика                        КАК Характеристика,
		Таблица.Склад                                 КАК Склад,

		0                                             КАК ВНаличии,
		Таблица.КоличествоИзЗаказовОстаток            КАК ПриходОсновной,
		0                                             КАК РасходОсновной,
		0                                             КАК ВРезервеСоСкладаИПодЗаказ,

		0                                             КАК ВРезервеГрафика,
		0                                             КАК КОтгрузке


	ИЗ
		РегистрНакопления.ГрафикПоступленияТоваров.Остатки(,{
			(Номенклатура, Характеристика) В(
				ВЫБРАТЬ
					ТаблицаОтбора.Номенклатура    КАК Номенклатура,
					ТаблицаОтбора.Характеристика  КАК Характеристика
				ИЗ
					ОтборПоСегментуНоменклатуры КАК ТаблицаОтбора
				ГДЕ
					ТаблицаОтбора.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры)
			} {Склад.*, Номенклатура.*, Характеристика.*}) КАК Таблица

	ОБЪЕДИНИТЬ ВСЕ

	// 3) Расход по заказам
	ВЫБРАТЬ
		Таблица.Номенклатура                          КАК Номенклатура,
		Таблица.Характеристика                        КАК Характеристика,
		Таблица.Склад                                 КАК Склад,

		0                                             КАК ВНаличии,
		0                                             КАК ПриходОсновной,
		Таблица.КоличествоИзЗаказовОстаток            КАК РасходОсновной,
		0                                             КАК ВРезервеСоСкладаИПодЗаказ,

		0                                             КАК ВРезервеГрафика,
		0                                             КАК КОтгрузке

	ИЗ
		РегистрНакопления.ГрафикОтгрузкиТоваров.Остатки(,{
			(Номенклатура, Характеристика) В(
				ВЫБРАТЬ
					ТаблицаОтбора.Номенклатура    КАК Номенклатура,
					ТаблицаОтбора.Характеристика  КАК Характеристика
				ИЗ
					ОтборПоСегментуНоменклатуры КАК ТаблицаОтбора
				ГДЕ
					ТаблицаОтбора.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры)
			} {Склад.*, Номенклатура.*, Характеристика.*}) КАК Таблица

	ОБЪЕДИНИТЬ ВСЕ

	// 4) Резерв графика поставок
	ВЫБРАТЬ
		Таблица.Номенклатура                          КАК Номенклатура,
		Таблица.Характеристика                        КАК Характеристика,
		Таблица.Склад                                 КАК Склад,

		0                                             КАК ВНаличии,

		0                                             КАК ПриходОсновной,

		0                                             КАК РасходОсновной,

		0                                             КАК ВРезервеСоСкладаИПодЗаказ,
		-Таблица.Количество                           КАК ВРезервеГрафика,
		0                                             КАК КОтгрузке

	ИЗ
		РегистрСведений.ДоступныеОстаткиПланируемыхПоступлений КАК Таблица
	{ГДЕ
		(Таблица.Номенклатура, Таблица.Характеристика) В(
			ВЫБРАТЬ
				ТаблицаОтбора.Номенклатура    КАК Номенклатура,
				ТаблицаОтбора.Характеристика  КАК Характеристика
			ИЗ
				ОтборПоСегментуНоменклатуры КАК ТаблицаОтбора
			ГДЕ
				ТаблицаОтбора.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры)
		}
	{ГДЕ
		Таблица.Склад.* КАК Склад,
		Таблица.Номенклатура.* КАК Номенклатура,
		Таблица.Характеристика.* КАК Характеристика}

	ГДЕ
		Таблица.Количество < 0
		И Таблица.ДатаДоступности = ДАТАВРЕМЯ(1, 1, 1)) КАК Набор

СГРУППИРОВАТЬ ПО
	Набор.Номенклатура, Набор.Характеристика, Набор.Склад
Показать
6. homer_ 79 09.07.21 15:56 Сейчас в теме
(5) Я не поверю что регистр по остаткам всего одни. Наверняка есть регистр по остаткам в разрезе организаций. Далее надо лишь прикрутить резервы к нему
7. санясоку 29 09.07.21 16:02 Сейчас в теме
(6)
поверю что регистр по остаткам всего одни. Наверняка есть регистр по остаткам в разрезе организаций. Далее надо лишь прикрутить резервы к нему
регистры то есть, а вот измерения Организация нет.
Прикрепленные файлы:
8. homer_ 79 09.07.21 16:05 Сейчас в теме
(7) Мда... Для примера открой документ поступление (товары), и посмотри его движения.
9. санясоку 29 09.07.21 16:12 Сейчас в теме
(8) в этом то и проблема, что Документ поступления делает движения в регистр Свободные остатки, а вот документ Передача товаров не делает. И когда смотришь отчет Остатки и доступность видишь остаток, а при его расшифровке документы поступления и отгрузки он просто показывает что он есть, а каким документом он образовался нет информации.
10. санясоку 29 09.07.21 16:23 Сейчас в теме
Сейчас попробую собрать из двух регистров ТоварыОрганизацииОстатки - Свободный остаток Расход. Коряво но пока работает :-). Если у когото есть лучшее решение, пожалуйста, напишите.
ВЫБРАТЬ
	ТоварыОрганизацийОстатки.Организация КАК Организация,
	ТоварыОрганизацийОстатки.КоличествоОстаток КАК КоличествоОстаток,
	ТоварыОрганизацийОстатки.АналитикаУчетаНоменклатуры.СкладскаяТерритория КАК АналитикаУчетаНоменклатурыСкладскаяТерритория
ПОМЕСТИТЬ ТоварыОрганизации
ИЗ
	РегистрНакопления.ТоварыОрганизаций.Остатки КАК ТоварыОрганизацийОстатки
ГДЕ
	ТоварыОрганизацийОстатки.Организация = &Организация
	И ТоварыОрганизацийОстатки.АналитикаУчетаНоменклатуры.Номенклатура = &Номенклатура
	И ТоварыОрганизацийОстатки.АналитикаУчетаНоменклатуры.Характеристика = &Характеристика
	И ТоварыОрганизацийОстатки.АналитикаУчетаНоменклатуры.СкладскаяТерритория = &Склад
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	СвободныеОстатки.Номенклатура КАК Номенклатура,
	СвободныеОстатки.Характеристика КАК Характеристика,
	СвободныеОстатки.Склад КАК Склад,
	ТоварыОрганизации.КоличествоОстаток КАК ОстатокОрганизации,
	СУММА(ЕСТЬNULL(СвободныеОстатки.ВНаличии, 0)) КАК Расход,
	ТоварыОрганизации.КоличествоОстаток - СвободныеОстатки.ВНаличии КАК Доступно
ИЗ
	РегистрНакопления.СвободныеОстатки КАК СвободныеОстатки,
	ТоварыОрганизации КАК ТоварыОрганизации
ГДЕ
	СвободныеОстатки.Номенклатура = &Номенклатура
	И СвободныеОстатки.Склад = &Склад
	И СвободныеОстатки.Характеристика = &Характеристика
	И СвободныеОстатки.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
	И СвободныеОстатки.Регистратор.Организация = &Организация

СГРУППИРОВАТЬ ПО
	СвободныеОстатки.Номенклатура,
	СвободныеОстатки.Характеристика,
	СвободныеОстатки.Склад,
	ТоварыОрганизации.КоличествоОстаток,
	ТоварыОрганизации.КоличествоОстаток - СвободныеОстатки.ВНаличии
Показать
12. daenur1301 09.07.21 16:37 Сейчас в теме
13. санясоку 29 09.07.21 16:42 Сейчас в теме
(12) Есть лучше вариант?, с удовольствием рассмотрю :-)
14. daenur1301 09.07.21 16:44 Сейчас в теме
(13) смотри сообщение с 11 номером
15. санясоку 29 09.07.21 16:55 Сейчас в теме
(14)
мером

Как то я проморгал, спасибо
11. daenur1301 09.07.21 16:34 Сейчас в теме
Свободные остатки в разрезе Организаций в УТ не ведутся, так же как и Товары на складах.

Но есть регистр Товары организаций, склад там можно получить из АналитикиУчетаНоменклатуры. Резервы и то, что к отгрузке, оформлению и т.д. можно получить из регистра Товары к отгрузке, организацию тянуть из ДокументОтгрузки.

Могут быть нюансы при использовании ордерной схемы...
EvgeniyOlxovskiy; ivan_luzinov; Xershi; +3 Ответить
Оставьте свое сообщение

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