Вопрос

После обновления с 7.12.2 до 7.12.4 начали появляться ошибки в процессе Синхронизировать почту

1:

System.Threading.ThreadAbortException: Thread was being aborted.
   at System.Threading.Monitor.Enter(Object obj)
   at Terrasoft.Core.SchemaManagerProvider.GetManager(String managerName)
   at Terrasoft.Core.MetaDataSerializer.<Deserialize>d__7.MoveNext()
   at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source)
   at Terrasoft.Core.ServerContentGeneration.RuntimeEntitySchemaCreator.Create(Stream stream, EntitySchemaManager entitySchemaManager)
   at Terrasoft.Core.Entities.EntitySchemaManager.CreateRuntimeEntitySchema(ISchemaManagerItem schemaManagerItem, Assembly assembly)
   at Terrasoft.Core.SchemaManagerItem`1.get_SafeInstance()
   at Terrasoft.Core.Manager`2.FindInstanceByUId(Guid uid)
   at Terrasoft.Core.SchemaProperty.get_ReferenceSchema()
   at Terrasoft.Core.Entities.EntitySchemaColumn.get_ColumnValueName()
   at Terrasoft.Core.Entities.EntitySchemaQuery.CreatePrimaryImageExpression(EntitySchemaColumn schemaColumn, String columnPath)
   at Terrasoft.Core.Entities.EntitySchemaQuery.SetExpressionsForLookup(String columnPath, EntitySchemaQueryColumn queryColumn, EntitySchemaColumn schemaColumn)
   at Terrasoft.Core.Entities.EntitySchemaQuery.CreateColumn(String columnPath)
   at Terrasoft.Core.Entities.EntitySchemaQuery.AddColumn(String columnPath)
   at Terrasoft.Core.Entities.EntitySchema.CreateSelect(UserConnection userConnection, IEnumerable`1 columns, Boolean takeDisplayLookupValues, EntitySchemaColumnMap& columnMap, Boolean useAdminRights, Nullable`1 localizationCultureId)
   at Terrasoft.Core.Entities.Entity.InternalFetchFromDB(IEnumerable`1 columnsToFetch, IDictionary`2 conditions, Boolean useDisplayValues)
   at Terrasoft.Mail.MailSynchronizer.GetMailboxSyncSettings()
   at Terrasoft.Mail.MailSynchronizer..ctor(UserConnection userConnection, MailCredentials credentials, Boolean login)
   at Terrasoft.Core.Process.SyncImapMail.ScriptTask1Execute(ProcessExecutingContext context)
   at Terrasoft.Core.Process.ProcessFlowElement.Execute(ProcessExecutingContext context)

2:

Terrasoft.Core.InstanceActivationException: Ошибка создания экземпляра класса "Terrasoft.Mail.ISyncStrategy" ---> Ninject.ActivationException: Error activating ISyncStrategy
No matching bindings are available, and the type is not self-bindable.
Activation path:
  1) Request for ISyncStrategy
 
Suggestions:
  1) Ensure that you have defined a binding for ISyncStrategy.
  2) If the binding was defined in a module, ensure that the module has been loaded into the kernel.
  3) Ensure you have not accidentally created more than one kernel.
  4) If you are using constructor arguments, ensure that the parameter name matches the constructors parameter name.
  5) If you are using automatic module loading, ensure the search path and filters are correct.
 
   at Ninject.KernelBase.Resolve(IRequest request, Boolean handleMissingBindings)
   at Ninject.ResolutionExtensions.Get[T](IResolutionRoot root, String name, IParameter[] parameters)
   at Terrasoft.Core.Factories.ClassFactory.GetInstance[T](Func`1 action)
   --- End of inner exception stack trace ---
   at Terrasoft.Core.Factories.ClassFactory.GetInstance[T](Func`1 action)
   at Terrasoft.Mail.MailSynchronizer.SyncImapMail()
   at Terrasoft.Core.Process.SyncImapMail.ScriptTask1Execute(ProcessExecutingContext context)
   at Terrasoft.Core.Process.ProcessFlowElement.Execute(ProcessExecutingContext context)

С чем это может быть связано и как решить данную проблему?

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

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

Если вы не переделывали базовый функционал никак, то создайте лучше обращение в тех поддержку, так будет лучше.

Такое сообщение значит, что просто был завершен поток выполнения, и завершен он был не средствами системы BPM. Причины могут быть самыми разными, в том числе и структура сети или настройки софта на сервере. Нужно подключаться и проводить отладку.

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

О компании

Компания DB Schenker является лидером по предоставлению передовых международных логистических услуг, поддерживает промышленность и торговлю, осуществляя всемирный обмен товарами посредством наземного транспорта, всемирных воздушных и морских грузоперевозок, контрактной логистики и управления цепочками поставок.

 

Предпосылки внедрения bpmonline

Вся работа с заявками клиентов на перевозку до внедрения bpmonline велась в почтовом клиенте Outlook. Такой подход усложнял обработку заявок клиентов и контроль эффективности менеджеров. Для составления отчетов о количестве заявок от клиентов требовалось значительное время. Не было понимания общей картины работы менеджеров и отсутствовала аналитика удовлетворенности клиентов от взаимодействия с компанией.

 

Задачи внедрения bpmonline

  • Автоматизация процесса обработки обращений клиентов
  • Автоматизация процессов коммуникаций между смежными отделами компаний

Выполненные настройки

В первую очередь были формализованы процессы взаимодействия с клиентами. Последовательность действий менеджера зависит от продукта, по которому обращается клиент. На основании этого составлен список сервисов, по которым может обратиться клиент и предусмотрены сроки выполнения заявок. Следующим шагом была детальная проработка и настройка кейсов с помощью инструмента Case Management. В разделе [Обращения] настроены кейсы в зависимости от сервиса. В каждом кейсе реализованы соответствующие подпроцессы и добавлены активности для менеджеров. Подпроцессы выполняют автоматическую отправку писем с целью запроса информации необходимой для выполнения запроса клиента у сотрудников смежных отделов.

Поскольку при взаимодействии с клиентом и выполнении его заявки есть необходимость направлять письма другим сотрудникам и несколько раз согласовывать информацию с клиентом, то принципиально важным был вопрос уведомления менеджера о получении ответов по письмам, «привязанным» к обращению, которое у него в работе. Для решения этой задачи реализован процесс заливки цветом тех обращений, у которых проставлен признак «Получен ответ». Этот признак, в свою очередь, присваивается тем обращениям, у которых появилось письмо с типом входящее. После прочтения менеджер снимает признак «Получен ответ» и обращение приобретает стандартный цвет в реестре записей.

Для ускорения процесса распределения и обработки заявок клиентов был реализован вспомогательный процесс автоматического назначения ответственным за обращение того менеджера, который является ответственным за контрагента. После тестирования, этот функционал дополнили процессом автоматического назначения ответственного за продукт, который должен быть добавлен в карточке контрагента. Если продукты контрагента не определены, то ответственным назначается ответственный за клиента.

После автоматизации процессов обработки заявок на перевозку был адаптирован процесс оценки обращений согласно требованиям клиента. Отправка уведомления с целью запроса оценки по обращению должна выполняться, но клиенты, которые постоянно сотрудничают с компанией DB Schenker, не должны получать системные уведомления. Для решения задачи была создана группа сервисов, при выборе которых запрос оценки по обращению не осуществляется.  Кроме этого, реализован кейс, в котором менеджер может перевести обращение на стадию «Запрос оценки», что запустит процесс отправки уведомления клиенту. Таким образом запрос оценок происходит по определенным клиентам там, где необходимо мониторить качество работы менеджеров.

Результат

Изменения процессов, которые произошли в результате внедрения bpmonline, значительно усовершенствовали взаимодействие менеджеров с клиентами компании. Результатом внедрения стал ряд достижений и улучшений:

  1. Агрегация всей информации в одной системе, что позволяет отслеживать и анализировать показатели работы менеджеров.
  2. Настройка процессов, которые помогают менеджеру выполнять заявку клиента, создают соответствующие активности и автоматически выполняют действия вместо менеджера.
  3. Возможность получать данные об удовлетворенности клиентов и запрашивать оценку в индивидуальном порядке с целью ограничить постоянных клиентов от множества писем.

Поделиться

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

Здравствуйте. Была необходимость в добавлении дополнительного поля поиска в LookupPage. 

На данный момент решил задачу путем замещения модуля LookupPageViewGenerator и изменения в нем метода getFilteringControlsConfig

Проблема в том, что для выполнения этих действий пришлось копировать весь код из модуля LookupPageViewGenerator и добавлять свои небольшие изменения. 

Вопрос: можно ли как-то заместить или расширить этот модуль не копируя весь код, чтобы просто изменить тот метод, который мне нужен? Если да, то как потом его использовать на странице, например "Обращения"?

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

2 комментария
Лучший ответ

Посмотрите здесь уже обсуждалась подобная тема.

Если Вам нужно использовать окно подобного вида не везде, то Вы можете реализовать свое кастомное окно и вызывать его в методе openLookup.

Кастомное окно можно реализовать не как замещенное, а как наследник от LookupPageViewGenerator и переопределить нужные методы.

Также мне не совсем понятно, если Вы действительно замещали LookupPageViewGenerator, то зачем тогда копировали весь код, ведь могли переопределить только нужные методы?

 

Посмотрите здесь уже обсуждалась подобная тема.

Если Вам нужно использовать окно подобного вида не везде, то Вы можете реализовать свое кастомное окно и вызывать его в методе openLookup.

Кастомное окно можно реализовать не как замещенное, а как наследник от LookupPageViewGenerator и переопределить нужные методы.

Также мне не совсем понятно, если Вы действительно замещали LookupPageViewGenerator, то зачем тогда копировали весь код, ведь могли переопределить только нужные методы?

 

Лучше клиентские модули не замещать

В 7.13.1 добавлен запрет на создание и установку новых замещающих клиентских модулей.

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

В вашем случае лучше унаследовать свой модуль от LookupPageViewGenerator создать свою страницу справочника скопировав LookupPage со всеми зависимястями заменив LookupPageViewGenerator на свой вариант

И дальше на странице Обращения в атрибутах указать lookupListConfig параметр lookupPageName:

"EmployeesNumber": {
                        dataValueType: Terrasoft.DataValueType.LOOKUP,
                        lookupListConfig: {
                            orders: [{columnPath: "Position"}],                            lookupPageName: ВашаСтраницаLookupPage 
                        }
                    },

 

Таким образом ваш вариант будет вызыватся лишь там где вы в атрибутах явно зададите lookupPageName что вы и хотели!

 

 

 

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

Здравствуйте! Задача, создать группу чекбоксов меняющуюся в зависимости от значения другого поля. В bpmonline вообще можно реализовать группу чекбоксов? Или есть другой способ реализации этой задачи (постановка ниже)?

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

1 комментарий
Лучший ответ

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

Для изменения чекбоксов стоит прописать зависимость значений от поля(ей) и прописать методы обработки изменений 
Есть пример на академии по реализации вычисляемых полей https://academy.terrasoft.ru/documents/technic-sdk/7-13/dobavlenie-vych…

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

Для изменения чекбоксов стоит прописать зависимость значений от поля(ей) и прописать методы обработки изменений 
Есть пример на академии по реализации вычисляемых полей https://academy.terrasoft.ru/documents/technic-sdk/7-13/dobavlenie-vych…

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

Версия 7.12.4.

Добавил деталь в р. "Обращения портала"
При инициализации детали получаю ошибку: 

После отладки выявлено, что ошибка связана с вызовом не существующего сallback в методе initDetailRunProcessButtonMenu миксина  ProcessEntryPointUtilities.
В результате этой ошибки деталь не отображается в карточке Обращения на портале.

 

 

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

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

Если в стандартной детали логика этой же функции initDetailRunProcessButtonMenu отрабатывает нормально, дело может быть в неверно созданной Вашей. Попробуйте в обоих случаях посмотреть в отладчике запуск этой функции и посмотреть, в чём разница.

/**
 * Initializes "Run process" menu items in detail.
 * @param {Function} callback Callback function.
 * @param {Object} scope Execution context.
 * @protected
 */
initDetailRunProcessButtonMenu: function(callback, scope) {
	var processButtonMenu = this.get("RunProcessButtonMenuItems");
	if (!processButtonMenu) {
		processButtonMenu = this.Ext.create("Terrasoft.BaseViewModelCollection");
		this.set("RunProcessButtonMenuItems", processButtonMenu);
	}
	if (Terrasoft.ProcessEntryPointUtilities.getCanRunProcessFromSection()) {
		this._initDetailAvailableProcessList(processButtonMenu, callback, scope);
	} else {
		callback.call(scope);
	}
},

Возможно, для стандартной детали до else и не доходит.

Илья, добрый день.
В том то и дело, что 

