Всем доброго времени суток. Версия 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") } }); } },