требуется создать деталь для контактов - "Подчиненные"
подчиненные контактов и есть контакты. Для решения задачи были проделаны шаги:
1. создана таблица определения подчиненного\руководителя
ID
ManagerID - id руководителя
SubContactID - id подчиненного
WorkFrom - время начала подчинения
WorkTo - время окончания подчинения
,а так же в таблицу tbl_Contacts были добавлены 2 поля
с указанием распределения процентов от продажи - ManagerPercent, SubContactPerent
2. Запрос на выборку подчиненных выбранного контакта в реестре:
SELECT
*
FROM
[dbo].[tbl_Contact] AS [tbl_Contact]
LEFT OUTER JOIN
[dbo].[tbl_Account] AS [tbl_Account] ON [tbl_Account].[ID] = [tbl_Contact].[AccountID]
WHERE([tbl_Contact].[ID] =
(SELECT
[tbl_SubContact].[SubContactID] AS [SubContactID]
FROM
[dbo].[tbl_SubContact] AS [tbl_SubContact]
WHERE([tbl_SubContact].[ManagerID] = :ContactID)))
3. датасет с полями
(tbl_Contact) ContactID
(tbl_Contact) Name
(tbl_Contact) Communication
(tbl_Account) AccountName
4. окно wnd_SubContactGridArea на основе wnd_BaseGridArea
5. окно wnd_SubContactEdit на основе wnd_BaseDBEdit (его пока особо не трогал)
6. Добавил деталь "Подчиненные"
pgSubContactDetail -> fmSubContactDetailWindow ->
-> wndSubContactDetail(window=wnd_SubContactGridArea)
7. внес изменения в скрипт wnd_SubContactGridAreaScript
function Initialize(Window) {
SetAttribute(Window, 'EditWindowUSI', 'wnd_SubContactEdit');
}
function wnd_SubContactGridAreaOnPrepare(Window) {
Initialize(Window);
wnd_BaseGridAreaOnPrepare(Window);
}
8. в скрипт scr_ContactsWorkspase в функцию RefreshDetails добавил
...
} else
if (pcDetails.ActivePage.Name == pgSubContactDetail.Name) {
//ShowInformationDialog("it's work");
RefreshCommonDetail(BaseWorkspace, wndSubContactDetail, 'ContactID',
'ContactID');
} //
Делал, заглядывая в пост https://community.terrasoft.ua/forum/topic/5445, и др.
При выборе созданной детали она пуста. Подскажите что я сделал не так?