Доброго времени суток.
Версия 7.10.
Возникла задача: на странице Обращения существует справочная колонка Контрагента. Если необходимого контрагента в списке нет, то мы его можем сразу создать через миникарточку. Однако у контрагента есть поле ИНН, которое хотелось бы заполнять автоматически данными из аналогичного поля в Обращении (см. скриншот).
Возможно ли это? Особенно для случая, когда Обращение только создаётся, и ещё не сохранено в базе (то есть даже запросом по id оттуда данные не вытащить).
Предполагаю, что возможно через sandbox, но тогда вопрос, к какому событию привязывать отправку сообщения.
Нравится
Решали уже такую задачу, но немного с другого конца. Из лида вызывалась миникарточка продажи:
this.openAddMiniPage({ entitySchemaName: "Opportunity", valuePairs: this.getAddMiniPageDefaultValues() }); getAddMiniPageDefaultValues: function() { var defaultValues = []; if (this.get("QualifiedAccount")) { defaultValues.push({ name: "QualifiedAccount", value: this.get("QualifiedAccount").value }); } return defaultValues; },
Так что можно попробовать отрыть, где вызывается функция открытия окна контрагента и немного модифицировать.
Или как вы написали - через sandbox. В карточке обращения подписаться на событие и возвращать значение поля(если он, конечно, заполнено). В миникарточке контрагента в onEntityInitialized пытаться получить и установить значение поля.
Там проблема в том, что как я понимаю, это стандартный функционал справочного поля - возможность добавить запись, если таковой нет в справочнике.
Пока решили проблему грубым путём - просто по id вытаскиваю значение нужного inputа в DOM и подставляю его куда надо.