На странице добавлены две детали с редактируемым реестром. Создал первую и понял, что неправильно. Потом создал вторую корректно и захотел первую удалить (создавал кодом). В мастере ее удалить нельзя. Открыл конфигурацию и удалил строки из схемы раздела, а именно details и diff, касающихся этой детали. Сохранил и очистил кэш. После этого перестали отображаться детали вообще и в консоли появилась ошибка cannot read property "findPrimary". После возвращения кода детали обе появились и работают. Как убрать первую деталь?
Нравится
Очень похоже, что как-то не так удаляете деталь со страницы. Если корректно удалить из details и diff, делать должна удалиться.
Очень похоже, что как-то не так удаляете деталь со страницы. Если корректно удалить из details и diff, делать должна удалиться.
Тёскин Дмитрий Валерьевич,
Проблема в том, что даже ошибиться негде
Вот код страницы полностью:
define("UsrConcertProgram1Page", [],
function() {
return {
entitySchemaName: "UsrConcertProgram",
attributes: {
"UsrActiveEveryday": {
"dataValueType": Terrasoft.DataValueType.INTEGER,
"type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
"caption": "UsrActiveEveryday",
"value" : "0"
}
},
modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/,
details: /**SCHEMA_DETAILS*/{
"Files": {
"schemaName": "FileDetailV2",
"entitySchemaName": "UsrConcertProgramFile",
"filter": {
"masterColumn": "Id",
"detailColumn": "UsrConcertProgram"
}
},
"UsrPerformanceDetail": {
"schemaName": "UsrPerformanceDetail",
"entitySchemaName": "UsrPerformance",
"filter": {
"detailColumn": "UsrConcertProgram",
"masterColumn": "Id"
},
},
"UsrSchema1Detail660d66ee": {
"schemaName": "UsrSchema1Detail",
"entitySchemaName": "UsrConcertPerformance",
"filter": {
"detailColumn": "UsrConcertProgram",
"masterColumn": "Id"
}
}
}/**SCHEMA_DETAILS*/,
businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/,
methods: {
getActiveEverydayConcerts: function() {
var esq = this.Ext.create("Terrasoft.EntitySchemaQuery", {
rootSchemaName: "UsrConcertProgram"
});
var filterGroup = this.Terrasoft.createFilterGroup();
filterGroup.logicalOperation = this.Terrasoft.LogicalOperatorType.AND;
filterGroup.add("concertsIsActive",
this.Terrasoft.createColumnFilterWithParameter(this.Terrasoft.ComparisonType.EQUAL, "UsrIsActive", "1"));
filterGroup.add("performancePeriodEveryday",
this.Terrasoft.createColumnFilterWithParameter(this.Terrasoft.ComparisonType.EQUAL,
"UsrPerformancePeriod", "85A8C133-FF83-4290-9F69-B34EAF627F8C"));
esq.filters = filterGroup;
esq.getEntityCollection(function(result) {
if (result.success)
{
this.set("UsrActiveEveryday", result.collection.getCount());
}
}, this);
},
maxEverydayActive: function() {
var invalidMessage = "";
var maxActiveEverydayConcertCount = 0;
var activeEverydayConcertCount = this.get("UsrActiveEveryday");
this.Terrasoft.SysSettings.querySysSettingsItem("UsrMaxEverydayActiveProgram", function(value) {
maxActiveEverydayConcertCount = value;
}, this);
if (this.get("UsrPerformancePeriod").value == "85A8C133-FF83-4290-9F69-B34EAF627F8C".toLowerCase() &&
this.get("UsrIsActive") && (activeEverydayConcertCount > maxActiveEverydayConcertCount) && !this.isAddMode()) {
invalidMessage = "Допускается не более " + maxActiveEverydayConcertCount +
" активных ежедневных концертных программ.";
}
if(this.get("UsrPerformancePeriod").value == "85A8C133-FF83-4290-9F69-B34EAF627F8C".toLowerCase() &&
this.get("UsrIsActive") && (activeEverydayConcertCount >= maxActiveEverydayConcertCount) && this.isAddMode()) {
invalidMessage = "Допускается не более " + maxActiveEverydayConcertCount +
" активных ежедневных концертных программ.";
}
return {
fullInvalidMessage: invalidMessage,
invalidMessage: invalidMessage
};
},
setValidationConfig: function() {
this.callParent(arguments);
this.addColumnValidator("UsrIsActive", this.maxEverydayActive);
this.addColumnValidator("UsrPerformancePeriod", this.maxEverydayActive);
},
onEntityInitialized: function() {
this.callParent(arguments);
this.getActiveEverydayConcerts();
}
},
dataModels: /**SCHEMA_DATA_MODELS*/{}/**SCHEMA_DATA_MODELS*/,
diff: /**SCHEMA_DIFF*/[
{
"operation": "insert",
"name": "UsrName9ed0e254-4ab5-4862-9e79-b18e052d92ab",
"values": {
"layout": {
"colSpan": 24,
"rowSpan": 1,
"column": 0,
"row": 0,
"layoutName": "ProfileContainer"
},
"bindTo": "UsrName"
},
"parentName": "ProfileContainer",
"propertyName": "items",
"index": 0
},
{
"operation": "insert",
"name": "STRING3bea7972-86d7-4d0e-b4d7-5731d5a6a6b6",
"values": {
"layout": {
"colSpan": 24,
"rowSpan": 1,
"column": 0,
"row": 1,
"layoutName": "ProfileContainer"
},
"bindTo": "UsrConcertCode",
"enabled": true
},
"parentName": "ProfileContainer",
"propertyName": "items",
"index": 1
},
{
"operation": "insert",
"name": "LOOKUP2c6c3d90-34b5-4a43-9b28-26c5c29c6c48",
"values": {
"layout": {
"colSpan": 24,
"rowSpan": 1,
"column": 0,
"row": 2,
"layoutName": "ProfileContainer"
},
"bindTo": "UsrOwner",
"enabled": true,
"contentType": 3
},
"parentName": "ProfileContainer",
"propertyName": "items",
"index": 2
},
{
"operation": "insert",
"name": "UsrIsActive3354c9f0-c35f-4c7c-85ec-0b3cc01376b8",
"values": {
"layout": {
"colSpan": 12,
"rowSpan": 1,
"column": 0,
"row": 0,
"layoutName": "Header"
},
"bindTo": "UsrIsActive"
},
"parentName": "Header",
"propertyName": "items",
"index": 0
},
{
"operation": "insert",
"name": "CreatedOn770eb82e-0b06-4f93-be35-bdd0ddac28b8",
"values": {
"layout": {
"colSpan": 12,
"rowSpan": 1,
"column": 12,
"row": 0,
"layoutName": "Header"
},
"bindTo": "CreatedOn"
},
"parentName": "Header",
"propertyName": "items",
"index": 1
},
{
"operation": "insert",
"name": "UsrActiveEveryday",
"values": {
"bindTo": "getActiveEverydayConcerts",
"caption": "UsrActiveEveryday",
"layout": {
"colSpan": 12,
"rowSpan": 1,
"column": 0,
"row": 1
}
},
"parentName": "Header",
"propertyName": "items",
"index": 2
},
{
"operation": "insert",
"name": "Tab75eff25dTabLabel",
"values": {
"caption": {
"bindTo": "Resources.Strings.Tab75eff25dTabLabelTabCaption"
},
"items": []
},
"parentName": "Tabs",
"propertyName": "tabs",
"index": 0
},
{
"operation": "insert",
"name": "Tab75eff25dTabLabelGroup46c8d52b",
"values": {
"caption": {
"bindTo": "Resources.Strings.Tab75eff25dTabLabelGroup46c8d52bGroupCaption"
},
"itemType": 15,
"markerValue": "added-group",
"items": []
},
"parentName": "Tab75eff25dTabLabel",
"propertyName": "items",
"index": 0
},
{
"operation": "insert",
"name": "Tab75eff25dTabLabelGridLayoutd14f72b6",
"values": {
"itemType": 0,
"items": []
},
"parentName": "Tab75eff25dTabLabelGroup46c8d52b",
"propertyName": "items",
"index": 0
},
{
"operation": "insert",
"name": "UsrTeama25e968a-f7f0-4c80-bde3-ed860af75538",
"values": {
"layout": {
"colSpan": 12,
"rowSpan": 1,
"column": 0,
"row": 0,
"layoutName": "Tab75eff25dTabLabelGridLayoutd14f72b6"
},
"bindTo": "UsrTeam"
},
"parentName": "Tab75eff25dTabLabelGridLayoutd14f72b6",
"propertyName": "items",
"index": 0
},
{
"operation": "insert",
"name": "UsrComment8c10205e-2bf8-42d0-b7fa-605cc32a37af",
"values": {
"layout": {
"colSpan": 12,
"rowSpan": 2,
"column": 12,
"row": 0,
"layoutName": "Tab75eff25dTabLabelGridLayoutd14f72b6"
},
"bindTo": "UsrComment",
"enabled": true,
"contentType": 0,
"labelConfig": {
"caption": {
"bindTo": "Resources.Strings.UsrComment8c10205e2bf842d0b7fa605cc32a37afLabelCaption"
}
}
},
"parentName": "Tab75eff25dTabLabelGridLayoutd14f72b6",
"propertyName": "items",
"index": 1
},
{
"operation": "insert",
"name": "UsrPerformancePeriod8fdfacd0-81ef-4bf3-9ccc-4cb9ab0f5b7b",
"values": {
"layout": {
"colSpan": 12,
"rowSpan": 1,
"column": 0,
"row": 1,
"layoutName": "Tab75eff25dTabLabelGridLayoutd14f72b6"
},
"bindTo": "UsrPerformancePeriod",
"enabled": true,
"contentType": 5
},
"parentName": "Tab75eff25dTabLabelGridLayoutd14f72b6",
"propertyName": "items",
"index": 2
},
{
"operation": "insert",
"name": "UsrSchema1Detail660d66ee",
"values": {
"itemType": 2,
"markerValue": "added-detail"
},
"parentName": "TabsContainer",
"propertyName": "items",
"index": 1
},
{
"operation": "insert",
"name": "NotesAndFilesTab",
"values": {
"caption": {
"bindTo": "Resources.Strings.NotesAndFilesTabCaption"
},
"items": []
},
"parentName": "Tabs",
"propertyName": "tabs",
"index": 1
},
{
"operation": "insert",
"name": "Files",
"values": {
"itemType": 2
},
"parentName": "NotesAndFilesTab",
"propertyName": "items",
"index": 0
},
{
"operation": "insert",
"name": "NotesControlGroup",
"values": {
"itemType": 15,
"caption": {
"bindTo": "Resources.Strings.NotesGroupCaption"
},
"items": []
},
"parentName": "NotesAndFilesTab",
"propertyName": "items",
"index": 1
},
{
"operation": "insert",
"name": "Notes",
"values": {
"bindTo": "UsrNotes",
"dataValueType": 1,
"contentType": 4,
"layout": {
"column": 0,
"row": 0,
"colSpan": 24
},
"labelConfig": {
"visible": false
},
"controlConfig": {
"imageLoaded": {
"bindTo": "insertImagesToNotes"
},
"images": {
"bindTo": "NotesImagesCollection"
}
}
},
"parentName": "NotesControlGroup",
"propertyName": "items",
"index": 0
},
{
"operation": "insert",
"name": "UsrPerformanceDetail",
"values": {
"itemType": 2,
"markerValue": "added-detail"
},
//"parentName": "TabsContainer",
"propertyName": "items",
"index": 2
}
]/**SCHEMA_DIFF*/
};
});
Удаляю я все с деталью UsrPerformanceDetail
Можно подойти к решению с другой стороны: откатиться до стандартной страницы из «коробки» без обеих деталей, затем добавить вторую.