Думаю на странице ttp://ru.wikipedia.org/wiki/BPMN должна быть ссылка на платформу BPMonline, использующую нотацию BPMN.

Нравится

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

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

Добрый день, Павел!

Спасибо за предложение! Действительно, платформа BPMonline использует нотацию BPMN для моделирования бизнес-процессов. И было бы хорошо связать BPMonline и BPMN в Википедии. Для этого, мы сделали ссылку на страницу, посвященную BPMN со страницы BPMonline CRM (http://ru.wikipedia.org/wiki/BPMonline).

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

Если в русской вики появится аналог страницы Comparison of Business Process Modeling Notation tools, ссылка там будет вполне уместна.

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

Подскажите как по нажатию на кнопку открыть определенную страницу?

Нравится

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

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

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

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

В этой теме описан пример реализации нужного Вам функционала (открыть карточку по нажатия на кнопку).

Все спасибо, получилось.

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

Здравствуйте! Необходимо понять принцип использование своих классов. Создал в конфигурации файл с исходным кодом (назвал данный файл к примеру GetTextSourceCode):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Text;
using System.IO;


        public class MessageBoxMy {
                private string txt;
               
                MessageBoxMy(string text) {
                        this.txt = text;
                }
                public string  ShowMessage() {
                        return txt;
                }
        }

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

Нравится

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

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

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

Обращаться к классу можно следующей конструкцией:

return Terrasoft.Configuration.<имя_класса>.<имя_метода>(<параметры>);

Спасибо, попробую:smile:

"Alimova Anna" написал:

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

Обращаться к классу можно следующей конструкцией:

return Terrasoft.Configuration.<имя_класса>.<имя_метода>(<параметры>);

Данный метод не сработал. Не находит мой класс:
"The type or namespace name 'MessageBoxMy' does not exist in the namespace 'Terrasoft.Configuration' (are you missing an assembly reference?)"
Configuration находится в Terrasoft.Core.Configuration. Но и это тоже не работает, выдает ту же ошибку

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

Возможно, вы не сохранили схему исходного кода GetTextSourceCode или не опубликовывали ее? Это необходимо сделать, чтобы созданный вами класс был скомпилирован, после чего он будет "виден" для других элементов конфигурации.
Также, мне кажется, имеет смысл объявить конструктор класса MessageBoxMy как public...

Документация по разработке в BPMonline находится здесь - http://www.terrasoft.ru/bpmonlinesdk/

Не получается. Создаю исходный код с классом . добавляю нужные ссылки, создаю класс, опубликовываю. Далее генерирую исходный код для данного элемента(правой кнопкой по элементу->исходный код->сгенерировать для выделенных элементов) . Затем создаю событие от нажатия на кнопку, и в этом событие в скрипте пытаюсь обратиться к классу "Terrasoft.Configuration.Название класса .Название метода(параметры)". Но при этом выдает ошибку что такого типа не существует. Может метод зависит от версии приложения? У меня BPMonline Версия 5.4.0.591 On-Demand

Александр,

Попробуйте все таки обратиться к классу без указания пространства имен.

Я повторила ваш пример - создала файл с исходным кодом для класса MessageBoxMy (но с конструктором public), скомпилировала, затем в обработчик кнопки добавила код:

MessageBoxMy mb = new MessageBoxMy("Text");
Page.Label1.Caption = mb.ShowMessage();

Все получилось. Спасибо

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

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

Хочу создать новый объект на тестовой среде, но не открывается структура объекта. (Temp. File bo.png) Версия 5.4.0.591

C уважением,
Гюнель Рустамова

Нравится

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

Здравствуйте, Гюнель!

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

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

Добавила на тестовой среде новое "рабочие места" и "раздел" (Версия 5.4.0.591)(AttachFile:рабочие места.jpg). Но почему-то, они не отображаются. А в демо-версии наоборот. Все мною созданные разделы без проблем отображаются. Не смогли бы, подсказать, в чем причина?

Заранее Спосиба.
С уважением,
Гюнель Рустамова

Нравится

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

Здравствуйте Гюнель. Сталкивался с подобной проблемой. Я устранил ее с помощью очистки кеша редис сервера

Для очистки кеша, используйте команду flushall:

1. cmd
2. telnet ipRedisServer portRedisServer
3. flushall
4. quit

Здравствуйте, Гюнель!

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

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

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

Заранее Спосиба.
С уважением,
Гюнель

Гюнель, попробуйте установить для объект раздела признак "администрируется по операциям" и перезайти в систему.

Кроме того, прошу уточнить, какое сообщение было получено в консоли после очистки redis? Если возможно - скриншот окна консоли.

1. попробуйте установить для объект раздела признак "администрируется по операциям" и перезайти в систему.
- Cделала, но ничего не поменялась.

2. какое сообщение было получено в консоли после очистки redis? Если возможно - скриншот окна консоли.
- Высылаю скриншот.

Заранее Спосиба.
С уважением,
Гюнель

"существующий раздел" отображается на разделе, а новый раздел нет.

Заранее Спосиба.
С уважением,
Гюнель

Здравствуйте, Гюнель!

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

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

Добрый день. Помогите пожалуйста с таким вопросом - я добавил в карточку редактирования, рядом с полем ввода, кнопку. Нужно, чтобы по нажатии этой кнопки скрипт проверял, не совпадает ли текст, введённый пользователем в поле с какой-либо записью в одной из колонок БД. Не могли бы оптыные разработчики указать на пример такой реализации или по шагам объяснить как это сделать?
Заранее спасибо.

Нравится

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

1) уточните пожалуйста, правильно ли я понимаю, что мы говорим о пользовательском поле типа "справочник" , если же это текстовое поле, то пользователь имеет свойство ошибаться и написать одно и тоже слово можно по разному.
2) так же, укажите СУБД, версию Terrasoft.

