|
Проблема с пересохранением заказа, после изменения реквизита Предприятие 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
|
а после компания точка зачем-то.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |