Запрос+Пример отчета: Количество дней с остатком товара. Доработанный запрос

18.12.14

Учетные задачи - Логистика, склад и ТМЦ

После долгих поисков необходимых запросов, наткнулся на статью местного ресурса http://infostart.ru/public/17023/. Только вот была беда небольшая: по условию моей задачи, днем с остатками должен был считаться даже тот день, когда товар пришел и ушел за один день. Т.е. использование значения КонечныйОстаток не представляется возможным, потому что значение будет 0. За основу взят запрос из вышеуказанной статьи, только малость доработан. Проверял на КА, ред. 1.1

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Пример отчета "Количество дней с остатками"
.epf 9,70Kb
2 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.
ВЫБРАТЬ
	ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
	ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад,
	СУММА(ВЫБОР
			КОГДА ТоварыНаСкладахОстаткиИОбороты.Период = НАЧАЛОПЕРИОДА(&КонПериода, ДЕНЬ)
				ТОГДА ВЫБОР
						КОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстатокПредыдущий > 0
							ТОГДА ВЫБОР
									КОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток <= 0
										ТОГДА РАЗНОСТЬДАТ(ТоварыНаСкладахОстаткиИОбороты.ПредыдущийПериод, ТоварыНаСкладахОстаткиИОбороты.Период, ДЕНЬ)
									ИНАЧЕ РАЗНОСТЬДАТ(ТоварыНаСкладахОстаткиИОбороты.ПредыдущийПериод, &КонПериода, ДЕНЬ)
								КОНЕЦ
						ИНАЧЕ ВЫБОР
								КОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток > 0
									ТОГДА РАЗНОСТЬДАТ(ТоварыНаСкладахОстаткиИОбороты.Период, &КонПериода, ДЕНЬ)
								ИНАЧЕ ВЫБОР
										КОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход = ТоварыНаСкладахОстаткиИОбороты.КоличествоРасходПредыдущий
											ТОГДА 1
										ИНАЧЕ 0
									КОНЕЦ
							КОНЕЦ
					КОНЕЦ
			ИНАЧЕ ВЫБОР
					КОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстатокПредыдущий > 0
						ТОГДА ВЫБОР
								КОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток <= 0
									ТОГДА РАЗНОСТЬДАТ(ТоварыНаСкладахОстаткиИОбороты.ПредыдущийПериод, ТоварыНаСкладахОстаткиИОбороты.Период, ДЕНЬ)
								ИНАЧЕ РАЗНОСТЬДАТ(ТоварыНаСкладахОстаткиИОбороты.ПредыдущийПериод, ТоварыНаСкладахОстаткиИОбороты.Период, ДЕНЬ)
							КОНЕЦ
					ИНАЧЕ ВЫБОР
							КОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток > 0
								ТОГДА 1
							ИНАЧЕ ВЫБОР
									КОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход = ТоварыНаСкладахОстаткиИОбороты.КоличествоРасходПредыдущий
										ТОГДА 1
									ИНАЧЕ 0
								КОНЕЦ
						КОНЕЦ
				КОНЕЦ
		КОНЕЦ) КАК КоличествоДнейСОстатком