"Sergey Karpenko" написал:

1) уточните пожалуйста, правильно ли я понимаю, что мы говорим о пользовательском поле типа "справочник" , если же это текстовое поле, то пользователь имеет свойство ошибаться и написать одно и тоже слово можно по разному.

2) так же, укажите СУБД, версию Terrasoft.

Нет, поле текстовое. На данном этапе мне интересен сам механизм создания подобного функционала. Буду очень признателен за помощь!
MSSQl, версия BPM 5.3.0.332

Добрый день!
Получить значение, введенное в определенное поле карточки, Вы можете через свойство Page:

string Address = Page.AddressEdit.Value.ToString(); 

Проверку, совпадает ли введенное пользователем значение с какой-либо записью БД можно выполнить через EntitySchemaQuery (EntitySchemaQuery – класс, с помощью которого осуществляется создание запросов в базу данных).
Подробное описание работы с данным классом Вы можете посмотреть в темах http://www.community.terrasoft.ru/blogs/8977
http://www.community.terrasoft.ru/blogs/8557

Столкнулся с проблемой. Не работает сценарий.

1. Расположил на странице кнопку.

2. Перешел на событие (CheckButtonClick)

3. Создал в процессе начальное событие (сообщение) и задание-сценарий

4. Код сценария:

string name = "111";
Page.BaseMessagePanel.Clear();
Page.BaseMessagePanel.AddMessage(Warning, name.ToString(), MessageType.Warning);
return true;

В чем может быть ошибка?

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

Всем спасибо! Разобрался.

Вот что получилось в итоге:

string name1 = Page.NameEdit.Value.ToString();
string text = "Книга с таким названием уже существует";
 
var manager = Page.Schema.SchemaManagerProvider.GetManager("EntitySchemaManager") as EntitySchemaManager;
var esq = new EntitySchemaQuery(manager, "Book");
esq.AddColumn("Name");
var filter = esq.CreateFilterWithParameters(FilterComparisonType.Equal, "Name", name1);
esq.Filters.Add(filter);
 
var q = esq.GetEntityCollection(UserConnection);
 
if(q.Count > 0){
Page.BaseMessagePanel.Clear();
Page.BaseMessagePanel.AddMessage(Warning, text.ToString(), MessageType.Warning);}
return true;

EntitySchemaManager. Я так понял, это какая-то промежуточная таблица, создаваемая на лету?

Буда рад замечаниям по улучшению кода.

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

