Добрый день!

Помогите разобраться.

Обращение регистрируется по письму на системный почтовый ящик 2, уведомления по работе с обращением уходят с основного ящика 1.

В итоге уведомления уходят с основного ящика контакту обращения и системному почтовому ящику 2.

Поддержка ничего не может ответить внятного :(

В поле "кому" указываю емаил контакта в бизнес процессе, отправитель = системная настройка. Отправку делаю так:

var activityId = Get<Guid>("activityId");//AddActivityDataUserTask.RecordId;
var emailClientFactory = ClassFactory.Get<EmailClientFactory>(new ConstructorArgument("userConnection", UserConnection));
var activityEmailSender = new ActivityEmailSender(emailClientFactory, UserConnection);
activityEmailSender.Send(activityId);
return true;

 

Нравится

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

Добрый день.

В каком состоянии у вас настройка "AutoNotifyOnlyContact"? попробуйте поставить в True, после перезапустить приложение, и почистить редис. т.к. настройка кэшируется.

Добрый день.

В каком состоянии у вас настройка "AutoNotifyOnlyContact"? попробуйте поставить в True, после перезапустить приложение, и почистить редис. т.к. настройка кэшируется.

спасибо большое! судя по статье на академии должно помочь. попробую и напишу по результату.

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

Есть деталь с редактируемым реестром привязанная к объекту(который является смежной таблицей, связь многие-ко-многим).

1) Не получается добавить бизнес-правила к такой детали, просто не грузится, деталь была создана по руководоству: https://academy.terrasoft.ru/documents/technic-sdk/7-15/detal-s-redakti…

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

Нравится

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

Добрый день.

 

1. Посмотрите в консоли, есть ли какие-то ошибки при загрузке Вашей детали.

2. Вся логика, которая работает для редактируемого реестра, реализуется в карточке редактирования для этого реестра. Таким образом, добавлять бизнес-правила и отслеживать изменение поля нужно в карточке редактирования.

Добрый день.

 

1. Посмотрите в консоли, есть ли какие-то ошибки при загрузке Вашей детали.

2. Вся логика, которая работает для редактируемого реестра, реализуется в карточке редактирования для этого реестра. Таким образом, добавлять бизнес-правила и отслеживать изменение поля нужно в карточке редактирования.

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

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

 

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

 

Дело в том, что периодически один и тот же запрос то выполняется, то нет, в разное время нагрузки на сервер (даже когда она минимальная).

Нравится

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

Добрый день.

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

Однако подробнее ответить на Ваш вопрос сможет только разработчик данного дополнения. Его контакты есть на маркетплейсе https://marketplace.terrasoft.ua/app/sql-executor-creatio.

Добрый день.

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

Однако подробнее ответить на Ваш вопрос сможет только разработчик данного дополнения. Его контакты есть на маркетплейсе https://marketplace.terrasoft.ua/app/sql-executor-creatio.

Интересно, а куда пропало это дополнение из Marketplace? 

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

Видимо переехало в саму систему, поскольку сейчас в коробке Creatio версии 7.18 есть в Дизайнере системы консоль для SQL

Но это предположение



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

Ирина Кузина пишет:

Интересно! А где именно? Что-то я не нахожу  

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

У меня данная плашка появляется только при переводе платформы в режим разработки в файловой системе, вместе с пунктами очистки кэша Redis и перезапуска пула приложения:







Прошлое сообщение отредактировала в связи с получением информации по данному вопросу)

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

Доброе время суток!

Ребята нужна ваша подсказка, во время того как происходить установка на перпродуктивную среду после установки пакета поставки в log файле install.txt присутствуют предупреждения.

2020-11-12 01:08:15,659 Обновление структуры таблиц в базе данных

2020-11-12 01:08:15,768 Установка данных

2020-11-12 01:08:15,784 Компиляция конфигурационной библиотеки

2020-11-12 01:09:12,784 При компиляции конфигурационной библиотеки возникли ошибки и (или) предупреждения

2020-11-12 01:09:12,784 Autogenerated\Src\CaseSchema.Custom.cs(504,45) предупреждение CS0114: 'CaseEventsProcessSchema.CreateIncompletedActivitiesFoundMessageLocalizableString()' hides inherited member 'Case_ELBase_EdenLabEventsProcessSchema.CreateIncompletedActivitiesFoundMessageLocalizableString()'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword.

2020-11-12 01:09:12,784 Autogenerated\Src\CaseSchema.Custom.cs(515,45) предупреждение CS0114: 'CaseEventsProcessSchema.CreateIncompletedChildCasesFoundMessageLocalizableString()' hides inherited member 'Case_ELBase_EdenLabEventsProcessSchema.CreateIncompletedChildCasesFoundMessageLocalizableString()'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword.

2020-11-12 01:09:12,784 Autogenerated\Src\CaseSchema.Custom.cs(361,28) предупреждение CS0108: 'Case_CustomEventsProcess.IncompletedChildCasesFoundMessage' hides inherited member 'Case_ELBaseEventsProcess.IncompletedChildCasesFoundMessage'. Use the new keyword if hiding was intended.