Terrasoft.ProcessEntryPointUtilities.getCanRunProcessFromSection() и проверяет, не является ли пользователь пользователем портала, и в интерфейсе сотрудника возвращает true, и как следствие выполняется this._initDetailAvailableProcessList(processButtonMenu, callback, scope);

НО если пользователь является пользователем портала, то выполняется callback.call(scope);, а callback в этот метод не передается и равен undefind

Т.о. при выводе детали для пользователя портала  получаем ошибку

Сравните с другой деталью тоже на портале, как там работает эта функция.

Мотков Илья,

Деталей на портале нет. 
Вопрос в том, почему в initDetailRunProcessButtonMenu не передаётся callback

Видимо, потому и не передаётся, что деталей нет и никто не планировал запускать там эту функцию. Посмотрите, во отладке что это за анонимная функция, которая её вызывает и в чём разница в запуске на портале и в обычном разделе.

Мотков Илья,

Метод initDetailRunProcessButtonMenu  вызывается в BaseGridDetailV2 в методе initData и не принимает аргументы (см. https://yadi.sk/i/UoJ5M8kHo9s1kw)

Но в условии else вызывается callback.call(scope);, который по определению вернёт ошибку( т.к. initDetailRunProcessButtonMenu  не принимает аргументов)

Сам метод initDetailRunProcessButtonMenu   описан в схеме-миксине ProcessEntryPointUtilities

Я пытаюсь указать на баг базовой функциональности, который ограничивает использование деталей на портале пользователей.

Для себя временной решение я уже нашёл, но хотелось бы получить исправление в коробочной версии.

Либо переделайте initData, чтобы передавала в функцию эти два параметра, либо в самой initDetailRunProcessButtonMenu добавьте проверку на заполненность параметра, либо, если initData — это единственное место в системе, где функцию initDetailRunProcessButtonMenu вызывают и else не сможет отработать в принципе, исключите нижнюю ветвь.

Мотков Илья,

Илья, решение я уже нашёл (заместил 

BaseGridDetailV2 и метод initDetailRunProcessButtonMenu.)
Целью этой публикации на community является обратить внимание поддержки Terrasoft на не корректную реализацию метода initDetailRunProcessButtonMenu и на проблемы, которые, эта реализация вызывает. 
Чтобы это по возможности было исправлено в следующих релизах.

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

Если же вызывается тоже без, но в обычном разделе до else никогда на доходит, то надо эту ветвь просто вырезать.

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

Статья в академии: 
https://academy.terrasoft.ru/documents/technic-sdk/7-12/kak-polnostyu-z…

Поля блокируются, всё хорошо.

НО при открытии страницы в мастере раздела получаю ошибку: https://yadi.sk/i/Iw8x4ARU_TBGbw

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

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

Первое, что приходит на ум, это необходимость проверить на странице наличие следующего:
 

    details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
    diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/,
    businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/
​​​​​​​    modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/,

Хотя, то, что у вас отображено, скорее связано с чем-то другим

Литвинко Павел,

Дизайнер не может поменять видимость. Он отрабатывает только то что задано в diff и onEntityInitialized. Т.е. если у вас программно (не правилами) скрыты все поля на карте по умолчанию, то конечно вот так и будет. Я в свое время писал на поддержку пожелание об исключении кастомной логики из дизайнера... но увы. 

Может быть, представители службы поддержки нам подскажут, реализовано ли данное пожелание Дмитрия Степанова в новой версии 7.12.4, либо уже есть понимание, в какой из следующих версий и когда ориентировочно оно будет реализовано?

Алла, для этого лучше запросить у Дмитрия номер или дату того обращения, а затем запросить в поддержке информацию по этому номеру. Если оно было в последние несколько дней, то маловероятно, что уже успели включить.

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

О компании

Компания Ticketland.ru — крупнейший билетный оператор России в сегменте «живых» развлечений: спектакли, концерты, мюзиклы, фестивали, классическая музыка, спорт, а также любые мероприятия для детей. Приоритетами компании являются высокое качество обслуживания клиентов и удовлетворение их желания найти для себя наиболее интересное событие.

 Предпосылки внедрения bpmonline

Специфика работы компании подразумевает постоянную необходимость консультировать своих клиентов по предстоящим мероприятиям и оперативно отвечать на их вопросы. До внедрения системы не было возможности обрабатывать в единой системе все запросы от клиентов. Также ранее не было возможности внести изменение в процесс обработки обращений, а bpmonline предоставляет возможность настраивать систему с учетом потребностей бизнеса без привлечения разработчика.

Основные задачи проекта

Главными задачами внедрения bpmonline customer center стали автоматизация процесса принятия входящих звонков, а также создание обращений в единой системе с возможностью анализировать категории обращений с целью улучшения качества работы и повышения лояльности со стороны своих клиентов.

Выполненные настройки

Команда внедрения системы, в которую вошли сотрудники компании Ticketland, совместно с CSM менеджером bpmonline добавили справочные поля Подкатегория сервиса и Линия в разделе [Обращение]. Далее был изменён объект системы Объект администрирования, куда были добавлены колонки Линия, Группа ответственных и проставлены взаимосвязи между подкатегориями сервиса, линиями поддержки и группами ответственных.

Далее с помощью мастера раздела в разделе [Обращение] на вкладке Бизнес-правила были созданы правила, в соответствии с которыми выполняется фильтрация полей, например:

1. При выборе определённого сервиса доступны только подчинённые подсервисы.

2. При выборе подсервиса доступны только определённые группы ответственных, которые могут решить обращения данной специфики.

Таким образом был максимально упрощен процесс регистрации обращений для оператора, который принимает входящий звонок и не может самостоятельно предоставить готовое решение инициатору звонка. Оператору необходимо всего лишь выбрать сервис, подсервис и доступную группу ответственных из выпадающего списка, далее тезисно зафиксировать тему обращения, что значительно сокращает временные затраты на оформление обращения.

Согласно базовым настройкам, после сохранения обращения группа ответственных получает email–уведомление. Таким образом система позволяет максимально быстро подключить компетентного специалиста к решению вопроса. Как только обращение взято в работу, клиент получает уведомление на почту.

Следующей важной задачей стал контроль скорости взятия в работу заявок и контроль предоставления обратной связи. Для этого команда внедрения настроила бизнес-процесс, который определяет ответственных для каждой группы обращений, а также время предоставления клиенту обратной связи от специалиста техподдержки. В случае превышения указанного времени система отправляет соответствующее уведомление руководителю отдела на почту. Такой подход позволяет руководителям подразделений контролировать качество работы их специалистов.

В случае не вовремя обработанного обращения (например, через 24 часа после уведомления руководителя группы ответственных) система уведомит об этом руководителя подразделения. Ещё через 48 часов уведомление получит руководитель всего технического департамента.

Помимо уведомлений на почту, в системе настроен раздел [Итоги], в котором операторы и руководители могут увидеть:

1. обращения, которые не были обработаны в срок;

2. количество обработанных обращений по ответственному;

3. количество обращений по каждой подкатегории сервиса;

4. динамику решения обращений;

5. уровень удовлетворенности по обращениям в разрезе отделов;

6. общие данные по всей технической поддержке.

Результат

Внедрение bpmonline позволило отладить удобный и быстрый процесс первичной обработки входящих звонков, а также правильно регистрировать обращения и эскалировать их на следующие линии поддержки.

Благодаря построенному бизнес-процессу руководство компании получает уведомления о сложных или просроченных обращениях, а настроенный раздел [Итоги] даёт возможность в любое время увидеть полную картину как отдельного оператора, так и всей поддержки в целом.

Поделиться

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

Добрый день.

Настраиваю интеграцию с телефонией Infinity.

После установки BPMonline Messaging Service и настройки в логах

BPMonline Messaging Service получаю ошибку:

ERROR Terrasoft.Messaging.Core.MessagingServer - AgatInfinityConnector.AgatInfinityConnectorException: Plugins path does not exists
   в AgatInfinityConnector.AgatInfinityConnectorManager.GetAvailableFactories(String pluginsPath_, String logFileName_)
   в Terrasoft.Messaging.Infinity.InfinityConnectionFactory.CreateConnection(IDictionary`2 connectionParameters, IDictionary`2 sessionServiceParameters)
   в Terrasoft.Messaging.Core.MessagingServer.ProcessMsgCommand(MsgCommandInfo msgCommand, WebSocketSession session)

Что и где надо еще настроить? Что за папка Plugins? Где должна находится?

 

Спасибо.

 

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

1 комментарий

Сбой возникает внутри библиотеки AgatInfinityConnector, предоставляемой авторами телефонии. На их сайте есть описание этой функции:

/// <summary>
/// Возвращает список доступных фабрик коннекторов. Каждая фабрика - это плагин,
/// расположенный рядом с этой сборкой. В ближайшее время предполагается три фабрики:
/// Infinity 4
/// Infinity X
/// IP-АТС Agat-UX
/// </summary>
/// <returns>Список фабрик</returns>
 
public static IEnumerable<IAgatInfinityConnectorFactory> GetAvailableFactories(
string pluginsPath_ = "",
string logFileName_ = "");
}
 
 