"Бондарь Наталия" написал:

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

Понятно, спасибо!

А как получить список значений (полученных совпадений), которые, как я понимаю, должны содержаться в переменной q?

Я бы заменила

var manager = Page.Schema.SchemaManagerProvider.GetManager("EntitySchemaManager") as EntitySchemaManager;

на

var manager = UserConnection.EntitySchemaManager;

"Салихов А" написал:А как получить список значений (полученных совпадений), которые, как я понимаю, должны содержаться в переменной q?

q это коллекция Entity. Вы можете пробегаться по ней с помощью foreach и с каждой книгой что-то делать.

"Раловец Ольга" написал:q это коллекция Entity. Вы можете пробегаться по ней с помощью foreach и с каждой книгой что-то делать.

Однако на такой код

if(q.Count > 0){
 
	string books;
	foreach(string book in q)
	{
		books = books + book;
	}

компилятор выдаёт ошибку:

"Раловец Ольга" написал:Я бы заменила
var manager = Page.Schema.SchemaManagerProvider.GetManager("EntitySchemaManager") as EntitySchemaManager;

на
var manager = UserConnection.EntitySchemaManager;

Спасибо. Я эту реализацию нашёл на странице исходного кода)

Ну конечно, Ваш book типа Entity, а не string. Если хотите название, то так:

if(q.Count > 0){
 
        string books;
        foreach(Book book in q)
        {
                books = books + book.Name;
        }

"Раловец Ольга" написал:Ну конечно, Ваш book типа Entity, а не string. Если хотите название, то так:

Не распознается такой тип, насколько я понимаю...

Попробуйте Terrasoft.Configuration.Book

Ольга, большое Вам спасибо, все получилось!

string name1 = Page.NameEdit.Value.ToString();
string text = "Книги с таким названием уже существуют: ";
 
var manager = UserConnection.EntitySchemaManager;
var esq = new EntitySchemaQuery(manager, "Book");
esq.AddColumn("Name");
esq.AddColumn("Author");
var filter = esq.CreateFilterWithParameters(FilterComparisonType.Equal, "Name", name1);
esq.Filters.Add(filter);
 
var q = esq.GetEntityCollection(UserConnection);
 
if(q.Count > 0){
 
	var b = new System.Text.StringBuilder();
	foreach(Terrasoft.Configuration.Book book in q)
	{
		b.Append(book.Name + " (" + book.Author + ");  ");
	}
	string books = b.ToString();
 
Page.BaseMessagePanel.Clear();
Page.BaseMessagePanel.AddMessage(Warning, text+books, MessageType.Warning);}
return true;

Всегда пожалуйста :)
По поводу того, что лучше использовать в Вашей ситуации строку или стрингбилдер
http://habrahabr.ru/post/166701/

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

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

в системе предусмотрен справочник Типы контрагентов, в котором подразумевается указание отношений с контрагентами: Заказчик, подрядчик, агент, конкурент и т.д.. В нашем бизнесе, нет такого четкого деления - один контрагент может быть для нас одновременно клиентом по одному типу продукта, поставщиком по другому и партнером по третьему. Как лучше в таком случае категорировать контрагентов, ведь одному контрагенту можно присвоить только один тип?

Нравится

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

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

то есть типы типов контрагентов?

Типы в контрагенте. С полями AccountId, AcountTypeId и (если надо) IsPrimary.

