Доброго дня!
Надоели замещающие объекты в пакете Custom, которые появляются от выполнения неочевидных настроек в системе (например, включение журналирования или правил раздачи прав).

Хочу его заблокировать, чтобы туда не вносились изменения. Есть ли у кого-нибудь такой опыт, как делали, к чему привело?

Нравится

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

Абсолютно правильный опыт, разработка в пакет custom должна быть запрещена. Разработка должна быть в отдельных пакетах подключенных к свн. Также нужно создать свой пакет и указать в системной настройке "Текущий пакет", мастер разделов и другие мастера используют эту настройку.

 

Правда любой разработчик sql командой может это легко разблокировать. Это больше вопрос договоренностей о процессе разработки.

 

Закрыть custom.

UPDATE [dbo].[SysPackage]
   SET 
      [InstallType] = 1
 WHERE [Name] = 'Custom'

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

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

Добрый день!

 

Столкнулся с проблемой, что не регистрируются обращения с почтового ящика, которые содержат иной адрес в поле "Кому"

Например, подключен п/я help@aaa.ru, на него на уровне Exchange настроена переадресация (алиас) писем, отправленных на help.old@aaa.ru.

Письма отображаются в списке поступивших писем, не не регистрируются, т.к. в поле Кому help.old, а не help, хоть это и получено в подключенном ящике, прописанном в справочнике "Почтовые ящики для регистрации писем".

Как добиться регистрации писем без подключения к системе самого help.old?

Нравится

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

Попробуйте добавить еще одну запись в справочник "Список почтовых ящиков для регистрации обращений" и в значении почтовый ящик пересылки указать help.old@aaa.ru

Попробуйте добавить еще одну запись в справочник "Список почтовых ящиков для регистрации обращений" и в значении почтовый ящик пересылки указать help.old@aaa.ru

Алексей Следь,

Спасибо за ответ! 

Добавил тот же ящик domain\help только с указанием адреса help.old@aaa.ru в строке "Название пересылки" и это сработало!

Спасибо!

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

Необходимо обновить систему до версии 7.16.1, в гайде на академии описано только обновление до последней версии.
Так как же обновиться до определенной версии?

Нравится

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

Добрый день.

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

Обратите внимание, что обновляться нужно с версии на версию последовательно, не пропуская версии, которые идут между ними!

И ещё важный момент, если например, Вы обновляетесь с версии 7.16.1 на 7.16.3, а потом хотите с версии 7.16.3 на 7.16.4, то в папке с обновлениями должны находиться только дистрибутивы версий, которые идут после текущей и включительно до той, на которую Вы обновляетесь.

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

Ну, а вообще, как пожелание, можно в утилиту по скачиванию дистрибутивов добавить ещё один параметр, в котором указывать нужную версию.

Добрый день.

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

Обратите внимание, что обновляться нужно с версии на версию последовательно, не пропуская версии, которые идут между ними!

И ещё важный момент, если например, Вы обновляетесь с версии 7.16.1 на 7.16.3, а потом хотите с версии 7.16.3 на 7.16.4, то в папке с обновлениями должны находиться только дистрибутивы версий, которые идут после текущей и включительно до той, на которую Вы обновляетесь.

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

Ну, а вообще, как пожелание, можно в утилиту по скачиванию дистрибутивов добавить ещё один параметр, в котором указывать нужную версию.

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

Стоит задача.

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

 

 

Пожалуйста не скидывайте пример: https://academy.terrasoft.ru/docs/7-16/developer/front-end_development/…

Я уже разукрасил грид при загрузке. И пробовал маркетплейс модули но там нет такого функционала.

Теперь нужно при клике, выделенную запись красить исходя из её типа.

 

Стоит полный бандл creatio.

Нравится

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