ИЗ
	(ВЫБРАТЬ
		ТаблицаПредыдущиеПериоды.Номенклатура КАК Номенклатура,
		ТаблицаПредыдущиеПериоды.Склад КАК Склад,
		ТаблицаПредыдущиеПериоды.Период КАК Период,
		ТаблицаПредыдущиеПериоды.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
		ТаблицаПредыдущиеПериоды.КоличествоРасход КАК КоличествоРасход,
		ТаблицаПредыдущиеПериоды.ПредыдущийПериод КАК ПредыдущийПериод,
		ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстатокПредыдущий,
		ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход КАК КоличествоРасходПредыдущий
	ИЗ
		(ВЫБРАТЬ
			ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
			ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад,
			ТоварыНаСкладахОстаткиИОбороты.Период КАК Период,
			ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
			ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход КАК КоличествоРасход,
			МАКСИМУМ(ТоварыНаСкладахОстаткиИОбороты1.Период) КАК ПредыдущийПериод
		ИЗ
			РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(
					&НачПериода,
					&КонПериода,
					День,
					,
					Номенклатура = &Номенклатура
						И Склад = &Склад) КАК ТоварыНаСкладахОстаткиИОбороты
				ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(
						&НачПериода,
						&КонПериода,
						День,
						,
						Номенклатура = &Номенклатура
							И Склад = &Склад) КАК ТоварыНаСкладахОстаткиИОбороты1
				ПО (ИСТИНА)
					И ТоварыНаСкладахОстаткиИОбороты.Номенклатура = ТоварыНаСкладахОстаткиИОбороты1.Номенклатура
					И ТоварыНаСкладахОстаткиИОбороты.Склад = ТоварыНаСкладахОстаткиИОбороты1.Склад
					И ТоварыНаСкладахОстаткиИОбороты.Период > ТоварыНаСкладахОстаткиИОбороты1.Период
		
		СГРУППИРОВАТЬ ПО
			ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
			ТоварыНаСкладахОстаткиИОбороты.Склад,
			ТоварыНаСкладахОстаткиИОбороты.Период,
			ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток,
			ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход) КАК ТаблицаПредыдущиеПериоды
			ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(
					&НачПериода,
					&КонПериода,
					День,
					,
					Номенклатура = &Номенклатура
						И Склад = &Склад) КАК ТоварыНаСкладахОстаткиИОбороты
			ПО (ИСТИНА)
				И ТаблицаПредыдущиеПериоды.Номенклатура = ТоварыНаСкладахОстаткиИОбороты.Номенклатура
				И ТаблицаПредыдущиеПериоды.Склад = ТоварыНаСкладахОстаткиИОбороты.Склад
				И ТаблицаПредыдущиеПериоды.ПредыдущийПериод = ТоварыНаСкладахОстаткиИОбороты.Период) КАК ТоварыНаСкладахОстаткиИОбороты

СГРУППИРОВАТЬ ПО
	ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
	ТоварыНаСкладахОстаткиИОбороты.Склад
АВТОУПОРЯДОЧИВАНИЕ

Возможно, запрос где-то не оптимизирован, но я постараюсь его еще доработать. Запрос ограничен выборкой по Номенклатуре и Складу, что можно легко отключить и наложить другие условия. Это было сделано просто для проверки самого запроса.

Вступайте в нашу телеграмм-группу Инфостарт

остатки по дням

См. также

Логистика, склад и ТМЦ 1С:Предприятие 8 Россия Платные (руб)

Подсистема автоматизированного управления складом AS WMS для конфигураций на платформе 1С 8. AS WMS – готовое решение для эффективного управления, хранения и учета на адресном складе. Внедрение системы AS WMS способствует быстрому отбору товара, ускорению инвентаризации, снижению зависимости от персонала, исключению пересорта. AS WMS встраивается в любую конфигурацию на платформе 1С 8 и работает как единая система без обменов. В учетной системе нет необходимости менять процессы под AS WMS (например, вводить ордерную схему), AS WMS использует стандартные документы по товародвижению вашей учетной системы.

50000 руб.

26.07.2023    11273    61    0    

12

Логистика, склад и ТМЦ Бухгалтер Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Модуль ответственное хранения в 1С 8.3 для складов и фулфилмент-операторов: учет чужого товара, приемка на хранение, передача, возвраты, акты, адресный склад и работа с товарами поклажедателей.

89900 руб.

09.06.2020    56352    43    60    

78

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Системный администратор Программист 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Загрузка номенклатуры из файлов Excel (xls, xlsx, ods, csv, mxl) в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

12444 руб.

29.10.2014    232623    750    534    

498

Обмен с ГосИС Логистика, склад и ТМЦ Программист Пользователь 1С:Предприятие 8 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Внешняя обработка для инвентаризации кодов маркировки в системе "Честный знак". Позволяет быстро определить и списать коды маркировки проданного, испорченного, утраченного (полный перечень причин списания указан ниже)  товара, которые всё ещё числятся за организацией. Привести в соответствие остатки маркированного товара программы 1С и системы "Честного знака".

6649 руб.

09.01.2024    16736    169    30    

159

Операции по ВЭД Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Мастера заполнения Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Обработка значительно расширяет функционал типовой конфигурации «1С:Бухгалтерия предприятия» и позволяет осуществлять автоматическое заполнение ГТД в документах «Реализация товаров и услуг», «Списание товаров», «Отчет о розничных продажах», «Отчет комиссионера (агента) о продажах», «Требование-накладная», «Возврат товаров от покупателя», «Комплектация номенклатуры», «Безвозмездная передача», «Отчет производства за смену». Обработка предназначена для работы в конфигурации «1С:Бухгалтерия предприятия 8, редакция 3.0» Есть версия обработки оптимизированная для работы в 1CFresh

12200 руб.

19.06.2012    146354    318    81    

261
Для отправки сообщения требуется регистрация/авторизация