Номенклатура без движения и дата ее прихода на склад

1. XelOla 17 14.10.20 16:36 Сейчас в теме
ВЫБРАТЬ
	ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Номенклатура,
	ХозрасчетныйОстаткиИОбороты.Субконто2 КАК Склад,
	ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстатокДт КАК КоличествоКонечныйОстатокДт
ПОМЕСТИТЬ НоменклатураБезДвижения
ИЗ
	РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(, , , , , , ) КАК ХозрасчетныйОстаткиИОбороты
ГДЕ
	ХозрасчетныйОстаткиИОбороты.Счет В ИЕРАРХИИ(&Счет)
	И ХозрасчетныйОстаткиИОбороты.КоличествоОборотДт = 0
	И ХозрасчетныйОстаткиИОбороты.КоличествоОборотКт = 0
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ ПЕРВЫЕ 1
	ХозрасчетныйОбороты.Регистратор.Дата КАК РегистраторДата,
	ХозрасчетныйОбороты.Субконто1 КАК Субконто1
ПОМЕСТИТЬ ЭтоНомСДатами
ИЗ
	НоменклатураБезДвижения КАК НоменклатураБезДвижения,
	РегистрБухгалтерии.Хозрасчетный.Обороты(, , Регистратор, , , , , ) КАК ХозрасчетныйОбороты
ГДЕ
	ХозрасчетныйОбороты.Субконто1 В
			(ВЫБРАТЬ
				НоменклатураБезДвижения.Номенклатура
			ИЗ
				НоменклатураБезДвижения КАК НоменклатураБезДвижения)

УПОРЯДОЧИТЬ ПО
	РегистраторДата УБЫВ
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	НоменклатураБезДвижения.Номенклатура КАК Номенклатура,
	НоменклатураБезДвижения.Склад КАК Склад,
	НоменклатураБезДвижения.КоличествоКонечныйОстатокДт КАК КоличествоКонечныйОстатокДт,
	ЭтоНомСДатами.РегистраторДата КАК РегистраторДата
ИЗ
	ЭтоНомСДатами КАК ЭтоНомСДатами
		ЛЕВОЕ СОЕДИНЕНИЕ НоменклатураБезДвижения КАК НоменклатураБезДвижения
		ПО ЭтоНомСДатами.Субконто1 = НоменклатураБезДвижения.Номенклатура
Показать


Здравствуйте! Вот такой скд запрос и вообще не работает)
Как получить номенклатуру, что застряла на складе без движений.
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
4. user705522_constantin_h 28 14.10.20 16:54 Сейчас в теме
(1)Вы же делаете запрос к РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты. Значит, движения были и условие
И ХозрасчетныйОстаткиИОбороты.КоличествоОборотДт = 0

  И ХозрасчетныйОстаткиИОбороты.КоличествоОборотКт = 0
всегда будет ложным. Если есть записи в РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты, значит либо ХозрасчетныйОстаткиИОбороты.КоличествоОборотДт <> 0, либо ХозрасчетныйОстаткиИОбороты.КоличествоОборотКт <> 0.
2. user633533_encantado 7 14.10.20 16:44 Сейчас в теме
Отбор по счету помести в параметры виртуальной таблицы.

И для того чтобы показать номенклатуру без движения нужно выставить период. Без движения может быть товар, которого никогда не было в учете. А у тебя его как минимум покупали, т.е. Дт когда-то был.

Если тебе надо отобрать номенклатуру из справочника без движений, так справочнику и обращайся с условием, отобрать только ту номенклатуру, которой нет в оборотах счетов.
alex-l19041; +1 Ответить
5. XelOla 17 15.10.20 16:59 Сейчас в теме
(2)
сделала так - но очень долго

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

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

СГРУППИРОВАТЬ ПО
	ХозрасчетныйОбороты.Субконто1
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Данные.Номенклатура КАК Номенклатура,
	Данные.КоличествоКонечныйОстатокДт КАК КоличествоКонечныйОстатокДт,
	Изм.ДатаПрихода КАК ДатаПоступления
ИЗ
	Данные КАК Данные
		ЛЕВОЕ СОЕДИНЕНИЕ Изм КАК Изм
		ПО Данные.Номенклатура = Изм.Субконто1
Показать
6. FatPanzer 7 15.10.20 17:09 Сейчас в теме
(5) 1. В первом запросе берите таблицу Остатки, а не ОстаткиИОбороты.
2. Во втором запросе необходимо использовать условие по номенклатуре, полученной в первом запросе.
3. Временные таблицы первого и второго запросов необходимо индексировать по полям Номенклатура.
7. XelOla 17 16.10.20 09:18 Сейчас в теме
(6)
В первом запросе берите таблицу Остатки, а не ОстаткиИОбороты.

что за глупости?
мне надо отобрать номенклатуру без движения! если я получу остатки -- а были движ?
(6)
Временные таблицы первого и второго запросов необходимо индексировать по полям Номенклатура.

что имеется ввиду?
8. FatPanzer 7 16.10.20 09:25 Сейчас в теме
(7)
мне надо отобрать номенклатуру без движения!
В вашем запросе условия, где Обороты = 0. То есть вы даже приходные движения не учитываете, а пытаетесь получить только остаток.
что имеется ввиду?
Имеется ввиду "ИНДЕКСИРОВАТЬ ПО"

