Создать раздел в 7.0.0 (видео)

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

Во вложении файлы, с видео инструкцией по создании/регистрации и настройке нового раздела.

Отдельно публикую исходные коды карточки, раздела, а также скрипт регистрации раздела.
Обращаю внимание, что в 7.0.1 существуют специальные хранимые процедуры по регистрации страниц раздела, а также специальный генератор исходного кода.
Инструкцию по добавлению раздела в 7.0.1 дополнительно можно скачать во вложении.

Скачать архив с видео:
sozdat_razdel.rar

Инструкция по созданию раздела в 7.0.1:
sozdanie_standartnogo_razdela.docx

Исходный код схемы карточки раздела:

define('CasePage', ['ext-base', 'terrasoft', 'sandbox', 'Case', 'CasePageStructure',
    'CasePageResources', 'GeneralDetails'],
    function(Ext, Terrasoft, sandbox, Case, structure, resources, GeneralDetails) {

        structure.userCode = function() {
            this.entitySchema = Case;
            this.name = 'CaseCardViewModel';
            this.schema.rightPanel = [

                GeneralDetails.Notes('Notes', {
                    collapsed: false
                }),
                GeneralDetails.File('Case'),
                GeneralDetails.InFolder('Case')
            ];
            this.schema.leftPanel = [
                {
                    type: Terrasoft.core.enums.ViewModelSchemaItem.ATTRIBUTE,
                    name: 'Id',
                    columnPath: 'Id',
                    visible: false,
                    viewVisible: false
                }
            ];
        };
        return structure;
    });

Исходный код страницы раздела:

define('CaseSection', ['Case', 'CaseSectionStructure',
    'CaseSectionResources'],
    function(Case, structure, resources) {
        structure.userCode = function() {
            this.entitySchema = Case;
            this.name = 'CaseSectionViewModel';
            this.columnsConfig = [
                [
                    {
                        cols: 24,
                        key: [
                            {
                                name: {
                                    bindTo: 'Number'
                                },
                                type: 'title'
                            }
                        ]
                    }
                ]
            ];
            this.loadedColumns = [{
                columnPath: 'Number'
            }];
            this.fixedFilterConfig = {
                entitySchema: Case,
                filters: [
                    {
                        name: 'PeriodFilter',
                        caption: resources.localizableStrings.PeriodFilterCaption,
                        dataValueType: Terrasoft.DataValueType.DATE,
                        startDate: {
                            columnName: 'RegistrationDate',
                            defValue: Terrasoft.startOfWeek(new Date())
                        },
                        dueDate: {
                            columnName: 'RegistrationDate',
                            defValue: Terrasoft.endOfWeek(new Date())
                        }
                    },
                    {
                        name: 'Owner',
                        caption: resources.localizableStrings.OwnerFilterCaption,
                        columnName: 'Owner',
                        defValue: Terrasoft.SysValue.CURRENT_USER_CONTACT,
                        dataValueType: Terrasoft.DataValueType.LOOKUP
                    }
                ]
            };
        };
        return structure;
    });

Скрипт регистрации раздела:

--скрипт регистрации раздела (7.0.0)

INSERT INTO SysModuleEntity (SysEntitySchemaUId)
SELECT [UId] FROM SysSchema WHERE Name = 'Case'


INSERT INTO SysModuleEdit (SysModuleEntityId, CardSchemaUId, ActionKindCaption, ActionKindName)
VALUES ((SELECT Id FROM SysModuleEntity WHERE SysEntitySchemaUId IN (SELECT UId FROM SysSchema WHERE Name = 'Case')), (SELECT UId FROM SysSchema WHERE Name = 'CasePage'), 'Добавить обращение', 'Case')

INSERT INTO SysModule (Caption, SysModuleEntityId, FolderModeId,
GlobalSearchAvailable, HasAnalytics, HasActions, Code, ModuleHeader, CardSchemaUId, SectionModuleSchemaUId, SectionSchemaUId)
VALUES ('Обращения', (SELECT Id FROM SysModuleEntity WHERE SysEntitySchemaUId IN (SELECT UId FROM SysSchema WHERE Name = 'Case')),
'B659D704-3955-E011-981F-00155D043204', 1,1,1,'Case', 'Список обращений', (SELECT [UId] FROM SysSchema WHERE Name = 'CasePage'),'47BEF7B5-5E02-4699-A607-D4E39D0A19D0',(SELECT [UId] FROM SysSchema WHERE Name = 'CaseSection'))

INSERT INTO SysModuleLcz (RecordId, ColumnUId, SysCultureId, Value) VALUES
((SELECT Id FROM SysModule WHERE Code = 'Case'), '7B904E78-84BF-408C-A7A1-1287E66837D3', '1A778E3F-0A8E-E111-84A3-00155D054C03', 'Список обращений')

INSERT INTO SysModuleLcz (RecordId, ColumnUId, SysCultureId, Value) VALUES
((SELECT Id FROM SysModule WHERE Code = 'Case'), '3DA3C3B2-02FB-4CCA-80C3-7946D4E8F565', '1A778E3F-0A8E-E111-84A3-00155D054C03', 'Обращения')

INSERT INTO SysModuleInSysModuleFolder (SysModuleId, SysModuleFolderId) VALUES
((SELECT Id FROM SysModule WHERE Code = 'Case'), 'F330F0C2-3EE4-4A73-9AC9-8439543CA19B')

Нравится

Поделиться

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

Я правильно понимаю, что выложенные выше 3 ЛИСТИНГА будут работать в 7.0.0.235?
Если так, то Дмитрий, Вы не могли бы добавить в них как можно более подробных комментариев?
Спасибо.

В частности, интересуют места, которые нужно будет менять, если создаешь раздел не с нуля, а для объекта Продукты, например...

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

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

Андрей, видимо Вам нужно добавить в зависимости (dependencies) схемы GeneralDetails (общие детали)

"Салихов А" написал:

Андрей, видимо Вам нужно добавить в зависимости (dependencies) схемы GeneralDetails (общие детали)


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

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