Как получить url ссылку детали?

Добрый день, подскажите пожалуйста как получить url ссылку страницы детали, ну или базовой страницы?
Суть задачи такова: переход на страницу детали по нажатию на действия "Создать кп".

define('LeadPage', ['ext-base', 'terrasoft', 'Lead', 'LeadPageStructure', 'LeadPageResources',
'BusinessRuleModule', 'GeneralDetails', 'ConfigurationConstants'],
function(Ext, Terrasoft, Lead, structure, resources, BusinessRuleModule, GeneralDetails,
ConfigurationConstants) {
structure.userCode = function() {
this.methods.createCP = function() {
var url = ПОЛУЧИТЬ URL СТРАНИЦИ
document.location.replace("URL");
};
this.actions = [
{
caption: 'Создать Комерчиское предложение',
methodName: 'createCP'
}
];
this.schema.rightPanel.push({
name: 'CommercialProposition',
schemaName: 'CommercialPropositionDetail',
type: Terrasoft.ViewModelSchemaItem.DETAIL,
filterPath: 'Lead',
filterValuePath: 'Id',
caption: 'Коммерческое предложение',
visible: true,
collapsed: true,
leftWidth: '60%',
rightWidth: '40%',
wrapContainerClass: 'control-group-container'
});
};
return structure;
});

Нравится

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

Здравствуйте, Юрий!
Если я правильно понял, то Вы хотите перейти на страницу редактирования. Тогда ссылку для перехода, например, на главную страницу, можно сформировать так:

document.location.replace("../Nui/ViewModule.aspx#MainMenu/")

Здравствуйте, Андрей!
Немного не так Вы поняли, мне нужно из страницы лида перейти на деталь которая находится на этой же страницы, но для этого нужна URl ссылка с id страницы и с параметрами загрузки деали для коректного отображения, нужно перейти на страницу детали для добавления инф.
Так как я понимаю мне сначала нужно каким то образом считывать URl моей добавленной детали, передавать в переменную,а аж потом уже в replace!

Здравтсвуйте, Юрий!
Не понятно, что имеется ввиду под фразой "перейти на страницу детали".
Возможно, Вы имеете ввиду, что хотите перейти к странице уже существующей на детали записи и редактировать ее?
Или добавлять новую запись коммерческого предложения?

Если нужно редактировать уже существующую, то можно получить Id записи с помощью выборки из базы (EntitySchemaQuery) и просто переходить к странице редактирования. Например, для редактирования контрагента с именем 'Terrasoft':

var accName = 'Terrasoft';
//получение Id
var esq = Ext.create('Terrasoft.EntitySchemaQuery', {
                rootSchemaName: 'Account'
            });
            esq.rowCount = 1;
            esq.addColumn('Id');
            esq.addColumn('Name');
            esq.filters.add('AccountNameFilter', Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, 'Name', accName));
	    esq.getEntityCollection(function(result){
						var entity = result.collection.getItems()[0];
						if (entity)
						{
	document.location.replace("../Nui/ViewModule.aspx#CardModule/AccountPage/edit/"+entity.get('Id'));
						}
                                 });
Показать все комментарии