ЗЕРНО Поле объекта не обнаружено (correctedSDIZNumber)

1. zoeh 31 22.11.24 07:17 Сейчас в теме
Поле объекта не обнаружено (correctedSDIZNumber)
{Справочник.СДИЗЗЕРНО.МодульМенеджера(1238)}:КорректируемыйСДИЗ = ЭлементДанных[ИмяПоляКорректируемыйСДИЗ];
{Справочник.СДИЗЗЕРНО.МодульМенеджера(368)}:СсылкаНаОбъект = ЗагрузитьСДИЗ(
{ОбщийМодуль.ИнтеграцияЗЕРНОСлужебный.Модуль(6470)}:МенеджерОбъекта.ОбработкаЗагрузкиПолученныхДанных(ЭлементОчереди, ПараметрыОбмена, ПолученныеДанные, ИзмененныеОбъекты);
{ОбщийМодуль.ИнтеграцияЗЕРНОСлужебный.Модуль(4367)}:ОбработкаЗагрузкиПолученныхДанных(ЭлементОчереди, ПараметрыОбмена, ИзмененныеОбъекты, ДанныеОбработки.Объект);
{ОбщийМодуль.ИнтеграцияЗЕРНОСлужебный.Модуль(4203)}:ЗапроситьРезультатОбработкиВСервисе(ЭлементОчереди, ПараметрыОбмена, НаборЗаписей, НаборЗаписейОснование);
{ОбщийМодуль.ИнтеграцияЗЕРНОСлужебный.Модуль(3459)}:ЗапроситьРезультатОбработкиВСервисеТранзакция(ЭлементОчереди, ПараметрыОбмена);
{ОбщийМодуль.ИнтеграцияЗЕРНОСлужебный.Модуль(597)}:ДатаСледующейИтерации = ОбработатьОчередьСообщений(ПараметрыОбмена);
{ОбщийМодуль.ИнтеграцияЗЕРНОВызовСервера.Модуль(159)}:ВозвращаемоеЗначение = ИнтеграцияЗЕРНОСлужебный.ВыполнитьОбменУниверсально(ПараметрыОбмена);
{ОбщийМодуль.ОбменДаннымиЗЕРНО.Модуль(22)}:ИнтеграцияЗЕРНОВызовСервера.ВыполнитьОбмен(НастройкаРегламентногоЗадания);

[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка]
{ОбщийМодуль.ИнтеграцияЗЕРНОСлужебный.Модуль(4249)}:ВызватьИсключение ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке);
{ОбщийМодуль.ИнтеграцияЗЕРНОСлужебный.Модуль(3459)}:ЗапроситьРезультатОбработкиВСервисеТранзакция(ЭлементОчереди, ПараметрыОбмена);
{ОбщийМодуль.ИнтеграцияЗЕРНОСлужебный.Модуль(597)}:ДатаСледующейИтерации = ОбработатьОчередьСообщений(ПараметрыОбмена);
{ОбщийМодуль.ИнтеграцияЗЕРНОВызовСервера.Модуль(159)}:ВозвращаемоеЗначение = ИнтеграцияЗЕРНОСлужебный.ВыполнитьОбменУниверсально(ПараметрыОбмена);
{ОбщийМодуль.ОбменДаннымиЗЕРНО.Модуль(22)}:ИнтеграцияЗЕРНОВызовСервера.ВыполнитьОбмен(НастройкаРегламентногоЗадания);

