Тема: Фактическая сдача операции по штрихкоду

Добрый день.

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

Приемка должна принимать по штрихкоду операции, определенной в Плане производства.

Заранее благодарен

Re: Фактическая сдача операции по штрихкоду

Здравствуйте! А вы расширением Маршрутными лист не пользуетесь?

В плане изготовления, найденном штрихкодом, есть команда - Сдача по выделенным. надо выделить запись и можно оформить фактическую сдачу.
В зависимом объекте действительно, все запрещено. Посмотрим в чем дело, может и стоит доработать.

Как вариант можно конечно создать свой макрос, там видимо точно будет все как вам нужно.

Стандартная форма поиска по штрихкоду https://help.technologics.ru/7.9/TCSAPI … orm_13.htm

План изготовления по идентификаторам https://help.technologics.ru/7.9/TCSAPI … mID_13.htm

У  него видимо свойство FinishedProducts где уже можно создать фактическую сдачу.

Собственно из формы, что появилась на экране тоже макроc можно запустить и сделать сдачу.

Re: Фактическая сдача операции по штрихкоду

Добрый день.
Маршрутные листы мы формируем отчетами из Плана производства, минуя ПрП.
В плане производства также можно по выделенной записи оформлять фактическую сдачу, но для этого нужно позиционироваться на необходимых операциях.
Задача же стоит, чтобы по штрихкоду (у нас кодируются все операции)на распечатанном документе сразу же попадать в "окно" требуемой операции.
И в Плане изготовления и в ПрП (маршрутный лист) - в результате поиска выводится окно "План выпуска (редактирование)" с (неактивной сдачей.
Для поиска поставили встроеннный скрипт
"
'Поиск по штрих-коду >
Sub UserFindBarCode(TCSActiveModule, TCSExecutionParams) 'Поиск по штрих-коду
'Режим: Любой
"
в нем установлена команда на ActionByName( "ShowAction").Execute -которая активирует окно "План выпуска (редактирование)"
через API Explorer вытягиваем команду ActionByName( "EditAction").Execute -в активированном окне получаем модуль "ТП позиции ПсП (редактирование)" с активированной приемкой.
Но к сожалению замена в указанном макросе поиска по штрихкоду команды "ShowAction" на "EditAction" результата не дает - также выводится "План выпуска (редактирование)".
Может подскажете, что прописать правильно для выхода на "ТП позиции ПсП (редактирование)"?
Вариант с предложенным макросом в "План выпуска (редактирование)" тоже неплох, но без Вас не справимся.
Есть еще, конечно, работающий макрос "SelectFromBarCode_Finished - Карта обмера и фактич. приемка по позиции плана с помощью штрих-кода EAN13", но он не информативный и по функционалу не соответствует нашим требованиям.
Ссылки, указанные в ответе, к сожалению нерабочие.

Re: Фактическая сдача операции по штрихкоду

При ручном вводе или при сканировании штрихкода корректно распознается и открывается соответствующее окно "План выпуска (редактирование)"

А что у вас здесь происходит? Я думал это наш стандартный модуль, и там тоже есть сдача по выделенным, как раз одна конкретная позиция плана, ничего лишнего.

Re: Фактическая сдача операции по штрихкоду

В вашем стандартном модуле происходит как раз то, что я описывал выше (на вкладке ФАКТИЧЕСКОЕ ИЗГОТОВЛЕНИЕ все функции неактивны- или это только у нас?).
Оформить фактическую сдачу не возможно.
Вопрос был только об этом.
Скрин прилагаю.

Заранее благодарен.

Post's attachments

План выпуска по barcode.jpg 143.57 Кб, файл не был скачан. 

You don't have the permssions to download the attachments of this post.

Re: Фактическая сдача операции по штрихкоду

Попробовали создать свой макрос для входа в "ТП позиции по ПсП" (с активной сдачей).
Штрихкод распознается корректно, но требуемое окно активируется не по (BarCode,CatalogName,ID1,ID2) искомой операции, а по текущей строке курсора.
Подскажите, пожалуйста, что подправить?
Заранее благодарен.

Post's attachments

macro.txt 3.8 Кб, 5 скачиваний с 2020-10-19 

You don't have the permssions to download the attachments of this post.

Re: Фактическая сдача операции по штрихкоду

Вроде похоже. И ведь на этой форме есть сдать по выделенным - это же работает?

Фактическая сдача операции по штрихкоду

Post's attachments

PlanByBarCode.png 144.54 Кб, 2 скачиваний с 2020-10-20 

You don't have the permssions to download the attachments of this post.

Re: Фактическая сдача операции по штрихкоду

Макрос попроще сделал, собственно код что идет после поиска можно как раз запустить с формы, которая появится после стандартного нашего поиска штрихкода (картинка выше). Только вместо ProductionPlan  будет TCSActiveModule

Sub FormMacro_Sel_BarCode_Find_Oper (TCSActiveModule)'Поиск по штрих-коду
'Sub FactBrCd(TCSActiveModule, TCSExecutionParams) 'Поиск по штрих-коду
'Режим: Любой

    LogObject.ScriptTimeOut = 0

    Dim BarCode        'as String Штрих-код
    Dim CatalogName    'as String Название справочника в котором находится штрих-код
    Dim ID1,ID2        'as long Идентификаторы найденых записей
    'Dim Module '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
            i = FP.ShowModal( "Fact" )
          Else
            Call TCSapp.ShowErrorMessage( "не могу получить фактическое изготовления план производства по найденным идентификаторам" )
          End If
        Else
            Call TCSapp.ShowErrorMessage( "не могу получить план производства по найденным идентификаторам" )
        End If
    End If
End Sub
Спасибо сказали: kvand.st1

Re: Фактическая сдача операции по штрихкоду

На Вашем снимке действительно "фактическая сдача" активна.
Что же не так у нас?
Проверили по 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

Это исправимо?
Или все таки есть возможность по штрихкоду с помощью макроса выходить на "ТП позиции ПсП (редактирование)", а не на "План выпуска (редактирование)"?

Заранее благодарен.

Re: Фактическая сдача операции по штрихкоду

но получаем недопустимое предупреждение-приглашение на редактирование макроса

ну если у пользователя нет прав изменять скрипты - то окно просто информирует об ошибке и предлагает отправить письмо разработчику макроса.

ну а так ошибки надо конечно обрабатывать по хорошему, тут задачка посложнее и кода будет сразу побольше. Мы в своих расширениях конечно стараемся это всегда делать.

На Вашем снимке действительно "фактическая сдача" активна.

Активна только команда сдать по выделенным. В зависмом объекте у меня тоже нет возможности вести сдачу. Через АПИ (что указано в коде) - возможность есть.

В своем макросе можно по разному доработать конечно. Выйти на техпроцесс проблем нет.
Используйте https://help.technologics.ru/7.9/TCSAPI … ems_13.htm (нужно передать идентификатор ПСп и идентификатор позиции состава) - так вы получить именно техпроцесс по данной позиции состава, далее нужно будет найти вашу операцию и прочитать с нее все данные.

Re: Фактическая сдача операции по штрихкоду

По индентификаторам ProductionBOMProcessItems все понятно, кроме как на них выйти со сканера.
Спасибо, будем довольствоваться тем что есть.
Кстати, нельзя ли вытянуть команду "Добавить оставшуюся фактич. сдачу" из контекстного меню на главную панель?
Быстрый вызов есть, но требуется отдельная яркая кнопка.

Заранее благодарен.

Re: Фактическая сдача операции по штрихкоду

кроме как на них выйти со сканера

По сканеру вы сможете выйти только на строку плана, у вас ведь на нее повешен штрих код?

Далее получив план изготовления ( в пример есть), вы можете уже получить техпроцесс (это я тоже написал), состав, ПСп (там вроде все это есть, если нужно напишем как получить подробнее), ну и все что нужно для работы.

Кстати, нельзя ли вытянуть команду "Добавить оставшуюся фактич. сдачу" из контекстного меню на главную панель?
Быстрый вызов есть, но требуется отдельная яркая кнопка.

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

И все таки сдача по выделенным у вас не работает или вас там не устраивает функционал?

Re: Фактическая сдача операции по штрихкоду

В сдаче по "выделенным" отсутствует какая-либо информация о "родителе" строки.
Не отображается изначально данные распознанной сканером операции (наименование изделия, состав, сама операция)
ОТК должен быть уверен, что вносит данные о приемке операции/состава/изделия в соответствии с штрихкодом указанном в маршрутном листе.
Случайно отсканировали не ту строку - сканер выдал окно сдачи-"сдали/закрыли" не ту операцию/изделие.
С созданным макросом, как-то работать можно.
Неактивированная вкладка "Фактическое изготовление" в активном окне "ТП позиции ПсП (редактирование)" обескуражила, если честно.
В любом случае, благодарю за оперативную помощь и разьяснения.