Доброго времени суток,

В бесплатном приложении Геймификация от Dev Labs возникли два вопроса:

  1. Как обнулить очки сотрудников, которые они набрали, чтобы начать сначала?
  2. Как вывести таблицу ТОП ЛУЧШИХ ИГРОКОВ вместе с фильтром справа в какой-либо дэшборд?

Изображение удалено.

Нравится

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

Добрый день, Тимур!

по вашим вопросам варианты решения ниже:

1. в базовых кейсах работы с приложением Геймификация нет возможности обнулить очки сотрудников. Однако если вы удалите все записи из таблиц ContactGameProfile, ContactGameAchievement, ContactGameTitle, GameContactPoint и GameScoringLog, то таким образом очистите статистику по всем ранее добавленным играм у всех сотрудников.

2. Чтобы вывести информацию по ТОП ЛУЧШИХ ИГРОКОВ вы можете использовать данные из трех таблиц - ContactGameProfile, GameContactPoint или GameScoringLog. Выберите на ваше усмотрение.

Ирина Лазоренко,

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

Спасибо, по пункту 1 задача решена.

По 2: в дэшборде удалось вывести список по очкам через объект ContactGameProfile. Однако задача не до конца в этом. Необходимо вывести объект с точно такой же визуализацией и выбором фильтров по Ролям. Полностью устраивает как это выглядит в игровом профиле, но необходимо это на одной из вкладок на Главной странице https://academy.terrasoft.ru/documents/portal/7-15/nastroit-glavnuyu-stranicu-portala

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

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

После обновления до версии 7.15.2 компиляция завершается с ошибками вида:

Autogenerated\Src\WebServiceClient.BpmonlineCloudIntegration.cs(329,44) error CS0433: The type 'HttpMethod' exists in both 'System.Net.Http, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' and 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'

Подскажите как лучше исправить?

Нравится

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

Добрый день! Есть ли среди участников Community те, кто пользовался приложением из Маркетплейса под названием "Acceptance testing framework for Creatio"?

В инструкции к приложению указан способ его настройки и взаимодействие через IDE WebStorm, а есть ли вариант использовать другое IDE? Если да, то какое? Спасибо.

Нравится

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

Настраивать и взаимодействовать можно из любой среды разработки. Более подробно о настройке и запуске сценариев CucumberJS можно узнать из официальной документации.

https://github.com/cucumber/cucumber-js/blob/2.x/docs/cli.md

Настраивать и взаимодействовать можно из любой среды разработки. Более подробно о настройке и запуске сценариев CucumberJS можно узнать из официальной документации.

https://github.com/cucumber/cucumber-js/blob/2.x/docs/cli.md

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

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

https://yadi.sk/d/5HXBicLNQI3h5Q

Роли пользователя:

https://yadi.sk/d/rjuN-gR2MMK3qA

Права настроены следующим образом:

https://yadi.sk/d/SFqa8x2djEVUTA

Причем при попытке изменить в консоле видно следующее:

https://yadi.sk/d/eYJZ5dd1Fb_Inw

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

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

Собственно вопрос: это баг или я не верно настраиваю права?

 

Нравится

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

У вас не выдано пользователям прав создавать записи в этом разделе

http://prntscr.com/qc9uae

Владимир Соколов,

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

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

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

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

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

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

 

Изображение удалено.

 

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

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

Нравится

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

Добрый день.

Недавно подобная проблема обсуждалась в этом посте.

Добрый день.

Недавно подобная проблема обсуждалась в этом посте.

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

Добрый день,

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

Как я могу сделать так, что бы только определённые поля были редактируемые, а те записи которые из других разделов, отображались как линк в поле деталь на странице редактирование?

Нравится

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

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

Как пример начните смотреть с метода getColumnLinkConfig.

По поводу того чтобы самому регулировать isEdit у контролов полей попробуйте getCellControlsConfig исследовать (для детали с календарем и рабочей недели мне помогло).

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

Как пример начните смотреть с метода getColumnLinkConfig.

По поводу того чтобы самому регулировать isEdit у контролов полей попробуйте getCellControlsConfig исследовать (для детали с календарем и рабочей недели мне помогло).

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

При включении fileDesignMode и выполнении всех настроек сайт не компилируется из конфигурации из студии так же не всегда компилируется нормально, ругается на все схемы исходного кода ввиду того, что классы и члены классов в них дублируются в "Terrasoft.WebApp\Terrasoft.Configuration\Autogenerated\Src\" и "Terrasoft.WebApp\Terrasoft.Configuration\Pcg".