спасибо, ничего не понятно (( можете порекомендовать руководство где описаны эти поля?

Нигде не описано. Её нет. Самому создать деталь.

вероятно вам поможет вот это
http://www.community.terrasoft.ru/forum/topic/8811

Вероятно, не поможет, там для 3.x.

Здравствуйте, Владислав.
Думаю, что Ваш вопрос затрагивает не просто «типизацию», а «типизацию по..»
Важно не просто присвоить тип Контрагенту, а ещё и детализировать, к какому виду сотрудничества принадлежит именно этот тип.
Вообщем-то можно реализовать несколькими способами на Ваше усмотрение.
Как один из вариантов: В уже существующем справочнике: «Типы» добавить значение «Смешанный». Это будет означать, что данный контрагент помимо «Заказчика» является ещё и подрядчиком, например.
Далее, просто надо понять, где Вы фиксируете типы продуктов по этому контрагенту (например, в продажах, счетах или проектах)
Создать соответствующий механизм отображения в разделе КОНТРАГЕНТЫ. Например, создать деталь «Детализация» и там отображать. Как вариант можно создать закладку в карточке записи.
Примерно будет выглядеть так:
ООО «Полянка», тип «Смешанный»
Детализация
Тип продукта – тип контрагента:
ПК – клиент
ПО – поставщик(разработчик)
Антивирусы – партнер
В Отчеты подтягивается на УРА!!!

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

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

Как могу удалить настройку из "дизайнера обьекта" "Родитель в иерархии" ("Системные колонки")?
Добавила поле "создал", а сейчас не могу удалить

С уважением,
Гюнель

Нравится

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

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

Возникает ли какая либо ошибка при удалении поля?
Можете скинуть скриншот страницы объекта с полями?

Заранее спасибо!

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

Возникает ли какая либо ошибка при удалении поля?
→Поле серего цвета и я не могу ее удалить.

Можете скинуть скриншот страницы объекта с полями?
→Да, прикрепляю скриншот страницы

Заранее спасибо!

С уважением,
Гюнель

Вы не указали значение для поля "Владелец" - ID родительского документа.

Ничего не поменялся

С уважением,
Гюнель

Удалите поле родитель, и предоставьте скриншот свойств самого поля, пожалуйста.

Да, но вед, не удаляется поле родитель.

С уважением,
Гюнель

Гюнель, данные для доступа предоставить можете (в личном сообщении)?

Добрый день, коллеги!
Для решения проблемы нужно выполнить:
1. Выгрузить файл метаданных на диск.
2. Открыть его в блокноте
3. Удалить строчку с параметром "HierarchyColumn"
4. Загрузить файл обратно
5. Опубликоваться.

Например, HierarchyColumn может быть задан такой строкой:
"HierarchyColumn": "65aa6f84-1120-45c5-9771-ad6690a1c2cb"

Добрый день,

Вы мне очень сильно помогли.
Большое спосиба

С уважением,
Гюнель

 

Евгения Василенко, добрый день!

Данная проблема с очисткой поля "Родитель в иерархии" решена на версии 7.18.2.

Можем предложить обновится на данную версию для решения проблемы.

Показать все комментарии
Excel Импорт
5.x

Подскажите можно ли для новосозданных разделов скачивать шаблон для импорта записей из Excel. Потому что кнопки как н-р у раздела Контакты или Контрагенты для скачивания шаблона и импорта в BPMonline 5.4.0 не наблюдаю

Нравится

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

BPMonline 5.4.0.317

Здравствуйте, Денис.

Для нового раздела скачивание шаблона для импорта невозможно. В базовой версии импорт реализован только для разделов контакты, контрагенты и продукты.
Но реализовать импорт возможно, вот приблизительный алгоритм:
1. Создать в системе пользовательский инструмент импорта;
2. Реализовать возможность выборочного импорта (по заданным параметрам);
3. Сформировать Подстановку стандартного шаблона для импорта;
4. Создать процесс импорта, с помощью бизнес-логики.

"Maxim Gritsenko" написал:Но реализовать импорт возможно, вот приблизительный алгоритм:

Максим, если можно, то с этого места поподробней... Т.е. где посмотреть саму функцию процесса импорта из Excel-файла?

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

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

Ольга, поищите в конфигурации по ключевому слову Import:

Шаблоны располагаются в базе знаний:

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

"Олейник Дмитрий" написал:
В целом, вопрос импорта из екслеля в сущности системы очень сложный, и для каждого раздела есть свои особенности. Реализовать новый импорт простым копированием схем – не выйдет. Нужно писать свой класс импорта, строить сложный процесс, парсить построчно файл ексель с использованием Open XML и т.д.

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

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

Насчет Вашего ответа. Спасибо. Схемы, про которые Вы говорите, я нашла. Сами шаблоны я не находила -- спасибо за "наводку".. Но меня интересовал сам процесс импорта, где-что-как скорректировать и как "привязать" это действие к нужному разделу (у меня был нестандартный импорт продаж, продуктов и продуктов в продаже), как "связать" схему с нужным шаблоном...
В 3ке можно создавать ЭктивОбжект приложения ексель и обращаться к содержимому ячеек -- где такое прописано в бпм, к сожалению, я так и не нашла...

Если Вы можете эти моменты разъяснить -- буду признательна (хотя интерес уже только "спортивный" или на будущее, т.к. задача решена "в обход").
Спасибо.

"Ольга Прилипко" написал:Поскольку задача была срочная, то ее решили по-другому, не задействуя функционал бпм-онлайн.

Ольга, а можно поинтересоваться, как вы провели импорт? Если конечно это не конфиденциальная информация...

Оказывается, есть куча способов.
1) самый "простой" (исходя из опыта импорта в обычной 3ке, т.е. в Террасофте версии 3.х), это написать "обычный" импорт в джей-скрипте +триггеры при вставке записей в таблицу. Импорт я завязала на кнопку в окошке, которое может запускаться без "оболочки" ТС (подробнее можно почитать тут). Примечание: импорт написан свой, без использования встроенной утилиты, т.к. поля в файле были нестандартные, обьединенные ячейки и т.п.

другие способы я нашла, но из-за а. срочности задачи и б. недостатка опыта в той области (точнее, его отсутствия), толком в них не разбиралась (возможно, разберусь позже, "на досуге":smile:). Итак.

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

3)написать утилиту на чем-то другом (Сшарпе, Джаве, Делфи или еще на чем-то) -- вариант почти сразу отпал из-за нехватки опыта, т.е. нужно "сидеть и разбираться"

