1

Тема: Добавление документов, привязанных к операции

Помогите разобраться!
При стандартном вводе операции в техпроцесс при переходе на закладку "Реквизиты позиции ТП", если к операции привязаны документы, то они сразу предлагаются в окне "Привязка документации к техоперации". Если нет привязанных документов, то появляется окно "Выберите привязку документации к техоперации". Причём текущей оказывается не своя (вводимая) операция, а та, на которую (в предыдущий раз) позиционировались в этом окне, что не удобно!

Что можете предложить, чтобы реализовать удобные стандартные возможности добавления документов из привязки?
(У меня) в приложении VB ввода техоперации
к операции добавляю документы из окна, полученного следующим образом

Set TechPar = TCSActiveModule.Properties("TechnologyAttributes").AsIDispatch ' Реквизиты позиции ТП
...
Set OperDoc = TechPar.Properties("OperationDocuments").AsIDispatch 'Документы операции
...
par2 = OperDoc.ShowModal(...

Здесь пользователь выбирает "Добавить из привязки" и
попадает в окно с операциями и привязанными документами.
Причём оказывается, как мы знаем, не на своей операции.
1. Хотелось как минимум сразу встать на текущей (вводимой) операции.
(Мои попытки позиционироваться на текущей (вводимой) операции не дали результата.Вернее я перед ShowModal благополучно перехожу в справочнике Nomenclatures с пом. Locate() на нужную операцию, вижу это. Но в OperDoc.ShowModal и из него в окне "Выберите привязку документации к техоперации" по-прежнему оказываюсь на др.операции. Понимаю, что позиционироваться в Nomenclatures  бессмысленно, но в каком объекте API это делать, не знаю. Подскажите!)
2. А лучше было бы предложить пользователю окно "Привязка документации к техоперации" и затем вывести выбранные им документы в окно, полученное
Set OperDoc = TechPar.Properties("OperationDocuments").AsIDispatch 'Документы операции
par2 = OperDoc.ShowModal(...

Попытки использовать AddFromAffixAction из ActionList документов операции OperationDocuments ни к чему не привели (Enable=False).
Никак не могу подобраться к таблице Привязанных документов напрямую средствами API. Помогите, пожалуйста!

Re: Добавление документов, привязанных к операции

Суть вопроса в том чтобы при открытии окна Привязка документации к техоперации окно по умолчанию позиционировалось на текущую тех операцию по умолчанию?

Ну может быть и логичное требование, если хочешь в процесс работы сразу документы привязывать для будущей работы. Если пользоваться документами другой операции - то уже не удобно.  Но другой вопрос что чаще используется.  Надо подумать.

Или что-то еще требуется?

3

Re: Добавление документов, привязанных к операции

Во-первых, вопрос в том, что не знаю, какие это объекты API (как они называются, чтобы с ними работать) - 
а) в окне "Привязка документации к техоперации" (окно с привязанными документами и флагами рядом),
б) в окне "Выберите привязку документации к техоперации"
От ответа на него и от свойств этих объектов  зависит, смогу ли манипулировать этими объектами.

Что требуется?
Поскольку к (почти) каждой техоперации привязаны документы (инструкции по охране труда),
то при вводе операции в техпроцесс (из приложения VB) хорошо было бы вывести
(или сначала запросить, а потом вывести) окно "Привязка документации к техоперации".
После выхода из него вывести окно, полученное следующим образом

Set TechPar = TCSActiveModule.Properties("TechnologyAttributes").AsIDispatch ' Реквизиты позиции ТП
Set OperDoc = TechPar.Properties("OperationDocuments").AsIDispatch 'Документы операции
par2 = OperDoc.ShowModal(...)

В этом окне технолог смог бы увидеть (/удалить) выбранные документы, а также добавить 2-мя имеющимися станд. способами (из справочника ДОК или из привязок).

Re: Добавление документов, привязанных к операции

К модулю Привязка документации к техоперации доступа через АПИ  нет, как и к большинству таких вспомогательных модулей. Они нужны в основном чтобы автоматизировать работу внутри TechnologiCS, и навряд ли они появятся в АПИ.

