Зарегистрировать документы по организации для обмена

Нужно было зарегистрировать документы по организации в базе УНФ для отправки в БП.

Сначала я сгенерировал мультизапрос по всем документам с организацией:

Но в базе на разделителях в регистрации изменений нельзя использовать запросы, увы.

Зато у меня была безопасная консоль, в которой я набросал простой код и с его помощь зарегистрировал изменения:

Д1 = '20240101';
Д2 = '20241231';                                                 
ИскОрганизация = "Гитар"; 
ВсеУзлы = ОбменДаннымиСобытия.ВсеУзлыПланаОбмена("СинхронизацияДанныхЧерезУниверсальныйФормат");
Для каждого МД из Метаданные.Документы Цикл
	Если МД.Реквизиты.Найти("Организация") = Неопределено Тогда
		Продолжить;
	КонецЕсли;
	Выборка = Документы[МД.Имя].Выбрать(Д1, Д2);
	Пока Выборка.Следующий() Цикл
		ОбрабатываемыйОбъект = Выборка.Ссылка.ПолучитьОбъект();
		Если 
			Найти(ВРЕГ(ОбрабатываемыйОбъект.Организация.Наименование), ВРЕГ(ИскОрганизация)) = 0 Тогда
			Продолжить;
		КонецЕсли;
		Попытка
				ПланыОбмена.ЗарегистрироватьИзменения(ВсеУзлы, ОбрабатываемыйОбъект.Ссылка);
				Сообщить(ОбрабатываемыйОбъект);
		Исключение
		КонецПопытки;
	КонецЦикла;
КонецЦикла;

Попытка здесь используется, потому что не все документы входят в состав плана обмена и может возникнуть ошибка, если не входит в состав.

Среда: УНФ 3.0.6.200 Объем: 0.5 час

fixin

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

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

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

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