Вопрос

Каким образом использовать функционал сервисных инженеров по сервису? 

В курсах указано:

1) Создать сервис и указать сервисных инженеров по уровню поддержки

2) В обращении указать сервис и уровень поддержки (по умолчанию указан 1 уровень), после чего в полях группа ответственных и ответственный должны быть доступны выбранные группы/ответственные. Но такого не происходит. Доступны все группы и все пользователи.

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

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

А стрелка вниз в этом поле ещё работает? Кажется, ею можно было вызвать отфильтрованный список

 

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

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

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

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

Прихожу к выводу, что при изменении группы ответственных надо знать еще и предыдущее значение группу. Если оно было пустое, то процесс не вызывать. Только вот как реализовать?

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

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

Добрый день.

Если хотите сравнивать значения до и после, то есть 2 варианта.

1. Запускать процесс не по сигналу, а из клиентских скриптов, например, из карточки редактирования обращения.

2. Реализовать данную логику через событийные процессы схемы таблицы на серверной стороне.

И в одном, и в другом случае есть возможность сравнить значение до изменения и после.

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

Добрый день.

Если хотите сравнивать значения до и после, то есть 2 варианта.

1. Запускать процесс не по сигналу, а из клиентских скриптов, например, из карточки редактирования обращения.

2. Реализовать данную логику через событийные процессы схемы таблицы на серверной стороне.

И в одном, и в другом случае есть возможность сравнить значение до изменения и после.

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

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

Добрый день!

Возник небольшой вопрос по настройке global search.  Файл onsite-custom-onboard отредактировал, докер контейнеры создал. Но при этом все контейнеры имею нулевой адрес. С чем это связано?

Заранее благодарю за помощь!

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

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

Добрый день, Роман!

По Вашему вопросу о указании адреса в настройках: 
Если все эти компоненты поднимаются в контейнере, т.е. run_mysql, run_elasticsearch и run_rabbitmq равно 1, то адреса необходимо оставить такие же, как в примере.

Также см. тему о настройке поиска.

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

Добрый день!

Подскажите, как в системе Service Enterpise правильно настроить календарь 24x7 в справочнике Календари.

Если указывать рабочее время с 0:00 до 23:59 то при подсчёте, например, кол-ва минут

между датами регистрации и планового решения обращения с учетом  календаря 24x7, теряются минуты.

Для рас чета используется функция  GetWorkingTimeSpan из схемы TermCalculatorActions.

Пример:

Дата создания: 2019-10-01 12:21:54.0000000

Дата планового решения: 2019-10-03 12:21:39.0000000

Срок решения: 2 календарных дня.

sql datediff: 2880 минут

расчёт с учетом календаря: 2878

 

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

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

Здравствуйте.

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

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

Здравствуйте.

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

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

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

Добрый день, 

Подскажите, возможно прикрепить email работающий по протоколу РОР3?

Если нет, то подскажите какие возможны решения.

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

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

Добрый день!

POP3 — старый протокол, от поддержки которого было принято решение отказаться. На данный в базовой версии bpm'online его нельзя использовать для интеграции с почтой. POP3 был так же удален из поддержки из-за того, что создавал уязвимые места в безопасности системы. Функционал с данной интеграцией был полностью удален из системы. 

Если он Вам необходим Вы можете доработать данный функционал в рамках проекта.

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

Здравствуйте!

Несколько раз встречали такое поведение системы, что после 13 часов (в 13:02, 13:07 и т. п.) останавливаются все процессы в системе (завершаются без ошибок). Следующие по расписанию процессы не стартуют, на триггеры не реагируют. На следующий день в 8:00 всё начинает работать как положено. С чем может быть связано такое поведение?

 

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

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

Выключают из розетки сервер, чтобы воткнуть микроволновку?laugh

Посмотрите в логах сервера, что происходит в это время. Также по поведению конкретных процессов узнать больше может помочь трассировка. Может, ещё какие-то ежедневные регламентные работы, настроенные по таймеру на серверах, где запущены IIS, БД или Redis. Таймер может быть и средствами Windows, и встроенный в MS SQL.

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

