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

Наверное большинству пользователей форума вопрос покажется примитивным, но все же помогите разобраться чайнику. :wink:

  • bpm'online 7.5.0

Нравится

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

Александр, у Вас не настроено администрирование по записям. Вам необходимо раздать права доступа другим пользователям.

Показать все комментарии
Технические вопросы
7.x

Добрый день!

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

Нравится

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

Здравствуйте, Александра!

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

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

"Резвов Роман" написал:

Здравствуйте, Александра!

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

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

С уважением,

Роман Резвов

Специалист службы поддержки II линии

Группа компаний Terrasoft

Можете описать пример фильтрации для данного вопроса?

Здравствуйте.
В таблице печатных форм добавить поле Value Type ссылающиеся на тип карточки.
При формировании списка печатных форм прописать код фильтрации по данному полю в соответсвии с типом открытой карточки.

Показать все комментарии
oktell
Технические вопросы
7.x

Добрый день.
Может кто-нибудь подсказать как настроить интеграцию BPMonline SD 5.4.1.879 c Oktell? Желательно пошаговое руководство, с описанием действий со справочниками, системными настройками и т.д.
Заранее спасибо.

Нравится

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

День добрый.
Для интеграции со стороны bpm'online необходимо:
1) Указать значение системной настройки "Библиотека обмена сообщениями по умолчанию" = "Библиотека интеграции с телефонией по протоколу Oktell"
2) Убедиться, что у пользователя есть лицензия на продукт "BPMonline Oktell Call Centre"
3) В настройках (кнопка шестеренки) выбрать пункт меню "Настройка параметров Call-Centre" и внести параметры подключения к Oktell

Клименко Николай, это понятно. Но что делать, если такого значения системной настройки нет? И что представляют собой "параметры подключения Oktell"?

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

Здравствуйте, Акмаль!

В коробочной версии bpm'online 5.4.1 интеграция с Oktell официально не поддерживается.

Показать все комментарии
Технические вопросы
7.x

Добрый день!

Подскажите, есть ли какие-то возможности мониторинга в БП или в системе?

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

Нравится

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

Александра, добрый день.
Вы продублировали обращение http://www.community.terrasoft.ru/forum/topic/12452
Ответил Вам в первом топике.

Добрый день, Александра!
Ответ на Ваш вопрос был предоставлен в теме http://www.community.terrasoft.ru/forum/topic/12452. Продублирую ответ:

"Яковенко Павел Викторович" написал:

Александра, добрый день!

Есть несколько вариантов решения данной задачи:

Вариант 1:

1. Добавить в объект, по которому нужно будет запускать процесс, логическое поле Запустить мониторинг (техническое). По умолчанию false.

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

Для решения данной задачи целесообразно использовать элемент Изменение данных. Для выборки настроить агрегирующий фильтр, который будет считать количество записей на детали, удовлетворяющих условию соответствия текущей дате (необходимо чтобы было > 0).

3. Процесс, который Вам необходимо запустить, нужно стартовать с сигнала, настроенного на изменение в основной записи поля "Запустить мониторинг" на "true". Таким образом, по каждой записи, у которой первый процесс проставил "Запустить мониторинг" = true, запустится Ваш основной бизнес-процесс.

Вариант 2(требует привлечения разработчика, но будет оптимальнее по быстродействию):

1. С помощью C# настроить процесс выборки нужных Вам записей и из этого же процесса запустить по каждой выбранной записи соответствующий (основной) бизнес-процесс.

2. У основного процесса добавить параметр, в который процесс выборки будет записывать id экземпляра объекта. В процессе читать из параметра id и дальше настраивать процесс как обычно.

Показать все комментарии
Технические вопросы
7.x

Добрый день!

Подскажите, есть ли какие-то возможности мониторинга в БП или в системе?

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

Нравится

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

Александра, добрый день!
Есть несколько вариантов решения данной задачи:

Вариант 1:
1. Добавить в объект, по которому нужно будет запускать процесс, логическое поле Запустить мониторинг (техническое). По умолчанию false.
2. Создать процесс, который ежедневно по кварцу будет запускаться и делать выборку записей, удовлетворяющих условиям, которые Вы описали, и менять в этой выборке значение поля "Запустить мониторинг" на "true".
Для решения данной задачи целесообразно использовать элемент Изменение данных. Для выборки настроить агрегирующий фильтр, который будет считать количество записей на детали, удовлетворяющих условию соответствия текущей дате (необходимо чтобы было > 0).
3. Процесс, который Вам необходимо запустить, нужно стартовать с сигнала, настроенного на изменение в основной записи поля "Запустить мониторинг" на "true". Таким образом, по каждой записи, у которой первый процесс проставил "Запустить мониторинг" = true, запустится Ваш основной бизнес-процесс.

Вариант 2(требует привлечения разработчика, но будет оптимальнее по быстродействию):
1. С помощью C# настроить процесс выборки нужных Вам записей и из этого же процесса запустить по каждой выбранной записи соответствующий (основной) бизнес-процесс.
2. У основного процесса добавить параметр, в который процесс выборки будет записывать id экземпляра объекта. В процессе читать из параметра id и дальше настраивать процесс как обычно.

"Яковенко Павел Викторович" написал:

Александра, добрый день!

Есть несколько вариантов решения данной задачи:

Вариант 1:

1. Добавить в объект, по которому нужно будет запускать процесс, логическое поле Запустить мониторинг (техническое). По умолчанию false.

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

Для решения данной задачи целесообразно использовать элемент Изменение данных. Для выборки настроить агрегирующий фильтр, который будет считать количество записей на детали, удовлетворяющих условию соответствия текущей дате (необходимо чтобы было > 0).

3. Процесс, который Вам необходимо запустить, нужно стартовать с сигнала, настроенного на изменение в основной записи поля "Запустить мониторинг" на "true". Таким образом, по каждой записи, у которой первый процесс проставил "Запустить мониторинг" = true, запустится Ваш основной бизнес-процесс.

Вариант 2(требует привлечения разработчика, но будет оптимальнее по быстродействию):

1. С помощью C# настроить процесс выборки нужных Вам записей и из этого же процесса запустить по каждой выбранной записи соответствующий (основной) бизнес-процесс.

2. У основного процесса добавить параметр, в который процесс выборки будет записывать id экземпляра объекта. В процессе читать из параметра id и дальше настраивать процесс как обычно.

Основной вопрос как сделать процесс, который будет запускаться ежедневно?

Добрый вечер, Александра!

Предлагаю самый простой вариант:
1) Стартовый элемент. Используйте обычный стартовый элемент. Первый запуск процесс будет осуществлен вручную.
2) Изменение данных. Укажите условия, при которых признак должен быть изменен с false на true (значение установленной на детали дате = текущей дате). Измените этим элементом условие с false на true.
Используйте после этого элемента два условных потока:
2.1) Условный поток, условие которого никогда не выполняется, например, 1==0. Этот условный поток ведет к окончанию процесса (то есть процесс никогда не закончится).
2.2) Условный поток, условие которого всегда истинно или же поток по умолчанию.
Этот условный поток ведет к таймеру.
3) Таймер. Укажите в настройках таймера значение 86400 секунд, которое соответствует 24 часам.
4) Свяжите таймер с элементом "Изменение данных" второго шага инструкции.
5) В настройках бизнес процесса укажите максимальное количество повторений, например, 10.000 (спустя 10.000 циклов бизнес процесс завершится)

Данный процесс вручную необходимо запустить один раз. Последующие разы процесс будет отрабатывать по таймеру и выполнять элемент "Изменить данные" самостоятельно.

Процесс изменит всем записям с текущей датой значение логического поля.

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

Показать все комментарии
7.5
Автогенерируемая страница
бизнес-процесс
Технические вопросы
7.x

Здравствуйте, есть БП.

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

В чем может быть проблема?

Нравится

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

Добрый день!

Уточните, пожалуйста, правильно ли я понимаю, что пользователю не открывается страница?

Здесь могут быть два варианта:
1) Ответственный (кому должна открываться страница) отличается от пользователя, который запускает процесс (в случае преднастроенной страницы и страницы редактирования).
2) Если ответственный на открывающейся странице не указан, тогда страница открывается текущему пользователю. В таком случае, проверьте, пожалуйста, ошибки консоли браузера.

