Перезапись документов и движений на точке РИБ

Недавно писал код, чтобы записи движений документов ушли из центра на точку.

А тут понадобился обратный код — перекинуть часть документов с их движениями, которые попали на точку. При этом нужно было отфильтровать только документы по подразделению, чтобы общие документы с него не ушли.

Получился такой вот простой код:

Д1 = '20240220';
Д2 = '20240331';
ТекПодразделение = Получить.ЭтотУзел().Подразделение();
Сообщить(ТекПодразделение);
Для каждого МД из Метаданные.Документы Цикл
	Если МД.Реквизиты.Найти("Подразделение") = Неопределено Тогда
		Продолжить;
	КонецЕсли;
	Выборка = Документы[МД.Имя].Выбрать(Д1, Д2);
	Пока Выборка.Следующий() Цикл
		ОбрабатываемыйОбъект = Выборка.Ссылка.ПолучитьОбъект();
		Если ОбрабатываемыйОбъект.Подразделение <> ТекПодразделение Тогда
			Продолжить;
		КонецЕсли;
		Сообщить(ОбрабатываемыйОбъект);
		ОбрабатываемыйОбъект.Записать();
		Для Каждого НЗ ИЗ ОбрабатываемыйОбъект.Движения Цикл
			НЗ.Прочитать();
			Сообщить("  " + НЗ + ": " + НЗ.Количество());
			НЗ.Записать();
		КонецЦикла;
	КонецЦикла;
КонецЦикла;

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *