Добрый день!

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

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

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

Пользователь переходит по ссылке - открывается раздел Активности.

 

Дополнительные моменты

1. У пользователя есть доступ к данной записи - он может в нее перейти через уведомления (дополнительная возможность перехода в запись)

2. Раздел скрыт от пользователя

3. Если переходить по гиперссылке под учеткой Supervisor, то запись открывается.

 

Вопрос - почему не открывается запись у обычного пользователя?

Нравится

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

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

 

Пробовали очистить кэш Redis командой flushall?

Работа данного функционала завязана на пользовательский кэш. 

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

Проблему решили. Нужно было раздел показать пользователям.

Но все равно это странно. По уведомлению можно перейти на запись в скрытом разделе, а по гиперссылке из письма нет - почему?

Добрый день!

Прошу пояснить - почему по ссылке из уведомления можно попасть на запись в скрытом разделе, а по гиперссылке нельзя?

Пробуйте передавать ссылку в таком формате:

 

https://site/Navigation/Navigation.aspx?schemaName=Activity&recordId=ab3ea5de-f333-4580-8fa1-70b64db8a2d3
Где schemaName=Название схемы, recordId=id записи

 

Ссылка в письме верная - так же как указано у Вас.

не помогло

 

заметил, что при переходе по гиперссылке из письма я иду на схему

https://click.mail.ru/redir?u=https%3A%2F%2F_______.creatio.com%2FNavig…

 

а если идти по ссылке из уведомления, то я проваливаюсь на страницу page

https://______.creatio.com/0/Nui/ViewModule.aspx#CardModuleV2/NavEventN…

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

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

Нравится

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

Добрый день!
Можно проверить делать по названию в "Управлении конфигурации"


Или попробовать добавить ее через мастер раздела на страницу.


 

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

 

Самый надёжный способ - это сделать запрос в БД следующего вида:

 

select count(*) from "SysDetail" d
join "SysSchema" s on d."EntitySchemaUId" = s."UId"
where s."Name" = 'Код_объекта';

где вместо Код_объекта укажите Ваш актуальный код объекта.

Если вернётся значение 0 - детали отсутствуют.

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

При выведении в Итоги виджета "список" данных объекта, созданного на основе View, в Списке  иногда отображаются дублирующиеся записи. Но при экспорте в excel такие дубли отсутствуют. Есть подозрение, что такое поведение связано как-то с пагинацией.  Такая же ситуация происходит если делать на основе такого объекта деталь.

Кто-нибудь сталкивался с подобным?

Ниже пример схемы View используемый для объекта

CREATE VIEW [dbo].[VwTest] AS
SELECT
    NEWID() as Id
    ,GETDATE() as CreatedOn
    ,(SELECT Id FROM Contact WHERE Id='BE80A149-0089-4311-A775-CA6CD8937E2B') as CreatedById
    ,GETDATE() as ModifiedOn
    ,(SELECT Id FROM Contact WHERE Id='BE80A149-0089-4311-A775-CA6CD8937E2B') as ModifiedById
    ,0 as ProcessListeners
    ,Id as ContactId
    ,Age
FROM Contact
WHERE Age>30

 

 

 

Нравится

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

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

 

Спасибо!

Роман Казекин,

 1. Версия Sale Ent 7.16.3

2. Данное поведение характерно для всех объектов созданных на основе view.

3.

- Создал View ( как описано выше)

-  в управление конфигурацией создал объект с названием View

- включил checkbox Поведение - Представление в базе данных

4. Вывод объекта в Итогах в виде Списка

Евгений Кобзарь,

 

Уточните, пожалуйста, по какому полю Вы определяете записи, как дубли?

Также прошу посмотреть Select, который приходит детали. Есть ли там одинаковые записи?

Роман Казекин,

По полю Контакт. Select с View выбирает только 1 запись. Но в таблице/списке показывает несколько. Как правило происходит такое когда нажимаешь кнопку Показать больше. См. скриншот

Евгений Кобзарь,

 

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

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

 

https://academy.terrasoft.ru/docs/user/bazis_platformy/dannye/dubli/poi…

Роман Казекин,

 

Дублей нет. На скриншоте видно, что ссылки на эти записи формируются идентичные (на основе одного Id). Мне кажется что проблема все же в offsetе и order by (по Id).  При нажатии показать больше идет повторный запрос к View у которого НЕ статический  ID (newid()). Если это так? То каким образом можно и как правильно во view создать этот ID.

Добрый день

Евгений, это абсолютно объяснимое поведение View при использовании Fetch next. Вы же получаете записи пачками, а каждая пачка имеет свои Id и сортировка может вам выдать "дубль"

Как правильно? Просто используейте Id из основного объекта. Вы же выбираете из Contact, так берите его Id вместо генерации newid()

 

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

Добрый день!

Приложение on-site.

Я создал объект UsrTestForDataBT. Зарегистрировал на основе его справочник (с таким же именем - UsrTestForDataBT). Наполнил справочник. Выполнил привязку данных справочника и его данных.

Удалил обе привязки данных в Конфигурации. Удалил сам объект в Конфигурации.

НО! Таблица в БД с таким названием осталась и в этой таблице содержатся данные, которые я вводил при наполнении справочника. При компиляции появляется ошибка (One or more errors occurred.
Элемент с именем "UsrTestForDataBT" не найден).

Что необходимо сделать чтобы из БД все пропало и нормально проходила компиляция?

Нравится

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

Если в таблице есть записи, то она не удаляются вместе с объектом. После удаления объекта Вам необходимо удалить ее в базе самостоятельно.

На счет ошибки - в других объектах делали ссылку в колонках на данный справочник? Если да, то удалите их в начале там. Так же выполните полную генерацию исходного кода перед компиляцией, а так же если включена разработка в файловой системе сделайте выгрузку в начале в файловую систему.

Если в таблице есть записи, то она не удаляются вместе с объектом. После удаления объекта Вам необходимо удалить ее в базе самостоятельно.

На счет ошибки - в других объектах делали ссылку в колонках на данный справочник? Если да, то удалите их в начале там. Так же выполните полную генерацию исходного кода перед компиляцией, а так же если включена разработка в файловой системе сделайте выгрузку в начале в файловую систему.

Александр Тыра,

Спасибо!

Лобанова Мария Сергеевна, добрый день!
При ручном удалении записей, система позволяет увидеть все связанные объекты, которые не позволяют удалить запись и соответственно объект.

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

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

В базе данных bpmonline я создал представление dbo.UsrGetStats c нужными мне атрибутами (Contact, MaxTime, MinTime, AvgTime).

Такой вопрос, как создать объект на основе этого DB VIEW (UsrGetStats)? 

Нравится

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

Добрый день.

Создаете так же, как и простую схему объекта. Подробнее об этом почитайте на академии.

Важно, чтобы названия колонок совпадали с названиями колонок в представлении и, если это справочная колонка, как например, Contact, то в представлении она должна называться ContactId, а в схеме Contact (это только в случае, если Вы ее хотите сделать справочной в схеме).

Также при создании схемы не забудьте указать признак 'Представление в базе данных':

Добрый день.

Создаете так же, как и простую схему объекта. Подробнее об этом почитайте на академии.

Важно, чтобы названия колонок совпадали с названиями колонок в представлении и, если это справочная колонка, как например, Contact, то в представлении она должна называться ContactId, а в схеме Contact (это только в случае, если Вы ее хотите сделать справочной в схеме).

Также при создании схемы не забудьте указать признак 'Представление в базе данных':

Алла Савельева,

Здравствуйте, спасибо за ответ, помогло!

Примечание: во View не было Id из-за этого выходила ошибка.

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

Можно ли как-то переименовать название объекта таблицы (точнее заголовок). При изменении в объекте сама ORM не переименовывает таблицу в базе данных, а если руками переименовать таблицу а потом объект - тогда выдает ошибку "Ошибка сохранения: ORA-00942: table or view does not exist".

И да, база данных Oracle

Нравится

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

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

Именно заголовок сменился нормально, объект опубликовался:

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

я как раз ошибся, мне нужно "название" а не "заголовок" сменить. Но Ваше разьяснее как раз подошло, спасибо. Как вывод - лучше не лезть. А если лесть то по Вашему описанию.

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

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

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

 

