На форме определенного объекта размещена кнопка "Создать актив".

По нажатию на кнопку вызывается метод, который открывает мини-карточку методом this.openMiniPage, туда подтягиваются defaultValues (поля из текущей карточки), создается другой объект.

 

После создания объекта в текущей карточке требуется выполнить определенные действия, в частности, заполнить определенное поле айдишником созданного объекта. Но только в том случае, если открытие мини-формы завершилось созданием объекта, т.е. не нажали на кнопку отмены.

 

Возможно, стоило бы заранее сформировать айдишник и заполнить им поле, но как быть, если объект не был в итоге создан? Неужели запрос для этого посылать перед заполнением?

 

Напрашивается организация колбэка, но не очень понятно как это провернуть со стандартным this.openMiniPage.

 

Просьба помочь с решением данной задачи.

 

Примерный код прикладываю:



 

//функция вызывается кнопкой
createAsset: function() 
{
    this.openMiniPage({
        recordId: Terrasoft.GUID_EMPTY,
        operation: Terrasoft.ConfigurationEnums.CardOperation.ADD,
        entitySchemaName: "NewObjectSchemaName", //схема создаваемого объекта
        valuePairs: this.getAddMiniPageDefaultValues(),
        miniPageSchemaName: "NewObjectMiniPage",
	});
    //далее требуется заполнить поле текущей карточки, что-то вроде
    //this.$Asset = newObjectId;
},

 

Нравится

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

А почему вы в процессе не хотите заполнить это поле?

Владимир Соколов,

В процессе нет информации об ID записи, из которой происходило нажатие на кнопку добавления

Вадим Курунов пишет:

как вариант, можно его передавать в default values, чтобы потом прочитать в созданном объекте 

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