В 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);},
В вашем случае надо разбирать код SectionActionsDashboard и смотреть как формируются табы, чтобы убрать один из них. Открываете схемы и смотрите все что связано со словом Tab.
Жмете правой кнопкой Просмотреть код, разбираетесь по названия к какой схеме он принадлежит и какая у него name, после этого делаете поиск по всему коду и находите в каком схеме в каком diff он добавлен. А то так и будете каждый кейс писать, учитесь сами делать.
В вашем случае надо разбирать код SectionActionsDashboard и смотреть как формируются табы, чтобы убрать один из них. Открываете схемы и смотрите все что связано со словом Tab.
Еще меньше надо было скриншот сделать, чтобы вообще ничего непонятно было.
Кнопка действия добавлена в BaseDataView c name - CombinedModeActionsButton и SeparateModeActionsButton. В вашем случае надо в CaseSection в diff описать remove этих двух кнопок.
Еще меньше надо было скриншот сделать, чтобы вообще ничего непонятно было.
Кнопка действия добавлена в BaseDataView c name - CombinedModeActionsButton и SeparateModeActionsButton. В вашем случае надо в CaseSection в diff описать remove этих двух кнопок.
Денис, а если просто отобрать портальным пользователям права на чтение таблицы тегов обращений или исключить этот объект из справочника объектов, доступных на портале?
Подскажите, удалось ли найти наименование кнопки Тег для её удаления? По CombinedModeTagsButton у меня remove не отрабатывает, кнопка как была, так и есть (в DOM-модели также по классам прошлась и не нашла подходящего наименования)
Да, код, который Вы прикрепили успешно удалит кнопку.
Название кнопки можно посмотреть разметке странице(ПКМ на кнопку -> Inspect) в id кнопки полное название, пример "ContactSectionV2CloseButtonButton". Нужно убрать сначала название схемы "ContactSectionV2" и с конца слово "Button". Остальное и есть название кнопки, то есть CloseButton.
Также название кнопки можно посмотреть в схеме, где она добавляется:
diff:/**SCHEMA_DIFF*/[{"operation":"insert",
"name":"НазваниеКнопки"// Другие свойства}]/**SCHEMA_DIFF*/