За более подробной информацией, где взять эти плагины и какой из них нужен, лучше уточнить у поставщика телефонии.

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

Добрый день.
Есть следующий кейс:
Необходимо создать рабочие места на портале самообслуживания для разных ролей пользователей портала  (Клиенты и партнёры) с различным набором разделов и соответствующими доступами для конкретного пользователя. Данный подход уже реализован на портале самообслуживания Terrasoft. 

Как можно решить данный кейс? 

Обнаружил, что в группу "Все пользователи портала" нельзя добавить подчинённые группы. И даже добавить их с помощью sql-инъекции, права для портала на них не распространяются.
  
 

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

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

Специальной логики с разными разделами на портале Terrasoft нет. Для разграничения прав на обращения только своей компании используются обычные группы (например, по контрагентам), не входящие в группу  «Все пользователи портала».

Мотков Илья,

Меня интересует именно создание разных рабочих мест на портале самообслуживания, и предоставление на них доступа для разных дочерних ролей (Клиенты/Партнёры) роли "Все пользователи портала".

С точки зрения разработки, портал является одним отдельным рабочим местом со своими разделами. 

Как добавлять свои разделы на портале, обсуждалось в этой теме.

Мотков Илья,

На портале самообслуживания для партнёров есть два рабочих места с разным набором разделов.
Прошу поделится кейсом реализации подобной функциональности.

 