Ставим debugmode. В BaseGridDetailV2 устанавливаем дебагер на rowSelected там виден call stack отрисовки таблицы. Выводим в консоль this, видим что там есть свойства rowsStyles, cellsClasses, но они нигде не описаны в документации, если разберетесь можете попробовать использовать их.
В нашем случае нам нужны свойства collectionItemPrefix и model.$ActiveRow зная из мы можем составим полный id элемента строки, к примеру id="ContactAddressDetailV2DataGridGrid-d4dc6c60-2243-4b00-a122-7cb4987c07f6-item-82140c2c-41eb-48bb-97fb-51d0c5e92cfd".
Зная id получаем с помощью Ext.getCmp или обычного js, dom-элемент строки и можете манипулировать его свойствами как хотите.

Взял за основу:

https://academy.terrasoft.ru/docs/7-16/developer/front-end_development/…

В  методе детали prepareResponseCollectionItem добавил цвет и маркер по условию:

item.customStyle = {
"EnteringInitialBalances":"",
"--selected-color":"red"
};

И через подключенный css добавил цвет при выделении:

.grid-row-selected[style*=Entering-initial-balances] {
    background-color: var(--selected-color) !important;
}

Результат

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

Как убрать кнопку в виде планеты "отправить сообщение на портал самооблуживания"

Нравится

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

В вашем случае надо разбирать код SectionActionsDashboard и смотреть как формируются табы, чтобы убрать один из них. Открываете схемы и смотрите все что связано со словом Tab.

Жмете правой кнопкой Просмотреть код, разбираетесь по названия к какой схеме он принадлежит и какая у него name, после этого делаете поиск по всему коду и находите в каком схеме в каком diff он добавлен. А то так и будете каждый кейс писать, учитесь сами делать.

 

Полозюков Евгений Петрович,Спасибо, примерную схему поиска я знаю, где-то есть описание как формирует id элемента для поиска в diff массиве?

Видно, что в id добавляет название схемы раздела CaseSection

Денис Суров,

Описания как формируется id нет, но можно понять что в начале идет название схемы потом имя элемента потом суффикс с типом элемента.

В вашем случае надо разбирать код SectionActionsDashboard и смотреть как формируются табы, чтобы убрать один из них. Открываете схемы и смотрите все что связано со словом Tab.

Полозюков Евгений Петрович,Спасибо, посмотрю

мне подошло скрыть контейнер Tabs

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

Добрый день. У меня в таблице Account лежат два внешних ключа на таблицу Contact. Подскажите, как явно указать столбец для джойна. Это:

esq.addColumn("=Contact.Name", "ContactName");

возвращает не верные значения. К тому же, хотелось бы использовать inner join, но запрос летит в виде:
 

LEFT OUTER JOIN [dbo].[Contact] [PrimaryContact] WITH(NOLOCK) ON ([PrimaryContact].[Id] = [UsrAccount].[PrimaryContactId])

* Из примера выше, нужно джойнить по столбцу OwnerId вместо PrimaryContact

Нравится

5 комментариев

* Из примера выше, нужно джойнить по столбцу OwnerId вместо PrimaryContact

 PrimaryContactId*

Два внешних ключа это два справочных поля со справочником контакта в объекте контрагент? 

Полозюков Евгений Петрович, верно. Один указывает на Основной контакт контрагента, второй на Менеджера работающего с контрагентом.

Другими словами, запрос:
 

SELECT offer.* from UsrCommercialOffer as offer
INNER JOIN Account as acc
    ON offer.UsrAccountId = acc.Id
WHERE acc.OwnerId = @currentUserId

Его нужно написать на фронте. 

Вот статья https://academy.terrasoft.ru/docs/7-17/developer/front-end_development/…

 

Не надо писать равно.

 

Если у вас root таблица в esq это Account в нем к примеру есть поле Ответственный Owner справочник контакта. Вам надо получить какое-то из полей Owner.

 

esq.addColumn("Owner.Id", "OwnerId");

esq.addColumn("Owner.Name", "OwnerName");

 

Также если в контакте тоже есть справочное поле Lookup у справочника которого есть поле Name можно провалится и дальше 