Добрый день.

На главной странице портала, есть грид с обращениями.

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

Как это можно реализовать?

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

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

Главная страница портала — по сути, та же страница-панель итогов. Самодельные виджеты в неё должны добавляться аналогичным образом. Только нужно учитывать ограничения прав на все объекты для портальных пользователей, если доступ не разрешён специально.

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

Добрый день

Есть в системе деталь, которая отображает запросы пользователей к сервису. Один пользователь может обращаться много раз. На каждый запрос формируется запись с ID пользователя, датой и типом запроса.

Как получить график количество уникальных пользователей за текущий квартал в группировке по датам. На SQL легко и просто.

SELECT
CAST(DATEADD(HH,3,EPMRequestDate) as date) as [Дата], --дата запроса с учетом часового пояса
COUNT(DISTINCT EPMAuthDataEnergyId) as [Уникальные пользователи],
COUNT(Id) as [Посещения]
FROM EPMAuthDataStatisticEntity
WHERE
EPMAuthDataEnergyId!='9bb71e40-09b4-4352-ba5a-0f55b486f8f0' --Исключение ИД
and EPMTypeRequest = 1 --тип запроса
and EPMRequestDate between DATEADD(M,-3, GETDATE()) and GETDATE() --Текущий квартал
GROUP BY CAST(DATEADD(HH,3,EPMRequestDate) as date)
ORDER BY CAST(DATEADD(HH,3,EPMRequestDate) as date)

Начинаю делать в BPM и получаю только количество посещений в день

Насколько понимаю стандартными средствами никак?

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

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

Нужно создать view в БД, на основе view создать объект. И уже делать график основываясь на данных виртуального объекта (view)

Поищите по форуму, как создаются объекты на основе вьюхи, вот например в этой теме есть инфа.

https://community.terrasoft.ru/questions/sozdanie-obekta-na-osnove-db-view

Нужно создать view в БД, на основе view создать объект. И уже делать график основываясь на данных виртуального объекта (view)

Поищите по форуму, как создаются объекты на основе вьюхи, вот например в этой теме есть инфа.

https://community.terrasoft.ru/questions/sozdanie-obekta-na-osnove-db-view

Благодарю за помощь. Создал View, объект в системе по ней и построил требуемые графики. Единственная сложность возникла при создании Объекта. Система требовала обязательно указать ключевое поле. Пришлось задать его во View

Да, для корректной работы view должна быть максимально похожа по набору стандартных полей на обычные объекты. Ещё поле для отображения указать будет не лишним.

Если не знаете, что вывести в качестве уникального Id, можно взять MD5-хэш от остальных полей.

 

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

Коллеги, добрый день.

Имеем классический трехуровневый ландшафт: Разработка (DEV), Тестирование (TST) и промышленный (PRD). В DEV включен режим разработки в файловой среде. Есть потребность в наполнении DEV данными из PRD. Именно только данные. Пробовал делать бэкап базы PRD и разворачивать его на DEV. Из минусов решения - это то, что все пакеты разработки становятся установленными из вне, теряют связь с хранилищем, заново приходится отключать все настройки синхронизации почты и перенастраивать интеграции на другие базы.

Есть вариант написать SQL скрипт в котором определить перечень некопируемых таблиц и запускать его. Кстати, подобным образом происходит копирование систем у SAP (если уместно данное сравнение).

А как это делаете вы?

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

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

Здравствуйте! Что касается пакетов,  можете разблокировать их выполнив sql скрипт

update SysPackage
set IsChanged = 1, InstallType = 0, IsLocked = 1, Maintainer = 'Customer'
where Name in ('PkgName')
and SysWorkspaceId in (select Id from SysWorkspace where Name = 'Default')

Что касается привязки пакета к хранилищу, то по этому поводу хорошо описано в данной статье- https://academy.terrasoft.ru/documents/technic-sdk/7-14/privyazka-k-svn-ne-svyazannogo-s-hranilishchem-paketa

