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

Нравится

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

В карточке у кнопки имя "ProcessButton".

В секциях либо "ProcessButton", либо "ProcessRunButton", либо "DataGridRunProcessAction" в зависимости от положения

В карточке у кнопки имя "ProcessButton".

В секциях либо "ProcessButton", либо "ProcessRunButton", либо "DataGridRunProcessAction" в зависимости от положения

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

Делаю на основе примера: https://community.terrasoft.ru/questions/sredstva-svyazi-lida

Создала объект qrtLeadCommunication, и Модель представления детали с полями qrtLeadCommunicationDetail. 

Код в схеме представления:

define("qrtLeadCommunicationDetail", ["qrtLeadCommunicationDetailResources", "terrasoft", "Lead",
        "ConfigurationEnums", "ConfigurationConstants"], function(resources, Terrasoft, Lead, ConfigurationEnums,
        ConfigurationConstants) {
    return {
 
        /**
         * Имя сущности
         */
        entitySchemaName: "qrtLeadCommunication",
 
        methods: {
 
        }
    };
});

Пытаюсь зарегистрировать деталь через sql-запрос:

declare @DetailSchemaUid uniqueidentifier = (select Uid from SysSchema where Name = 'qrtLeadCommunicationDetail')
declare @EntitySchemaUid uniqueidentifier = (select Uid from SysSchema where Name = 'qrtLeadCommunication')
insert into SysDetail(Caption, DetailSchemaUId, EntitySchemaUId)
values('Средства связи Лида', @DetailSchemaUid, @EntitySchemaUid)

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

Но ничего не выходит.

Зарегистрировав через Мастер деталей получила обычную деталь со страницей добавления. 

А нужна деталь точно такая же как Средства связи контакта или Средства связи контрагента.

Что делаю не так?

Буду благодарна, если подробно опишите алгоритм действий.

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

Нравится

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

Проблема возникает из-за использования префикса перед названиями объектов.



1) Попробовал создать с префиксами - получил ошибку такую же ошибку.

2) Отключил префиксы и создал без них - все работает

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

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

замещающий объект CommunicationType был создан

Проблема возникает из-за использования префикса перед названиями объектов.



1) Попробовал создать с префиксами - получил ошибку такую же ошибку.

2) Отключил префиксы и создал без них - все работает

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

Создаю деталь аналогично статье: https://community.terrasoft.ru/questions/sredstva-svyazi-lida

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

Выполняю скрипт, как в статье:

declare @DetailSchemaUid uniqueidentifier = (select Uid from SysSchema where Name = 'qrtLeadCommunicationDetail')
declare @EntitySchemaUid uniqueidentifier = (select Uid from SysSchema where Name = 'qrtLeadCommunication')
insert into SysDetail(Caption, DetailSchemaUId, EntitySchemaUId)
values('Средства связи Лида', @DetailSchemaUid, @EntitySchemaUid)

на что получаю: Изображение удалено.

Выполнила так же скрипт описанный в данной статье: https://academy.terrasoft.ru/documents/technic-sdk/7-11/sozdanie-detali…

DECLARE
-- Название схемы создаваемой детали.
@DetailSchemaName NCHAR(100) = 'qrtLeadCommunicationDetail',
-- Заголовок детали.
@DetailCaption NCHAR(100) = 'Средства связи Лида',
--Название схемы объекта, к которому привязывается деталь.
@EntitySchemaName NCHAR(100) = 'qrtLeadCommunication'
 
INSERT INTO SysDetail(
    ProcessListeners,
    Caption,
    DetailSchemaUId,
    EntitySchemaUId
)
VALUES (
    0,
    @DetailCaption,
    (SELECT TOP 1 UId
    FROM SysSchema
    WHERE name = @DetailSchemaName),
    (SELECT TOP 1 UId
    FROM SysSchema
    WHERE name = @EntitySchemaName)
)

На что также получаю: Изображение удалено.

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

Что я делаю не так?

Нравится

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

Анастасия, добрый день!

 

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

Дмитрий Тёскин,

Черех Мастер получается деталь со страницей добавления, а нужна деталь с полями редактирования 

Анастасия Демидова,

В версии 7.17.4 при создании детали через мастер есть поле 'Сделать реестр редактируемым'. Если его указать, то у Вас получится деталь с редактируемым реестром:

 

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

 

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

Мне нужен фильтр в C# коде

Что-то вроде:

var activity = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "Activity"); //Активность
 
activity.Filters.Add(activity.CreateFilterWithParameters(FilterComparisonType.Equal, "Type",  "id типа")); // тип активности - email
activity.Filters.Add(activity.CreateFilterWithParameters(FilterComparisonType.Contain , "Recepient",  "my_email@gmail.com")); // кому-мне
 
activity.Filters.Add(activity.CreateFilterWithParameters(FilterComparisonType.Contain , "Sender",  "my_dad_email@gmail.com")); // от отца
activity.Filters.Add(activity.CreateFilterWithParameters(FilterComparisonType.Contain , "Sender",  "my_mum_email@gmail.com")); // от матери
activity.Filters.Add(activity.CreateFilterWithParameters(FilterComparisonType.Contain , "Sender",  "my_sister_email@gmail.com")); // от сестры
activity.Filters.Add(activity.CreateFilterWithParameters(FilterComparisonType.Contain , "Sender",  "my_brother_email@gmail.com")); // от брата



нужен такой фильтр:

