Корректировка минусов в регистре партии товаров на складах для УТ 10.3

27.01.14

Задачи пользователя - Корректировка данных

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

Файлы

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

Наименование Скачано Купить файл
(только для физ. лиц)
Обработка
.epf 7,35Kb
53 1 850 руб. Купить

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

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

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

Понадобилось убить отрицательные партионные остатки в УТ. Была написана данная обработка.
Обработка формирует запрос по партионным остаткам, смотрит минусовые партии и вычетает эти минуса из нормальных партий по регистру партии товаров на складах. Итоговый документ - корректировка регистров. Не меняет стоимость и количество номенклатуры по партиям. У номенклатуры не учитываются серии и характеристики - надо дописать.
Просьба не ругать по поводу кода - в 8 еще не ас, делал чтоб только работало.
Если много партий с минусовыми остатками - придется запускать обработку несколько раз, т.к. за один проход накопленные отрицательные партии вычетаются только из одной положительной партии. У себя делал 30 проходов.
Если есть партии без количества с отрицательной суммой - ее оставляет как есть.
Наверное не все понятно, но кому надо истребить минусовые партии, чтоб себестоимость и количественный остаток не пострадали, тот разберется.
Вроде все.

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

См. также

Корректировка данных Зарплата Бухгалтер 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ Платные (руб)

Обработка исправляет технические ошибки по НДФЛ, взаиморасчетам с сотрудниками в 1С:ЗУП (1С:ЗКГУ) на начало года. Фактически все ошибки, которые проявляются в ведомостях на выплату, расчетных листках, при заполнении ведомостей на выплату и отчетах 6-НДФЛ и т.д. нужно начинать исправлять с начала расчетного года. Это позволит быть уверенными, что после завершения расчетов предыдущего года, начали работать с «чистого листа» без ошибочных остатков.

60000 руб.

06.10.2023    7241    39    21    

46

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    37827    115    152    

82

Корректировка данных Системный администратор Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Незаменимая обработка для сопровождения конфигураций: ERP, УТ, КА. Позволяет вычистить многие ошибки в ключах аналитики, в ключевых справочниках конфигурации.

3600 руб.

10.02.2017    114662    688    176    

729

Закрытие периода Корректировка данных Программист Пользователь 1С v8.3 Система компоновки данных 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Внешняя обработка, позволяющая произвольным образом заполнять документ "Корректировка регистров" Предназначена для использования в конфигурациях "Управление торговлей 11", "Управление небольшой фирмой", "ERP Управление предприятием", а также в других конфигурациях, в состав которых входит библиотека стандартных подсистем (БСП) версии 2.2+ и указанный выше документ.

2400 руб.

13.07.2015    52309    180    29    

132

Закрытие периода Корректировка данных Системный администратор Бухгалтер Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Налоговый учет НДС Платные (руб)

Обработка для диагностики и устранения ошибочных состояний ключей аналитики при использовании новой методики раздельного учета НДС в "Бухгалтерии предприятия ред. 3.0"

6000 руб.

27.01.2015    58342    31    14    

40

Розничная торговля Кассовые операции Корректировка данных Бухгалтер 1С v8.3 1С:Розница 2 Розничная и сетевая торговля (FMCG) Россия Бухгалтерский учет Управленческий учет Платные (руб)

Создание, редактирование и удаление документов "Выемка ДС из Кассы ККМ" в конфигурации 1С:Розница 2. Групповая обработка Выемок. Редактирование регистра накопления "Денежные средства в кассе ККМ".

2000 руб.

20.09.2017    41749    174    24    

27

Печатные формы Корректировка данных Учет документов 1С v8.3 1C:Бухгалтерия 1С:Управление нашей фирмой 3.0

Данная обработка позволяет работать со справками об оплате медицинских услуг в любой конфигурации 1С 8.3 Решение выполнено в виде внешней обработки, поэтому будет работать так же на базовых версиях конфигураций 1С, где нет возможности добавить расширение.

3600 руб.

28.01.2025    648    0    0    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. sobeyko2008 18 01.02.14 08:58 Сейчас в теме
Заполняю дату, нажимаю выполнить... ни чего не происходит
2. Andruykha 179 06.02.17 19:34 Сейчас в теме
По коду вижу, обработка подойдет для базы с одним складом. Придется переделать:
1 .Добавляем в запрос сортировку по складу и характеристике:
Запрос = Новый Запрос("ВЫБРАТЬ
	                      |	ПартииТоваровНаСкладахОстатки.Номенклатура КАК Номенклатура,
	                      |	ПартииТоваровНаСкладахОстатки.Склад КАК Склад,
	                      |	ПартииТоваровНаСкладахОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
	                      |	ПартииТоваровНаСкладахОстатки.ДокументОприходования КАК ДокументОприходования,
	                      |	ПартииТоваровНаСкладахОстатки.СтатусПартии КАК СтатусПартии,
	                      |	ПартииТоваровНаСкладахОстатки.Качество КАК Качество,
	                      |	ПартииТоваровНаСкладахОстатки.КоличествоОстаток,
	                      |	ПартииТоваровНаСкладахОстатки.СтоимостьОстаток
	                      |ИЗ
	                      |	РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&Дата, ) КАК ПартииТоваровНаСкладахОстатки
	                      |
	                      |УПОРЯДОЧИТЬ ПО
	                      |	Склад,
	                      |	Номенклатура,
	                      |	ХарактеристикаНоменклатуры,
	                      |	СтатусПартии,
	                      |	Качество,
	                      |	ПартииТоваровНаСкладахОстатки.КоличествоОстаток,
	                      |	ДокументОприходования");
