Скрипты
Разработка

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

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

Нравится

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

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

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

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

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

[javascript]
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;
}
[/javascript]

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

[javascript]
function RefreshTestDetail() {

if (AccountsWorkspace.InitializeDocumentsFlag !=true ) {
InitializeTestDetail();
AccountsWorkspace.InitializeDocumentsFlag = true;
}
AccountsWorkspace.TestDataset.Open();
}
[/javascript]

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

[javascript]
if (pcDetails.ActivePage.Name == pgTest.Name) {
RefreshTestDetail();
} else
[/javascript]

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

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

Добрый день!
Подскажите, пожалуйста, в приведенном скрипте что такое [javascript] AccountsWorkspace.TestDataset[/javascript] и [javascript]AccountsWorkspace.TestWindow
[/javascript] и откуда их можно вытащить?

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

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