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

Подскажите, пожалуйста, можно ли как-то обойти MS Exchange Listener для настройки почты?

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

Стенд открыт для интернета, но почта нужна будет только в локальной сети. Используем outlook.office.com.

Нравится

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

Коллеги, здравствуйте!

Начиная с версии 7.16.0 для корректной работы почтовых сервисов IMAP/SMTP и Exchange необходимо развернуть сервис синхронизации. Логика синхронизации писем была полностью вынесена на микросервис.



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

 

Установить пакет OldEmailIntegration.

Андрей Есаулов,

Простите, это какое то приложение из Маркета? Или что это?

Виноват. Нашёл в конфигураторе у себя такой пакет. Версия 7.8.0.

Мне нужно новую версию запросить у поддержки? И как этот пакет использовать при интеграции с почтой? На академии, к сожалению, не нашёл способа без Exchange Listener

Коллеги, здравствуйте!

Начиная с версии 7.16.0 для корректной работы почтовых сервисов IMAP/SMTP и Exchange необходимо развернуть сервис синхронизации. Логика синхронизации писем была полностью вынесена на микросервис.



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

 

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

При выполнении действия обновления структуры схемы произошла ошибка "Недопустимый объект. Для "dbo.qrtEstimate.FK31OIMXA98pJmJKZTu6AKjHWc3g" не разрешены расширенные свойства, либо объект не существует.", текст Sql сценария: "EXEC [dbo].[sp_addextendedproperty] N'TS.ActionType', N'ForeignKey', N'SCHEMA', N'dbo', N'TABLE', N'qrtEstimate', N'CONSTRAINT', N'FK31OIMXA98pJmJKZTu6AKjHWc3g'"

Нравится

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

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

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

Добрый день!

 

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

Условно таблица TempTable

Имеет два поля

Id и ParentId

Необходимо, что Id был PK, а ParentId таблицы TempTable являлся FK на поле Id таблицы TempTable

Возможно ли такое организовать в рамках системы Creatio?

Нравится

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

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

Мне необходимо создать объект в Creatio - адресообразующую таблицу ФИАС, которая не имеет нормализованной структуры. В данной таблице хранятся регионы/районы/города/населённые пункты/улицы - очевидно, что данная таблица должна ссылаться на саму себя.

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

 

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

При создании объекта в Creatio 7.18 на уровне БД в таблице все поля имеют constraint NOT NULL - как создавать поля, которые могут быть NULL? Поскольку при создании объекта в Creatio на поле есть Основной параметр - Обязательное (Нет или На уровне приложения). При выборе обязательности на уровне приложения - внутри самой платформы производится валидация поля, но если указать обязательность Нет, то всё равно на уровне БД NOT NULL. Зависит ли это как-то от типов полей, которые выбираются?

Да, зависит от типа данных. Например, для поля справочного типа (с типом уникальный идентификатор), возможно хранение значения NULL. Для строковых будет пустая строка (даже пустых), для целочисленных и дробных 0. А обязательность для строковых и цифровых значений означает, что пользователь должен ввести значение отличное от пустой строки или 0.

 

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

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

Это скорее особенность этой срм, а не ошибка. Вы можете написать в службу поддержки (support@terrasoft.ru), они зафиксируют Ваше пожелание. 

Добрый день.

 

Да, такое можно реализовать в Creatio.

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

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

Алла, огромное спасибо за ответ!

Но возник новый вопрос, при создании такой связи поле по дефолту ссылается на PK таблицы, но если нужное родительское поле НЕ является PK, то как можно организовать такую связь?

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

Но возник новый вопрос, при создании такой связи поле по дефолту ссылается на PK таблицы, но если нужное родительское поле НЕ является PK, то как можно организовать такую связь?

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

Мне необходимо создать объект в Creatio - адресообразующую таблицу ФИАС, которая не имеет нормализованной структуры. В данной таблице хранятся регионы/районы/города/населённые пункты/улицы - очевидно, что данная таблица должна ссылаться на саму себя.



В данной таблице есть поле AOID - является первичным ключом и содержит всегда уникальное значение. Также есть поля AOGUID и ParentGUID

AOGUID - может иметь повторяющиеся значения. ParentGUID на записи должен ссылаться именно на AOGUID, поскольку AOID является идентификатор именно записи в таблице, а AOGUID - глобальный уникальный идентификатор адресного объекта (хоть здесь и указано, что уникальный, но в ФИАС есть повторяющиеся записи адресного объекта, но с разным статусом актуальности). 



И доп. вопрос - тут подскажите, пожалуйста, стоит ли новый пост завести (или может багу/доработку) или в рамках данного вопроса сойдёт?

При создании объекта в Creatio 7.18 на уровне БД в таблице все поля имеют constraint NOT NULL - как создавать поля, которые могут быть NULL? Поскольку при создании объекта в Creatio на поле есть Основной параметр - Обязательное (Нет или На уровне приложения). При выборе обязательности на уровне приложения - внутри самой платформы производится валидация поля, но если указать обязательность Нет, то всё равно на уровне БД NOT NULL.

Зависит ли это как-то от типов полей, которые выбираются?

 

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

Мне необходимо создать объект в Creatio - адресообразующую таблицу ФИАС, которая не имеет нормализованной структуры. В данной таблице хранятся регионы/районы/города/населённые пункты/улицы - очевидно, что данная таблица должна ссылаться на саму себя.

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

 

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

При создании объекта в Creatio 7.18 на уровне БД в таблице все поля имеют constraint NOT NULL - как создавать поля, которые могут быть NULL? Поскольку при создании объекта в Creatio на поле есть Основной параметр - Обязательное (Нет или На уровне приложения). При выборе обязательности на уровне приложения - внутри самой платформы производится валидация поля, но если указать обязательность Нет, то всё равно на уровне БД NOT NULL. Зависит ли это как-то от типов полей, которые выбираются?

Да, зависит от типа данных. Например, для поля справочного типа (с типом уникальный идентификатор), возможно хранение значения NULL. Для строковых будет пустая строка (даже пустых), для целочисленных и дробных 0. А обязательность для строковых и цифровых значений означает, что пользователь должен ввести значение отличное от пустой строки или 0.

 

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

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

Это скорее особенность этой срм, а не ошибка. Вы можете написать в службу поддержки (support@terrasoft.ru), они зафиксируют Ваше пожелание. 

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

Добрый день. Добавил кнопку в LeadPageV2 с реализованной логикой. Кнопка не отображается. но если обновить страницу, то оно появляется и работает как нужно.

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

Нравится

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

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

Более подробно тут: https://academy.terrasoft.ru/docs/developer/elements_and_components/bas…

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

Более подробно тут: https://academy.terrasoft.ru/docs/developer/elements_and_components/bas…

Спасибо, сталкивался с такой же проблемой.

Спасибо.

Появился второй вопрос, в чем может быть причина ошибки

"Cannot read property 'value' of undefined"

при обработке

"var regionId = this.get("GridData").get(activeRow).get("IptProdRegion").value;"

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

Булат Хабирзянов,

А поле выведено в реестр?

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

вид-настроить колонки

Спасибо большое, можно последний вопрос. После отработки логики на кнопку нужно обновить страницу для отображения данных, могу ли я каким-то образом отработать this.reloadEntity();?

Булат Хабирзянов,

Да, можете вызвать this.reloadEntity(). он обновит данные на странице.

Для обновления данных в реестре следует использовать this.reloadGridData()

Спасибо, Дмитрий! А есть возможность реализовать такой функционал?

После this.reloadGridData() происходит обновление реестра, но поля, которые изменены в самом лиде меняются только после обновления страницы. this.reloadEntity() к section не относится и не выполнится. Вопрос, а можно как-то после нажатия на кнопку отправить пользователя на Page?

Булат Хабирзянов,

{
                    "operation": "insert",
                    "parentName": "CombinedModeActionButtonsCardLeftContainer",
                    "propertyName": "items",
                    "name": "ButtonName",
                    "values": {
                        itemType: Terrasoft.ViewItemType.BUTTON,
                        caption: "Кнопка",
                        click: {
                            bindTo: "onCardAction" //не трогать
                        },
                        tag: "onButtonClick", //название метода с Page
                        "classes": {
                            "textClass": ["actions-button-margin-right"]
                        }
                    }
                }

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

Дмитрий, Огромное спасибо все получилось!!! Сократил много строчек кода.

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

Добрый день! 

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



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

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

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

Нравится

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

Добрый день, Ирина.

Есть шанс что вы используете ноутбук Apple, по крайней мере, данную ошибку мы воспроизводили на клиентских машинах Apple.

 

Дело в том, что в технологиях Apple (на ноутбуках) есть новая функциональность «Tap to click», т.е. используется нажатие вместо клика. Предположительно при нажатии отправляются 2 запроса в результате чего возникает ошибка.

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

 

В данном случае нужно:

- использовать компьютерную мышь.

- использовать клик вместо нажатия.

- как минимум попробовать с другого устройства

 

Также проверьте, что в объекте есть указанное поле и объект успешно публикуется.

Тарас Пономарёв,

я не использую ноутбук Apple, использую компьютерную мышь, пробовала с разных устройств. Указанное поле есть в объекте и он успешно публикуется. 

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

В базе знаний у нас создана структура на основе групп фильтров. Она служит для доступа к документам. Как установить всем пользователям эти преднастроенные группы фильтров?

Нравится

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

UC пишет:

Созданные под Supervisor группы не видят простые пользователи. А как это сделать, - настроить доступ на группу фильтров?

Да, это можно сделать через настройки группы в меню 'Настройка прав':

Добрый день.

Не совсем понятно, о чём Вы спрашиваете.

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

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

Алла Савельева, Структура быстрого доступа к документам на группах фильтров. Созданные под Supervisor группы не видят простые пользователи. А как это сделать, - настроить доступ на группу фильтров?

UC пишет:

Созданные под Supervisor группы не видят простые пользователи. А как это сделать, - настроить доступ на группу фильтров?

Да, это можно сделать через настройки группы в меню 'Настройка прав':

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

Добрый день!

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

Нравится

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

Добрый день.

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

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

Добрый день.

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

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

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

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

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

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

Нравится

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

Добрый день!

Уточните, на какой версии приложения воспроизводится данное поведение? Опишите, пожалуйста, пошаговую последовательность Ваших действий на скриншотах. 

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

Добрый день!

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

Прошу подсказать, в какой таблице находятся эти данные:

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

В системе используется коннектор к телефонии Mango Office (https://marketplace.terrasoft.ru/app/creatio-mango-office-connector)

Нравится

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

Сергей, здравствуйте!



Значение настроек телефонии в профиле пользователя хранятся в таблице SysMsgUserSettings.

Сергей, здравствуйте!



Значение настроек телефонии в профиле пользователя хранятся в таблице SysMsgUserSettings.

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

Добрый день!

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

Например если указать при заполнении карточки Физическое лицо, то влиять на наполнение будут одни данные, а если Юридическое лицо, то другие.

Нравится

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

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

 

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

Решение задачи средствами разработки рассматривалось в статье по ссылке:

https://community.terrasoft.ru/questions/polnota-napolneniya-profilya-v…

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