gifts2017

Количество дней присутствия товаров на складе

Опубликовал Игорь Мирошниченко (igormiro) в раздел Отчеты - Управленческие

Отчет запускается на конфигурациях, где есть регистр накопления "Товары на складах".

При формировании отчет показывает: остатки товаров, последний документ поступления на склад и разницу в днях между датой последнего документа поступления и датой формирования отчета, см. рисунок.

Скачать файлы

Наименование Файл Версия Размер
Количество дней присутствия товаров на складе 21
.erf 42,27Kb
11.08.15
21
.erf 42,27Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Сергей (ildarovich) 12.08.15 09:45
Интересно было бы сравнить по скорости вот с этим отчетом: "Возраст" остатков номенклатуры. На реальной базе. Хотя "возраст" не в самой оптимальной редакции здесь выложен. По хорошему его нужно делать на основе http://infostart.ru/public/262300/ .
2. Борис Коломин (ПерваяСистема) 12.08.15 11:03
Есть аналогичная обработка для УТ10.3

Ищет залежавшийся товар по сроку с момента поступления, а также неликвиды по коэффициенту оборачиваемости и по доле нераспроданного товара.

После, с товарами, признанными неликвидами, можно выполнить определенные действия. Подробнее описано тут http://infostart.ru/public/303598/
3. Алексей Ларин (roofless) 12.08.15 12:52
так интересно... а в каких случаях реализация приходует товар?
4. Two World (Prometeus2011) 12.08.15 13:38
(1) ildarovich, Об этом-же подумал.:) Хотел Вам, как человеку, владеющему мат. аппаратом, задать один вопрос. Частенько на практике встречается необходимость решения задачи о ранце (как правило в целях минимизации налогооблагаемой базы) (за последний год ко мне и моему коллеге обращались раза три). Использовать традиционный алгоритм поиска решения, через рекурсию - нельзя, т.к. он очень медленный, приходится как-то его интерпретировать. Вы не сталкивались с какими-нибудь изящными решениями задачи о ранце?
5. Сергей (Che) Коцюра (CheBurator) 12.08.15 17:36
(4) хм.. не знаю насчет медленной работы рекурсивного алгоритма. может конечно у меня данные такие - но, например, 300-500 упаковок (совершенно разных габаритов) "раскладывает" на паллеты практически мгновенно...
6. Сергей (Che) Коцюра (CheBurator) 12.08.15 18:35
вот примерно так оно работает: видео: http://screencast.com/t/u3pw8rB1I
7. Сергей (ildarovich) 12.08.15 18:43
(4) Prometeus2011, "задача о ранце" имеет много подвариантов, ну и способы решения тоже очень разные: точные типа метода ветвей и границ и разные приближенные (эвристические) с последующими уточнениями (эволюционные).
Поэтому нужно все же поточнее сформулировать задачу, определить размерность, чтобы можно было говорить конкретнее.
Просто сформулируйте задачу поподробнее в виде вопроса на форуме, думаю, многим будет интересно. Особенно, если задача из практики, а не учебная или теоретическая.
8. Игорь Мирошниченко (igormiro) 13.08.15 07:36
Отчет у меня работает, потому что товары на складах в разрезе серий, если по номенклатуре: я вижу 2 выхода универсальный, это использовать в запросе место виртуально таблицы реальную по виду движения приход, или ограничивать документы по документам поступления, например, Ссылка ОприходованиеТоваров. Вот запрос отчета.

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

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

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