Перестала работать деталь Напоминания во всех разделах. Напоминание создается, но при появлении окна напоминания возникает ошибка
Ошибка выполнения метода '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
[javascript]
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;
}
[/javascript]
А у вас в новой ветке sq полностью совпадает список полей и наличие у них галочек "всегда выбирать в запросе"? Может, это проявление этой проблемы?

В других ветках случайно нет поля AccountName, как у меня на скриншоте?
Во всех Union большинство имен полей повторяются, (так было прописано первоначально), в моем Union все галочки "всегда выбирать в запросе" сняты
А должны быть не все сняты, сравните с другой ветвью и сделайте так же. И набор названий полей, и галочки.
еще проверьте фильтр RemindTime.
у меня было так, что напоминания вроде есть -- а окно показывалось пустое. тоже был новый раздел. так фишка оказалась в этом фильтре -- там не приравнивание, а "меньше или равно" -- посмотрите по аналогии с другими юнионами. я эту "мелочь" проглядела и долго искала, в чем ошибка...
5 раз проверила все галочки и фильтры. Происходит следующее:
При создании напоминания из карточки редактирования Задачи, все ок. Если в любом разделе создать напоминание через деталь Напоминание, снова разрушительный сбой
Попробуйте поменять код подзапроса с "RegistrationsSelect" на "tbl_Registrations"
в других ветках не везде есть, но все таки дополнительно прописала поле AccountName. В новом разделе по-прежнему Ошибка выполнения метода 'wnd_RemindingsOnShow'. Разрушительный сбой
В остальных разделах все ок
Лена, в ходе телефонного разговора Вы сообщили, что ошибка с напоминаниями для нового раздела устранена.
Если у Вас не получится решить текущие вопросы по работе напоминаний, сообщите, пожалуйста.
