Раздел - [Клиенты]
Таблица - tbl_Customer
Главное окно раздела - wnd_CustomersWorkspace
Cкрипт - wnd_CustomersWorkspaceScript

Для создания детали "Описание" в разделе, необходимо выполнить следующие шаги:

1. Создать поле [Description] в таблице tbl_Customer типа BLOB (Большой бинарный обьект)

2. В окне раздела в компоненте pcDetails создать компонент [Page] c именем [pgDescriptionDetail]
В атрибуте [Caption] указать [Описание]

3. В компоненте [pgDescriptionDetail] создать компонент [WindowContainer] с именем [wndDescriptionDetail]
В атрибуте [Window] указать [wnd_Description]
Установить свойство [AlignHorizontal] в значение [alhClient]
Установить свойство [AlignVertical] в значение [alvClient]

4. В функцию RefreshDetails скрипта добавить строки:
else
if (pcDetails.ActivePage.Name == pgDescriptionDetail.Name) {
RefreshDescriptionDetail(BaseWorkspace, wndDescriptionDetail,
BaseWorkspace.GridDataset);
}
5. Сохранить изменения

Нравится

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

Для создания детали "Доступ" в разделе, необходимо выполнить следующие шаги:

1. Указать для таблицы раздела tbl_Customer опцию "Администрируется по записям", сохранить изменения, - создастся таблица [tbl_CustomerRight]

2. В окне раздела в компоненте pcDetails создать компонент [Page] c именем [pgAccessDetail]
В атрибуте [Caption] указать [Доступ]

3. В компоненте [pgAccessDetail] создать компонент [WindowContainer] с именем [wndAccessDetail]
В атрибуте [Window] указать [wnd_AccessGridArea]
Установить свойство [AlignHorizontal] в значение [alhClient]
Установить свойство [AlignVertical] в значение [alvClient]

4. В функцию RefreshDetails скрипта добавить строки:
else
if (pcDetails.ActivePage.Name == pgAccessDetail.Name) {
RefreshAccessDetail(BaseWorkspace, wndAccessDetail, 'tbl_CustomerRight');
}
5. Сохранить изменения

[легкий оффтопик] ...и с появлением мастера разделов стала жизнь разработчика чуть-чуть скучнее, не пришлось ему более проводить рутинные операции по созданию стандартных деталей и самого раздела:smile:

Можно сказать, что материал будет полезен тем, кто в силу разных причин работает с версией 3.0.х и 3.1.х. А с появлением мастера создания и редактирования разделов (wnd_CreateNewWorkspace) жизнь разработчика стала разнообразнее, поскольку теперь больше времени уделяется сложным нестандартным задачам.

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

Сейчас пытаюсь создать деталь, аналогичную стандартной детали «Описание», и столкнулся вот с какой проблемой: компонент RichDataControl не реагирует на действия пользователя — такое впечатление, что он неактивен, хотя свойство IsEnabled установлено в True.

Для детали я создал отдельную таблицу, SelectQuery, DataSet, окно и скрипт; затем в раздел «Контакты» добавил Page, на нем WindowContainer где в свойстве window прописал название своего окна (как, в общем-то и описано в первом сообщении в этой теме), отредактировал функцию RefreshDetails в скрипте, и на этом, собственно, все и закончилось :)

Коллеги, кто-нибудь сталкивался с такой проблемой?
Версия программы — 3.0.1.

Здравствуйте, Андрей.

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

Инна Безверхняя,
II линия службы поддержки Terrasoft.

Инна, спасибо за ответ.
К сожалению, предложенные Вами действия эффекта не возымели — RichDataControl все так же игнорирует мои попытки хоть что-то в нем написать :)

Что еще более интересно — даже если я создаю точную копию детали «Описание», я получаю ту же саму проблему.

Здравствуйте, Андрей.
Напишите пожалуйста письмо с описанием данной проблемы на support@tscrm.com и мы постараемся решить ее в индивидуальном порядке.

Инна Безверхняя,
II линия службы поддержки Terrasoft.

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

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

Забыла подключить scr_WindowUtils в скрипте окна, теперь все работает =)

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