Доброго дня.
Помогите, пожалуйста разобраться, пытаюсь вывести на портал раздел коробочный раздел "Сотрудники". Получаю уведомление:
Раньше такого сообщения никогда не получал.
Раздел в рабочее место не добавляется, на портале его нет. В мастере раздела вкладки "Портал" тоже нет.
Также как и нет в списке разделов для выбора в настройке рабочего места раздела "Сотрудник портала"
Нравится
Константин, я начал смотреть в коде, почему так.
Логика этой проверки и показа сообщения в SysModuleInWorkplaceDetailV2 в функции:
/**
* Processed receiving general and portal sections from service.
* @overridden
* @param {Object} result General and portal sections.
* @param {Object} selectedRows Selected rows in section lookup page.
*/
processedGeneralAndSspSections: function(result, selectedRows) {
var generalAndSspSections = result.GetGeneralAndSspSectionsResult;
if (generalAndSspSections) {
var sectionId = selectedRows.getByIndex(0).value;
if (generalAndSspSections.length === 2) {
var isSelectedSectionSSP = Ext.Array.findBy(generalAndSspSections, function(item) {
var selectedSection = JSON.parse(item);
var sectionTypes = this.$SectionTypes || {};
return selectedSection.Id === sectionId && selectedSection.Type === sectionTypes.SSP;
}, this);
if (isSelectedSectionSSP) {
this._addSectionsToWorkplace(selectedRows);
} else {
this.showInformationDialog(
this.get("Resources.Strings.SelectedSectionAlreadyRegisteredAsSSP"));
}
} else {
this.openSectionWindow(sectionId, "SspMainSettings", null,
"/AddSsp/" + this.get("MasterRecordId"));
}
}
},
Тут в GetGeneralAndSspSectionsResult — результат запроса к /0/rest/SectionService/GetGeneralAndSspSections, на вход подают Id EBF36756-7854-4169-B2CC-8BC0EA25F391 этого раздела в SysModule, на выходе получаем две строки:
{
"GetGeneralAndSspSectionsResult":[
"{\r\n \"Id\": \"ebf36756-7854-4169-b2cc-8bc0ea25f391\",\r\n \"Type\": 0,\r\n \"Caption\": \"Employees\",\r\n \"SysModuleEntityId\": \"adfb879a-7065-4416-9379-3a0d63295dba\",\r\n \"Code\": \"Employee\",\r\n \"SchemaName\": \"EmployeeSection\",\r\n \"EntityUId\": \"fb1c2bed-91d4-4b06-a28c-621a3d187008\",\r\n \"TypeColumnName\": \"\",\r\n \"SysModuleVisaEntityUId\": \"00000000-0000-0000-0000-000000000000\"\r\n}",
"{\r\n \"Id\": \"b3c1469a-26b2-4b76-a4c6-f6f0056c9972\",\r\n \"Type\": 0,\r\n \"Caption\": \"HR\",\r\n \"SysModuleEntityId\": \"adfb879a-7065-4416-9379-3a0d63295dba\",\r\n \"Code\": \"HR\",\r\n \"SchemaName\": null,\r\n \"EntityUId\": \"fb1c2bed-91d4-4b06-a28c-621a3d187008\",\r\n \"TypeColumnName\": \"\",\r\n \"SysModuleVisaEntityUId\": \"00000000-0000-0000-0000-000000000000\"\r\n}"
]
}Вместе с искомым разделом Employees получаем какой-то раздел HR, которого я в интерфейсе нигде не вижу и нет в лукапе выбора раздела для добавления.
Проверка идёт по той верхней ветке, где 2 результата, не находит из них ни одного портального и выдаёт ответ, что добавить нельзя, поскольку уже зарегистрирован.
Если добавлять обычный раздел (например, «Продукты»), то либо в результате будет 1 строка и пойдёт по нижней ветке добавления портального раздела для этого раздела, либо в результате запроса к GetGeneralAndSspSections будет 2 записи по одному и тому же разделу, обычная и портальная, и если пользователь в лукапе выбрал портальную, она успешно добавится.
А так, из-за раздела HR логика отрабатывает не так, как ожидалось.
Судя по дате создания записи в 2013 году, он мог остаться от старых версий и не использоваться. Но это не точно.
Удалил в таблице SysModule запись с Caption, равным «HR», после чего портальный раздел сотрудников создался. После выбора раздела в мастере заполнил свойства и поля в портальной карточке, сохранил и он появился:

Добрый день! Тоже столкнулись с данной проблемой. Подскажите прямой URL-адрес страницы пока разработчики не исправили данный Баг.
Максим, какую страницу Вы имели в виду? Я предложил удалить запись из SysModule.