Действительно, не открывается страница. Используется автогенерируемая страница. На ней всего одно справочное поле и 2 кнопки.
Ответственный не указывается. В консоли браузера никаких ошибок нет.
Также хочу добавить, что сразу после переезда с версии 7.4 на 7.5 процесс запускался и работал. После сохранения новой версии перестал.
Я для теста создал новый БП, перенес в него все элементы, результат не изменился. Не открывается окно автогенерируемой странийцы

Данное поведение обусловлено сохранением процесса в новой версии. Такое поведение иногда встречается.
В рабочих процессах двух версий уберите, пожалуйста, признак "Активен". Запускается ли тестовый процесс после снятия признака?

Убрал, все-равно не запускается. Создал процесс из одного элемента - автогенерируемой страницы, также не запускается.
Как ещё можно попробовать побороть данную проблему? На чистой базе(до изменений в процессе) БП запускался без проблем. На какие таблицы можно обратить внимание?

Предлагаю попробовать следующий вариант - помогает в большинстве случаев: находясь в дизайнере процессов, нажмите Дополнительно -> Копировать диаграмму. Укажите новое название и заголовок, а также пакет для сохранения. После того, как диаграмма будет скопирована, удалите новую версию процесса (старая удалится автоматически), а также тестовый процесс. Таким образом по событию будет запускаться только один процесс, который был создан путем копирования диаграммы. В нем автогенерируемые страницы должны открываться.

Алексей, верно ли я Вас понял, что должна остаться только копия процесса, созданная через Дополнительно -> Копировать диаграмму?

Сделал все как указано. Все удалилось, остался всего один процесс в моем пакете, но элемент "Автогенерируемая страница" так и не выполнился.

Добрый вечер! Для решение требуется удаленное подключение. Как и было согласовано, подключение осуществим после 8 июня в удобное для Вас время.

Добрый вечер!
Если Вы используете Windows Server 2012, тогда наиболее вероятно, что карточки по процессам не поднимаются из-за некорректных настроек веб соккетов.
Для исправления необходимо:

1. Установить компоненту WebSocket протокола (Server Manager\add roles and features … Web-server\Websocket protocol) – в R2 вроде как установлена по умолчанию
2. Откорректировать корневой web.config:

<location path="." inheritInChildApplications="false">
             <system.web>
             ...
             <httpRuntime maxRequestLength="102400" executionTimeout="28800" targetFramework="4.5" />

3. Откорректировать Terrasoft.WebApp\Web.config
Секция wsService должна выглядеть так:

<wsService type="Terrasoft.Messaging.MicrosoftWSService.MicrosoftWSService, Terrasoft.Messaging.MicrosoftWSService" encrypted="false" portForClientConnection="0" />

Секция location\system.web:

<location path="." inheritInChildApplications="false">
    <system.web>
     ...
      <httpRuntime maxRequestLength="102400" executionTimeout="28800" <strong>targetFramework="4.5"</strong> />
      <httpHandlers>
        ...
       <add verb="GET" path="*ViewModule.aspx.ashx" type="Terrasoft.Messaging.MicrosoftWSService.WSHandler, Terrasoft.Messaging.MicrosoftWSService" />

Секция system.webServer:

<system.webServer>
    ...
    <handlers>
      ...
      <add name="WSHandler" verb="*" path="*ViewModule.aspx.ashx" type="Terrasoft.Messaging.MicrosoftWSService.WSHandler, Terrasoft.Messaging.MicrosoftWSService" />

Алексей, сейчас нет возможности попробовать предложенное Вами решение, но используется Windows Server 2008 R2. Карточки по процессам поднимались до сохранения новой версии процесса.
Предложенный вами вариант смогу попробовать немного позже.
Заранее спасибо за отклик!

Показать все комментарии
бизнес-процесс
дизайнер
регистрация
Технические вопросы
7.x

Добрый день!
Бизнес-процесс был создан во вкладке Конфигурация в схемах с помощью кнопки "Добавить" - "Бизнес процесс".
Как теперь сделать так, чтобы этот бизнес-процесс был виден во вкладке Дизайн процессов (и как следствие, в библиотеке процессов)?

Нравится

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

Добрый день!

Откройте бизнес процесс в дизайнере процессов.
Откройте свойства процесса и выберите все свойства.
Укажите в поле тег бизнес процесса значение Business Process.
Опубликуйте процесс.
Проверьте отображения процесса в "Библиотеке процессов", обновив страницу.

