Автозаполнение миникарточки данными из основной страницы

Доброго времени суток.

Версия 7.10.

Возникла задача: на странице Обращения существует справочная колонка Контрагента. Если необходимого контрагента в списке нет, то мы его можем сразу создать через миникарточку. Однако у контрагента есть поле ИНН, которое хотелось бы заполнять автоматически данными из аналогичного поля в Обращении (см. скриншот).

Возможно ли это? Особенно для случая, когда Обращение только создаётся, и ещё не сохранено в базе (то есть даже запросом по id оттуда данные не вытащить).

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

Нравится

2 комментария

Решали уже такую задачу, но немного с другого конца. Из лида вызывалась миникарточка продажи:

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 и подставляю его куда надо.

Показать все комментарии