[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ИсключениеВызванноеИзВстроенногоЯзыка]
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. user1671936 1 22.11.24 10:42 Сейчас в теме
Продолжайте наблюдение.
4. пользователь 22.11.24 13:40
Сообщение было скрыто модератором.
...
5. user1936616 22.11.24 13:51 Сейчас в теме
Вот тут посмотри:
Процедура ВыполнитьОбменДаннымиПоСценариюОбменаДанными(Отказ, НастройкаВыполненияОбмена, НомерСтроки = Неопределено) Экспорт
	
	УстановитьПривилегированныйРежим(Истина);
	
	ЭтоПодчиненныйУзелРИБТребующийУстановкиОбновления = (ЭтоПодчиненныйУзелРИБ() И ТребуетсяУстановкаОбновления());
	
	ТекстЗапроса =
	"ВЫБРАТЬ
	|	НастройкиВыполненияОбменаНастройкиОбмена.Ссылка                         КАК НастройкаВыполненияОбмена,
	|	НастройкиВыполненияОбменаНастройкиОбмена.НомерСтроки                    КАК НомерСтроки,
	|	НастройкиВыполненияОбменаНастройкиОбмена.ВыполняемоеДействие            КАК ВыполняемоеДействие,
	|	НастройкиВыполненияОбменаНастройкиОбмена.ВидТранспортаОбмена            КАК ВидТранспортаОбмена,
	|	НастройкиВыполненияОбменаНастройкиОбмена.УзелИнформационнойБазы         КАК УзелИнформационнойБазы,
	|
	|	ВЫБОР КОГДА НастройкиВыполненияОбменаНастройкиОбмена.ВидТранспортаОбмена = ЗНАЧЕНИЕ(Перечисление.ВидыТранспортаСообщенийОбмена.COM)
	|		ТОГДА ИСТИНА
	|		ИНАЧЕ ЛОЖЬ
	|	КОНЕЦ КАК ОбменЧерезВнешнееСоединение,
	|
	|	ВЫБОР КОГДА НастройкиВыполненияОбменаНастройкиОбмена.ВидТранспортаОбмена = ЗНАЧЕНИЕ(Перечисление.ВидыТранспортаСообщенийОбмена.WS)
	|		ТОГДА ИСТИНА
	|		ИНАЧЕ ЛОЖЬ
	|	КОНЕЦ КАК ОбменЧерезВебСервис,
	|
	|	ВЫБОР КОГДА НастройкиВыполненияОбменаНастройкиОбмена.ВидТранспортаОбмена = ЗНАЧЕНИЕ(Перечисление.ВидыТранспортаСообщенийОбмена.ВнешняяСистема)
	|		ТОГДА ИСТИНА
	|		ИНАЧЕ ЛОЖЬ
	|	КОНЕЦ КАК ОбменСВнешнейСистемой
	|ИЗ
	|	Справочник.СценарииОбменовДанными.НастройкиОбмена КАК НастройкиВыполненияОбменаНастройкиОбмена
	|ГДЕ
	|	НастройкиВыполненияОбменаНастройкиОбмена.Ссылка = &НастройкаВыполненияОбмена
	|		И &УсловиеПоНомеруСтроки
	|
	|УПОРЯДОЧИТЬ ПО
	|	НастройкиВыполненияОбменаНастройкиОбмена.НомерСтроки";
	
	УсловиеПоНомеруСтроки = ?(НомерСтроки = Неопределено, "", "И НастройкиВыполненияОбменаНастройкиОбмена.НомерСтроки = &НомерСтроки");
	
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "И &УсловиеПоНомеруСтроки", УсловиеПоНомеруСтроки);
	
	Запрос = Новый Запрос(ТекстЗапроса);
	Запрос.УстановитьПараметр("НастройкаВыполненияОбмена", НастройкаВыполненияОбмена);
	Запрос.УстановитьПараметр("НомерСтроки", НомерСтроки);
	
	Выборка = Запрос.Выполнить().Выбрать();
	Пока Выборка.Следующий() Цикл
		Если ЭтоПодчиненныйУзелРИБТребующийУстановкиОбновления
			И ОбменДаннымиПовтИсп.ЭтоУзелРаспределеннойИнформационнойБазы(Выборка.УзелИнформационнойБазы) Тогда
			
			Продолжить;
			
		КонецЕсли;
		
		Если Не НастройкаСинхронизацииЗавершена(Выборка.УзелИнформационнойБазы)
			И Не Выборка.ОбменСВнешнейСистемой Тогда
			
			Продолжить;
			
		КонецЕсли;
		
		ОтказПоСтрокеСценария = Ложь;
		
		ПередВыполнениемОбменов(Выборка.УзелИнформационнойБазы, ОтказПоСтрокеСценария);
		Если ОтказПоСтрокеСценария Тогда
			
			Отказ = Истина;
			Продолжить;
			
		КонецЕсли;
		
		Если Выборка.ОбменЧерезВнешнееСоединение Тогда
			
			ПроверитьВозможностьВнешнегоСоединения();
			
			КоличествоЭлементовВТранзакции = КоличествоЭлементовВТранзакцииВыполняемогоДействия(Выборка.ВыполняемоеДействие);
			
			ВыполнитьДействиеОбменаДляУзлаИнформационнойБазыПоВнешнемуСо­единению(ОтказПоСтрокеСценария,
				Выборка.УзелИнформационнойБазы, Выборка.ВыполняемоеДействие, КоличествоЭлементовВТранзакции);
			
		ИначеЕсли Выборка.ОбменЧерезВебСервис Тогда
			
			ПараметрыОбмена = ПараметрыОбмена();
			ПараметрыОбмена.ДлительнаяОперацияРазрешена = Истина;
			ПараметрыОбмена.ИнтервалОжиданияНаСервере = 30;
			
			ОбменДаннымиВебСервис.ВыполнитьДействиеОбменаДляУзлаИнформационнойБазыЧерезWebСерв­ис(ОтказПоСтрокеСценария,
				Выборка.УзелИнформационнойБазы, Выборка.ВыполняемоеДействие, ПараметрыОбмена);
			
		Иначе
			
			// ИНИЦИАЛИЗАЦИЯ ОБМЕНА ДАННЫМИ
			СтруктураНастроекОбмена = НастройкиОбменаДанными(Выборка.НастройкаВыполненияОбмена, Выборка.НомерСтроки);
			
			// Если настройка содержит ошибки, то обмен не производим; статус "Отменено".
			Если СтруктураНастроекОбмена.Отказ Тогда
				
				ОтказПоСтрокеСценария = Истина;
				
			Иначе
				
				СтруктураНастроекОбмена.РезультатВыполненияОбмена = Неопределено;
				
				// Добавляем в ЖР информацию о процессе обмена данными.
				СтрокаСообщения = НСтр("ru = 'Начало процесса обмена данными по настройке %1'", ОбщегоНазначения.КодОсновногоЯзыка());
				СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаСообщения, СтруктураНастроекОбмена.НастройкаВыполненияОбменаНаименование);
				ЗаписьЖурналаРегистрацииОбменаДанными(СтрокаСообщения, СтруктураНастроекОбмена);
				
				// ОБМЕН ДАННЫМИ
				ВыполнитьОбменДаннымиЧерезФайловыйРесурс(СтруктураНастроекОбмена);
				
				ОтказПоСтрокеСценария = (РезультатВыполненияОбменаВыполнено(СтруктураНастроекОбмена.РезультатВыполненияОбмена) <> Истина);
				
			КонецЕсли;
			
			// Фиксируем в ЖР лог по обмену данными.
			ЗафиксироватьЗавершениеОбмена(СтруктураНастроекОбмена);
			
		КонецЕсли;
		
		ПослеВыполненияОбменов(Выборка.УзелИнформационнойБазы, ОтказПоСтрокеСценария);
		
		Если ОтказПоСтрокеСценария Тогда
			
			Отказ = Истина;
			
		КонецЕсли;
		
	КонецЦикла;
	
