Не вижу обработчиков событий нажатия кнопок воркспейса wnd_OfferingDetailTreeArea.
Понадобилось добавить кнопку "Установить скидку на все продукты в счете" в воркспейс "Продукт" (wnd_OfferingDetailTreeArea) детали раздела "Счета". Решил изучить как обрабатываются события нажатий на другие кнопки воркспейса wnd_OfferingDetailTreeArea. Однако, я не нашёл ни одного привязанного к кнопкам обработчика. Кроме того, оказалось, что в "Невизуальных коммпонентах" к dlData не привязан никакой датасет.
Пожалуйста, объясните, как это всё работает? Где обработчики? Откуда подгружаются данные и куда они выгружаются при работе, если к воркспейсу не привязан датасет?
Где мне впредь искать ответы на данные вопросы? Неужели придётся каждый раз обращаться по таким вопросам на community или в тех. поддержку? Должно же это быть где-то расписано?
Нравится
Во-первых, wnd_OfferingsDetailTreeArea.
Обработчики там должны быть, странно. В скрипте wnd_OfferingsDetailTreeAreaScript вижу:
[javascript]
function btnAddRootOnClick(Control) {
AddRootData();
}
function btnAddChildOnClick(Control) {
AddChildData();
}
function btnCopyOnClick(Control) {
CopyData();
}
function btnEditOnClick(Control) {
EditData();
}
[/javascript]
Датасет не привязан, поскольку эта деталь может быть в разных разделах и привязывается программно при открытии раздела.
"Зверев Александр" написал:Датасет не привязан, поскольку эта деталь может быть в разных разделах и привязывается программно при открытии раздела.
Если точнее, Датасет привязывается в скрипте Воркспейса Счетов:
[javascript]
if (pcDetails.ActivePage.Name == pgOfferingsDetail.Name) {
SetAttribute(wndOfferingsDetail.Window, 'WorkspaceDataset',
BaseWorkspace.GridDataset)
SetAttribute(wndOfferingsDetail.Window, 'DateFieldName', 'InvoiceDate');
SetAttribute(wndOfferingsDetail.Window, 'AccountFieldName', 'CustomerID');
RefreshCommonDetail(BaseWorkspace, wndOfferingsDetail,
'InvoiceID', 'InvoiceID', 'ds_OfferingInInvoice');
}
[/javascript]
В RefreshCommonDetail 5-ым параметром передается USI датасета, который хотите в данном случаи привязать.
Действительно, у меня обработчики не были подцеплины только в тестовой базе, видимо раньше когда-то напортачил, теперь подцепил. В действующей - всё ок.
Всем спасибо!