esq.addColumn("Owner.Lookup.Name", "OwnerLookupName");

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

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

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

Нравится

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

Еще меньше надо было скриншот сделать, чтобы вообще ничего непонятно было.

 

Кнопка действия добавлена в BaseDataView c name - CombinedModeActionsButton и SeparateModeActionsButton. В вашем случае надо в CaseSection в diff описать remove этих двух кнопок.

Полозюков Евгений Петрович,Спасибо, а тег?

Часть нашел,CombinedModeTagsButton

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

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

Добрый день!

 

Создал замещающую схему PortalPage сделал ComplainButton Visible=false , но кнопка осталась на странице

Нравится

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

Спасибо, нашел, кнопка в PortalCaseSection

"operation": "remove",
                    "name": "ComplainButton",

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

Доброе время суток!
Подскажите пожалуйста вот при переносе из среды в среду нужно ли сохранять такие данные которые хранятся в таблицах SysEntitySchemaOperationRight, SysSSPEntitySchemaAccessList, ?
На что это влияет? - Просто каждый раз как я делаю какие-либо изменения в странице обращения для портального пользователя, например добавляю еще колонку, то создаются новые такие файлы. Самое интересное, что файл вначале которого вот такая запись SysSSPEntitySchemaAccessList, который автоматически создается системой, всегда хранит одни и те же данные.
Заранее благодарен за оказанную помощь.

Нравится

17 комментариев

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

В SysSSPEntitySchemaAccessList хранится список объектов, доступных на портале. Если Вы добавляете новый портальный раздел, детали или справочники в нём, их схемы тоже должны там быть. Видимо, Вы создаёте новые колонки именно типа «Справочник». По одним и тем же данным без примера неясно.

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

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

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

Видимо, добавили в схему две разных колонки. Посмотрите наполнение этих добавленных данных.

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

При этом схемы самых объектов не менялись, те я новых полей в сами объекты не добавлял. Или так системой заведено раз все создано в Custom, то и для использования справочных полей нужно дать возможность для использования объектов? 

Андрей, а если открыть эти схемы, в дизайнере объектов и их встроенных БП ничего дополнительно не появилось?

А в родительском одноимённом тоже был включен доступ по операциям?

Я имею в виду эту же схему не в Custom, а в том пакете, где в неё добавлены колонки.

Но пакет ELBase я не трогал

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

тогда еще вопрос по этой же теме, эти ж схемы объектов при переносе не нужны?

Если хотите, чтобы и там права были включены, то нужны. Или же включить вручную.

Все спасибо вам огромное

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

Вот как это выглядит сейчас:

Вот как надо чтобы выглядело

Нравится

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

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

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

Если нужно чтобы пользователь видел есть ли сообщение в записи или нет, я бы добавил дополнительное булево поле "Есть сообщение" и внутреннем процессе объекта его бы заполнял при изменении значения Сообщение. И поле Есть сообщение вывел бы в реестр детали.

Полозюков Евгений Петрович,

Так хочет заказчик. Так может можно все таки как то обрезать это все при отображении?

Атамогланов Гусейн,

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

А у вас точно нет Terrasoft.ContentType.LONG_TEXT? Обычно с ним так отображается.

Если поле не для редактирования, то в процессе копируйте в другое поле краткое содержание текста

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

 

Terrasoft.ContentType.LONG_TEXT я его как раз убрал.

Владимир Соколов пишет:

Если поле не для редактирования, то в процессе копируйте в другое поле краткое содержание текста

То есть? Создать еще одно поле в объект?

 

Мишустин Василий пишет:
То есть? Создать еще одно поле в объект?

Да. Вряд ли это поле надо редактировать прямо в реестре, уж очень оно большое. Потому сделать поле, и в процессе (прямо в объекте или отдельно) его заполнять, обрезая до нужного количества символов (а может, даже убирая тэги, например) 

 

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

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