Добрый день

После установки пакета Printable forms setup for Creatio (https://marketplace.terrasoft.ru/app/reports-setup-creatio) перестал работать стенд

Уже и Redis чистил и Исходники генерил, но при компиляции выдает ошибку  Зависимый пакет "NavReportMaster" не найден

Уже не знаю как восстановить работу стенда

Нравится

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

либо что-то не доставилось, либо просмотри зависимости в новых пакетах, нет ли там NavReportMaster. мб мусорные зависимости от пакетов разработки остались

Варфоломеев Данила,

Как их можно удалить?

Иван Ратников,

 

Попробуйте восстановить базу данных из резервной копии.

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

если б это было возможно...

Иван Ратников пишет:

Вам нужно разблокировать пакет через SQL запрос, затем зайти в свойства пакета и убрать зависимость пакета.
Про зависимости пакетов можете почитать здесь:
https://academy.terrasoft.ru/docs/7-17/developer/development_tools/pack…
Скрипт для разблокировки пакета:
 UPDATE "SysPackage" SET "InstallType" = 0, "IsChanged" = 1, "IsLocked" = 1 WHERE "Name" = 'NamePackage';
Когда изменения внесете, можете его обратно заблокировать, инвертировав значения на обратные для измененных параметров.

Для начала нужно понять, в каком пакете осталась зависимость от NavReportMaster. Это можно выяснить скриптом:

 

SELECT sp2.Name FROM SysPackageDependency
LEFT JOIN SysPackage sp1 ON sp1.Id = SysPackageId
LEFT JOIN SysPackage sp2 ON sp2.Id = DependOnPackageId
WHERE sp1.Name = 'NavReportMaster'

 

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

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

Добрый день! Есть большой интерпретируемый БП, в котором есть элемент вызова другого интерпретируемого процесса. Вот кусок:

А вот данные из таблицы "SysProcessElementLog":

Почему между БП и элементом добавления данных постоянно образовывается пауза в +-42 секунды? Как её убрать? Сам вызываемый процесс небольшой.

Паузы есть после каждого элемента вызова БП (паузы разные, где-то 2 секунды, где-то 10, а где-то и больше минуты, в зависимости от процессов и соседних элементов), возникают они уже после того как отработал БП. Есть ощущение, что это какая-то кривая сериализация (выполнился за 3 секунды, думает 42 сек). 7.15

Раньше, при использовании компилируемых процессов, такого не было.

Нравится

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

Добрый вечер, Эдуард.

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

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

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

Добрый день.

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

Атрибут, созданный на детали, не работает (тут условие для теста, а так хотелось бы что-то типа NOT_EQUAL this.get("Collection").getItems() ):

"TscCategory": {
                lookupListConfig: {
                    filter: function() {
                        var filters = this.Terrasoft.createFilterGroup();
                        filters.add("TscCategoryFilter", this.Terrasoft.createColumnFilterWithParameter(
                            this.Terrasoft.ComparisonType.EQUAL, "Id", "{C3AFADA6-98A4-7BC3-E053-2E9210ACF375}"));
                        return filters;
                    }
                }
            }, 

 

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

Нравится

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

Попробуйте так:

var filters = this.Terrasoft.createFilterGroup();

var filter = filters .add("Filter01",
                                Terrasoft.createColumnInFilterWithParameters("Id",
                                ["c7a2112b-6351-4d68-b24f-9963cb0b27c9", "9e085bd0-b7a3-46dc-a76f-ed7f9b3dc9fe"]));
filter.comparisonType = Terrasoft.ComparisonType.NOT_EQUAL;

return filters;

Колногоров Роман Андреевич,

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

eduard-t,

посмотри в activityDetail метод getFilters, и переорпделели его на своей детали, если у тебя что то более сложное к примеру работа с коллекцией, то стоит использовать setFilter

Dima Avdoshin,

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

eduard-t,

Добрый день. 
Фильтр может не работать так как Вы возвращаете группу фильтров, а не один фильтр.  Для свойства filter возвращается Terrasoft.BaseFilter, для filters - Terrasoft.FilterGroup.
Более детально по ссылке.

 

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

Здравствуйте, коллеги. Нужно помощь в организации тестирования стратегий. В компании развернуто решение для collection. Имеется потребность тестировать стратегии на предмет эффективности согласно подходу А/Б тестирования, он же Champion-Challenger. Стратегий более 25 шт.  

    Основная проблема как сделать слепую (рандомную) выборку согласно условиям теста и при этом количество клиентов должно быть одинаковым.
    Например нужно взять 30% новых клиентов для конкретной стратегии и из них по 15 % это тестовая и контрольная группа. И на каждой группе применить разные стратегии, старую и новую, Champion-Challenger.  

     

    Для рандомизации пробовал использовать последние цифры дня рождения, "заканчивается на 1" и т.п., но такие условия дают выборку только по 10%. Как вариант ИНН клиента, но насколько знаю ИНН не совсем рандомен. Кроме того выборка дает разное количество клиентов для отработки. Например, 386 и 315 т.е. с досточно большой разницей, что "смажет" результат.

    Как вариант генерировать еще 1му полю 0 и 1 рандомно, что бы поделить на 2 группы.

     

    Вопросы:

    1. Есть ли в Сreatio функционал для автоматизированного А/Б тестирования? Есть информация, что есть функционал для решения Маркетинг, но здесь немного другая ситуация. Т.к. клиенты заходят залповой загрузкой из основной учетной системы, а не извне в рандомном порядке и нельзя предсказать количество клиентов для тестируемой стратегии.
    2. Если у кого нибудь опыт в подобном тестировании в среде creatio?
    3. Есть ли у кого опыт в рандомизации?
    4. Так же вопрос как оценить результаты теста. Т.е. как сформировать отчет по выборке. Понятно, что в Creatio должны быть id теста как минимум привязанный к клиенту. И возможно в соотношении 1н ко многим. 

     

    Из доступных параметров: дата рождения клиента, дата выхода на просрочку, ИНН, сотовый телефон.  

     

    Пример условий стратегии на скриншоте.

    По продукту вроде Financial Services.

     

    Прикрепленные файлы

    Нравится

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

    В версии 7.17.3 появился новый элемент [ Произвольное распределение ], который позволяет случайным образом направить участников по разным веткам кампании. Данный элемент удобно использовать для контрольных групп, сплит-тестов. 

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

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

    Нравится

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

    Можете написать свой сервис без авторизации с нужным функционалом.

    Нет.

    См. инструкцию:

    1. Выдайте системному портальному пользователю SysPortalConnection портальную лицензию

    Идея добавить возможность оценки в Sales зарегистрирована.

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

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

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

    Можете написать свой сервис без авторизации с нужным функционалом.

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

    Коллеги, имею проблемы.

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

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

    То есть работает все так:   импортируются данные (посредством импорта exel) в договоры, в договорах фиксируется вся информация, в том числе информация по клиенту «ФИО, ИНН, другая информация», состояние новых договоров «новые».

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

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

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

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

     

    Пример: есть

    -договор 1 (из первоначального файла импорта) от клиента 1   

    -договор 2  от того же клиента 1

    После импорта создаются две записи в разделе «договора»   : договор 1, и договор 2 со статусом «новый»

    По сигналу запускается от договоров, запускается бизнес процесс по созданию клиентов.

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

    Нравится

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

    Скорее всего, нужно вынести обработку заимпортированных записей в отдельный процесс (где уже идёт последовательно).

    • Если импорт выполняет администратор, то он может запускать этот процесс вручную.
    • Если же импорт выполняют пользователи, то можно запускать процесс по расписанию. Тогда процесс проверяет, не запущена ли уже такая обработка, и затем последовательно обрабатывает записи.
    • Возможно, как-то можно поймать сигнал окончания импорта (уведомление-то создаётся), и запускать процесс последовательной обработки в этот момент

    Скорее всего, нужно вынести обработку заимпортированных записей в отдельный процесс (где уже идёт последовательно).

    • Если импорт выполняет администратор, то он может запускать этот процесс вручную.
    • Если же импорт выполняют пользователи, то можно запускать процесс по расписанию. Тогда процесс проверяет, не запущена ли уже такая обработка, и затем последовательно обрабатывает записи.
    • Возможно, как-то можно поймать сигнал окончания импорта (уведомление-то создаётся), и запускать процесс последовательной обработки в этот момент

    Какие условия проверки наличия контрагента в БП? Она точно корректно отрабатывает? 

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

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