Настройки выполнены согласно инструкции. Проверил. В версии инструкции для 7.15 ничего нового не появилось.

Одновременно с сайтами 7.15.x есть сайты предыдущих версий и с ними подобных проблем не было и нет.

Нравится

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

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

Может помочь удаление дублирующихся файлов из папки Autogenerated.

Николай Кузьмин,

И что их теперь после каждой компиляции/публикации удалять? да и кроме того на некоторых сайтах более 10 пакетов. Как результат более 200 ошибок. Вы правда предлагаете перед каждой компиляцией выискивать в Автодженерейтед эти файлы и удалять?

Заставный Сергей Викторович,

А что на это отвечает служба поддержки Террасофт?

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

Для начала решил здесь спросить, может кто уже в курсе что делать. Но по видимому придется в поддержку писать.

Заставный Сергей Викторович,

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

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

Удалось побороть ошибку?

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

Компиляция в браузере решает проблему.

Дублирование файлов *.cs происходит для схем типа "Исходный код" после переключения из режима разработки в файловой системе в режим разработки в БД (т.е. при установке fileDesignMode = false).

Причина: одинаковые файлы в папках \Autogenerated\Src и в \Pkg.

Чтобы воспроизвести это явление, необходимо, чтобы настройка defPackagesWorkingCopyPath в файле ConnectionStrings.config указывала на папку \Terrasoft.WebApp\Terrasoft.Configuration\Pkg. Кстати, данное явление возможно только в случае подключения к пакету репозитория SVN.

В режиме разработки в БД в папке Pkg не должно быть каталогов с пользовательскими пакетами. В этом режиме сгенерированные *.cs файлы для схем "Исходный код" автоматически складываются в папку \Autogenerated\Src, а папка Pkg используется только для хранения файлового контента.

Решение: в режиме fileDesignMode = false необходимо сделать так, чтобы настройка defPackagesWorkingCopyPath указывала НЕ на папку Pkg. Например, можно установить:

defPackagesWorkingCopyPath = "\Terrasoft.WebApp\Terrasoft.Configuration\PkgForDBMode".

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

Это решение неоднократно проверено на версиях 7.15.х и выше.

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

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

Появилась необходимость произвести следующую доработку: на страницу Заказа вывести деталь, которая будет показывать все заказы, у которых Контакт такой же, как и на отображаемой страницу, но к тому же чтобы была возможность вывода продуктов из каждого заказа, по аналогии с деталью Структура в Проектах. Конечно, аналогия не совсем прямая, в Проектах всё завязано только на одном объекте, когда как в поставленной задаче нужно в первом "слое" выводить записи из Заказов, в во втором "слое" - Продукты в Заказе. Кто-нибудь сталкивался с подобным заданием или разбирал этот функционал? Уже изучил схемы ProjectStructureDetailV2, BaseProjectPageV2 и ProjectUtilities. Также нашёл схему HierarchicalProjectUtilities, там, кажется, находится нечто полезное, но я вообще не нашёл связи между этой схемой и кодом, который ответственен за деталь Структура. Меня более всего интересует сам механизм получения списка того, что нужно отобразить в детали, возможно придётся писать полностью свою логику сборки этого списка, но куда этот составленный список применить - мне не понятно. Будет полезно всё - от указания всех схем, которые участвуют в корректной отрисовке Структуры до принципиального описания как это всё работает и идей, как возможно прикрутить ещё один левый объект. Заранее спасибо!

 

Нравится

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

Если деталь Read-only, то делали View с полем Parent и использовали модуль "Hierarchy list view for creatio" из marketplace

 

Если деталь Read-only, то делали View с полем Parent и использовали модуль "Hierarchy list view for creatio" из marketplace

 

Владимир Соколов, не могли бы вы уточнить, каким образом вы произвели данную доработку именно для двух разных объектов в одной детали? На что должно ссылаться поле Parent в представлении, какой именно раздел преобразовывали в представление для детали? Я имею в виду, модуль всё равно работает только с одним объектом, в их примере они настраивают древовидное отображение дочерних договоров для самих же договоров

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

Если первичный ключ записи в этой view нельзя взять из однозначно соответствующей записи одной из таблиц, его можно также формировать программно, например, взяв первую половину Guid из Id записи одного раздела и вторую половину — из другого. Или md5-хэш от других полей, как в примере тут. Главное, чтобы было полное соответствие Id записей, на которые ссылаются и значений полей-ссылок.

Затем по этому view создать объект и далее его использовать в «Hierarchy list view».

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

