Histórico da Página
PEBCodeAct -
AçãoManipular conteúdo lido no código de barras/QR Code do APP Minha Produção
Linha de Produto: | Protheus | ||||||||||||
Segmento: | Manufatura | ||||||||||||
Módulo: | SIGAPCP - Planejamento e Controle da Produção | ||||||||||||
Parâmetro(s): |
| ||||||||||||
Idiomas: | Todos | ||||||||||||
País(es): | Todos | ||||||||||||
Banco(s) de Dados: | Todos | ||||||||||||
Sistema(s) Operacional(is): | Todos |
Ponto de Entrada
| Descrição: | O ponto de entrada PEBCodeAct é executado assim que a leitura do código de barras/QR Code é registrada . Com, permitindo manipular o conteúdo lido e distribui-lo nos campos do formulário.
| ||||||||
| Localização: | API FormRegistration, método POST BarcodeAction - Responsável por editar e retornar informações dos formulários do APP Minha Produção. | ||||||||
| Eventos: | Não se aplica. | ||||||||
| Programa Fonte: | FormRegistration.PRW | ||||||||
Sintaxe: | PEBCodeAct( ) --> oJsonRet | ||||||||
| Retorno: |
| ||||||||
| Observações: | Não é permitida a utilização de qualquer componente de interface gráfica nesse ponto de entrada, visto que a função será executada durante uma requisição REST. |
| Bloco de código | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "TOTVS.CH" User Function PEBCodeAct() Local cAptType := "" Local cBcodeData := "" Local cBody := PARAMIXB Local cFldCode := "" Local cFormCode := "" Local oBody := JsonObject():New() Local oJson := JsonObject():New() oBody:FromJson(cBody) If oBody:HasProperty("formSource") cAptType := oBody["formSource"]["appointmentType"] cBcodeData := oBody["formSource"]["barcodeData"] cFldCode := oBody["formSource"]["fieldCode"] cFormCode := oBody["formSource"]["formCode"] If cAptType == "1" //Formulário "SIMPLES01" If AllTrim(cFormCode) == "SIMPLES01" //Seleção da ordem de produção para apontamento If cFldCode == "productionOrder" oBody["productionOrder"] := Substr(cBcodeData,1,11) Else // Para todos os campos restantes, mover o conteúdo lido no Código de Barras sem alterações oBody[cFldCode] := cBcodeData EndIf ElseIf AllTrim(cFormCode) == "SIMPLES02" //CampoSeleção doda formulárioordem de produção para apontamento If cFldCode == "D3_DOCproductionOrder" oBody["D3_DOCproductionOrder"] := Substr(cBcodeData,1,14) Else // Para todos os campos restantes, mover o conteúdo lido no Código de Barras sem alterações oBody[cFldCode] := cBcodeData EndIf EndIf ElseIf ElseIf cAptType == "3" //Seleção da ordem de produção ou operação para apontamento If cFldCode == "productionOrder" .Or. cFldCode == "activityCode" //Buscar informações do código de barras por posição na string oBody["productionOrder"] := Substr(cBcodeData,1,1411) oBody["activityCode"] := Substr(cBcodeData,1412,2) Else // Para todos os campos restantes, mover o conteúdo lido no Código de Barras sem alterações oBody[cFldCode] := cBcodeData EndIf ElseIf cAptType == "4" //CampoSeleção doda formulárioordem de empenho produção ou operação para apontamento If cFldCode == "D4_PRDORG"productionOrder" //Buscar informações do código de barras por posição na string oBody["D4_PRDORGproductionOrder"] := Substr(cBcodeData,1,11) Else // Para todos os campos restantes, mover o conteúdo lido no Código de Barras sem alterações oBody[cFldCode] := cBcodeData EndIf ElseIf cAptType == "6" //Seleção do produto para criar ordem de produção If cFldCode == "productCode" oBody["productCode"] := Substr(cBcodeData,10,15) Else // Para todos os campos restantes, mover o conteúdo lido no Código de Barras sem alterações oBody[cFldCode] := cBcodeData EndIf ElseIf cAptType == "7" //Campo do formulário de apontamento de perda If oBody[cFldCode == "BC_LOCORIG"] //Converter string no formato json de um qrcode para objeto json oJson:FromJson(cBcodeData) oBody["BC_LOCORIG"] := oJson["local_origem"] oBody["BC_LOCAL"] := oJson["local_destino"] EndIf EndIf EndIf EndIf cBody := oBody:ToJson() FreeObj(oBody) FreeObj(oJson) Return cBody |