2020-11-12 01:09:12,784 Autogenerated\Src\CaseSchema.Custom.cs(354,28) предупреждение CS0108: 'Case_CustomEventsProcess.IncompletedActivitiesFoundMessage' hides inherited member 'Case_ELBaseEventsProcess.IncompletedActivitiesFoundMessage'. Use the new keyword if hiding was intended.

2020-11-12 01:09:27,284 Приложение установлено успешно.

Дело в том что на моей локальной среде в пакете Custom я не создаю файлов от слова совсем. И через вижуалку посмотреть что там не так с кодом не могу. Нашу препродуктивную среду админит  Terrasoft те Вы. Помогите разобраться, что там не так.   

Нравится

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

Нигрескул Алексей,

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

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

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

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

Добрый день! Скорее всего. что на предпроде настраивали кейсы по каким то из объектов системы, и все сохранилось в пакет Custom, т.к. скорей всего он стоит пакетом по умолчанию(в него будет происходить сохранение и генерация элементов при работе через мастер разделов). Поэтому когда Вы инсталируете свой пакет происходит компиляция которая затрагивает элементы пакета Custom и фиксируются данные предупреждения в логах. Касательно сообщений, критичного ничего нет.

А как от них избавится?

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

Custom - зависит от всех пакетов системы, поэтому замещенные схемы объектов из пакетах выше сохраненные в Custom будут применять изменения данного пакета(Custom). Что касательно изменения из VS, то тут вряд ли  Вы сможете изменить, т.к. это автогенерируемые схемы - https://prnt.sc/vjxkgv и они перегенерируются при следующей компиляции. 

 

А что вообще ТП говорит по этому поводу?

Пока создали на них заявку, ждем

 

Нигрескул Алексей,

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

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

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

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

В общем понятно. Я на подомного рода сообщения пару лет уже не обращаю внимания).

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

Добрый день!

Пытаюсь сделать по инструкции https://community.terrasoft.ua/articles/kak-skryt-knopku-zapustit-process. но кнопка остается.

Что забыл сделать, подскажите, пожалуйста?

 

define("BootstrapModulesV2", ["LeftPanelTopMenuModuleV2"], function() {

    return {

        methods: {},

        details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,

        diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/

    };

});

 

 

 

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

Нравится

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

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

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

Учтите один нюанс, начиная с версии 7.17.0 если ТЭГ будет не заполнен то процесс в "Библиотеке процессов" виден не будет, и Вы не сможете им управлять - сменить версию можно будет только перейдя в процесс из цепочки и проставить "Сделать актуальной версией", а вот выключить уже не как не выйдет. Потому ТЭГ убирайте только у тех процессов что используете как подпроцессы (так как при его вызове, даже если он отключен он все равно включится), в других случаях можно к примеру в ТЭГ писать имя процесса.

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

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

 

 

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

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

Учтите один нюанс, начиная с версии 7.17.0 если ТЭГ будет не заполнен то процесс в "Библиотеке процессов" виден не будет, и Вы не сможете им управлять - сменить версию можно будет только перейдя в процесс из цепочки и проставить "Сделать актуальной версией", а вот выключить уже не как не выйдет. Потому ТЭГ убирайте только у тех процессов что используете как подпроцессы (так как при его вызове, даже если он отключен он все равно включится), в других случаях можно к примеру в ТЭГ писать имя процесса.

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

Александр Тыра пишет:

Учтите один нюанс, начиная с версии 7.17.0 если ТЭГ будет не заполнен то процесс в "Библиотеке процессов" виден не будет

А почему бы разработчикам не придумать второй тэг "Hidden Business Process"?

Александр Тыра пишет:

Убрать кнопки можно, я уже делал это

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

Создайте модуль без наследников, в нем:

 

define("KtLeftPanelTopMenuModule", ["LeftPanelTopMenuModule"],

    function() {

        Ext.define("Terrasoft.configuration.KtLeftPanelTopMenuModuleViewModel", {

            alternateClassName: "Terrasoft.KtLeftPanelTopMenuModuleViewModel",

            override: "Terrasoft.LeftPanelTopMenuModuleViewModel",

            getTopMenuConfig: function() {

                var esq = this.callParent(arguments);

                var index = esq.map(function(e) { return e.id; }).indexOf("menu-startprocess-button");

                if (index > -1) {

                    esq.splice(index, 1);

                }

                return esq;

            }

        });

    }

);

 

Это уберет кнопку круглую. Думаю по аналогии можно убрать и кнопку с надписью "Запустить процесс", а вот как команду выпилить не подскажу, даже не смотрел

При этом необходимо замещать BootstrapModulesV2?

 

define("BootstrapModulesV2", ["KtLeftPanelTopMenuModule"], function() {

    return {

        methods: {},

        details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,

        diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/

    };

});

Павлов Антон,

 Нет, не надо

Спасибо за ваши ответы

Но пока не получается реализовать на своей стороне...

Проведите отладку, отрабатывает ли у Вас вообще изменённая логика.

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

Коллеги, добрый день. Версия 7.15.3.

 

Подскажите, как настраивается размещение блока шаблона.

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

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

 

Как можно "прижать" его к левому краю?