Здравствуйте! Что касается пакетов,  можете разблокировать их выполнив sql скрипт

update SysPackage
set IsChanged = 1, InstallType = 0, IsLocked = 1, Maintainer = 'Customer'
where Name in ('PkgName')
and SysWorkspaceId in (select Id from SysWorkspace where Name = 'Default')

Что касается привязки пакета к хранилищу, то по этому поводу хорошо описано в данной статье- https://academy.terrasoft.ru/documents/technic-sdk/7-14/privyazka-k-svn-ne-svyazannogo-s-hranilishchem-paketa

Нигрескул Алексей,

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

Чтобы на тесте не включались интеграции с прода, можно написать один большой SQL-запрос, который чистит нужные значения системных настроек, справочников и прочего. А затем его запускать после разворачивания теста из бекапа прода вручную или, например, по действию в TeamCity.

Все зависит как часто вам нужно с прода переносить данніе в среду разработки, и нужно ли переносить абсолютно все или например данные нескольких разделов (те отдельные таблиы) если второе то как вариант можно использовать зеркалирование (Database Mirroring) или другие аналогичные мезанизмы синхронизации разных БД

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

Коллеги, прошу помощи в решении следующего кейса.

Есть оргструктура техподдержки на 3 организации. Mos, Nov, NEZ

NOV и NEZ подчиняются MOS.

Раздел обращения. Все обращения создаются автоматически из почты. Т.е. поле создал в 98% одинаково. Поле контрагент заполняется само и соответствует организации. Надо настроить раздачу прав на обращения таким образом, чтобы обращение, созданное организацией NOV было доступно только NOV и MOS. Обращение созданное организацией NEZ было доступно только NEZ и MOS. Обращение созданное организацией MOSбыло доступно MOS.

Тоже надо сделать и для других объектов: Конфигурационные единицы, Сервисы, Сервисные договоры, проблемы, изменения.

Есть предположение что это надо делать БП и перераспределять права в зависимости от организации по событию создания Обращения.

И второй вопрос. Как массово сменить права на ранее созданные обращения?

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

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

Мы делаем один процесс распределения прав на запись, который имеет несколько сигналов для запуска (например):
- смена ответственного, 
- смена контрагента,
- смена статуса,
- смена триггерного поля на true.

В объект обращений добавляем триггерное Boolean поле. И затем простым процессом устанавливаем это поле в true для всех записей, для которых хотим перераспределить права по уже прописанным в БП правилам. Ну, и этот БП внутри сбрасывает триггер на false.

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

Я думаю для изминение прав на существующие записи вам будет полезно приложение, 

по предоставлению временных прав доступа и изменению прав доступа на существующие записи

Для новых объектов можно создать БП реагирующих на добавление объекта и меняющих права на него, используя ЭЛЕМЕНТ ПРОЦЕССА [ИЗМЕНИТЬ ПРАВА ДОСТУПА]

Мы делаем один процесс распределения прав на запись, который имеет несколько сигналов для запуска (например):
- смена ответственного, 
- смена контрагента,
- смена статуса,
- смена триггерного поля на true.

В объект обращений добавляем триггерное Boolean поле. И затем простым процессом устанавливаем это поле в true для всех записей, для которых хотим перераспределить права по уже прописанным в БП правилам. Ну, и этот БП внутри сбрасывает триггер на false.

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

 

Владимир Соколов пишет:
Правда, мы отказались от возможности пользователям вручную раздавать права на записи

Если не секрет, то почему отказались? 

Алексей Следь,

Алексей Следь пишет:
Если не секрет, то почему отказались? 

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

И не смогли в ходе этого БП определить, выдавал ли права пользователь вручную или автоматически в рамках БП, потому непонятно, какие права удалять, а какие оставить. Так что, удаляли всё

Когда будет реализована идея https://community.terrasoft.ru/ideas/priznak-sozdania-prav-vrucnuu, тогда сможем понимать, что добавил пользователь, и не удалять те права

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