Добрый день, коллеги!
Помогите разобраться с проблемой.
Создал древовидный грид. При попытке добавить в него запись, появляется ошибка "BaseGridArea' - определение отсутствует". Источник ошибки - функция AddRequiredValuesToDictionary скрипта scr_BaseTreeArea.
Что я делаю не так?
Нравится
Здравствуйте, Николай!
Уточните, пожалуйста, есть ли в таблице, привязанной к реестру, поле родительской записи, и указано ли оно в настройках реестра?

Да, поле родительской записи есть, и в свойстве ParentDataFieldName оно указано.
[javascript]
if (Assigned(EditDataField)) {
EditFieldName = EditDataField.Name;
} else {
//Added for compatibility
EditDataField = Dataset.DataFields(NameFieldName);
if (Assigned(EditDataField)) {
EditFieldName = EditDataField.Name;
} else {
EditFieldName = BaseGridArea.TreeDataset.DataFields.Items(1).Name; // Вот на этой строке возникает ошибка
}
}
[/javascript]
С этим, вроде бы разобрался - в DataSet'e не было указано первичное поле для отображения. Указал поле Title. Ошибка пропала.
Но, зато появилась другая - уже на этапе сохранения новой записи в реестр: "Поле Title не активно" :(
Вот тут:
[javascript]
// scr_DB
function RefreshDataset(Dataset) {
CheckAssigned(Dataset, 'Dataset');
Dataset.Close();
Dataset.Open(); // Ошибка
}
[/javascript]
Николай, установите в сервисе запросе sq_ для данного реестра признак "всегда выбирать в запросе" для основного полоя отображения (Title)