Вопрос

Проблема при переносе административных единиц в данных пакета

Добрый день.

Создана Орг. структура. В качестве родителя указан "Все сотрудники компании".

Фиксирую в данные пакета: Объект SysAdminUnit, Тип установки - Установка , в фильтрах  указываю Название созданных админ.единиц. Данные сохраняются.

При установке пакета на другом экземпляре bpmonline возникает ошибка на схеме данных SysAdminUnit:

Транзакция завершилась в триггере. Выполнение пакета прервано.
Невозможно добавить корневую единицу администрирования. Задан неверный тип единицы администрирования

 

Нравится

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

Игорь, здравствуйте!

Данная ошибка значит, что Вы пытаетесь добавить новую корневую группу, но это не разрешено (только «Все сотрудники компании» и «Все пользователи портала»). Скорее всего, указан неверный ParentId (пустой), но, чтобы сказать точно, нужно смотреть этот файл привязки (или весь пакет) в виде zip или в репозитории.

 За эту логику отвечает триггер [TRSysAdminUnitRoot] таблицы SysAdminUnit.

Maksym Naumovets,

Я добавил две подчинённые админ. единицы в группу "Все сотрудники компании" https://yadi.sk/i/GIvq8kYZ3T5hqN

Коновалов Игорь, добрый вечер.

Не могли бы Вы прислать скриншоты привязок и ParentId ?

 Логика переноса работает таким образом, что сначала происходит создание записей, но parentid = NULL, а потом происходит заполнение этих справочников (parentId) значениями.

Решение:

- убедиться, что переносятся только две роли (без корневых!)

- отключить триггер TRSysAdminUnitRoot на  таблице SysAdminUnit.

- выполнить установку

- убедиться, что эти записи в SysAdminUnit имеют заполненную колонку parentid

- включить триггер TRSysAdminUnitRoot

Сергей Кy6риш,

Данный вариант не подходит , т.к. мое приложение готовится к публикации на marketplace и оно может быть развернуто, например, в облаке.

Есть еще варианты?

В таком случае можно попробовать не привязывать данные, а реализовать вставку нужных значений в SysAdminUnit при помощи SQL-запроса. А уже запрос привязать к пакету.

Коновалов Игорь, как-то решили проблему? У меня сейчас такая же ошибка.

На версии 7.12 формируется такая же ошибка. При этом в структуре запроса установки отсутсвует колонка "ParentRoleId", хотя в конфигурации в схеме установки данных данная колонка есть и она заполнена.

Возможно ли, что это связано с тем, что организационные роли созданы с типом "Организация"?

Ошибка установки данных AddSysAdminUnitAsRole в пакете TsCIBLoanApplication. UId f0b6ed44-e5a0-4a37-9f59-1bc7968fedb9: ORA-20000: Невозможно добавить корневую единицу администрирования. Корневая единица администрирования уже существует
[17:42:15][Step 8/11] ORA-06512: at "BPMONLINE.TRSysAdminUnitRoot", line 18
[17:42:15][Step 8/11] ORA-04088: error during execution of trigger 'BPMONLINE.TRSysAdminUnitRoot'
[17:42:15][Step 8/11] 
[17:42:15][Step 8/11] INSERT INTO "BPMONLINE"."SysAdminUnit"("Id", "CreatedOn", "CreatedById", "ModifiedOn", "ModifiedById", "Name", "Description", "SysAdminUnitTypeValue", "IsDirectoryEntry", "TimeZoneId", "UserPassword", "Active", "SynchronizeWithLDAP", "LDAPEntry", "LDAPEntryId", "LDAPEntryDN", "LoggedIn", "LoginAttemptCount", "SourceControlLogin", "SourceControlPassword", "PasswordExpireDate", "ConnectionType", "UnblockTime", "ForceChangePassword", "ScannerName", "WebCamUrl", "SessionTimeout")
[17:42:15][Step 8/11] 	VALUES('{3ACFA10A-8964-45DF-8840-42F4FD27B7A6}', TO_TIMESTAMP('2019-05-27 17:41:33.798', 'YYYY-MM-DD HH24:MI:SS.FF3'), '{410006E1-CA4E-4502-A9EC-E54D922D2C00}', TO_TIMESTAMP('2019-05-27 17:41:33.798', 'YYYY-MM-DD HH24:MI:SS.FF3'), '{410006E1-CA4E-4502-A9EC-E54D922D2C00}', 'Участник комитета', '', 0, 0, 'UTC', '', 1, 0, '', '', '', 0, 0, '', NULL, NULL, 0, NULL, 0, '', '', 0)

 

Судя по тексту, вставка записи с указанными значениями в таблицу SysAdminUnit конфликтует с триггером на ней. Откройте триггер TRSysAdminUnitRoot и посмотрите его 18 строку.

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