Перестала работать деталь Напоминания во всех разделах. Напоминание создается, но при появлении окна напоминания возникает ошибка
Ошибка выполнения метода 'wnd_RemindingsOnShow'. Разрушительный сбой
Метод совершенно не менялся:
Initialize();
Connector.Attributes.Values('RemindingsWindow') = Window;
Self.FocusedControl = btnRemind;
}
function InitializeGlobalVariables() {
Remindings.ContactID = GetAttribute(Self, 'ContactID');
}
function InitializeDataset() {
dlData.Dataset.FetchRecordsCount = -1;
Remindings.GridDataset = dlData.Dataset;
Remindings.IntervalDataset = dlRemindInterval.Dataset;
Remindings.GridDataset.Close();
Remindings.GridDataset.Open();
Remindings.IntervalDataset.Open();
}
function Initialize() {
InitializeDataGridExport(grdData);
InitializeGlobalVariables();
InitializeDataset();
}
Нравится
Лена, запрос sq_Remindings не изменяли?
Вложите, пожалуйста, сервисы sq_Remindings, ds_Remindings.
В sq_Remindings добавила один Select для нового раздела Registrations
Пытаюсь создать напоминание для раздела как в Задачах.
Добавлен код в src_Remindings
function OpenWorkspaceWindow() { if (IsDatasetEmpty(Remindings.GridDataset)) { return; } var SubjectTypeID = GetFieldValueFromDisabledField(Remindings.GridDataset, 'SubjectTypeID'); var SubjectID = GetFieldValueFromDisabledField(Remindings.GridDataset, 'SubjectID'); switch (SubjectTypeID) { case rst_Account: GotoWorkspace('wnd_AccountsWorkspace', SubjectID); break; case rst_Document: GotoWorkspace('wnd_DocumentsWorkspace', SubjectID); break; case rst_Task: GotoWorkspace('wnd_TasksWorkspace', SubjectID); break; case rst_Contact: GotoWorkspace('wnd_ContactsWorkspace', SubjectID); break; ... //New case rst_Registrations: GotoWorkspace('wnd_RegistrationsWorkspace', SubjectID); break; } } function OpenEditWindow() { if (Remindings.GridDataset.IsEOF) { return } var SubjectTypeID = GetFieldValueFromDisabledField(Remindings.GridDataset, 'SubjectTypeID'); var EditWindowUSI; switch (SubjectTypeID) { case rst_Account: EditWindowUSI = 'wnd_AccountEdit'; break; case rst_Document: EditWindowUSI = 'wnd_DocumentEdit'; break; case rst_Task: EditWindowUSI = 'wnd_TaskEdit'; break; case rst_Contact: EditWindowUSI = 'wnd_ContactEdit'; break; ... //New case rst_Registrations: EditWindowUSI = 'wnd_RegistrationsEdit'; break; //end } var Attributes = GetNewDictionary(); var RecordID = GetFieldValueFromDisabledField(Remindings.GridDataset, 'SubjectID'); Attributes('RecordID') = RecordID; /* MODULE WORKFLOW */ if (SubjectTypeID == rst_Task) { if (!Assigned(Remindings.WorkflowEngine)) { Remindings.WorkflowEngine = Connector.Attributes(WorkflowEngineAttrName); } var WorkflowEngine = Remindings.WorkflowEngine; if (!Assigned(Remindings.TasksDataset)) { Remindings.TasksDataset = Services.GetNewItemByUSI('ds_Task'); } var Dataset = Remindings.TasksDataset; Dataset.Close(); ApplyDatasetFilter(Dataset, 'ID', RecordID, true); Dataset.Open(); try { var WorkflowItemID = Dataset.Values('WorkflowItemID'); var IsFinish = Dataset.ValAsBool('StatusIsFinish'); if ((!IsEmptyGUID(WorkflowItemID)) && (!IsFinish)) { WorkflowEngine.ProcessWorkflowItem(WorkflowItemID); return; } } finally { Dataset.Close(); } } //New else if (SubjectTypeID == rst_Registrations) { if (!Assigned(Remindings.WorkflowEngine)) { Remindings.WorkflowEngine = Connector.Attributes(WorkflowEngineAttrName); } var WorkflowEngine = Remindings.WorkflowEngine; if (!Assigned(Remindings.RegistrationsDataset)) { Remindings.RegistrationsDataset = Services.GetNewItemByUSI('ds_Registrations'); } var Dataset = Remindings.RegistrationsDataset; Dataset.Close(); ApplyDatasetFilter(Dataset, 'ID', RecordID, true); Dataset.Open(); try { var WorkflowItemID = Dataset.Values('WorkflowItemID'); var IsFinish = Dataset.ValAsBool('StatusIsFinish'); if ((!IsEmptyGUID(WorkflowItemID)) && (!IsFinish)) { WorkflowEngine.ProcessWorkflowItem(WorkflowItemID); return; } } finally { Dataset.Close(); } } function AddRemindingReferenceMenuItem(ActionMenu, OnExecuteMethodName) { if (IsDatasetEmpty(Remindings.GridDataset)) { return; } var WorkspaceWindowUSI; var ReferenceCaption; var DatasetKeyFieldName = 'SubjectID'; var SubjectTypeID = Remindings.GridDataset.Values('SubjectTypeID'); switch (SubjectTypeID) { case rst_Account: WorkspaceWindowUSI = 'wnd_AccountsWorkspace'; ReferenceCaption = "Контрагент"; break; case rst_Document: WorkspaceWindowUSI = 'wnd_DocumentsWorkspace'; ReferenceCaption = "Документ"; break; case rst_Task: WorkspaceWindowUSI = 'wnd_TasksWorkspace'; ReferenceCaption = "Задача"; break; ... //New case rst_Registrations: WorkspaceWindowUSI = 'wnd_RegistrationsWorkspace'; ReferenceCaption = "Регистрации"; break; }
А у вас в новой ветке sq полностью совпадает список полей и наличие у них галочек "всегда выбирать в запросе"? Может, это проявление этой проблемы?
В других ветках случайно нет поля AccountName, как у меня на скриншоте?
Во всех Union большинство имен полей повторяются, (так было прописано первоначально), в моем Union все галочки "всегда выбирать в запросе" сняты
А должны быть не все сняты, сравните с другой ветвью и сделайте так же. И набор названий полей, и галочки.
еще проверьте фильтр RemindTime.
у меня было так, что напоминания вроде есть -- а окно показывалось пустое. тоже был новый раздел. так фишка оказалась в этом фильтре -- там не приравнивание, а "меньше или равно" -- посмотрите по аналогии с другими юнионами. я эту "мелочь" проглядела и долго искала, в чем ошибка...
5 раз проверила все галочки и фильтры. Происходит следующее:
При создании напоминания из карточки редактирования Задачи, все ок. Если в любом разделе создать напоминание через деталь Напоминание, снова разрушительный сбой
Попробуйте поменять код подзапроса с "RegistrationsSelect" на "tbl_Registrations"
в других ветках не везде есть, но все таки дополнительно прописала поле AccountName. В новом разделе по-прежнему Ошибка выполнения метода 'wnd_RemindingsOnShow'. Разрушительный сбой
В остальных разделах все ок
Лена, в ходе телефонного разговора Вы сообщили, что ошибка с напоминаниями для нового раздела устранена.
Если у Вас не получится решить текущие вопросы по работе напоминаний, сообщите, пожалуйста.