На Вашем снимке действительно "фактическая сдача" активна.
Что же не так у нас?
Проверили по API explorer - только TCSActiveModule.ActionList.ActionByName("ShowAction")c флагом Еnable в "Set Module_2 = TCSActiveModule.ChildModules.ModuleByName("OrderMovePlan").AsIDispatch
If Not Module_2 Is Nothing Then
Set @ = Module_2.ActionList.ActionByName ("")
То есть фактическая сдача программно выключена
"
TechnologiCS v7.9
По макросу спасибо большое.
Пришлось немного доработать, так как задача состоит: Уникальной кнопкой/командой для простых Юзеров распознать по штрихкоду требуюмую операцию для ввода данных при приемке.
При активации макросом окна, следующем действием по кнопке Добавить Фактич. сдачу- получаем безликое пустое окно для заполнения, без возможности как то сопоставить та ли операция на "обработке".
Доработали на вывод "Добавить оставшуюся фактич. сдачу" -дабы исключить "ступор" Пользователя, ну и значения можно как-то соотнести на результат корректного распознавания штрихкода.
Но без ложки дегтя не обошлось - в случае если по количеству план закрыт - макрос отрабатывает ошибку, но получаем недопустимое предупреждение-приглашение на редактирование макроса.
Выглядит это так:
Sub FactBrCd(TCSActiveModule, TCSExecutionParams) 'Поиск по штрих-коду
LogObject.ScriptTimeOut = 0
TCSapp.ShowOneTreeNodeData = False
TCSExecutionParams.ReturnCode = 0
TCSExecutionParams.ReturnMessage = "Оформлено все исходное количество!"
Call TCSApp.HideProgressMessage
Dim BarCode 'as String Штрих-код
Dim CatalogName 'as String Название справочника в котором находится штрих-код
Dim ID1,ID2 'as long Идентификаторы найденых записей
'Dim Module, Module_1 'As IDModule
Dim ErrorMessage 'as String
Dim Quantity 'as Logn количество найденых кодов
BarCode = ""
ErrorMessage = ""
If TCSApp.ShowCatalogByBarCodeForm(Array("ProductionPlan"), null, BarCode, CatalogName, ID1, ID2, Quantity) Then
Set ProductionPlan = theApp.Manufacturing.ProductionPlanFromID(ID2,ID1)
If Not ProductionPlan Is Nothing Then
Set FP = ProductionPlan.Properties("FinishedProducts").AsIDispatch
If Not FP Is Nothing Then
Set i = FP.ActionList.ActionByName("AddLastFactAction")
If Not i Is Nothing Then i.Execute
End If
Else
Call TCSapp.ShowErrorMessage( "не могу получить фактическое изготовления план производства по найденным идентификаторам" )
End If
Else
Call TCSapp.ShowErrorMessage( "не могу получить план производства по найденным идентификаторам" )
End If
End Sub
Это исправимо?
Или все таки есть возможность по штрихкоду с помощью макроса выходить на "ТП позиции ПсП (редактирование)", а не на "План выпуска (редактирование)"?
Заранее благодарен.