тип активности-email && кому-мне && (от отца || от матери || от сестры || от брата)



Как добавить логические операторы чтобы получить такой фильтр?

Или может быть надо по другому?

Нравится

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

 Что то типо такого?

activity.Filters.Add(activity.CreateFilterWithParameters(FilterComparisonType.Contain , "Sender",  new string[] { "my_dad_email@gmail.com", "my_mum_email@gmail.com", "my_sister_email@gmail.com", "my_brother_email@gmail.com"}));

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

выдает ошибку 

Условие типа "Contain" не может содержать более одного выражения в правой части

обойтись без Contain не получиться

Попробуйте через createColumnInFilterWithParameters

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

Всем доброго времени суток, хотелось бы немного прояснить вопрос.

Пробую вызывать веб-сервис из бизнес-процесса.

Через Postman, прохожу аунтентификацию через .../ServiceModel/AuthService.svc/Login, далее вызываю .../0/odata - получаю перечень таблиц и статус 200, то же самое через адресную строку браузера.



Но если вызывать этот веб-сервис через бизнес-процесс, кроме HTTP Error 401.1 - Unauthorized или Invalid user name or password не получил.

В бизнес-процессе пробовал вызывать сначала веб-сервис .../ServiceModel/AuthService.svc получать через параметры процесса BPMCSRF  - без результата.

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

Через веб-сервис .../0/ServiceModel/EntityDataService.svc/  получаю статус 200 и ответ в виде XML.

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

Суть вопроса почему .../0/odata возвращает статус 200 и данные через постман и браузер, а через бизнес-процесс возращает ошибку.

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

 

Нравится

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

Сергей,

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

Олег Нефедьев, спасибо.

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

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

Добрый день!

Перед до мной стоит задача реализовать в событийном процессе определенную логику в задаче-сценарии (скрипте на C#). Затем, в случае корректного выполнения скрипта, выполнить одну ветвь бизнес-процесса (отправить одно письмо). В случае же ошибки необходимо выполнить другую ветвь бизнес-процесса (отправить другое письмо). Задачу-сценарий я реализовал. А как сделать условное ветвление после этого скрипта - не совсем понимаю, не хватает опыта решения подобных задач. Вы не подскажете, какие есть best-practices решения подобных задач, т.е. как из задачи-сценария передать статус завершения и потом сделать условное ветвление на основе этого статуса? Заранее спасибо.

Нравится

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

Добрый день.

Статус завершения можно записать в параметр бизнес-процесса.

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

Добрый день.

Статус завершения можно записать в параметр бизнес-процесса.

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

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

Большое спасибо за ответ.

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

Всем привет!

 

Очень хотим вывести разработчика crm в штат. 

В компании Webinar Group используется CRM Creatio (бывшая BPMOnline)

 

Подробно можно прочитать о вакансии тут https://job.webinar.ru/page5436913.html

 

А еще можно написать мне в телеграмм @AlisaName

Нравится

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

Добре утро!

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

 

Нравится

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

Добрый день,

 

Уточните, пожалуйста, детально Вашу бизнес-задачу.

 

С уважением,

Кучер Виталина

Группа компаний Terrasoft

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

Привет,

ранее долгое время использовал СРМ в режиме работы в файловой системе (далее РФС). Недавно появилась необходимость проверки опции UseStaticFileContent. Опция не работает с РФС. Следовательно я сделал следующее:

1. Забрал изменения из файловой системы.

2. Скомпилировал все

3. Отключил РФС при помощи filedesignmode enabled="false". 

4. Включил UseStaticFileContent

5. Попытался скомпилировать все. В результате получил более 2х тысяч ошибок компиляции.

Вопросы:

1. Нужно ли проводить компиляцию из пункта 5? Возможно будет работать UseStaticFileContent и C# код и без нее?

2. Если компиляцию проводить нужно, то как избавиться от ошибок? При работе в РФС компиляция происходит без ошибок, при отключении - генерирует ошибки.

Нравится

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

Удалите (переместите) из папки Terrasoft.WebApp\Terrasoft.Configuration\Pkg кастомные пакеты, затем компиляция пройдет нормально. Подсказка, можно отсортировать по дате изменения, тогда будет видно где коробочные пакеты, а где кастомные. Если не знаете какие из этих пакетов являются кастомными, то можно удалить все пакеты из этой папки, а потом скопировать в эту папку пакеты из чистого дистрибутива.

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

Удалите (переместите) из папки Terrasoft.WebApp\Terrasoft.Configuration\Pkg кастомные пакеты, затем компиляция пройдет нормально. Подсказка, можно отсортировать по дате изменения, тогда будет видно где коробочные пакеты, а где кастомные. Если не знаете какие из этих пакетов являются кастомными, то можно удалить все пакеты из этой папки, а потом скопировать в эту папку пакеты из чистого дистрибутива.

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

Помогло, большое спасибо!

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

nlog пишит свои логи в файл.

Пытаюсь настроить получение этих сообщений на почту. 

для этого в файл

nlog.targets.config

добавляю такой код 

       

но почта не отправляется,

при этом файл логирования  internalLogFile="D:\log\NLog.log">   даже не создается. Как разобраться в чем проблема?

nlog.config 

добавил цели

        

        

        

Нравится

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

Добрый день,  попробуйте дополнительно настроить  уровень логирования  

 

internalLogLevel="Trace",

 

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

Также посмотрите документацию по Nlog  Nlog-project.org и на Академии

 


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