КонецПроцедуры
Показать
6. user1936616 22.11.24 13:52 Сейчас в теме
А хотя у тебя же внешняя система, тогда вот тут

Процедура ВыполнитьОбменДаннымиСВнешнейСистемойЗагрузкаДанных(СтруктураНастроекОбмена)
	
	ИмяВременногоКаталога = СоздатьВременныйКаталогСообщенийОбмена();
	
	ИмяФайлаСообщения = ОбщегоНазначенияКлиентСервер.ПолучитьПолноеИмяФайла(
		ИмяВременногоКаталога, УникальноеИмяФайлаСообщенияОбмена());
		
	ОбработкаТранспортаСообщенийОбмена = СтруктураНастроекОбмена.ОбработкаТранспортаСообщенийОбмена;
	
	СообщениеПолучено = Ложь;
	Попытка
		СообщениеПолучено = ОбработкаТранспортаСообщенийОбмена.ПолучитьСообщение(ИмяФайлаСообщения);
	Исключение
		Информация = ИнформацияОбОшибке();
		СтруктураНастроекОбмена.РезультатВыполненияОбмена = Перечисления.РезультатыВыполненияОбмена.Ошибка_ТранспортСообщения;
		ЗаписьЖурналаРегистрацииОбменаДанными(ОбработкаОшибок.ПодробноеПредставлениеОшибки(Информация), СтруктураНастроекОбмена, Истина);
	КонецПопытки;
	
	СообщениеОбработано = Ложь;
	ВыполнитьОбработчикПослеЗагрузки = Ложь;
	
	Если СообщениеПолучено
		И СтруктураНастроекОбмена.РезультатВыполненияОбмена = Неопределено Тогда
		
		ВыполнитьОбработчикПослеЗагрузки = Истина;
		
		ПрочитатьСообщениеСИзменениямиДляУзла(СтруктураНастроекОбмена, ИмяФайлаСообщения);
		
		СообщениеОбработано = РезультатВыполненияОбменаВыполнено(СтруктураНастроекОбмена.РезультатВыполненияОбмена);
		
	КонецЕсли;
	
	Попытка
		УдалитьФайлы(ИмяВременногоКаталога);
	Исключение
		ЗаписьЖурналаРегистрацииОбменаДанными(ОбработкаОшибок.ПодробноеПредставлениеОшибки(Информация), СтруктураНастроекОбмена);
	КонецПопытки;
	
	НастройкаЗавершена = НастройкаСинхронизацииЗавершена(СтруктураНастроекОбмена.УзелИнформационнойБазы);
	
	Если ВыполнитьОбработчикПослеЗагрузки Тогда
		ЕстьСледующееСообщение = Ложь;
		Попытка
			ОбработкаТранспортаСообщенийОбмена.ПослеОбработкиПолученногоСообщения(СообщениеОбработано, ЕстьСледующееСообщение);
		Исключение
			Информация = ИнформацияОбОшибке();
			СтруктураНастроекОбмена.РезультатВыполненияОбмена = Перечисления.РезультатыВыполненияОбмена.Ошибка_ТранспортСообщения;
			ЗаписьЖурналаРегистрацииОбменаДанными(ОбработкаОшибок.ПодробноеПредставлениеОшибки(Информация), СтруктураНастроекОбмена, Истина);
			ЕстьСледующееСообщение = Ложь;
		КонецПопытки;
		
		Если СообщениеОбработано
			И Не НастройкаЗавершена Тогда
			
			ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(СтруктураНастроекОбмена.УзелИнформационнойБазы);
			
			Если ЕстьАлгоритмМенеджераПланаОбмена("ПередНастройкойСинхронизацииДанных", ИмяПланаОбмена) Тогда
		
				Контекст = Новый Структура;
				Контекст.Вставить("Корреспондент",          СтруктураНастроекОбмена.УзелИнформационнойБазы);
				Контекст.Вставить("ИдентификаторНастройки", СохраненныйВариантНастройкиУзлаПланаОбмена(СтруктураНастроекОбмена.УзелИнформационнойБазы));
				Контекст.Вставить("НачальнаяНастройка",     Не НастройкаЗавершена);
				
				ИмяФормыПомощника  = "";
				
				ПланыОбмена[ИмяПланаОбмена].ПередНастройкойСинхронизацииДанных(Контекст, НастройкаЗавершена, ИмяФормыПомощника);
				
				Если НастройкаЗавершена Тогда
					ЗавершитьНастройкуСинхронизацииДанных(СтруктураНастроекОбмена.УзелИнформационнойБазы);
				КонецЕсли;
				
			КонецЕсли;
			
		КонецЕсли;
		
		Если ЕстьСледующееСообщение И НастройкаЗавершена Тогда
			СтруктураНастроекОбмена.РезультатВыполненияОбмена = Неопределено;
			ВыполнитьОбменДаннымиСВнешнейСистемойЗагрузкаДанных(СтруктураНастроекОбмена);
		КонецЕсли;
	КонецЕсли;
	
КонецПроцедуры
Показать
user2107191; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот