в самом примере написано что зависимые объекты могут создаваться только для отчётов.
Да, но это самые произвольные! как в примере. Про CM_AddChildItem действительно забыл указал, это же тоже есть в интерфейсах пользователя.
К сожалению тут какая то неточность, в хелпе написано передавать значение поля через ::, а реально передается через :. Мне кажется что первый вариант правильнее, но это надо изучить повнимательней. Пока даю пример как сейчас у меня работает.
Для примера в скриптовых модулях создаем пустую форму ввода с именем formtoshow. В ней только вот такой код
Sub FormEvent_OnFormShow(Form)
'Form As ITCSForm
if Form.UserData.Values("ShowModule")<>"" Then
On Error Resume Next
Set M = Form.TCSModuleByName( Form.UserData.Values("ShowModule") )
If not M is Nothing Then
'Dim M as ICustomizedModule
M.CM_ShowChildModules( True )
if Form.UserData.Values("chitem")<>"" Then M.CM_SelectChildItem( Form.UserData.Values("chitem" ) )
End If
End If
End Sub
В наборах данных создаем набор с обозначением test01 - таблица единицы измерения и параметром в фильре по ID. На странице SQL должен выглядеть так
SELECT
Mesuriments.ID AS Mesuriments_ID,
Mesuriments.NOTE AS Mesuriments_NOTE,
Mesuriments.NAME AS Mesuriments_NAME,
Mesuriments.IsWeight AS Mesuriments_IsWeight
FROM
Mesuriments Mesuriments
WHERE
( (Mesuriments.ID = :ID) )
Терерь в любом месте запускаем такой пример и запускаем на выполнение
Sub Test02
Set F = theApp.TCSForm( "formtoshow", False )
'Dim F As ITCSForm
Set CM = theApp.Mesuriments
'Dim CM As ICustomizedModule
Call CM.CM_ClearAllCustomization
Call CM.CM_AddChildItem( "test01", "test01", "test01", 0, "ID=:MESUR_ID" )
Call CM.CM_ApplyCustomization
'LogObject.ShowPropExplorer( CM )
Call F.AddTCSModule( theApp.Mesuriments, "Mes", "", True, False, null )
F.UserData.Values( "ShowModule" ) = "Mes"
F.UserData.Values( "chitem" ) = "UQ_test01"
F.ShowModal
End Sub