Технические вопросы
7.x

openCardInChain передавать в defaultValues значения справочных полей

при вызове карточки через openCardInChain не удается передать значения для справочных полей.
Значения простых типов: строки, числа, булева - переносятся
справочные - нет

this.openCardInChain({
        id: "Id",
        schemaName: "Tender1Page",
        operation: "add",
        moduleId: this.sandbox.id + "_AddTenderSuccessAction",
        //Автоматически устанавливаем значения в открываемой карточке
        defaultValues: [
             //Справочное поле полученное из модели - не переносится
            {name: "KmProjects", value: this.get("Project")},
             //Компонуемый объект для заполнения справочного поля - не переносится
            {name: "Request", value: {
                value: this.get("Id"),
                id: this.get("Id"),
                displayValue: this.get("RequestNumber")
            }},
            //Число - переносится корректно
            {name: "CostPriceFromONIC", value: this.get("CostPriceFromOnicExcludingVat")},
            //Устанавливаем значение поля "Стоимость" из запроса в поле
            //Строка - переносится нормально
            {name: "AmountKPwithoutVAT", value: this.get("Cost")}
    ]
});

Что я делаю не так ?

При этом имеем ошибку во время открытия карточки:

Нравится

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

попробовал передавать ай-дишники... тоже не выходит
[javascript]
...
defaultValues: [
//Справочное поле полученное из модели - не переносится
{name: "KmProjects", value: this.get("Project").value},
//Компонуемый объект для заполнения справочного поля - не переносится
{name: "Request", value: this.get("Id"),
//Число - переносится корректно
{name: "CostPriceFromONIC", value: this.get("CostPriceFromOnicExcludingVat")},
//Устанавливаем значение поля "Стоимость" из запроса в поле
//Строка - переносится нормально
{name: "AmountKPwithoutVAT", value: this.get("Cost")}
]
...
[/javascript]

о как...
Заработало в виде массивов как значений аттрибутов name и value
[javascript]
defaultValues: [
{
name: ["KmProjects", "Request", "AmountKPwithoutVAT"],
value: [this.get("Project").value, this.get("Id"), this.get("Cost")]
}
[/javascript]
Само собой последовательность определяет прямое соотношение имени аттрибута к его значению.

Нашел один единственный пример в исходниках, такого формата вызова.

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