Всем доброго времени суток. Версия 7.11.
Есть хорошая и простая функция для открытия мини-карточки:
this.openMiniPage({
recordId: Terrasoft.GUID_EMPTY,
operation: Terrasoft.ConfigurationEnums.CardOperation.ADD,
entitySchemaName: "Case",
valuePairs: defaultValues,
isFixed: true,
showDelay: 0,
miniPageSchemaName: "UsrCaseMiniPage",
});Всё отлично - и указание на операцию, и на схему объекта и страницы. Особо удобно здесь свойство valuePairs, позволяющее передать значения для презаполненных колонок.
Существуют ли подобные функции для открытия полноценной карточки добавления?
Нашёл openPage в PageUtilities, но не нашёл, чтобы там был аналог valuePairs.
PushHistoryState не подходит - с его помощью можно открыть существующую страницу, а интересует именно страница добавления.
Нравится
Смотрите, как сделано в базовой схеме раздела BaseSectionV2. Там в обработчике кнопки добавления если есть миникарточка, вызывается Ваша функция openAddMiniPage, а если нет — openCardInChain:
/**
* Opens new record page.
* @protected
*/
addRecord: function(typeColumnValue) {
if (!typeColumnValue) {
if (this.checkEditPagesCount()) {
return false;
}
var tag = this.get("AddRecordButtonTag");
typeColumnValue = tag || Terrasoft.GUID_EMPTY;
}
var schemaName = this.getEditPageSchemaName(typeColumnValue);
if (!schemaName) {
return;
}
if (this.hasAddMiniPage(typeColumnValue)) {
this.openAddMiniPage({
entitySchemaName: this.entitySchemaName,
valuePairs: this.getAddMiniPageDefaultValues(typeColumnValue)
});
} else {
this.openCardInChain({
schemaName: schemaName,
operation: ConfigurationEnums.CardStateV2.ADD,
moduleId: this.getChainCardModuleSandboxId(typeColumnValue),
instanceConfig: {
useSeparatedPageHeader: this.get("UseSeparatedPageHeader")
}
});
}
},