Пытаюсь вынести страницу Email из раздел Активности в новый раздел EmailAct.
Идея была привязать две раздел на один объект и перепривязать или скопировать страницу Email.
Для этого создал новый раздел Email и объект EmailAct. После этого в таблица "SysModuleEntity" у нового раздел (значение "Id" взят из таблицы "SysModule" поле "SysModuleEntityId" для EmailAct) указал в поле "SysEntitySchemaUId" как для Активности.
-------
Далее попытался сменить "Code" в "SysModule" с 'EmailAct' на 'Activity'. Но вместо привязки записей из Активности в Email -> получаю два раздел Email без записей.
Не подскажите - что я сделал не то?
И как правильно выполнить поставленную задача?
Планировалось, что объект активности так и останется активности, просто раздел Активности будет иметь фильтр по тип не равно Email, а раздел Email будет копией Активности, но с фильтру по тип равно Email
Спасибо!
P.S. Извините за русский, не мой родной язык, но английский ещё хуже знаю (использую переводчик).
Если кто знает армянский - можете на нем ответить - мне будет более просто.
Нравится
Для начала в схеме Section, нового раздела нужно как минимум поменять таблицу привязки. Далее нужно в той же схеме прописать фильтр:
getFilters: function() {
var filters = this.callParent(arguments);
filters.add("EmailFilter", this.Terrasoft.createColumnFilterWithParameter(
this.Terrasoft.ComparisonType.EQUAL, "Type", ConfigurationConstants.Activity.Type.Email
));
return filters;
}
Следующий шаг это сделать что бы открывалась нужна страница, я бы создал новый пейдж и унаследовался от EmailPageV2, и перебиндил бы её в таблице SysModueEdit
Переносить емейл, уже звучит как не очень хорошая идея, так как "хвостов" среди бд/системной и бизнес логики, может быть очень много, те же самые темплейты. Если бы описали саму задачу, ту что шире, что-то можно было бы подсказать.
Можно ли это сделать? Да.
Есть ли лучший способ решить задачу? Думаю, что тоже да.
Стас Гаврилюк,
Сейчас email находится в Активности.
Т.к. email активностей может быть много - нужно сделать раздел вноль как раздел Активности, только где была бы одна единственная страница Email и соответственно записи из объекта Активности с типом Email . А в активностях её или убрать или скрыть и сделать так, чтоб записи с типом Email не отображались.
Не подскажите - как это лучше сделать?
Стас Гаврилюк,
Идея была в том, чтобы создать новый раздел ссылающийся на объект активности и имеющий фильтрацию по тип = email. А у Активности добавить фильтрацию по тип не равно email.
Стас Гаврилюк,
Хотелось бы прочитать - как лучше это сделать?
Max Froggy,
Т.к. email активностей может быть много - нужно сделать раздел вноль как раздел Активности,
Вас смущает количество писем в будущем? Если только это, то не стоит ради этого создавать новый раздел или таблицы, не вижу тут потребности, или же вы не полностью описали задачу.
Стас Гаврилюк,
я сейчас планирую устроить в компанию, которая работает с Creatio, мне дали это задание, как тест знаний.
Я хоть и часто работал с C#/JS и Creatio не совсем понимаю, как это сделать...
Стас Гаврилюк,
Очень прошу помочь...
Да сами ответили Да на оба вопроса, неужели нет идей, как это сделать?
Для начала в схеме Section, нового раздела нужно как минимум поменять таблицу привязки. Далее нужно в той же схеме прописать фильтр:
getFilters: function() {
var filters = this.callParent(arguments);
filters.add("EmailFilter", this.Terrasoft.createColumnFilterWithParameter(
this.Terrasoft.ComparisonType.EQUAL, "Type", ConfigurationConstants.Activity.Type.Email
));
return filters;
}
Следующий шаг это сделать что бы открывалась нужна страница, я бы создал новый пейдж и унаследовался от EmailPageV2, и перебиндил бы её в таблице SysModueEdit
Стас Гаврилюк, огромное спасибо
как минимум поменять - поменять что?
Стас Гаврилюк,
Проблемка единственное, при клике на Email выделяется почему-тоАктивности
Здравствуйте!
В приложении существует три основные таблицы в которых хранится информация о разделе: SysModule, SysModuleEntity, SysModuleEdit.
SysModule - таблица, где хранятся сама информация про раздел.
SysModuleEntity - таблица связи раздела и SysModuleEdit. В ней хранится информация про типизацию страниц.
SysModuleEdit - информация про страницы редактирования раздела.
Более детально о таблицах SysModuleEdit и SysModuleEntity можно прочитать здесь:
https://community.terrasoft.ua/articles/tablicy-sysmoduleedit-i-sysmodu…
Что касается SysModule:
[Caption] - Название раздела (можно брать caption объекта раздела.
[SysModuleEntityId] - колонка Id записи таблицы SysModuleEntity из первого этапа (проверка Select Id from SysModuleEntity Where SysEntitySchemaUId='AF6DD4AD-1398-4FCE-8837-78DC65AE0F9E')
[Code] - Название объекта раздела;
[SectionModuleSchemaUId] - UId модуля SectionModuleV2 с помощью которой открывается схему раздела;
[SectionSchemaUId] - колонка Uid страницы раздела объекта (например, "UsrRK1Section") в таблице SysSchema (проверка Select Uid,Name,Caption from SysSchema where name like '%UsrRK%').
Что касается Вашей проблемы рекомендую проверить корректно ли заполнены все привязки в данных таблицах.
Вот некоторые моменты с которыми пользователи часто сталкиваются при создании этого раздела:
- Вы можете использовать в таблице SysModuleEdit ( колонка CardSchemaUId) схему базовой странице редактирования EmailPageV2.
- Проверьте установлена ли связать этой записи в таблице SysModuleEdit с таблицей SysModuleEntity Вашего раздела.
- Также проверьте что в таблице SysModule Вашего раздела указана корректная запись из таблице SysModuleEntity.
С уважением,
Катя