Показать все комментарии
Технические вопросы
7.x

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

Нравится

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

Добрый день, Александр!

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

Если же Вам необходимо организовать отдельное хранилище для Базы знаний, то с целью удобства решения обращений и для того, чтобы сотрудники не переключались между несколькими системами рабочего пространства, рекомендуется настраивать синхронизация такого хранилища и продукта bpm’online. Детально с особенностями разработки интеграций можно ознакомиться в документе SDK (http://academy.terrasoft.ru/documents/?product=SDK&ver=7.5.0).

На счет "детально ознакомиться" - это Вы льстите себе, если честно) Но попробуем разобраться

"Лазоренко Елена Петровна" написал:Если под «базу знаний, вынесенную за пределы системы» имеется в виду доступность базы знаний и возможность работы с базой знаний в облаке без ограничений в т.ч. и не сотрудникам компании, то Вы можете использовать функциональность портала самообслуживания. По умолчанию, на портале выведен раздел «База знаний», но только на просмотр. Соответственно, средствами конфигурирования необходимо расширять права пользователей портала при работе с указанным разделом.

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

На текущий момент пользователи портала должны авторизоваться при входе. В рамках развития продукта планируется реализация задачи «Работа неавторизированного пользователя на портале», но сроки реализации пока не известны.

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

Процесс показан на видео. Добавил card page к лукапу сохранил. Потом понял, что добавил не к тому лукапу. Пытаюсь удалить - крэш при смене фокуса. Ребята, это несерьёзно с такими багами релизить продукт.
https://www.youtube.com/watch?v=aCS7DoFTyBU
Как удалить? Workaround сам могу придумать - создать страницу для текущего лукапа и подменить. .

An error occurred in bpm'online. We apologize for the inconvenience.
Back to Previous Page
Please notify the bpm'online support about this error.
We guarantee your confidentiality and anonymity.
Show Error Details

Date: 29/05/2015 01:11:44
Date (UTC): 28/05/2015 22:11:44

Exception Message: Object reference not set to an instance of an object.
Exception Type: System.NullReferenceException
Exception Source: Terrasoft.Configuration

Exception Stack Trace:
at Terrasoft.WebApp.LookupEditPageEventsProcess`1.SysEditPageSchemaEditChangeScriptTaskExecute(ProcessExecutingContext context)
at Terrasoft.Core.Process.ProcessFlowElement.Execute(ProcessExecutingContext context)
at Terrasoft.WebApp.LookupEditPageEventsProcess`1.ProcessQueue(ProcessExecutingContext context)
at Terrasoft.WebApp.LookupEditPageEventsProcess`1.OnExecuted(Object sender, ProcessActivityAfterEventArgs e)
at Terrasoft.Core.Process.ProcessFlowElement.Execute(ProcessExecutingContext context)
at Terrasoft.WebApp.LookupEditPageEventsProcess`1.ProcessQueue(ProcessExecutingContext context)
at Terrasoft.WebApp.BaseEditPageEventsProcess`1.ThrowEvent(ProcessExecutingContext context, String message)
at Terrasoft.WebApp.LookupEditPageEventsProcess`1.ThrowEvent(ProcessExecutingContext context, String message)
at Terrasoft.UI.WebControls.PageSchemaUserControl.ThrowEvent(String message)
at Terrasoft.UI.WebControls.Controls.ScriptManager.RaisePostBackEvent(String eventArgument)
at Terrasoft.UI.WebControls.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Нравится

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

Добрый день!

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

Решение будет предоставлено в понедельник.

Спасибо! Кстати, куда можно рапортовать найденные баги?

"trickbz" написал:

Спасибо! Кстати, куда можно рапортовать найденные баги?


Найденные некорректные срабатывания системы с описанием кейсов воспроизведения, Вы можете отправлять на support@terrasoft.ru.

Данное неудобство будет исправлено в ближайших версиях.

Промежуточное решение:

