Добрый день, коллеги!
Помогите разобраться с проблемой.
Создал древовидный грид. При попытке добавить в него запись, появляется ошибка "BaseGridArea' - определение отсутствует". Источник ошибки - функция AddRequiredValuesToDictionary скрипта scr_BaseTreeArea.
Что я делаю не так?
Нравится
Здравствуйте, Николай!
Уточните, пожалуйста, есть ли в таблице, привязанной к реестру, поле родительской записи, и указано ли оно в настройках реестра?
Да, поле родительской записи есть, и в свойстве ParentDataFieldName оно указано.
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; // Вот на этой строке возникает ошибка } }
С этим, вроде бы разобрался - в DataSet'e не было указано первичное поле для отображения. Указал поле Title. Ошибка пропала.
Но, зато появилась другая - уже на этапе сохранения новой записи в реестр: "Поле Title не активно" :(
Вот тут:
// scr_DB function RefreshDataset(Dataset) { CheckAssigned(Dataset, 'Dataset'); Dataset.Close(); Dataset.Open(); // Ошибка }
Николай, установите в сервисе запросе sq_ для данного реестра признак "всегда выбирать в запросе" для основного полоя отображения (Title)