И самое главное - бухсчета укажите в параметрах таблиц. А то он у вас по всем счетам собирает Субконто1 и Субконто2, даже если там вообще не Номенклатура или Склады...
9. XelOla 17 16.10.20 09:26 Сейчас в теме
(8)
И самое главное - бухсчета укажите в параметрах таблиц. А то он у вас по всем счетам собирает Субконто1 и Субконто2, даже если там вообще не Номенклатура или Склады

чой та...
(Счет В ИЕРАРХИИ (&Счет))
Счет - Материалы,ГотоваяПродукция и Товары
11. FatPanzer 7 16.10.20 09:29 Сейчас в теме
(9) Я про параметры виртуальной таблицы. Туда надо эти условия.
10. XelOla 17 16.10.20 09:27 Сейчас в теме
(8) В вашем запросе условия, где Обороты = 0. То есть вы даже приходные движения не учитываете, а пытаетесь получить только остаток.


Не понимаю.
Я отбираю где НачОст=КонОст и ОборотыКт =0
Потому что нашла позиции, где количество на начало года = количеству на сегодня, а обороты были!
12. FatPanzer 7 16.10.20 09:31 Сейчас в теме
(10)
Я отбираю где НачОст=КонОст и ОборотыКт =0
Серьёзно?
Прикрепленные файлы:
13. XelOla 17 16.10.20 10:19 Сейчас в теме
(12)
СЕРЬЕЗНО!
Вы ж не туда смотрите? я что, должна жить с первым постом вечно?


ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстатокДт = ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстатокДт
И ХозрасчетныйОстаткиИОбороты.КоличествоОборотКт = 0
16. FatPanzer 7 16.10.20 10:31 Сейчас в теме
(13)
СЕРЬЕЗНО!
Вы ж не туда смотрите? я что, должна жить с первым постом вечно?
Сорян, виноват. Каюсь, возвел необоснованный поклёп ;-)
"Оправдаю. Отслужу.
Отстрадаю. Отсижу."
19. XelOla 17 16.10.20 10:40 Сейчас в теме
(16) и еще,
у меня СКД,
на каждую таблицу наложить необязательное условие для номенклатуры?
т.е. на закладке КомпоновкаДанных? - Параметры виртуальной таблицы? будет быстрее, если с отбором потом по номенклатуре?
20. FatPanzer 7 16.10.20 10:43 Сейчас в теме
(19) Только на второй запрос. И по складу тоже уже. Что-то типа "Субконто1 В (ВЫБРАТЬ Данные.Номенклатура ИЗ Данные КАК Данные) И Субконто2 В (ВЫБРАТЬ Данные.Склад ИЗ Данные КАК Данные)"...
21. XelOla 17 16.10.20 10:52 Сейчас в теме
(20) посчитаете среднее по группе отдельно, среднее по складу отдельно?
22. FatPanzer 7 16.10.20 10:56 Сейчас в теме
(21) Если в в ИТОГИ выведете группировку по Складу и по Группе - то конечно запрос сам посчитает.
23. XelOla 17 16.10.20 11:04 Сейчас в теме
(22) что за ИТОГИ.... Ресурсы знаю.
24. FatPanzer 7 16.10.20 11:06 Сейчас в теме
14. XelOla 17 16.10.20 10:20 Сейчас в теме
(12) подскажите лучше другое....
вот
Вычисляю срок от даты постулпниея
РазностьДат(ДатаПоступления, &КонецПериода,"День") в вычисляемых полях.
Да, и в запросе теперь есть Склад Который Субконто2!!!
Надо вычислить СРЕДНИЙ СрокОтДатыПоступления для СКЛАД, для Группы номенклатуры!



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

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

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

СГРУППИРОВАТЬ ПО
	ХозрасчетныйОбороты.Субконто1

ИНДЕКСИРОВАТЬ ПО
	Субконто1
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Данные.Номенклатура КАК Номенклатура,
	Данные.КоличествоКонечныйОстатокДт КАК Остаток,
	Изм.ДатаПрихода КАК ДатаПоступления,
	Данные.Номенклатура.Родитель КАК ГруппаНоменклатуры,
	Данные.Склад КАК Склад
ИЗ
	Данные КАК Данные
		ЛЕВОЕ СОЕДИНЕНИЕ Изм КАК Изм
		ПО Данные.Номенклатура = Изм.Субконто1
Показать
15. FatPanzer 7 16.10.20 10:29 Сейчас в теме
(14)
Да, и в запросе теперь есть Склад Который Субконто2!!!
1. Значит вам надо и во второй запрос вытаскивать склад, чтобы по нему были свои даты последнего поступления.
2. В третьем запросе соединение делать по двум полям - Номенклатура и Склад.
3. Во первом и втором запросах необходимо индексировать временные таблицы по тем полям, по которым в дальнейшем осуществляете соединение - Номенклатура и Склад.

Надо вычислить СРЕДНИЙ СрокОтДатыПоступления для СКЛАД, для Группы номенклатуры!
1. Передаете в параметр запроса текущую дату.
2. В третьем запросе добавляете поле, вычисляемое как разность дат между текущей датой и последней датой поступления
3. В третьем же запросе группируете это поле по агрегату СРЕДНЕЕ и добавляете ИТОГИ по складу...
17. XelOla 17 16.10.20 10:37 Сейчас в теме
(15)
добавляете ИТОГИ по складу...

((( где?
18. FatPanzer 7 16.10.20 10:39 Сейчас в теме
(17) Если у вас СКД - то в настройках СКД. Если у вас простой запрос - то в самом запросе...

Хотя я не уверен, что правильно понял про "средний срок от даты поступления".
Оставьте свое сообщение
Вопросы с вознаграждением