Мне необходимо переименовать AccountProfile поле "добавить" на "создать", как это можно сделать?
![]()
Нравится
Кроме значения локализируемой строки, обратите внимание на функцию initAddRecordButtonCaption в BaseProfileSchema:
/**
* Initializes add record button caption.
* @protected
*/
initAddRecordButtonCaption: function() {
var caption = this.get("Resources.Strings.AddRecordButtonCaption");
var editPages = this.getEditPages();
if (editPages && editPages.getCount() === 1) {
var editPage = editPages.getByIndex(0);
caption = editPage.get("Caption");
}
this.set("AddRecordButtonCaption", caption);
},То есть значение не всегда берётся из строки.
Чтобы отключить эту логику получить нужное Вам поведение, можно в Custom создать переопределённую AccountProfileSchema с кодом:
/**
* Account profile class.
* @class Terrasoft.AccountProfileSchema
*/
define("AccountProfileSchema", ["CommunicationOptionsMixin"],
function() {
return {
entitySchemaName: "Account",
methods: {
/**
* Initializes add record button caption.
* @protected
*/
initAddRecordButtonCaption: function() {
var caption = this.get("Resources.Strings.AddRecordButtonCaption");
this.set("AddRecordButtonCaption", caption);
}
}
};
}
);И в этой же схеме поменять слева значение строки AddRecordButtonCaption на «Создать контрагента».
Это тянется из ActionKindCaption таблицы SysModuleEdit (SysModuleEditLcz). Не придумал способа изящней, как сделать прямое обновление в БД.
Update SysModuleEditLcz set ActionKindCaption=N'Создать контрагента' where id = '77FAE75C-861E-4D76-8A47-A9CE8F843D4C' -- id записи на русском языке для раздела контрагент
Поменяется и здесь и в разделе контрагенты
Алексей Следь,
А можете подсказать, где можно посмотреть id записи? У меня получается найти нужный фрагмент в базе локализации, хотя вроде как все правильно вбил в поиск базы. При попытке найти необходимое предложение ничего не выходит.
Необходимо изменить значение локализуемой строки AddRecordButtonCaption в AccountProfileSchema. Это правильный вариант, но он может не сработать из-за бага в системе и тогда нужно обновлять через таблицу SysModuleEdit как указано выше.
Кроме значения локализируемой строки, обратите внимание на функцию initAddRecordButtonCaption в BaseProfileSchema:
/**
* Initializes add record button caption.
* @protected
*/
initAddRecordButtonCaption: function() {
var caption = this.get("Resources.Strings.AddRecordButtonCaption");
var editPages = this.getEditPages();
if (editPages && editPages.getCount() === 1) {
var editPage = editPages.getByIndex(0);
caption = editPage.get("Caption");
}
this.set("AddRecordButtonCaption", caption);
},То есть значение не всегда берётся из строки.
Чтобы отключить эту логику получить нужное Вам поведение, можно в Custom создать переопределённую AccountProfileSchema с кодом:
/**
* Account profile class.
* @class Terrasoft.AccountProfileSchema
*/
define("AccountProfileSchema", ["CommunicationOptionsMixin"],
function() {
return {
entitySchemaName: "Account",
methods: {
/**
* Initializes add record button caption.
* @protected
*/
initAddRecordButtonCaption: function() {
var caption = this.get("Resources.Strings.AddRecordButtonCaption");
this.set("AddRecordButtonCaption", caption);
}
}
};
}
);И в этой же схеме поменять слева значение строки AddRecordButtonCaption на «Создать контрагента».