Раздел - [Клиенты]
Таблица - 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. Сохранить изменения
Нравится
Для создания детали "Доступ" в разделе, необходимо выполнить следующие шаги:
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 в скрипте окна, теперь все работает =)