Вопрос

Как открыть по кнопке наполнение справочника

Добрый день, коллеги,

Есть кейс, нужно по кнопке открыть наполнение определенного справочника.

Если использую следующий код, то открывается свойства справочника, а не страница наполнения справочника.

==

var requestUrl =

"https://domain.bpmonline.com/0/Nui/ViewModule.aspx#CardModuleV2/LookupEditPage/edit/61d55b7e-1129-40ab-973a-2551fbf324fd";

this.sandbox.publish("PushHistoryState", {hash: requestUrl});

==

 

Как правильно открыть наполнение справочника?

 

Спасибо.

Нравится

6 комментариев
Лучший ответ

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 базовыми средствами, то можете подробно посмотреть, какие данные для него создались (Ваш пакет / Раздел "Данные").

Сидоров Александр В.,

Спасибо, Александр

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