1. Заходим в управление конфигурацией (на сайте клиента) -> Configuration -> закладка Packages
2. Выбираем пакет Base и в нем становимся на схеме LookupEditPage
3. Правой кнопкой мыши по схеме -> MetaData -> Open
4. В открывшимся окне становимся на закладку Modifications Package, копируем весь текст из него в текстовый файл (это наш бекап) и заменяем весь текст на текст из вложения lookupeditpage_metadata.txt
5. Нажимаем кнопку Save. После успешного сохранения закрываем окно и возвращаемся к списку схем
6. Правой кнопкой мыши по схеме -> Source Code -> Generate for selected items:

7. После генерации кода – закладка Actions -> Compile modified items:

Показать все комментарии
Технические вопросы
7.x

Почему маска сама закрывается без вызова MaskHelper.HideBodyMask?
По кнопке вызывается метод import1C, в котором запускается БП.

import1C : function()
                                {
                                          var processArgs = {
                          sysProcessName: 'ImportProduct',
                          parameters: {}
                          };
                          this.runProcessWithTimeout(processArgs.sysProcessName, processArgs.parameters, 90000000, this.callBackImport, this);
                                },
                                runProcessWithTimeout: function(processName, processParameters, timeout, callback, scope) {
                                        var parametersQueryString = "";
                                        if (!Ext.isEmpty(processParameters)) {
                                                parametersQueryString += "?";
                                                var isNotFirstParameter = false;
                                                Terrasoft.each(processParameters, function(value, name) {
                                                        if (isNotFirstParameter) {
                                                                parametersQueryString += "&";
                                                        } else {
                                                                isNotFirstParameter = true;
                                                        }
                                                        parametersQueryString += name + "=" + value;
                                                }, scope);
                                        }
                                        MaskHelper.ShowBodyMask();
                                        ProcessModuleUtilities.callService({
                                                timeout: timeout,
                                                serviceName: ProcessModuleUtilities.PROCESS_ENGINE_SERVICE_NAME,
                                                methodName: processName + "/RunProcess" + parametersQueryString
                                        }, callback, scope);
                                },
                                callBackImport: function() {
                                        MaskHelper.HideBodyMask();
                                }

Получается что ещё не вызвался метод callBackImport, а маска сама закрылась, а когда завершил работу БП то и метод callBackImport вызвался. timeout тоже не помогает.
Нужно сделать пока работает БП маска показывается, как заканчивает работу скрывается. Пробовал через ProcessModuleUtilities.runProcess и там вызывать колбэк тоже сама закрывается.

Версия 7.5.0.1054

Нравится

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

Здравствуйте, Сергей!

Предлагаем Вам следующее решение:

import1C : function()
{
var processId = 'yourProcessId';
this.runProcess(processId);
//Или
var processName = 'yourProcessName';
var someFunction = function () {};
this.executeProcess(processName , someFunction);
}

/**
* Запускает бизнес-процесс из списка глобальной кнопки запуска процессов
* @param {Object} tag UId схемы бизнес-процесса
*/
runProcess: function(tag) {
ProcessModuleUtilities.executeProcess({
sysProcessId: tag
});
}

/**
* @private
*/
executeProcess: function(sysProcessName, callback) {
ProcessModuleUtilities.responseCallback = callback;
ProcessModuleUtilities.executeProcess({
sysProcessName: sysProcessName
});
},

import1C : function()
{
	var processName = 'ImportProduct';
	var someFunction = function () {};
	this.executeProcess(processName , someFunction);
},
executeProcess: function(sysProcessName, callback) {
	ProcessModuleUtilities.responseCallback = callback;
	ProcessModuleUtilities.executeProcess({
	sysProcessName: sysProcessName
	});
}

Всё равно маска сама скрывается буквально через 5 секунд после запуска БП, даже без вызова HideBodyMask в колбэке.

Добрый день!

Для решения данного вопроса предлагаем Вам обходное решение. Для запуска БП использовать не кнопку а запуск из кнопки на боковой панели (рис. 1).

Для этого необходимо в дизайнере бизнес-процессов в нужном БП перейти в свойства и в поле "Тег" написать "Business Process" (Рис.2).

Спасибо!

Добрый день!
К сожалению тоже самое, БП ещё работает, а маска уже скрывается.
Если кроме как вышеописанных действий ничего не нужно, то не помогло.

Спасибо, разобрался мою маску скрывал другой БП подсчет уведомлений, сделал вызов по maskId для своего случая.

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