Игорь, это настраивается при помощи стандартных механизмов рабочих мест и прав доступа на них для разных пользователей.

Мотков Илья,

Прошу предоставить инструкцию по реализации такой настройки.
Пытался сделать, с использованием базовых механизмов орг. и функциональных ролей, но выделить в них отдельные  группы пользователей портала нет возможности:
1. Для пользователя портала нельзя добавить функциональные роли.
2. Для орг. группы "Все пользователи порта" нельзя добавить подчинённые орг. группы.

3. Как быть с настройкой аналитики на главной странице портала для разных групп пользователей?

И получается, что если я буду добавлять доступ на конкретное рабочее место для отдельных пользователей, то всё равно эти пользователи будут видеть все рабочие места всех пользователей портала.

Игорь, инструкция по настройке портала есть здесь, других инструкций нет. Покажите скриншоты, что именно на портале Terrasoft Вы имеете в виду, какие именно рабочие места?

Мотков Илья,

https://yadi.sk/i/ok6bQr773ZkKoy

Вы можете создать ещё одно место в настройке рабочих мест и указать там нужные портальные разделы и группу всех пользователей портала.

Тогда это новое место будет доступно для всех пользователь портала, а мне нужно только для определённой подгруппы

Да, всё верно. Для группы «All portal users».

Мотков Илья,

Т.е. для обеих рабочих мест дан доступ только для пользователей портала?

Из Вашего скриншота это нельзя достоверно выяснить. Попробовал на тестовой базе, добавил второе рабочее место с указанием прав для этой группы, зашёл под портальным пользователем — видно оба рабочих места.

Да, рабочее место создать можно.

Но вопрос в другом: Как отобразить рабочие места в зависимости от роли пользователя портала (партнёр/клиент)?

Все пользователи портала входят в одну и ту же роль.

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

Как добавить печатные формы пользователям портал?

В печатные формы добавил, установил галки "для раздела", "для карточки", но "Печать" со списком доступных печатных форм не появилfсь.

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

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

Добрый день, Евгений!

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

Анна Журавель,

спасибо, может подскажете в какую сторону смотреть с точки зрения доработки?

Видимо, смотреть, как реализованы печатные формы в обычных разделах с точки зрения интерфейса и БД, а затем изучать портальные страницы на предмет возможности добавить аналогичные элементы. Плюс учитывать особые механизмы прав на всё для портальных пользователей.

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