Добрый день, коллеги,
Есть кейс, нужно по кнопке открыть наполнение определенного справочника.
Если использую следующий код, то открывается свойства справочника, а не страница наполнения справочника.
==
var requestUrl =
"https://domain.bpmonline.com/0/Nui/ViewModule.aspx#CardModuleV2/LookupEditPage/edit/61d55b7e-1129-40ab-973a-2551fbf324fd";
this.sandbox.publish("PushHistoryState", {hash: requestUrl});
==
Как правильно открыть наполнение справочника?
Спасибо.
Нравится
mdv,
Вам нужно добавить записи в таблицы SysModule, SysModuleEdit,
SysModuleEntity.
Так как вы добавляли уже раздел UsrLogic базовыми средствами, то можете подробно посмотреть, какие данные для него создались (Ваш пакет / Раздел "Данные").
Добрый день!
Если вы на странице редактирования, то используйте код:
chooseLookup: function() { var config = { entitySchemaName: "EmailTemplate", enableMultiSelect: false }; this.openLookup(config, this.callbackLookup, this); }, callbackLookup: function(config) { var selectedRows = config.selectedRows; if (selectedRows.getCount() <= 0) { return; } }
Если на пользовательской странице, то нужно смотреть реализацию метода openLookup:
openLookup: function(config, callback, scope) { Terrasoft.LookupUtilities.open({ "lookupConfig": config, "sandbox": this.sandbox, "keepAlive": config.keepAlive, "lookupModuleId": config.lookupModuleId, "lookupPageName": config.lookupPageName }, callback, scope); }
Сидоров Александр В.,
Александр, спасибо большое за информацию.
Постараюсь описать вопрос более подробно:
1. Создана пользовательская страницу «Логики», в левой верхней части страницы добавлена новая кнопка «Шаблоны» рядом с системными кнопками «Добавить» и «Действия».
2. Созданы объекты «Шаблоны» (usrTemplate) и «Логики» (usrLogic), тип объектов базовый справочник.
3. В объекте «Шаблоны» (usrTemplate) добавлено поле UsrLogic типа справочник, которое связано с объектом «Логики» (usrLogic).
4. Зарегистрирован справочник «Шаблоны» (usrTemplate) через диспетчер системы в разделе «Справочники», справочник «Шаблоны» (usrTemplate) наполнен данными.
5. Если я открываю справочник "Шаблоны" (usrTemplate) через «Диспетчер системы» в разделе «Справочники», то на странице наполнения у меня доступны два поля «Название шаблона» и «Логика», из колонки «Логика» я могу выбрать нужное название логики, к которой будет привязан данный шаблон.
Мой вопрос в том, как правильно открыть наполнение объекта «Шаблоны» (usrTemplate) по кнопке с пользовательской страницы, чтобы был доступен функционал, как при открытии наполнения справочника «Шаблоны» (usrTemplate) через «Диспетчер системы» в разделе «Справочники».
Спасибо.
mdv,
Спасибо, я понял что вам нужно сделать. Просто так страницу редактирования справочника не открыть, как через "Диспетчер системы", т.к. стандартные справочники отрываются через
LookupSectionModule/BaseLookupConfigurationSection и через PushHistoryState вы свой не вызовете.
Можно попробовать реализовать для вашего справочника собственный раздел (отнаследовавшись от BaseLookupConfigurationSection) и открывать этот раздел
Сидоров Александр В.,
Александр, спасибо большое за информацию.
Я тоже понял, что это можно реализовать, если я создам новый пользовательский раздел на базе объекта "Шаблоны" (UsrTemplate), а затем его вызывать по кнопке кодом:
==
var requestUrl = "https://real-geo.bpmonline.com/0/Nui/ViewModule.aspx#SectionModuleV2/UsrTemplate1Section/";
this.sandbox.publish("PushHistoryState", {hash: requestUrl});
==
Но к сожалению, на этапе проектирования я не предусмотрел это и создан был только один пользовательский раздел на базе объекта "Логики" (UsrLogic).
Сейчас я не могу через мастер разделов создать новый раздел на базе ранее созданного объекта Шаблоны" (UsrTemplate), т.к. мастер разделов создает новый объект и не работает с уже созданным в системе объектом.
А если создать новый раздел с новым объектом, то придется много переделывать в системе, то что было кастомизировано и настроено на работу с объектом "Шаблоны" (UsrTemplate).
Я могу в ручном режиме в конфигурации системы создать схему UsrTemplate1Section:
==
define("UsrTemplate1Section", [], function() {
return {
entitySchemaName: "UsrTemplate",
details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/,
methods: {}
};
}
);
==
Александр, как после этого правильно зарегистрировать в системе новый пользовательский раздел на базе уже существующего объекта "Шаблоны" (UsrTemplate), чтобы новый раздел был доступен в системе при настройке рабочих мест, а также по ссылке https://real-geo.bpmonline.com/0/Nui/ViewModule.aspx#SectionModuleV2/UsrTemplate1Section/
Спасибо.
--
mdv,
Вам нужно добавить записи в таблицы SysModule, SysModuleEdit,
SysModuleEntity.
Так как вы добавляли уже раздел UsrLogic базовыми средствами, то можете подробно посмотреть, какие данные для него создались (Ваш пакет / Раздел "Данные").