Добрый день!
Возникла необходимость поменять карточку объекта на новую. Я создал новую схему, наследованную от BaseModulePageV2, и подставил её Uid из таблицы SysSchema в столбец CardSchemaUid таблицы SysModule. Но, к сожалению, этого оказалось недостаточно, по прежнему запись в разделе открывается в старой карточке. Подскажите, пожалуйста, что мне ещё необходимо сделать чтобы всё корректно заработало.
Нравится
Григорий Чех,
Сделал, как Вы сказали. Теперь ругается на параметр "operation":
На всякий случай обобщу свои действия:
1. Создал схему модели представления карточки, с родительским объектом BaseModulePageV2 (ESN).
2. Наполнил её:
define("MyEntityPage", [], function() {
return {
entitySchemaName: "MyEntity",
attributes: {},
modules: {},
details: {},
businessRules: {},
methods: {},
dataModels: {},
diff: [{}]
};
});
3. Получил UId из таблицы SysSchema, записал его в поле CardShemaUid таблиц SysModule и SysModuleEdit.
Видимо, что-то ещё упустил.
Иван Небеддаг,
Какое именно сообщение об ошибке и когда оно возникает
Григорий Чех,
Там была прикреплена картинка, но она куда-то исчезла. Может быть, в этот раз мне повезёт:
Возникает при попытке открыть запись в разделе. В адресной строке указана при этом новая карточка, как и должно было быть.
Господа, сталкивался ли кто-то с такой проблемой? И если да, то как вы её решили? Есть ли какая-то последовательность действий, которая поможет заменить карточку в разделе?
Иван Небеддаг,
Ломалось из-за строчки "diff: [{}]", фигурные скобки здесь вводят парсер в заблуждение. Пустая карточка должна выглядеть примерно так (с метками для дизайнера):
define("MyEntityPage", [], function() {
return {
entitySchemaName: "MyEntity",
details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
attributes: {},
modules: {},
details: {},
businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/,
methods: {},
dataModels: {},
modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/,
dataModels: /**SCHEMA_DATA_MODELS*/{}/**SCHEMA_DATA_MODELS*/,
diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/
};
});