Нравится

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

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

 

А на вкладке «Предпросмотр» можно проверить, как будет на разных размерах экранов выглядеть. Стандартные блоки автоматически адаптируются под ширину, меняя расположение элементов:

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

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

Вопросы:

1. Допустима ли работа кластера серверов приложений при схеме: 1 и более серверов CRM, 1 и более серверов клиентского Портала, 1 сервер Портала с отключенными вебсокетами и СУБД?

2. Читал, что при отключении веб-сокетов не будут работать, кроме всего прочего, и пользовательские бизнес-процессы. Можете подробнее рассказать о том, что именно не будет работать?

 

 

Нравится

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

Во-первых, не «пользовательские бизнес-процессы», а действия пользователя в бизнес-процессах: открытие ему разных страниц.

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

 

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

 

Более подробно об этой технологии и её настройке есть в статье.

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

 

Ясно. Будем тестировать работу Портала с отключенной поддержкой веб-сокетов.

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

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

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

Нравится

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

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

Добрый день.

 

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

 

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

 

 

Алла Савельева пишет:

Добрый день.

Вам нужно в свойствах данного объекта установить признак 'Представление в базе данных', как на скриншоте ниже:

Нет. Это совет, как создать представление, на не в объекте ссылку на представление. 

Эта ошибка происходит из-за того, что система пытается создать внешний ключ (foreign key) на представление, а СУБД такой возможности не дает.



Нужно в свойствах справочной колонки, которая ссылается на представление указать признак "Не контролировать целосность". Это не будет создавать внешний ключ в БД.

 

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

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

Это то что нужно, спасибо!

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

Коллеги, добрый день. Версия 7.15.4.

 

В системе существует возможность задавать быстрые фильтры с помощью функции initFixedFiltersConfig: https://academy.terrasoft.ru/documents/technic-sdk/7-16/dobavlenie-v-ra…

 

При этом для фильтрации в конфиге фильтра указывается колонка (свойство columnName)

 

Можно ли в таком же фильтре задать поиск по данным детали (т.е. по Exists, наподобие такого примера: https://community.terrasoft.ua/articles/kak-sdelat-filtraciu-pola-po-ex… ) на странице раздела?

 

Нравится

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

Денис, в примере по Вашей ссылке создаётся OwnerFilter. Логика его формирования реализована в схеме BaseFiltersGenerateModule:

  function employeesFilter() {
   const sysAdminUnitRef = "[SysAdminUnit:Contact]";
   const employeesFilter = Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
     sysAdminUnitRef + ".ConnectionType",
     ConfigurationConstants.SysAdminUnit.ConnectionType.AllEmployees);
   const filters = getIsNotNullFilterGroup(sysAdminUnitRef);
   filters.addItem(employeesFilter);
   return filters;
  }
...
  return {
   OwnerFilter: employeesFilter,
   SelfFilter: selfFilter,
   AllUsersFilter: allUsersFilter
  };

То есть фильтр по ответственному как раз делается по связанным таблицам.

То есть можно переопределить BaseFiltersGenerateModule (в схеме под другим названием, как это делается для модулей), там реализовать нужную логику фильтрации, а затем в схеме раздела его применять.

 

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

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

Добрый день.



При попытке подключиться с помощью плагина Word к серверу Creatio выдается ошибка:



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

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

Плагин скачивался с https://academy.terrasoft.ru/documents/administration/7-16/ustanovka-pl…, MS Word версии 2013

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

Нравится

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

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

 

Да, если у Вас действительно 7.15, там, где качали, есть ссылка на более старый плагин. Раз у Вас нет поля «Конфигурация», наверно, качали новый? Они между собой несовместимы, причина, вероятно, как раз в этом.

Юрий, а дело не в том же, что в этой теме?

Может, неправильно прописан адрес, логин или пароль?

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

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

да вроде бы все верно прописано, несколько раз проверил и перенабирал.  При попытке ввести заведомо ошибочные имена пользователя и пароль система сообщает "Login or password is incorrect". При попытке ввести заведомо неправильное имя сервера система сообщает "Невозможно разрешить удаленное имя [имя сервера]". При вводе правильных значений авторизация вроде бы проходит корректно, сбой случается на попытке получить список печатных форм.

 

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



Сходство с темой по ссылке есть, но там предлагается опираться на содержимое поля Configuration, которого у меня почему-то нет.

Если всё так строго с правами, может и на уровне firewall всё заблокировано? Хотя, авторизация же прошла.

 

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

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

я уже свои две недели в демке отработал, больше вроде не дают?

Так что мешает снова зарегистрироваться? Тем более, 7.17 вышла, заодно попробовать.

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

логично...

 

Зарегистрировался, все подключилось без проблем. По всей видимости, ошибка связана с какими-то настройками нашего сервера, вопрос - с какими?

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

 

Да, если у Вас действительно 7.15, там, где качали, есть ссылка на более старый плагин. Раз у Вас нет поля «Конфигурация», наверно, качали новый? Они между собой несовместимы, причина, вероятно, как раз в этом.

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

Да, действительно, проблема была именно в этом. Переустановил, проблема исчезла.



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

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