|
Проблема с пересохранением заказа, после изменения реквизита Предприятие 8.3 УТ 11.4 |
☑ |
0
LuckyMMA
27.06.20
✎
10:30
|
Доброго времени суток товарищи. У меня следующая проблема. Очень прошу помочь. Есть процедура по созданию заказов, т.е. заказы как и связанные с ним справочники создаются из crm системы. Но я решил переписать интеграцию под новое api crm, и тут начались проблемы. Данные с crm системы я собрал, до этого момента все ок, но когда я нахожу контрагента по инн, и обновляю его реквизит и записываю контрагента, то здесь также все ок. И когда я в существующий заказ пытаюсь «привязать» этого контрагента, то через отладчик также показывается, что реквизит заполнен. Но когда я открываю заказ в интерактивном режиме, то вижу что поле пустое. Подскажите, пожалуйста, в какую сторону копать. Заранее, очень благодарен.
|
|
1
LuckyMMA
27.06.20
✎
10:32
|
Процедура СоздатьЗаказ(ТаблицаСделок, Настройки,WinHttp)
Для Каждого Сделка Из ТаблицаСделок Цикл
ДанныеКомпании = СоздатьТаблицу(Новый Структура("ДанныеКомпании"));
СтрокаДанныхКомпании = ДанныеКомпании.Добавить();
СтрокаДанныхКомпании.ДанныеКомпании = Сделка.ДанныеКомпании.Скопировать();
Контрагент = СоздатьИлиНайтиКонтрагентаПартнера (ДанныеКомпании);
Если Сделка.СтатусЗаказа = "На согласовании" Тогда
Заказ = Документы.ЗаказКлиента.НайтиПоРеквизиту("ЭС_ИдАМО",Сделка.ИдСделки);
Тест = Заказ.Контрагент;
Если ЗначениеЗаполнено(Заказ) Тогда
Заказ = Заказ.Ссылка.ПолучитьОбъект();
Заказ.Контрагент = Контрагент;
Заказ.Партнер = Контрагент.Партнер;
Заказ.Договор = НайтиСоздатьДоговорКонтрагента(Контрагент,Настройки.Организация);
Заказ.Записать();
Функция СоздатьИлиНайтиКонтрагентаПартнера (ДанныеКомпании)
Для Каждого Данные Из ДанныеКомпании Цикл
Для Каждого Компания Из Данные.ДанныеКомпании Цикл
Контрагент = Справочники.Контрагенты.НайтиПоРеквизиту("ИНН",Компания.ИНН);
Тест = Контрагент.ЭС_ИдАМО;
Если ЗначениеЗаполнено(Контрагент) Тогда
Контрагент = Контрагент.Ссылка.ПолучитьОбъект();
Контрагент.ЭС_ИдАМО = Компания.ИдКомпании;
Контрагент.Записать();
Контрагент = Контрагент.Ссылка;
Возврат Контрагент;
Иначе
Партнер = Справочники.Партнеры.СоздатьЭлемент();
Партнер.БизнесРегион = Компания.
Контрагент = Справочники.Контрагенты.СоздатьЭлемент();
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецФункции
|
|
2
LuckyMMA
27.06.20
✎
10:37
|
|
|
3
Сияющий в темноте
27.06.20
✎
10:38
|
ты в функции возвращаешь объект,а в поле нужно писать ссылку.
поставь
возврат контрагент.ссылка;
|
|
4
Aleksey
27.06.20
✎
10:46
|
(3)
Контрагент = Контрагент.Ссылка;
Возврат Контрагент;
Там или ссылка или неопределено, если не ЗначениеЗаполнено(Контрагент)
|
|
5
LuckyMMA
27.06.20
✎
10:53
|
В отладке показывает, что ссылка. А может быть из-за: у меня в цикле обрабатывается 3 заказа, но только сейчас заметил, что во всех 3 заказах у меня один контрагент пытается "привязаться"?
|
|
6
Сияющий в темноте
27.06.20
✎
15:48
|
а после компания точка зачем-то.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший