Добрый день, коллеги!

Помогите разобраться с проблемой.

Создал древовидный грид. При попытке добавить в него запись, появляется ошибка "BaseGridArea' - определение отсутствует". Источник ошибки - функция AddRequiredValuesToDictionary скрипта scr_BaseTreeArea.

Что я делаю не так?

Нравится

7 комментариев

Есть идеи?

Здравствуйте, Николай!

Уточните, пожалуйста, есть ли в таблице, привязанной к реестру, поле родительской записи, и указано ли оно в настройках реестра?

111

Да, поле родительской записи есть, и в свойстве 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)

Спасибо, получилось!

Показать все комментарии