1

Тема: Работа с AxDbForm

Добрый день
Раньше не приходилось работать с AxDbForm, что-то не могу понять

Есть документ на форме он отображается
Set doc = GetCurrentDoc( Form,UserDataObject.Properties("VER_ID").AsInteger)
Call doc.Show(Form.c_AxDbForm_1)

А вот отобразить связанную номенклатуру, подписи и т.д. не получается

Set doc = GetCurrentDoc( Form,UserDataObject.Properties("VER_ID").AsInteger)
set podp=Nothing
set podp=doc.Properties("BoundNomenclature").AsIDispatch
Call podp.Show(Form.c_AxDbForm_1)

Возвращает пустую форму

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

Re: Работа с AxDbForm

Добрый день! Затрудняюсь ответить, так как здесь много что скрыто из реализации.

Вообще на 7.1 там намного проще все делается. Можно просто вызвать help.technologics.ru/7.1/TCSAPIH … dule_9.htm, и там параметрами все разрулить.

У вас, я так подозреваю, объект в  podp просто уничтожается при выходе. Нужно его где то сохранить (например в UserData), либо перевести в глобальный scope (только не забудь потом удалить, а то объекты висеть будут).
Обычно делается таким образом

 Call TCSApp.DeleteModuleByUserModuleName( "MY_UniqueModule_Name" )
 podp.UserModuleName = "MY_UniqueModule_Name" 

после этого объект будет жить и доступен через вызов ModuleByUserModuleName

3

Re: Работа с AxDbForm

Олег Зырянов пишет:

У вас, я так подозреваю, объект в  podp просто уничтожается при выходе. Нужно его где то сохранить (например в UserData), либо перевести в глобальный scope (только не забудь потом удалить, а то объекты висеть будут).

Точно, спасибо большое.