Показать

2. И переделаем немного код:
Пока Выборка.Следующий() Цикл
		Если Выборка.КоличествоОстаток <0 Тогда    // вот минусовая партия
			КолМинус = КолМинус-Выборка.КоличествоОстаток;
			СуммМинус = СуммМинус-Выборка.СтоимостьОстаток;
			Движение = Дв.Добавить();
			Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
			Движение.Период = Док.Дата;
			Движение.Номенклатура = Выборка.Номенклатура;
			Движение.Склад = Выборка.Склад     ;
			Движение.ХарактеристикаНоменклатуры = Выборка.ХарактеристикаНоменклатуры      ;
		//	Движение.СерияНоменклатуры = Выборка.СерияНоменклатуры    ;
			Движение.ДокументОприходования = Выборка.ДокументОприходования   ;
			Движение.СтатусПартии = Выборка.СтатусПартии  ;
		//	Движение.Заказ = Выборка.Заказ  ;
			Движение.Качество = Выборка.Качество ;
			Движение.Количество = -Выборка.КоличествоОстаток;
			Движение.Стоимость = -Выборка.СтоимостьОстаток;
			//КолМинус = 0;
			//СуммМинус = 0;
			ТекНом =  Выборка.Номенклатура ;
			ТекСклад =  Выборка.Склад ;
			ТекХарак =  Выборка.ХарактеристикаНоменклатуры ;

		Иначе
			Если ТекНом = Выборка.Номенклатура и ТекСклад =  Выборка.Склад и ТекХарак =  Выборка.ХарактеристикаНоменклатуры  Тогда
				//Поменялась номенклатура, сохраним старую последнюю с накопленными минусами
				//если не получилось ети минуса убрать
				Если КолМинус >= Выборка.КоличествоОстаток Тогда
					Движение = Дв.Добавить();
					Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
					Движение.Период = Док.Дата;
					Движение.Номенклатура = Выборка.Номенклатура;
					Движение.Склад = Выборка.Склад     ;
					Движение.ХарактеристикаНоменклатуры = Выборка.ХарактеристикаНоменклатуры      ;
					//	Движение.СерияНоменклатуры = Выборка.СерияНоменклатуры    ;
					Движение.ДокументОприходования = Выборка.ДокументОприходования   ;
					Движение.СтатусПартии = Выборка.СтатусПартии  ;
					//	Движение.Заказ = Выборка.Заказ  ;
					Движение.Качество = Выборка.Качество ;
					
					Движение.Количество = Выборка.КоличествоОстаток;
					Движение.Стоимость = Выборка.СтоимостьОстаток;
					КолМинус=КолМинус- Выборка.КоличествоОстаток;
					СуммМинус=СуммМинус- Выборка.СтоимостьОстаток;
				Иначе
					Движение = Дв.Добавить();
					Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
					Движение.Период = Док.Дата;
					Движение.Номенклатура = Выборка.Номенклатура;
					Движение.Склад = Выборка.Склад     ;
					Движение.ХарактеристикаНоменклатуры = Выборка.ХарактеристикаНоменклатуры      ;
					//	Движение.СерияНоменклатуры = Выборка.СерияНоменклатуры    ;
					Движение.ДокументОприходования = Выборка.ДокументОприходования   ;
					Движение.СтатусПартии = Выборка.СтатусПартии  ;
					//	Движение.Заказ = Выборка.Заказ  ;
					Движение.Качество = Выборка.Качество ;
					
					Движение.Количество = КолМинус;
					Движение.Стоимость = СуммМинус;
					КолМинус=0;
					СуммМинус = 0;
				КонецЕсли;
			Иначе
				ТекНом =  Выборка.Номенклатура ;
				ТекСклад =  Выборка.Склад ;
				ТекХарак =  Выборка.ХарактеристикаНоменклатуры ;

				Если КолМинус<>0 Тогда
					Сообщить("Остался минус по: "+Строка(Выборка.Номенклатура));
				КонецЕсли;
				КолМинус = 0;
				СуммМинус = 0;
			КонецЕсли;	
		КонецЕсли;	 	
	КонецЦикла;
Показать

Оставьте свое сообщение