Как передать параметр в датасет детали?

Здравствуйте.
В wnd_OpportunitiesWorkspaceScript:

function RefreshDocumentsDetail() {
...
SetAttribute(OpportunitiesWorkspace.DocumentsDataset, 'SQ', 'sq_Opportunity');
...
}
В scr_Document:
function SelfOnDatasetAfterPost(Dataset) {
...
var SQ = GetAttribute(Dataset, 'SQ');
ShowInformationDialog(SQ);
}

SQ возвращается пустым.
Как передать параметр в датасет детали, чтобы его обработать в событии AfterPost?

Нравится

4 комментария

Добрый день, Константин.
Дело в том, что в детали есть реестр и есть карточка редактирования.
В окне реестра один экземпляр набора данных, а в карточке - другой.
Для корректной передачи атрибутов из окна раздела в окно редактирования детали необходимо:
1. Передать атрибут в окно реестра детали
2. При нажатии кнопок Добавить/Изменить/Копировать реализовать передачу атрибута в окно редактирования детали
3. В окне редактирования детали реализовать передачу атрибута в набор данных окна редактирования.
4. В событии OnDatasetAfterPost набора данных детали реализовать считывание атрибута и выполнение некоторых действий, если атрибут не пуст.
Как видите, получается достаточно громоздко.

Однако, код, приведенный выше, наводит на мысль о том, что задача заключается в том, что в случае, если сохранилась запись на детали Документы раздела Проекты, то необходимо выполнить некоторые действия.
Выяснить в тексте обработчика OnDatasetAfterPost ответ на вопрос - сохранена запись на детали или нет, можно и без передачи дополнительных атрибутов. Например, можно воспользоваться обработчиком события OnDatasetAfterPost датасетлинка dlData окна wnd_Document. В скрипте считывать атрибут ParentItemFieldName окна редактирования. Если получено значение "OpportunityID", значит, речь идет именно о работе реестра документов в качестве детали раздела Проекты, и в этом случае можно выполнять необходимый код.

Желаю успехов!

Мне нужно чтобы скрипт детали знал SelectQuery и скрипт родительского datagrid.

Возможно, существует более изящное и логически верное решение для реализации Вашей задачи. Пожалуйста, опишите, что именно требуется сделать, постараюсь помочь.

Спасибо.
Я уже начал реализовывать длинный путь.

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