Интеграция с 1с:ДО

1. triviumfan 97 27.12.17 11:49 Сейчас в теме
Доброго дня.

Настроена "бесшовная" интеграция в УТ 11.3 с ДО 2.1 через веб-сервис.
Не работают обновления статусов согласующих объектов, а именно - договоров контрагента.

Правило интеграции получения нужных обновляемых полей выглядит так:
- для поля "Согласован"
Если Источник.statusApproval <> Неопределено Тогда
Если Источник.statusApproval.name = "Согласован" Тогда
Результат = Истина;
Иначе
Результат = Ложь;
КонецЕсли;
КонецЕсли;
Показать

- для поля "Статус"
Если  Источник.statusApproval <> Неопределено Тогда

	Если Источник.statusApproval.name = "Согласован" Тогда
		Результат = Перечисления.СтатусыДоговоровКонтрагентов.Действует;
	Иначе
		Результат = Перечисления.СтатусыДоговоровКонтрагентов.НеСогласован;
	КонецЕсли;

КонецЕсли;
Показать

При этом, статус присутствует в соответствующем регистре сведений ("СостоянияСогласованияВДокументообороте (Состояния согласования в 1С:Документообороте)");
Для диагностирования причины я полез в отладку регламентного задания обмена с ДО (ИнтеграцияС1СДокументооборотОбмен.ПолучитьДанные()).
Причину удалось найти:
							
ЗаполненКорректно = Объект.ПроверитьЗаполнение();														
Если ЗаполненКорректно Тогда
Объект.ОбменДанными.Загрузка = Истина;
Объект.Записать();
КонецЕсли;

Оказывается, что статус имеет пустую ссылку. Получается, что проблема в правиле для сего поля? Криминала в выражении не вижу.

И ещё: почему-то запрос на изменения ("DMGetChangesRequest") получает данные спустя 5-10 минут. Т.е. сразу после изменения статуса внутреннего документа в ДО я пытаюсь запросить изменения, но там ничего нет! Очень неудобно для отладки(. Можете подсказать, как происходит получение измененных объектов?
			
Запрос = ИнтеграцияС1СДокументооборот.СоздатьОбъект(Прокси, "DMGetChangesRequest");	
Запрос.lastMessageId = Константы.НомерПоследнегоПринятогоСообщенияДокументооборота.Получить();
Ответ = Прокси.execute(Запрос);
ИнтеграцияС1СДокументооборот.ПроверитьВозвратВебСервиса(Прокси, Ответ);	
Для каждого ОбъектXDTO Из Ответ.objects Цикл
// обрабатываем
КонецЦикла;
Показать
user811769; +1 Ответить
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. triviumfan 97 27.12.17 13:20 Сейчас в теме
Прошу прощения, кто-то поменял код для сего свойства (статус), этот полностью рабочий.
Остаётся вопрос, как происходит отслеживание изменений в ДО.
3. triviumfan 97 27.12.17 14:48 Сейчас в теме
Можно ли при изменении в УТ статуса договора на "Закрыт" в ДО передавать в поле "НеДействует" (т.е. устанавливать флаг «Расторгнут»)?
В правилах интеграции нет поля "статус" для передачи, похоже что передача этого поля только в одностороннем порядке. Как быть?
Оставьте свое сообщение

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