Справочники в BPM 7.6

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

Нужна помощь с правильным созданием сложного справочника.
Создал объект(несколько текстовых и справочных полей) зарегестрировал его как справочник, в разделе Справочники. В реестре не помещаются все поля.
Как правильно создать и зарегестрировать (в какие таблицы и что нужно вставить) страницы справочника что бы он работал в старом интерфейсе, как многие базовые например Формы собственности.
Также интересует что нужно сделать что бы пользователь работая со справочным полем, при выборе значения из справочника, мог добавлять и изменять записи.

Больше всего интересует регистрация справочника, реестра, карточки редактирования и страницы для пользователя. Реализацию в принципе можно найти в базовом функционале, а вот что и в какие таблицы добавлять найти будет непросто.

В приложение снимок с тем что я подразумеваю под карточкой и реестром.

Нравится

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

По данному вопросу есть статья на SDK - http://academy.terrasoft.ru/documents/docs/technic/SDK/7.6.0/CreateMast…

Также прикрепил пример создание данного справочник
dvuhurovnevyyspravochnik.doc

"Мотков Илья" написал:

По данному вопросу есть статья на SDK - http://academy.terrasoft.ru/documents/docs/technic/SDK/7.6.0/CreateMaste...

Также прикрепил пример создание данного справочник

dvuhurovnevyyspravochnik.doc


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

Добрый день!

Выполните update записи в SysLookup.

Колонка - SysGridPageSchemaUId.

Вы можете взять за пример уже существующий справочник - "Результаты активностей по категориям" и зарегистрировать собственный по аналогии.

"Безродный Андрей" написал:

Добрый день!

Выполните update записи в SysLookup.

Колонка - SysGridPageSchemaUId.

Вы можете взять за пример уже существующий справочник - "Результаты активностей по категориям" и зарегистрировать собственный по аналогии.

Спасибо. Добавил запись в таблицу SysLookup, Id добавленной записи поместил в колонку SysLookupId таблицы Lookup записи справочника зарегестрированного через раздел "Справочники" и все заработало.

Подскажите пожалуйста, есть ли пример как на странице редактирования старой версии отфильтровать одно поле по значению другого: области по странам, города по областям?

Здравствуйте. У меня схожая проблема. Нужно сделать справочник в котором есть доп поля. А стандартная страница редактирования позволяет оперировать только полями название и описание.
Вот хотелось бы сделать чтобы при клике на кнопку "открыть наполнение" или на заголовок справочника в списке справочников открывалась типа такой страницы

Страницу(PageSchemaManager) в конфигураторе уже создал. но как сделать чтобы она открывалась в нужном месте?
Кстати. из примера на скрине в свойствах справочника "Стадии продаж" поле Страница реестра пустой:confused:

Здравствуйте.
Нет необходимости изменять PageSchemaManager.
Вам необходимо создать "страницу" справочника и унаследовать её от "Базовая страница справочника" и указать её в свойствах справочника как страницу реестра.

у меня не появляется моя страница в выборе "страница реестра". а сделать так
"Выполните update записи в SysLookup." не могу, так как нет доступа к базе.. что можно сделать?

Дмитрий, здравствуйте.

Есть 2 варианта как это можно сделать:
1) Вы можете сообщить в техническую поддержку какие идентификаторы схем Вам необходимо узнать и, с полученной информацией, выполнить запрос через [SQL Сценарии]

2) Так же, Вы можете запросить анонимизированную копию базы, и самим узнать необходимые Вам данные. А далее, все так же, выполнить запрос через [SQL Сценарии].

Теперь. Сделал как сказано выше.

"Дашкевич К." написал:

Спасибо. Добавил запись в таблицу SysLookup, Id добавленной записи поместил в колонку SysLookupId таблицы Lookup записи справочника зарегестрированного через раздел "Справочники" и все заработало.

Страница справочника стала открываться.

Но при нажатии на кнопку добавить открывается новая страница с такой ошибкой.

Exception Message: Object reference not set to an instance of an object.
Exception Type: System.NullReferenceException
Exception Source: Terrasoft.WebApp
 
Exception Stack Trace:
   at Terrasoft.WebApp.ViewPage.get_UId()
   at Terrasoft.UI.WebControls.Page.InitializeProfile(ProfileKeyEventArgs e, Boolean forceInit)
   at Terrasoft.WebApp.ViewPage.OnInitComplete(EventArgs e)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
 
SessionID: fgg0y2gegvcer3vclyuuv1fp
Request URL: /0/ViewPage.aspx?Id=00000000000000000000000000000000&recordId=00000000-0000-0000-0000-000000000000&entitySchemaUId=84cf4e7e-4615-4211-ac78-34ff81008182&treeGridId=PageContainer_TreeGrid&SysModuleEditId=00000000-0000-0000-0000-000000000000&folderId=
Request Path: /0/ViewPage.aspx
Request UrlReferrer: https://omega.bpmonline.com/0/ViewPage.aspx?editMode=true&Id=63b42d80-5585-4b6a-9617-f747e4b2f314
Request Type: GET
User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0
User Host Address: 213.5.130.62
User: Supervisor
Is Authenticated: True
Authentication Type: Forms
Is Secure Connection: True
 
Application Version: 7.5.0.1007

Попробовал что пишут на форуме. но в моем случае не помогло
http://www.community.terrasoft.ru/forum/topic/12438

Запись, связанная с данным справочником в таблице [SysLookup] выглядит следующим образом

Дмитрий, в схеме реестры нужно добавить событие Init страницы

Элементы: Начальные.Сообщение, Задание сценарий, Промежуточные генерирующие.Сообщение. (Смотрите приложенное изображение)
В элемент Задание сценарий, добавить код:

EditPageUId = new Guid("6f58a076-d374-4a27-a451-b29595b05be9");
return true;

Uid нужно взять из метаданных схемы страницы редактирования (Дополнительно - Открыть метаданные).

Спасибо)

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