Тема: Из отчета вызвать пользовательскую форму

Добрый день! В процедуре Implement в отчетной форме вызывается пользоательская форма UsrGm к ней AddScriptComands(), процедуры из скриптого модуля не вызываются, наверное так и должно быть...Как решить эту проблему? А задача следующая...перед формированием отчета надо определить список изделий, который храниться в отдельной табличке , соответственно стандартный набор процедур - удалить, добавить, редактировать. Спасибо

Re: Из отчета вызвать пользовательскую форму

AddScriptComands не будет работать в чистом АПИ. Только из под TechnologiCS. Можно правда и к самому TechnologiCS подцепиться, и вызвать АПИ в нем.  Так скорей всего сработает.
Начиная с 6.2 можно просто вызвать TechnologiCS запустив пользовательскую функцию.

Ну можно в конце концов форму на VBA написать.

Re: Из отчета вызвать пользовательскую форму

Можно правда и к самому TechnologiCS подцепиться, и вызвать АПИ в нем.  Так скорей всего сработает.

Поясните, пожалуйста поподробнее

Re: Из отчета вызвать пользовательскую форму

Вот примерчик работы с TCS АПИ через TechnologiCS

'Создание АПИ
Set TCSObj = CreateObject( "TCS.TCSApi" )
Set TCS = TCSObj.TCSApi


'Сам пример (код одинаковый)
If TCS.NMkClasses.RunModuleForSelect( "Выберите класс", False )>0 Then
  Set NMk = TCS.Nomenclatures( TCS.NMkClasses.Properties("ID").AsInteger )
  If Nmk.RunModuleForSelect( "Выберите номенклатуру", False )>0 Then
    Set Spec = Nmk.Properties("NmkSpecification").AsIDispatch
    i = Spec.ShowModal( "Спецификация" )
  End If
End If

Re: Из отчета вызвать пользовательскую форму

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

Вот примерчик работы с TCS АПИ через TechnologiCS

'Создание АПИ
Set TCSObj = CreateObject( "TCS.TCSApi" )
Set TCS = TCSObj.TCSApi


'Сам пример (код одинаковый)
If TCS.NMkClasses.RunModuleForSelect( "Выберите класс", False )>0 Then
  Set NMk = TCS.Nomenclatures( TCS.NMkClasses.Properties("ID").AsInteger )
  If Nmk.RunModuleForSelect( "Выберите номенклатуру", False )>0 Then
    Set Spec = Nmk.Properties("NmkSpecification").AsIDispatch
    i = Spec.ShowModal( "Спецификация" )
  End If



- Cпасибо, заработало
End If

Re: Из отчета вызвать пользовательскую форму

Процедура вызывается, а вот обратно в imlemnt управление не передается

Re: Из отчета вызвать пользовательскую форму

Ну да, он ведь к существующему TechnologiCS поди пытается подсоединиться, а он в этот момент отчет выполняет (странно что вообще успешно отработало) :(.

Re: Из отчета вызвать пользовательскую форму

Что интересно, если поставить после отработки usrgm просто оператор с сообщением MsgBox, то тогда все работает дальше, что посоветуете

Re: Из отчета вызвать пользовательскую форму

usrgm просто оператор с сообщением MsgBox

Не совсем понял что это значит?

Re: Из отчета вызвать пользовательскую форму

Вот тут об этом
https://forum.technologics.ru/topic600.html
и тут
https://forum.technologics.ru/topic109.html

Правильнее, думаю, нужные действия в процедуре для GetDaraSourse произвести.

Re: Из отчета вызвать пользовательскую форму

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

usrgm просто оператор с сообщением MsgBox

Не совсем понял что это значит?


tcs.usrgm работает с addscriptcomand, процедуры для которой хранятся в скриптовом модуле. tcs регистрирется как вы предложили. Поссле закрытия usrgm все виснет и дальше implement не работает если не поставить после set usrgm = nothing
msgbox "111" - тогда все отрабатывает до конца