Имеется ли в системе какой-то инструмент, который позволит узнать имя объектов. 

Задача - отобрать права у пользователей, убрать строку из меню "дизайнер системы". 

В интерфейсе не нашёл информацию по данному меню. 

В реестре прав доступа не могу понять как называется объект. 

Нравится

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

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

Это меню реализовано в модуле LeftPanelTopMenuModule.

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

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

Это меню реализовано в модуле LeftPanelTopMenuModule.

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

Алла Савельева, я правильно понимаю, что под модулем Вы понимаете "пакет" ? 

Sunrise challenge,

Не, пакет - это пакет, а модуль - это модуль. Модуль - это ClientUnitSchemaManager, скриншот ниже:

Алла Савельева, волей-неволей вспоминается - "стою на асфальте, в лыжи обутый...". Не нахожу его 

Sunrise challenge,

Проверьте, не включена ли фильтрация в нижней панели окна сервисов (на скриншоте выделила красным):

Алла Савельева,

Вы оказались правы. Как-то не очевидно, что он установлен. 

Метод я нашёл, но сохранить изменения он не даёт: 

"Невозможно сохранить изменения элемента "LeftPanelTopMenuModule", так как он создан сторонним издателем или установлен из файлового архива"

Sunrise challenge,

Вам нужно заместить модуль LeftPanelTopMenuModule.

Посмотрите вот этот пост - там описан общий подход к внесению изменений в модуль.

Алла Савельева,

Спасибо за подсказки. В дополнение - есть ли более простой способ скрыть данное всплывающее меню или убрать из списка "Дизайнер системы"  ? 

Sunrise challenge,

Я не нашла никакой системной настройки, с помощью которой можно было бы управлять этой функциональностью.

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

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

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

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

Зверев Александр пишет:
Вообще, если бы такое настраивалось, то не в системных настройках, а в правах доступа на операции.

Это была описка - речь шла о правах доступа на операции.

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

Саша, а ты можешь это внести в список пожеланий от клиента? Я на 100% согласна, что такая настройка должна быть в базовой версии. 

Алла, такое пожелание уже заведено раньше.

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

Коллеги, приветствую.

Столкнулись с неожиданной проблемой при сохранении объекта в любом из пакетов: "Ошибка сохранения: Измерения массива превысили поддерживаемый диапазон.".

Никто не сталкивался? Также не понятно, где в логах найти подробную информацию об этой ошибке.

Нравится

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

Дело не совсем в приложении, очень похоже на то, что проблема с размером оперативной памяти на сервере.

Дело не совсем в приложении, очень похоже на то, что проблема с размером оперативной памяти на сервере.

Алла Савельева,

Алла, здравствуйте. На IIS сервере памяти хватает, тем не менее ошибка есть.

Arthur Matyukov,

А на сервере базы данных память проверяли?

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

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

К примеру наименование услуги, чтобы не было 2 одинаковых.
Или как заменить системный ID на свой?

Нравится

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

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

Вы можете добавить проверку на объекте на событие "До сохранение записи". Либо сделать триггером в БД.

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

Доброго времени суток!
Надо на карточке раздела создать выпадающий список(пиклист).
Как я понял для этого надо создать справочник. Пытаюсь это сделать, но про создании справочника надо указать объект. Как его создать?

Нравится

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

Виктор,

Вы можете выполнить добавление справочного поля в виде выпадающего списка с помощью мастера раздела:

http://academy.terrasoft.ru/documents/docs/product/bpm'online%20sales/omnichannel/7.6.0/BPMonlineHelp/chapter_section_wizard/section_wizard_page_fields_setup.htm

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

Добрый день Виктор!!!

как вы желаете создать справочник, вручную или с помощью мастера-разделов? под словом "вручную " я подразумевал создание страниц раздела, справочника, деталей с помощью Админской части BPMOnline.
если с помощью мастера разделов, то вот ссылка на академию

Мастер-раздела

как вы желаете это сделать, поясните пожалуйста? спасибо!!!

Тo есть, что бы создать список со значениями:
Рука
Нога
Голова
Глаз

