Вопрос

Добрый день!

При вызове скрипта генерирования печатной формы в бизнес-процессе он падает с ошибкой:

System.NullReferenceException: Object reference not set to an instance of an object.
   at Terrasoft.Configuration.ReportService.ReportService.GetSchemaNameByTemplateId(Guid templateId)

Определили, что это возникает только когда бизнес-процесс вызывается сигналом или событием, т.е. только тогда когда процесс запускается от имени Supervisor. Запускаем вручную - всё работает отлично.

Вопросы: как можно заменить Supervisor на другого пользователя? Или может посоветуете как получить UserConnection другого пользователя для выполнения ReportService? Возможно ли обойтись в ReportService без UserConnection?

Спасибо!

У меня такой же вопрос

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

а как происходит инициализация ReportService в бп?

Ранее тема обсуждалась тут и тут. В ReportService в логике функций GenerateMSWordReport или GenerateDevExpressReport есть фрагменты, которые позволяют его запускать только при работе из браузера, но не в фоновом режиме с сервера, когда UserConnection нет. В комментариях один из участников рассказал, что в итоге переделал этот сервис, чтобы не использовать UserConnection. А другой предложил запускать от имени какого-то пользователя посредством ProcessEngineService, так работает нормально.

Варфоломеев Данила,

Процесс запускается через задание-сценарий вызовом 

GenerateMSWordReport, в который передаются параметры бизнес-процесса и UserConnection

 

Зверев Александр,

Спасибо вам за информацию!

Мы заметили, что новый функционал в 7.13.2 "Фоновое выполнение операции" предназначен для запуска фоновых задач, которые требуют UserConnection. Я правильно понимаю, что с помощью этого функционала можно создать UserConnection для передачи в GenerateMSWordReport? (https://academy.terrasoft.ru/documents/technic-sdk/7-13/fonovoe-vypolne…)

Зверев Александр,

и может вы знаете как на время изменить в процессе системную настройку текущего системного пользователя по умолчанию с Supervisor на другого пользователя, чтобы таким образом взять его UserConnection?

Дело не в том, что это конкретно Supervisor. Если под Supervisor зайти в систему и по действию построить отчёт, всё отработает.

Варианты по ссылкам предлагались ещё до появления 7.13.2, можете проверить и этот механизм.

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

Добрый день!
Установлен bpm'online service enterprise v7.8. После обновления SQL Server 2014 до SP2 возникла проблема:
При редактировании записей пользователем supervisor выходит ошибка, например Недостаточно прав для изменения записи в объекте "Сервисные договоры".

У меня такой же вопрос

3 комментария

Добрый день, Ольга.

Данная ошибка говорит о том, что у пользователю не выданы лицензии. Рекомендуем проверить наличие лицензий у пользователей, в частности у Supervisor.

Если приведенное решение не исправит проблему, рекомендуем обратиться в Техническую поддержку.

Распределение прав по разделам проверили, все на месте, во вложении скрин конкретно раздела "Сервисный договор"

Ольга, наличие лицензий необходимо проверить в пункте меню Управление лицензиями пользователей (см. скрин). В менеджере лицензий необходимо проверить выданы ли лицензии необходимым пользователям, в вашем случае лицензия service enterprise.
Если все лицензии выданы корректно, но прав на создание записей в разделах нет, обратитесь в Техническую поддержку для более детального анализа проблемы.

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

Установлена системы на новой машине (сервер), поднята база и создан пользователь supervisor с ролью sysadmin. При попытке войти в систему выпадает ошибка с сообщением о том, что пользователь Supervisor не входит в список доверенных подключений SQL. На машине установлен MS SQL 2005, Terrasoft 3.3.1. Подскажите, может кто-нибудь сталкивался с подобной проблемой?

У меня такой же вопрос

4 комментария

случайно не Windows-авторизация на сервере стоит?

ООО "Лайнсервис"
www.ls-crm.ru

По моему, да. Не мной ставился MS SQl.

Если да, то тогда проблема на уровне доступа пользователя Windows под именем Supervisor на комп с SQL-сервером, его туда не пускают.
Поставить можно SQL-сервера авторизацию вместо Windows

ООО "Лайнсервис"
www.ls-crm.ru

"Александр Кудряшов" написал:Поставить можно SQL-сервера авторизацию вместо Windows

А именно смешанный режим аутентификации (Mixed Mode).

В контекстном меню корневого элемента выбрать "Properties" -> "Security" -> Server authentication

Дополнительно рекомендую на клиенте включить протоколы TCP/IP и Named Pipes.
Сделать это можно запустив утилиту "cliconfg".

Terrasoft Support Team

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

Столкнулся с проблемой, после лицензирования пользователей, я "привязал" пользователя Supervisor к реальному контакту(переименовал карточку Контакт), однако по всем записям, кот. создает супервизор есть доступ для группы . Раньше, когда я заполнял базу под этим пользователем наоборот меня все устраивало....,а сейчас как-то не очень :-), когда к письмам, задачам и т.д. конфиденциальной информации все будут иметь доступ, хотелось бы это убрать, раз и на всегда(а не каждый раз удалять эту группу из доступа). Но в разделе Администрирование на закладке "Доступ по умолчанию" у этого пользователя нигде не настроено, что имеют доступ к создаваемым supervisor'ом записям. Подскажите где убрать?
версия программы 3.2.1.14

У меня такой же вопрос

2 комментария

Данная опция регулируется исключительно [Правами доступа по умолчанию].
т.е. в момент создания записи система смотрит в таблицу прав по умолчанию и добавляет данные права к записи.
Дело в том что права доступа по умолчанию могут раздаваться как для отдельных пользователей, так и на группы. Скорей всего у Вас данные права настроены в правах по умолчанию для группы [Все пользователи](так как supervisor входит в данную группу).
Проверьте настройки прав доступа по умолчанию для данного пользователя и для групп к которым он относиться.
В случае если права не розданы, а группа [Все пользователи] всеравно добавляется к [Доступу] данной записи - обратитесь в службу технической поддержки по адресу support@tscrm.com, для определения причин данного сбоя именно на Вашей базе.

Большое спасибо!:-) Я совсем забыл о глобальной группе "Все пользователи", из которой я Supervisor'а не исключал... А по этой группе доступ по умолчанию настроен для всех таблиц.

Войдите или зарегистрируйтесь, чтобы комментировать