4) еще пару вариантов нарыла в гугле, например, тут, т.е. был вариант загружать данные, используя сам SQL. я даже выяснила примерный алгоритм:
1) преобразовать ексель в csv, т.е. в текстовый формат
2) загрузить во временную таблицу скула данные
3) курсором пройтись по ним и вставить их, куда нужно.

Возможно, есть еще варианты и/или способы получше. Буду рада их рассмотреть)

о, еще вспомнила:
5) в самом екселе, начиная с 2007 версии, можно настроить соединение с бд и как-то напрямую "брать"/"заливать" данные.
но тоже нужно разбираться и тоже вроде для одной таблицы..

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

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

1. В BPMOnline есть модуль управление проектами?
2. Есть ли такого модуля нет, то предполагается ли его появление??
3. Возможен ли перенос процессов из Terrasoft XRM в BPMOnline ?

Нравится

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

Добрый день!
1. Модуль управления проектами включен в продукт BPMonline XRM.
2. Перенос процессов Terrasoft 3.x в BPMonline невозможен в связи с отличием методологии и механизма реализации.

"Бондарь Наталия" написал:

Добрый день!

1. Модуль управления проектами включен в продукт BPMonline XRM.

А где можно посмотреть демо BPMonline XRM ? (не нашёл)
И цены на BPMonline XRM ?

Добрый день, Сергей!

В ближайшее время, вся необходимая информация будет предоставлена Вам на e-mail.

С уважением,
Белецкий Арсений
Группа компаний Terrasoft

Добрый день!

Меня также интересует возможность работы с проектами в BPMonline XRM (аналог раздела "Проекты"). В каком виде это будет реализовано? Можно ли на сегодняшний день где-либо посмотреть демо-версию?

Здравствуйте, Людмила!

Демо-версия продукта доступна по ссылке:

http://ru-xrm.demo.bpmonline.com

С уважением,
Шипко Илья
Группа компаний Terrasoft

Спасибо за предоставленную ссылку!

Я заметила, что в проектах нет древовидной иерархической структуры, как в Terrasoft XRM 3.4.0. Планируется ли в будущем добавить такую структуру?

Людмила, в следующей версии приложения (BPMonline 7.0) предусмотрена древовидная структура проектов.

Добрый день. Возможно ли отдельно приобрести модуль проектов для продукта BPMOnline CRM?

Здравствуйте, Людмила!

Спасибо за Ваше обращение. В ближайшее время с Вами свяжется сотрудник профильного департамента и проконсультирует по данному вопросу.

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