Мне надо создавать отдельный раздел и делать так что бы он не отображался с левой стороны для юзера?

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

А потом внесите(зарегистрируйте) этот справочник в разделе Справочники, и наполните значениями

Виктор, если вы желаете создать просто справочник с константными значениями, то вам достаточно средствами Админки, создать схему таблицы (Объекта). При создании схемы Объекта, присваиваем Имя объекта,в поле "Родительский объект" выбираем "Базовый справочник", Сохраняем и публикуем схему Объекта. После переходим "Дизайнер системы" --> "Справочники". Регистрируем созданный справочник, для этого в разделе Справочники нажимаем кнопку "Добавить справочник", в поле "Объект" выбираем нашу схему созданного Объекта, присваиваем справочнику Название и Сохраняем. После сохранения позиционируем курсор на созданном справочнике и жмем кнопку "Открыть наполнение". Выполняем наполнение созданного справочника. А уже далее если вам требуется отобразить созданный справочник на странице редактирования, в виде поля, пользуемся Мастером раздела.

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

Михаил, как разработчик мне так будет проще. Будем пробывать! Спасибо!!

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

"Сенько Виктор" написал:Вопрос как добавить данный фильтр?

Добрый день Виктор!!!

фильтр пользовательский или на уровне кода?

Я думаю в данном случае код не нужен. Но если надо так надо)
Просто я немного в шоке как сложно в данной crm сделать некоторые простые вещи)

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

Ну не просто так мы переходим на данную crm.
Но вопрос открыт. Что делать?

Здравствуйте, Виктор!

Два варианта:
1) Создать объект в конфигурации. При этом в поле родительский объект Вам необходимо указать "Базовый объект". Далее Вы добавляете нужные колонки и публикуете объект.

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

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

я еще раз Виктор с вашего позволения продублирую свой вопрос:

Какой фильтр вам привести в пример, как создавать, пользовательский или на уровне кода?

"Сенько Виктор" написал:Есть стандартный справочник Контакты. Мне надо создать его копию, но только так что бы в нем показывались только Контакты с нужным типом записи.

Что по данному вопросу вам посоветовать, подсказать, какими примерами поделиться?

Буду очень рад если вы приведете пример для двух способов. Вчера Вы мне хорошо помогли.

Первый способ Виктор пользовательский:

в первую очередь советую ознакомиться с Хелпом, "Как работать с фильтрами в разделах." Вот ссылка: Работа с фильтрами, Настройка фильтров.

после прочтения Хелпа можно приступать к созданию динамических Фильтров.
Для этого:
1. Открываем раздел "Контакты"
2. Открываем левую панель по работе в Фильтрами. Для этого в выпадающем меню "Фильтр", выбираем пункт меню "Показать группы"
3. Добавляем Динамическую группу. Для этого, на левой панель Фильтры, в выпадающем меню "Добавить группу", выбираем "Динамическую". Присваиваем имя и начинаем выполнять настройку Динамического фильтра.
4. Настраиваем фильтры, для этого нажимаем "Добавить условия", в появившемся окне выбираем колонку "Тип" = "Клиент". Как приведено на картинке ниже.

5. Сохраняем и Применяем созданных динамический фильтр.

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

Эм... Мне не надо фильтр в самом разделе.
Мне надо сделать так, что бы в данном диалоговом окне можно было выбрать только те Контакты, у которых Тип записи допустим Клиент. И только клиент. Выбор каких то любых контактов запрещен.

И как я понял надо создать новый специфический справочник?

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

Нет не создавал. Но все еще впереди. Так что буду благодарен за инфу

Добрый день Виктор!!!

прежде чем приступать к разработка на платформе BPMOnline 7.6 рекомендую ознакомиться с документацией по платформе. Вот ссылка на SDK по платформе BPMOnline 7.6: SDK BPMOnline 7.6

по вашей задачи вот ссылки на документацию.
1. как выполнить замещение схемы: Как создать замещающую схему страницы или раздела
2. применение фильтров к справочным полям: Добавление правила [FILTRATION] на страницу редактирования, Применение фильтров к справочным полям, Настройка полей страницы редактирования с помощью бизнес-правил

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

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