Здравствуйте!
У меня во вновь созданном разделе без видимых причин не активизируется кнопка "Добавить", хотя данные в реестре есть, показываются, корректируются, и т.д. Ввод новых данных из-за этого невозможен.
Привожу код скрипта Workspace. Скрипт создан по материалам статьи, приведеннной на сайте. Таким образом создал уже не один раздел, но с этим проблемы. Отладкой проверял, код, изменяющий статус кнопки не выполняется.
//-----------------------------------------------------------------------------
// scr_TechViewActWorkspace
//-----------------------------------------------------------------------------
var TechViewActWorkspace = new Object();
function InitializeGridData() {
var GridWindow = wndGridData.Window;
PrepareGridWindow(GridWindow, dlTechViewAct);
PrepareCommonDetails('ActID');
}
function Initialize() {
InitializeGroups('tbl_TechViewActGroup', 'ds_TechViewActInGroup', 'ActID');
InitializeGridData();
//InitializeDatePeriod();
OpenGroupsDataset();
}
function RefreshTechViewAct() {
RefreshWorkspace();
}
function InitializeWorksDetail() {
TechViewActWorkspace.WorksWindow = wndWorksDetail.Window;
SetAttribute(TechViewActWorkspace.WorksWindow,
'ParentItemFieldName', 'ActID');
SetAttribute(TechViewActWorkspace.WorksWindow,
'WorkspaceGridDataset', BaseWorkspace.GridDataset);
TechViewActWorkspace.WorksWindow.Prepare();
TechViewActWorkspace.WorksDataset = TechViewActWorkspace.
WorksWindow.ComponentsByName('dlData').Dataset;
}
function RefreshWorksDetail() {
if (TechViewActWorkspace.InitializeWorksFlag != true) {
InitializeWorksDetail();
TechViewActWorkspace.InitializeWorksFlag = true;
}
var ActID = BaseWorkspace.GridDataset.ValAsGUID('ID');
SetAttribute(TechViewActWorkspace.WorksWindow, 'ParentItemID',
ActID);
RefreshDetailData(BaseWorkspace.GridDataset, 'ID',
TechViewActWorkspace.WorksDataset, 'ActID');
}
function RefreshDetails() {
if (dlTechViewAct.Dataset.State == dstInactive) {
return;
}
if (pcDetails.ActivePage.Name == pgGroupsDetail.Name) {
RefreshGroupsDetail(BaseWorkspace, wndGroupsDetail,
'ActID', 'ds_TechViewActInGroup', 'tbl_TechViewActGroup', "Акт техосмотра");
} else {
if (pcDetails.ActivePage.Name == pgWorksDetail.Name) {
RefreshWorksDetail();
}
}
}
// --------------------------------------------------------
// Event handlers
//
function wnd_TechViewActWorkspaceOnPrepare(Window) {
Initialize();
}
function dlGroupsOnDatasetAfterPositionChange(Dataset) {
scr_BaseWorkspace.dlGroupsOnDatasetAfterPositionChange(Dataset);
RefreshWorkspace();
}
function dlTechViewActOnDatasetBeforeOpen(Dataset, DoOpen) {
var IsInSingleRowMode = GetIsInSingleRowMode();
if (IsInSingleRowMode != true) {
ApplyStandardWorkspaceFilter();
}
}
function wnd_TechViewActWorkspaceOnNotify(ScriptableService, Sender, Message, Data) {
if ((Message == MSG_GROUPSCHANGED) &&
(pcDetails.ActivePage.Name == pgGroupsDetail.Name)) {
RefreshDetails();
return;
}
scr_BaseWorkspace.wnd_BaseWorkspaceOnNotify(ScriptableService, Sender, Message, Data);
}
function dlTechViewActOnDatasetAfterPositionChange(Dataset) {
RefreshDetails();
}
function dlTechViewActOnDatasetRefreshRecord(Dataset, KeyValue, AddNewRecordOnPage) {
if (AddNewRecordOnPage) {
AddItemInGroup(BaseWorkspace.GroupsDataset, 'ds_TechViewActInGroup', KeyValue, 'ActID');
RefreshDetails();
}
}
function pcDetailsOnChangeActivePage(Pages) {
RefreshDetails();
}