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

18.12.14

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

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

Файлы

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

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

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

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

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

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

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

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

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

См. также

Загрузка и выгрузка в 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    230366    741    530    

493

Логистика, склад и ТМЦ Бухгалтер Пользователь 1С:Предприятие 8 Сельское хозяйство и рыболовство Строительство Горнодобывающая промышленность Розничная и сетевая торговля (FMCG) Транспорт, автопарки, такси Оптовая торговля, дистрибуция, логистика Лесное и деревообрабатывающее хозяйство Управленческий учет Платные (руб)

Позволяет автоматизировать процесс взвешивания ТМЦ в организациях, осуществляющих приемку и отгрузку различным транспортом, для ведения складского учета и контроля остатков на складах. Конфигурация позволяет фиксировать вес вручную, напрямую с весов, а также управлять дополнительным оборудованием и контролировать движение транспорта.

40000 руб.

24.03.2015    135713    334    116    

143

Обмен с ГосИС Логистика, склад и ТМЦ Программист Пользователь 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    14963    160    30    

151

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 12.12.2025, версия 9.3.1 - 10.6.1)

20740 руб.

20.11.2015    172751    426    396    

542

Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам.

50200 руб.

24.04.2015    206984    172    250    

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