Справочник в деталях

Подскажите, пожалуйста, как правильно в деталях разместить справочник, никак не связанный с основным реестром?

Нравится

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

Принцип добавления аналогичен добавлению детали в раздел, только не будет прописываться логика инициализации и обновлению. Только не понятно, зачем нужна такая функциональность.

Может, автору темы надо деталь-развязку? Например, "города контрагента" для привязки независимого справочника "города" к разделу "контрагенты".

надо для того чтоб справочник был под рукой
вроде сделал как обычно, записи показывает
но ругается:
"ServiceTypeCode - есть nul или не является объектом"
при попытке создать или отредактировать запись

Ошибка возникает в результате того, что нет передачи информации о сервисе карточки редактирования. Чтобы решить задачу нужно:
1. Добавить в скрипт карточки рабочего пространства (например, scr_AccountsWorkspace) две функции:

function InitializeTestDetail() {
 
	AccountsWorkspace.TestWindow = wndTest.Window;
	SetAttribute(AccountsWorkspace.TestWindow,'DatasetUSI',
		'ds_Job');
	SetAttribute(AccountsWorkspace.TestWindow,'EditWindowUSI',
		'wnd_JobEdit');		  
    AccountsWorkspace.TestWindow.Prepare();
    AccountsWorkspace.TestDataset = 
      	AccountsWorkspace.TestWindow.ComponentsByName('dlData').Dataset;
} 

Вместо 'ds_Job' следует указать датасет справочника, 'wnd_JobEdit' – сервис карточки редактирования справочника, wndTest – название окна детали в сервисе раздела.

function RefreshTestDetail() {
 
	if (AccountsWorkspace.InitializeDocumentsFlag !=true ) {
		InitializeTestDetail();
		AccountsWorkspace.InitializeDocumentsFlag = true;
	}
	AccountsWorkspace.TestDataset.Open(); 		
}

2. В функцию function RefreshDetails() добавить блок кода:

if (pcDetails.ActivePage.Name == pgTest.Name) {
	   RefreshTestDetail();
	} else

Где pgTest – название компонента Page добавленной детали в сервисе раздела.

спасибо, все работает!

Добрый день!
Подскажите, пожалуйста, в приведенном скрипте что такое  AccountsWorkspace.TestDataset и

AccountsWorkspace.TestWindow

и откуда их можно вытащить?

Вопрос снят, понял.

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