Ко многим справочникам у нас можно конечно добраться на чтение через ChildModules - можно поизучать данный вопрос конечно если есть такой зависимый объект. Но в целом политика по АПИ как указано выше.

5

Re: Добавление документов, привязанных к операции

Хорошо, политика, так политика.
Тогда иду другим путём.  Из номенкл. справочника операций в API Explorer перехожу в ChildModule "NmkAffix" - привязки.
Вхожу, ShowModal, другого способа не вижу, и выбираю Привязки "Документации к операциям", OK.
Далее благополучно перехожу в ChildModules "CurrentModule" и вижу то, что надо, список привязанных документов.

Вопрос, как непосредственно, кроме как с помощью ShowModal, можно перейти к Привязке "Документации к операциям"?

Re: Добавление документов, привязанных к операции

Можно попробовать вот так

Sub FormMacro_Test123123123(TCSActiveModule)
  Set a = TCSActiveModule.ChildModules.ModuleByName("NmkAffix").AsIDispatch
  'Dim a As ITModule
  For i=0 To a.DbTree.RootNodes.Item(0).Count-1
   If a.DbTree.RootNodes.Item(0).Item(i).Text="Документации к операциям" Then
     a.DbTree.RootNodes.Item(0).Item(i).Selected = True
     Set b = a.ChildModules.ModuleByName("CurrentModule").AsIDispatch
     'Dim b As IGModule
     i = b.ShowModal( "b" )
     Exit Sub
   End If
  Next
End Sub
Спасибо сказали: snake1

7

Re: Добавление документов, привязанных к операции

Спасибо!
Всё же ещё вопрос, доступно ли для выполнения AddFromAffixAction из ActionList документов операции OperationDocuments где-нибудь и когда-нибудь? Раз оно имеется в API Explorer, то как-то, наверное, используется?

Re: Добавление документов, привязанных к операции

ну я так понял оно доступно (из предыдущего поста), только почему то запрещено через АПИ.
Причем у себя в TCS API Explorer я наблюдаю что она доступна (Enabled=True). Но это версия 5.7.

9

Re: Добавление документов, привязанных к операции

Позвольте полюбопытствовать, в Вашей версии AddFromAffixAction какое окно выводит
а) "Привязка документации к техоперации" (окно с привязанными документами и флагами рядом),     или
б) "Выберите привязку документации к техоперации" (операции, слева дерево, справа привязанные документы), или
в зависимости от наличия привязки (есть привязка -а), нет - б) ),

или вообще без окон просто добавляет документы?

Re: Добавление документов, привязанных к операции

Выберите привязку документации к техоперации конечно же.

Re: Добавление документов, привязанных к операции

Кстати в 5.7.0.0 (10954) только появилось  Стало возможным добавлять документы операции техпроцесса через TCS API (свойство OperationDocuments).

Спасибо сказали: snake1

12

Re: Добавление документов, привязанных к операции

Спасибо за информацию на будущее

13

Re: Добавление документов, привязанных к операции

Всё-таки надеялась!..
Считала всю необходимую информацию о привяз. к операции документах
и хотела их добавить в OperationDocuments реквизитов техпроцесса.
Увы, затык на

.CreateNew (.Edit)

Сообщение: Модуль данных не допускает редактирования.
Похоже, издержки версии.
А SQL запросы наша версия поддерживает?

Re: Добавление документов, привязанных к операции

В версии 5.7 появился визуальный построитель запросов (да и много чего нового еще) TechnologiCS 5.7.
В построителе не все конечно пока доступно, но он может значительно расширить фнукциональность.

15

Re: Добавление документов, привязанных к операции

Подскажите пожалуйста, в версии 6.2.0.0 все еще нет возможности доступа через АПИ к
...
Set OperDoc = TechPar.Properties("OperationDocuments").AsIDispatch?
...
При пошаговой отладке пишется что OperDoc =Empty.
И окно

par = OperDoc.ShowModal("Добавьте инструкцию по охране труда")

не отображается.

Re: Добавление документов, привязанных к операции

Set OperDoc = TechPar.Properties("OperationDocuments").AsIDispatch

Должно быть все доступно если встать на операции.