Добрый день. Элемент БП "Читать данные", в случае чтения коллекции, на выходе отдаёт параметр ICompositeObjectList ResultCompositeObjectList. Необходимо создать элемент процесса, который будет производить конвертацию этого параметра обратно в EntityCollection, с целью получения Entity, в которой будет содержатся данные об одном элементе из коллекции. И дальнейшей передачи этой Entity в следующий элемент процесса. Каким образом это можно сделать?

Нравится

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

См. обсуждение аналогичного вопроса тут.

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

Я находил данное обсуждение, спасибо, но там, к сожалению нет решения моей проблемы. Напомню, мне нужен элемент бизнес-процесса, у которого в выходном параметре будет содержаться один элемент из коллекции. А как этот выходной параметр создать? В идеале этот параметр должен быть с типом "CompositeObject", но дело в том, что параметр в элементе процесса можно создавать только из предложенных типов (строка, entity, число и т.д.) и среди этих вариантов нет типа: "CompositeObject".

Можно создать параметр процесса типа Entity или EntityCollection и программно его наполнять значением при помощи элемента-скрипта с кодом, как по ссылке.

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

Не могли бы Вы привести в пример код, о котором Вы говорите? Тот код что по ссылке в foreach перебирает элементы коллекции с типом CompositeObjectList и передаёт элемент из этой коллекции в элемент с типом CompositeObject.

Я про это действие: 

foreach(var entity in entities)

для entity хоть и используется неявная типизация, но в процессе отладки удалось установить, что для entity назначается тип CompositeObject.

Мне кажется, проще будет вообще не использовать элемент чтения в БП, пытаясь потом вытянуть из него в нужном формате, а всё сделать чисто программно в блоке-скрипте, используя механизмы Select или EntitySchemaQuery, в зависимости от потребностей.

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

Спасибо за помощь.

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

Добрый день!

Возникла необходимость загрузки не всей входящей почты из почтового ящика MS Outlook, а по условию (фильтру), например, только от определённых отправителей или наоборот исключить загрузку почты от списка отправителей.

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

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

Нравится

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

Не совсем понятно, что значит «почты из почтового ящика MS Outlook». Это может быть или корпоративный Exchange-сервер Вашей организации, или веб-почта Outlook.com (бывший Hotmail).

Только в старых версиях системы: 3.Х, 5.Х и первые версии 7.Х интегрировались с почтовой программой на локальном компьютере, а сейчас 7.Х работает с сервером напрямую по протоколам IMAP/SMTP или MS Exchange.

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

Как выбрать нужную папку, описано в статье:

chapter_imap_synchronization_yahoo_folders_select.png

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

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

 Добрый день! Спасибо за ответ!

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

На сколько я знаю, правила MS Outlook, которые пользователь создает для распределениям почты по папкам, работают только на стороне клиента, т.е. если мой Outlook не запущен, то все письма будут скапливаться в папке "входящие", до тех пор пока не запустится клиент Outlook и не отработаются правила.

Вручную переносить почту по папкам нет никакой возможно, это нужно автоматизировать.

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

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

Вот и вот информация, как настраиваются правила на уровне сервера Exchange:

You can use mail flow rules (also known as transport rules) to identify and take action on messages that flow through the transport pipeline in your Exchange 2016 and Exchange 2019 organization. Mail flow rules are similar to the Inbox rules that are available in Outlook and Outlook on the web (formerly known as Outlook Web App). The main difference is mail flow rules take action on messages while they're in transit, and not after the message is delivered to the mailbox. Mail flow rules contain a richer set of conditions, exceptions, and actions, which provides you with the flexibility to implement many types of messaging policies.

По поводу возможности доработок, нужно изучать код в схеме процесса LoadExchangeEmailsProcess и вызываемой из неё логике схемы ExchangeUtility.

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

Зверев Александр пишет:

Вот и вот информация, как настраиваются правила на уровне сервера Exchange:

Спасибо за информацию, будем изучать!

 

Зверев Александр пишет:

По поводу возможности доработок, нужно изучать код в схеме процесса LoadExchangeEmailsProcess и вызываемой из неё логике схемы ExchangeUtility.

Т.е. доработать эти процессы можно самостоятельно или с помощью сторонних разработчиков (партнёров террасофт)? Эти процессе не закрыты от модификации?

Для доработки нужно создавать свои схемы в пакете Custom  и переопределять в них базовую логику.

Учтите, что замещать можно не всё (например, модули специально запрещено), да и часть логики сделана вообще в ядре и недоступна для просмотра и правок, судя по:

using Terrasoft.ExchangeApi.Interfaces;
using Terrasoft.Sync.Exchange;

В конфигурации этих схем нет.

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