Вопрос

После установки пакета не добавляет раздел в Рабочее место

После установки пакета не добавляет раздел в Рабочее место.

Установил пакет на 15.2, попытался добавить раздел в рабочее место - раздел не добавился, но выбило эту ошибку:

Начал настраивать отладку серверного кода, несколько раз скомпилировал все и ошибка пропала сама собой.

Потом это пакет поставил на 15.3 и ошибка повторилась, полная компиляция не помогла. Кто сталкивался с таким? Если вручную добавить запись в SysModuleInWorkplace - раздел появляется на месте и работает, в чем может быть проблема?

Нравится

5 комментариев

Добрый день. Вы добавляете раздел в рабочее место через данные?

Чубко Илья,

Я написал insert запрос в SQL. Оно успешно добавляется. Я спрашиваю у людей, почему вручную добавление работает нормально, а через рабочее место выбивает ошибку!?

Радчук Виталий Владимирович,

попробуйте и добавление раздела выполнить через привязку данных к пакету, предварительно привязав сопутствующие данные:

SysWorkplace - Рабочее место пользователя
SysModuleInWorkplace - Раздел в рабочем месте 

Вадим Косарев,

При таком варианте раздел появляется в рабочих местах после установки пакта, но через рабочее место - не хочет...

Судя по стеку, в функции sectionRepository.Get(sectionId) при получении информации по разделу возвращает пустое значение, когда при помощи .First(s => s.Id.Equals(sectionId)) к нему обращаются, происходит ошибка.

Значит, что-то не так с Вашим разделом, его регистрацией.

Если система развёрнута локально, можно в SQL-профайлере посмотреть, какой запрос с с получением списка разделов идёт в базу непосредственно перед ошибкой и возвращает среди результатов ни одного с GUID этого раздела. Сам запрос такой:

  protected Select GetSectionsSelect() {
   Select sectionSchemaSelect = GetClientUnitSchemaNameSelect("sm", "SectionSchemaUId");
   Select sectionModuleSchemaSelect = GetClientUnitSchemaNameSelect("sm", "SectionModuleSchemaUId");
   var select = new Select(UserConnection)
     .Column("sm", "Id")
     .Column("sm", "Caption")
     .Column("sm", "Type")
     .Column("sm", "Code")
     .Column("sm", "Attribute")
     .Column("sm", "SysModuleEntityId")
     .Column("smv", "VisaSchemaUId")
     .Column(sectionSchemaSelect).As("SectionSchema")
     .Column(sectionModuleSchemaSelect).As("SectionModuleSchema")
     .Column("sme", "SysEntitySchemaUId").As("EntityUId")
     .Column("sme", "TypeColumnUId").As("TypeColumnUId")
    .From("SysModule").As("sm")
    .InnerJoin("SysModuleEntity").As("sme")
     .On("sme", "Id").IsEqual("sm", "SysModuleEntityId")
    .LeftOuterJoin("SysModuleVisa").As("smv")
     .On("sm", "SysModuleVisaId").IsEqual("smv", "Id") as Select;
   return select;
  }

 

Показать все комментарии