Оформление
FAQ для пользователей по синхронизации/импорту - Справка FineReport | Разработка отчетов | Использование отчетов | Учебные пособия
Синхронизация/импорт пользователей Часто задаваемые вопросы
1. Обзор
В этой статье описаны некоторые меры предосторожности и ошибки при синхронизации пользователей.
2. Submaster не смог добавить/импортировать пользователей
Субадминистраторы не могут добавлять пользователей в некоторых случаях, как показано в следующей таблице:
| Источники пользователей | безнаказанность |
|---|---|
| Несинхронизированные пользователи | Субадминистраторы могут видеть только кнопки "Добавить пользователя" и "Импортировать пользователя", но не кнопку "Синхронизировать пользователя". |
| Синхронизация пользователей включена | Субадминистраторы могут видеть только кнопки "Добавить пользователей" и "Импортировать пользователей", но не кнопку "Синхронизировать управление пользователями". |

3. поле набора данных синхронизации не является необязательным
Описание проблемы:
Созданный набор данных сервера можно предварительно просмотреть, но при синхронизации/импорте пользователей с помощью этого набора данных не будет полей для выбора, как показано ниже:

Анализ причин:
Проверил журналы и обнаружил сообщение об ошибке: SQL ServerException: имя объекта ' ' недействительно.
Проверьте, как был создан набор данных, например, хранимая процедура типа server dataset, выполнение SQL не удается после вложенности.

4. Ошибка панели результатов синхронизации
После настройки столбца идентификаторов выполняется проверка идентификаторов для предотвращения конфликтов в процессе складирования. В это время данные об ошибках также будут перечислены на панели результатов. Ниже приведен список ошибок, о которых сообщается.
4.1 ID пуст
Сообщение об ошибке показано ниже:

Причина: После установки галочки на id не разрешается случай, когда имя не пустое, но id пустой. Как показано на рисунке ниже:

4.2 Конфликт с оригинальным идентификатором
Сообщение об ошибке показано ниже:

Причина: После установки флажка ID вы можете изменить имя пользователя, но вам не разрешается изменять ID, иначе он сообщит об ошибке конфликта ID, например, ID Алисы был 3, а теперь стал 2.
4.3 Дублирование идентификаторов с другими объектами
Сообщение об ошибке показано ниже:

Причина: Как показано на следующем рисунке, ошибка возникает, когда несколько имен пользователей используют один идентификатор.

4.4 Сопоставление нескольких идентификаторов
Сообщение об ошибке показано ниже:

Причина: Как показано на следующем рисунке, эта ошибка возникает, когда для одного имени пользователя существует несколько идентификаторов.

5. Невозможность построения древовидных наборов данных
Когда набор данных для синхронизации представляет собой древовидный набор данных, синхронизация часто не удается из-за проблем с построением древовидного набора данных, как показано в различных сценариях ниже:
Примечание: Терминология
- Маркер сектора: исходное поле маркера, выбранное при построении набора данных дерева.
- Родительский маркер сектора: поле родительского маркера, выбранное при построении набора данных дерева.

5.1 21300055-Statement, DEC Interactive Raw Marking Identical
Сообщение об ошибке "Report, DEC interaction original markup is the same" выдается, как показано на следующем рисунке:

Причина: В древовидном наборе данных один тег отдела используется для нескольких отделов, как, например, во взаимодействии с DEC на рисунке ниже, где все отчеты имеют номер a12, как показано на рисунке ниже:

5.2 21300056 - Отчеты с несколькими прямыми родителями
Ниже показано сообщение об ошибке "У отчета более одного прямого родительского отдела":

Причина: Отдел имеет более одного тега родительского отдела, например, pid отчета на рисунке ниже имеет теги a1, a2.

5.3 21300057 - Платформа принятия решений не может найти соответствующий родительский отдел
Сообщение об ошибке "Построение дерева не удалось, платформа принятия решений не смогла найти соответствующий родительский отдел" отображается, как показано на следующем рисунке:

Причина: Если тег родительского отдела пуст, то этот отдел является корневым отделом, если он не пуст и тег родительского отдела не может найти соответствующий отдел, то выдается сообщение об ошибке.
Как показано на рисунке ниже, платформа принятия решений имеет pid a3, но ни один отдел не имеет did a3, то есть не существует родительского отдела:
Примечание: При синхронизации пользовательского набора данных, если серверный набор данных представляет собой древовидный набор данных, родитель организации верхнего уровня должен быть равен нулю.

5.4 21300058 Отчет с несколькими оригинальными метками
Сообщение об ошибке "Отчет содержит более одного оригинального тега" показано ниже:

Причина: Если название отдела одинаковое и тег родительского отдела одинаковый, то это означает, что это один и тот же отдел, если же их теги отделов разные, то выдается сообщение об ошибке, как показано ниже на рисунке отчета их два: a13, a12.

5.5 21300059 Мертвая петля структуры "родитель-ребенок
Ниже показано сообщение об ошибке "Decision Reporting, SailSoft Software, DEC R&D образуют мертвую петлю в структуре родитель-ребенок":

Причина: Если родительская метка отдела 111 указывает на отдел 11, родительская метка отдела 11 указывает на отдел 1, а родительская метка отдела 1 указывает на отдел 111, образуя кольцо, то сообщается об ошибке.
На следующем рисунке родительский тег Sailsoft - a111, указывающий на DEC R&D, pid Decision Platform - a1, указывающий на Sailsoft, а pid DEC R&D - a11, указывающий на Decision Platform.

5.6 21300063 - Дублирование имен с другими исходными объектами
Сообщение об ошибке "Имя дублируется с другими исходными объектами" показано ниже:

Причина: В отделе, который импортировал набор данных дерева, и в синхронизированном отделе имеются дубликаты данных, например, если вы сначала синхронизировали набор данных дерева A, а затем импортировали набор данных дерева A, возникнет эта ошибка.
5.7 21300064-ID дублируется с другими исходными объектами
Сообщение об ошибке "ID дублируется с другими объектами источника" показано ниже:

Причина: В платформе есть встроенный отдел 2, при первой синхронизации набора данных дерева и выборе обновления с сохраненными привилегиями идентификаторы синхронизированного отдела 1 и встроенного отдела 2 в источнике данных совпадают, но имена отличаются, и после синхронизации будет выдано сообщение об ошибке.
6. ошибка проверки идентификатора
В случае древовидного набора данных, если параметр id отдела также отмечен, а столбец id отдела не является столбцом с меткой отдела, проверка id также будет выполнена, что приведет к глобальному сбою. Во всех следующих примерах столбец тега отдела - did, столбец тега родительского отдела - pid, а столбец идентификатора отдела - depId.
6.1 21300054 - Несоответствие между значениями меток секторов и идентификаторами секторов
Сообщение об ошибке "Значение метки отдела не соответствует идентификатору отдела" отображается, как показано на рисунке ниже:
Примечание: Для JAR 2020-08-03 и более поздних версий этот код ошибки не появляется.

Причина: Если отдел помечен как чистое число, например 11, 111, он будет непосредственно вставлен в таблицу отделов в finedb как элемент id, в это время, если платформа проверила другие столбцы как id отдела, и значение метки отдела не совпадает со значением проверенного id отдела, то она сообщит об ошибке. Рекомендуется, чтобы в источнике данных, когда метка отдела является чистым числом, использовать строку sql-оператора для сращивания английской буквы.

6.2 21300053-ID пуст
Ниже показано сообщение об ошибке "ID пуст":

Причина: В случае древовидного набора данных, если идентификатор отдела пуст после установки галочки в поле "Идентификатор отдела", он сообщит об ошибке глобально напрямую. Как показано на рисунке ниже:

6.3 21300051-Report ID дублируется с другими объектами
Сообщение об ошибке "Идентификатор отчета дублируется с другими объектами" показано ниже:

Причина: FlexSoft-Reporting использует тот же идентификатор отдела, что и FlexSoft-DecisionPlatform. как показано на следующем рисунке:

6.4 21300050-Report соответствует нескольким идентификаторам
Сообщение об ошибке "Отчеты соответствуют нескольким идентификаторам" показано на рисунке ниже:

Причина: Эта ошибка будет выдана, когда в отделе есть более одного идентификатора отдела, например, как показано на рисунке выше, в программе-отчете sail есть a12, a15 два идентификатора отдела, как показано на следующем рисунке:

6.5 21300052 Конфликт между платформой Decision и унаследованным идентификатором
Сообщение об ошибке "Конфликт платформы принятия решения и оригинального идентификатора" показано ниже:
Примечание: Для JAR 2020-06-08 и более поздних версий этот код ошибки не появляется.

Причина: Идентификатор отдела был изменен, и он сообщает об ошибке, что он противоречит первоначальному идентификатору отдела.
7. 21300031 - Установить достигнутое значение прерывания
Сообщение об ошибке "21300031 - Количество синхронизируемых пользователей будет уменьшено на XX% (XX пользователей), достигнув установленного значения прерывания XX%. Пожалуйста, проверьте, нормальны ли данные источника данных, или временно отключите функцию "Прерывание синхронизации аномальных данных".".
Как показано на рисунке ниже:

Причина:
Синхронизация пользователей сильно зависит от источника данных. Если с источником данных возникнут проблемы, например, будет злонамеренно опустошена таблица базы данных, это приведет к тому, что пользователи, синхронизированные с системой, будут опустошены, и эту операцию нельзя будет отменить.
Поэтому FineReport предлагает стратегию синхронизации. 5.1.15 и более поздние версии BI-проекта имеют новую кнопку "Abnormal Data Discontinue Sync".
Когда администратор включает функцию "Синхронизация с прерыванием аномальных данных", он может задать количество пользователей, чтобы остановить синхронизацию, когда количество пользователей уменьшится на X%. X - целое положительное число от 1 до 100.
Например, если в системе изначально 100 синхронизированных пользователей (без учета количества пользователей, добавленных/импортированных вручную), установка значения 30 % означает, что синхронизация прекратится при уменьшении количества пользователей на 30 (100*30 %) и выше.
8. 21307213 - Нелегальные узлы
Описание проблемы:
Синхронизация пользователей не удается после установки и использования плагина "Синхронизация пользователей домена LDAP", появляется сообщение об ошибке:
Причина отказа: 21307213 - Нелегальный узел
Пользователи в разделе Пользователи.
user1 --> пользователь под пользователем
Отделы под пользователями.
user2-->cn=Отдел под пользователем,cn=xxx,cn=xx,cn=роли,o=fanruan,dc=fr,dc=com
Роли в разделе Пользователи.
user3-->Роль под пользователем".
Как показано на рисунке ниже:

Анализ причин:
Данные на сервере LDAP существуют в нелистовом узле данных пользователя, под которым также существует узел данных пользователя/отдела/роли.
При синхронизации пользователей одинаковое содержимое выбирается для атрибутов пользователя, атрибутов отдела и атрибутов роли.
Тогда проверка структуры данных во время синхронизации сообщит об ошибке и завершит задачу синхронизации пользователя LDAP.
Решение:
Либо синхронизируются только пользователи, а не роли отделов и т. д.
Либо настройте хранение данных на сервере LDAP