Василий, решение вашего запроса зависит от механизма дедупликации, который используется на сайте.
Для механизма поиска дублей на хранимых процедурах достаточно удалить записи из таблиц AccountDuplicateSearchGroupExclusions/ContactDuplicateSearchGroupExclusions для очистки всех записей, которые были помечены как "Не считать дублями".
Для механизма поиска дублей с использованием сервиса дедупликации ( детальнее в статье https://academy.terrasoft.ua/docs/user/ustanovka_i_administrirovanie/ra…) для сброса признаков "Не являются дублями" всех помеченных пачек дублей на сервисе дедупликации необходимо почистить таблицу UniqueEntity в mongodb.
В BasePageV2 есть функция activeTabChange, в коде карточке замещяете функцию activeTabChange и проверяете activeTab.get("Name"), по результатам проверки код запуска процесса.
В BasePageV2 есть функция activeTabChange, в коде карточке замещяете функцию activeTabChange и проверяете activeTab.get("Name"), по результатам проверки код запуска процесса.
Подскажите, пожалуйста, есть ли возможность запретить перенос длинного значения в колонке детали? Мне нужно, чтобы поле поле обрезалось и заканчивалось многоточием (пример креплю).
Сейчас все длинные текстовые поля выводятся целиком, с переносом строки, если они не влезают в ширину колонки (пример креплю).
Что интересно, если открыть настройку колонок детали, то там в предпросмотре так, как Вы хотите.
По идее, нужно найти, какое свойство в CSS отвечает за такой перенос и заменить его значение. Сначала для пробы прямо в инструментах разработчика в браузере, чтобы сразу увидеть результат, потом уже вносить правки в схеме на вкладке для CSS.
Сходу нашёл, как смена стандартного word-wrap: normal на word-wrap: break-word; у [class*='grid-cols-'] меняет перенос по словам на перенос по буквам, но как сделать чтобы вообще без переноса, пока не нашёл. Может, у Вас выйдет.
Уже заведена и принята идея:
В списочном реестре необходимо иметь опцию, которая бы позволяла отображать значения в одну строку, а не переносить на несколько, если текст в текстовой колонке длинный. Где надо:
Есть два пользователя: один заполняет excel-файл на Onedrive, второй работает в Creatio. Необходимо реализовать импорт файла из Onedrive в Creatio так, чтобы значениями из этого файла можно было наполнять существующие и новые поля в Creatio.
Существует ли готовое решение по вопросу такого импорта?
Вопрос о возможности импорта из Excel в автоматическом режиме уже поднимался: идеи зарегистрированы, но готового решения, к сожалению, пока нет. Видимо, нужно будет в блоке-скрипте БП разбирать такой файл. Можно посмотреть нынешнюю реализацию импорта в C#-схемах пакета FileImport, но там довольно много кода, поскольку расчитано на максимально универсальный импорт, а разобрать один конкретный с известным форматом можно будет проще.
Пользователь хочет импортировать файл, в котором заполнена полностью шапка таблицы. Сама таблица условно поделена на разделы, каждый раздел начинается с первой заполненной строки, значения для остальных строк раздела необходимо рассчитывать, опираясь на данные из первой строки.
Пример файла прилагаю.
Есть ли какое-либо решение "из коробки" для подобной задачи? Или хотя бы частичное решение (фронт или бэк)?
Как вариант, можно рассмортреть автоматическое или полуавтоматическое приведение файлов к нужному виду внутри самого Excel при помощи формул на другом листе или механизма макросов (написать программку на Basic, запускающую заполнение пустых ячеек).
Ну, или лить в специально созданный объект эти данные как есть, а затем внутри Creatio обрабатывать, дополняя значения. Но тут нужно учесть, что порядок строк может не соответствовать и не будет видно, какая пустая строка относится к какой заполненной.
Александр, можно даже без «кодового кода». Создать в итогах новую вкладку, там новый итог типа «веб-страница» и максимально растянуть:
А если нужно именно вместо раздела, см., как добавляется iframe вместо контрола в WelcomeScreen (только там это происходит по кнопке, а не в момент открытия):
//VideoContainer{"operation":"insert",
"name":"VideoContainer",
"parentName":"VideoScreen",
"propertyName":"items",
"values":{"id":"VideoContainer",
"itemType": Terrasoft.ViewItemType.CONTAINER,
"classes":{
wrapClassName:["video-wrapper"]},
items:[]}}
...
/**
* Handles a click on the "Play" button
* @private
*/
onPlayButtonClick: function(){this.set("WelcomeScreenVisible", false);this.set("VideoScreenVisible", true);
var html =this.getVideo();
var videoContainer =this.Ext.get("VideoContainer");this.Ext.create("Terrasoft.HtmlControl", {
id:"videoControl",
renderTo: videoContainer,
html: html,
selectors:{
wrapEl:".video-wrapper"}});},
...
getVideo: function(){
var html ="<iframe width=\"996\" height=\"698\" src=\"{0}\" frameborder=\"0\" allowfullscreen></iframe>";
var welcomeScreenVideoUrl =this.get("WelcomeScreenVideoUrl");returnthis.Ext.String.format(html, welcomeScreenVideoUrl);},