Заполнение полей в карточке при добавлении из модального окна
Здравствуйте.
Подскажите, как заполнить поля в карточке редактирования при добавлении новой записи, если эта карточка открыта в цепочке из модального окна справочника. Необходимо значения брать из предыдущей карточки.
К примеру. Есть карточка Заказа, на которой есть поле Контрагент. И есть справочное поле Договор. Открываем поле Договор. Не находим требуемого договора и жмем Добавить прямо в модальном окне - открывается карточка добавления Договора. Необходимо, чтобы поле Контрагент в добавляемом договоре было заполнено также как и в карточке Заказа
Нравится
Если открытие прошло по цепочке то прошлая схема должна еще быть в памяти, можете организовать их общение через песочницу, подробнее про песочницу тут:
https://community.terrasoft.ru/questions/est-li-manual-po-ispolzovaniu-…
Добрый день.
Извиняюсь, что поздно, но лучше поздно чем никогда. Вот пример. Есть карточка обращения и в ней справочное поле Продажа (NrbOpportunity). В продаже есть поле Продукт (NrbProduct), которое должно автоматически заполниться значением из обращения, из которого создаем продажу (поле NrbProductBase в обращении). В карточке обращения (CasePage) достаточно переопределить два метода.
openLookup: function(config, callback, scope) { /// <summary>overridden. Базовый метод, который срабатывает при открытии модального окна справочника.</summary> if (config && config.columnName === "NrbOpportunity") { config.valuePairs = this.getNrbValuePairs(); } this.callParent(arguments); }, getNrbValuePairs: function() { /// <summary>Инициализирует значения для карточки продажи при ее добавлении из карточки обращения.</summary> var valuePairs = []; var product = this.get("NrbProductBase") && this.get("NrbProductBase").value; if (product) { valuePairs.push( { name: "NrbProduct", value: product }); } return valuePairs; },