Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

O Quírons é uma solução SaaS voltada para  SST (Saúde e Segurança do Trabalho) desenvolvida pela NG Informática, para maiores informações consulte a documentação no link https://quirons.com.br/.

03.

...

O Protheus recebe e disponibiliza dados a partir de suas APIs como também envia dados utilizando as APIs do Quírons.

Configuração Quirons

Para que o Quirons se comunique com o Protheus será necessária uma configuração prévia.

<link>  

Configuração Protheus

Para que o Protheus envie mensagens os seguintes passos serão necessários:

  1. Parâmetro MV_RHNG preenchido com .T.

Image RemovedImage Removed

* A partir desse momento, a cada inclusão ou alteração os dados serão gravados na tabela RJP e posteriormente serão integrados através de um JOB;

       2. Carga Inicial

3. Habilitar JOB de Integração (GPEM923).

Essa rotina que deve ser cadastrada no SCHEDULE será responsável por verificar as alterações pendentes na tabela RJP e fazer o envio para o Quírons.

04. MENSAGENS ENVOLVIDAS

A integração com o Quírons utilizará as seguintes mensagens :

...

idMENSAGENS
effectTypefade

...

id1
labelITEM
effectTypefade

A mensagem ITEM irá realizar o envio das informações do cadastro de produtos (MATA010) para o Quírons que irá consumir as seguintes tag's contidas na mensagem:

...

CompanyId

...

BranchId

...

ItemDescription

...

StandardCostPrice

...

Expandir
titleExemplo de mensagem JSON

{
   "Header":{
      "BusinessUnit":"MG ",
      "ProductName":"PROTHEUS",
      "Transaction":"ITEM",
      "Version":"4.005",
      "UUID":"989bd96b-e333-0b74-f6da-2ac8d4c7f625",
      "Event":"upsert",
      "CompanyId":"T1",
      "GeneratedOn":"2022-04-20T13:49:25Z",
      "BranchId":"D MG 01 ",
      "DeliveryType":"Async",
      "Type":"BusinessMessage",
      "CompanySharingMode":"E",
      "BusinessUnitySharingMode":"E",
      "StandardVersion":"1.000",
      "BranchSharingMode":"E",
      "SubType":"event",
      "Enterprise":"D ",
      "SourceApplication":"QUIRONS",
      "ProductVersion":"12"
   },
   "Content":{
      "ItemStatus":"2",
      "StandardWarehouseInternalId":"T1|D MG|33",
      "ItemTitle":"                                                                                                    ",
      "ItemWidth":"0",
      "CompanyId":"T1",
      "UnitOfMeasureCode":"Q5",
      "Code":"PRODQUIRONS01",
      "FiscalInformation":{
         "CsllAliquot":"0",
         "IrrfIncidence":"false",
         "IssServiceCode":"         ",
         "PisRetaining":"false",
         "CsllRetaining":"false",
         "PisAliquot":"0",
         "CofinsAliquot":"0",
         "TaxSubstitutionCode":"         ",
         "CofinsRetaining":"false",
         "IssAliquot":"0",
         "MunicipalTaxCod":"                    "
      },
      "ItemLenght":"0",
      "EconomicLot":"0",
      "Name":"PRODUTO PADRAO",
      "MinimumLot":"0",
      "ManufacturerCode":"                    ",
      "ItemHeight":"0",
      "NetWeight":"0",
      "Values":{
         "CostPrice":"0",
         "SalesPrice":"0",
         "AverageCostPrice":"0",
         "StandardCostPrice":"0"
      },
      "Brand":"",
      "ShortName":"PRODUTO PADRAO",
      "Active":"1",
      "MultiplicationFactorValue":"0",
      "CompanyinternalId":"T1|D MG 01 ",
      "InternalId":"T1|D MG 01|PRODQUIRONS01",
      "ProductType":"10",
      "GrossWeight":"0",
      "ItemFeaturesTechnical":"",
      "ItemDescription":"",
      "ItemDimensions":"0",
      "BranchId":"D MG 01 ",
      "UnitOfMeasureInternalId":"T1|D MG|Q5",
      "StandardWarehouseDescription":"QUIRONS",
      "TypeUMConversion":[
         {
            "type":"M",
            "Description":"Multiplicador"
         }
      ],
      "StandardWarehouseCode":"33",
      "Trail":"N",
      "BinControl":"False",
      "Origin":""
   }
}

...

id2
labelUNITOFMEASURE
effectTypefade

A mensagem UNITOFMEASURE irá enviar as informações do cadastro de unidade de medidas do Protheus para o Quírons que irá consumir as seguintes tag's:

...

CompanyId

...

BranchId

...

Description

...

Expandir
titleExemplo de mensagem JSON

{
   "Header":{
      "ProductVersion":"12",
      "BranchId":"D MG 01 ",
      "Type":"BusinessMessage",
      "ProductName":"PROTHEUS",
      "BusinessUnit":"MG ",
      "DeliveryType":"Async",
      "Transaction":"UNITOFMEASURE",
      "StandardVersion":"1.000",
      "Version":"2.002",
      "UUID":"99b01fde-72a2-4c27-afbc-fe64e6afe94e",
      "SubType":"event",
      "Enterprise":"D ",
      "Event":"upsert",
      "CompanyId":"T1",
      "GeneratedOn":"2022-04-20T13:27:56Z",
      "SourceApplication":"QUIRONS"
   },
   "Content":{
      "Code":"Q5",
      "ShortName":"UNIDADE M",
      "InternalId":"T1|D MG|Q5",
      "Description":"UNIDADE QUIRONS"
   }
}

...

labelWAREHOUSE
effectTypefade

 A mensagem WAREHOUSE irá enviar as informações do cadastro de armazéns para o Quírons que irá consumir as seguintes tag's:

COMUNICAÇÃO DO QUÍRONS COM AS APIS DO PROTHEUS

Toda comunicação entre os sistemas acontece através das APIs REST.

Para que o Quírons se comunique com as APIs do Protheus primeiro realize a configuração prévia do Quírons.

Feita essa configuração, habilite o REST do Protheus e já será possível carregar algumas informações como o cadastro de Funções, Turnos de trabalho, Centro de Custo e etc. 


Informações
titleImportante

Os campos _USERLGI e _USERLGA são utilizados para controlar quando um registro foi incluído ou alterado.

Caso se depare com uma mensagem informando que o campo USERLGI ou USERLGA não foi encontrado, será necessário habilitá-los no módulo configurador.

Toggle Cloak
iduserLGILGA
Como habilitar os campos USERLGI / USERLGA

Cloak
iduserLGILGA

Acesse SIGACFG / Base de Dados / Base de Dados / Dicionário de Dados

Encontre a tabela desejada:

 Clique para editar a tabela e habilite os campos reservados: Log de Inclusão e Log de Alteração.


Agora salve para efetivar a alteração do dicionário(nesse passo será necessário acesso exclusivo ao sistema).


04. COMUNICAÇÃO DO PROTHEUS COM AS APIS DO QUÍRONS

O Protheus também se comunica utilizando as APIs do Quírons.

A cada alteração de Funcionários, Dependentes, Cargos, por exemplo, será gravado um registro na tabela RJP que indicará que aquele cadastro deve ser enviado.


Para que as alterações feitas no Protheus sejam refletidas no Quírons, o cliente deve fazer as seguintes as seguintes configurações:


Deck of Cards
startHiddenfalse
historyfalse
idids
Card
defaulttrue
idid1
label1. Parâmetro MV_RHNG
title1. Parâmetro MV_RHNG

Acessar o módulo configurador e preencher o PARÂMETRO MV_RHNG com .T.

Image AddedImage Added

Informações

A partir desse momento, a cada inclusão ou alteração os dados serão gravados na tabela RJP e podem ser visualizados no Monitor Integração NG(GPEM924).

Card
defaulttrue
idid2
label2. Monitor Integração NG
title2. Monitor Integração NG (GPEM924)

Acesse o Monitor Integração NG (GPEM924) para visualizar os histórico de registros que já foram integrados ou estão pendentes de integração. 

Image Added


Informações
titleATENÇÃO

Modernizamos a tela de Monitor Integração NG e incluímos algumas melhorias, veja mais detalhes em Monitor de Processamento Quírons (Novo).


Opções disponíveis: 

Toggle Cloak
idmnVisReg
Visualizar um registro no detalhe:

Cloak
idmnVisReg

Toggle Cloak
idmnExcReg
Excluir da fila de integração:

Cloak
idmnExcReg

Toggle Cloak
idmnReevReg
Forçar o reenvio de um registro já integrado:

Cloak
idmnReevReg

Card
idid3
label3. Autenticação dos webservices NG
title3. Autenticação dos webservices NG GPEM926

Parâmetros NG (GPEM926).

Utilize essa rotina para configurar a autenticação com as APIs do Quírons.


Primeiro informe a URL base das APIs do Quírons e em seguida informe o usuário e senha do usuário do Quírons que será utilizado nas integrações.

Image Added

* Importante se certificar que o servidor onde o Protheus está instalado possui acesso à URI cadastrada aqui.

Em ambientes cloud, por uma questão de segurança, endereços externos costumam ser bloqueados por padrão.


** Caso tenha dúvidas sobre ou onde obter as informações acima, entre em contato com o suporte da NG.

Card
idid4
label4. Habilitar o Job de Integração
title4. Habilitar o Job de Integração

JOB de Integração (GPEM923).

Essa rotina que deve ser cadastrada no SCHEDULE será responsável por verificar as alterações pendentes na tabela RJP e fazer o envio para o Quírons.

Image Added

Informações
titleImportante

O programa GPEM923 funciona apenas como JOB e não possui interface visual, por esse motivo não é necessário incluí-lo no menu.

Card
idid5
label5. Histórico de Envio
title5. Histórico de Envio

Histórico de Envio

Para habilitar a gravação do Histórico do que é enviado para o Quírons será necessário configurar o parâmetro MV_HISTQUI com 1 ou 2.


Onde:

0Nunca grava histórico.
1Grava histórico de erros apenas.
2Sempre grava o histórico


Desse momento em diante o histórico ficará gravado na tabela RU7 e poderá ser consultado em:

Monitor Integração NG (GPEM924) / Outras Ações / Histórico Envio.

Image Added


Caso tenha o interesse de apagar todo o Histórico ou apenas o histórico de determinado intervalo é possível fazê-lo através da opção:

Monitor Integração NG (GPEM924) / Outras Ações / Limpar Histórico.


Card
idid6
label6. O que será integrado
title6. O que será integrado

Apenas a nível de informação, finalizada a configuração o Protheus estará apto a enviar:

TabelaDescriçãoPath Quírons
SQGCadastro de Candidatos/ttalk/person
SRAFuncionários/ttalk/employee
SR7Histórico Funcional - Alterações Salariais/ttalk/functionalHistory
SRBDependentes/ttalk/dependant
SREHistórico Funcional - Transferências/ttalk/functionalHistory
RA4Treinamentos/ttalk/trainingHistory
SQBDepartamentos/ttalk/department
SQ3Cargos/ttalk/position

05. CARGA INICIAL

A Carga Inicial deve ser utilizada para enviar, para a tabela RJP, informações criadas antes da ativação do parâmetro MV_RHNG.

Acessar a rotina disponível em: SIGAGPE / Atualizações / Integrações / Integração Ng / Carga Inicial (GPEM925)

Preencher as perguntas e clicar em OK:

Image Added

Toggle Cloak
idpergEnt
Parâmetros de entrada:

Cloak
idpergEnt
Parâmetro
Valor de Exemplo
Obrigatório
Tipo
Parâmetro
Valor Default
Descrição
Filial De:?
D MG 01
Não
String
query

Inicio da relação de filiais.
Filial Até:?
D MG 01
Não
String
query

Final da relação de filiais.
Cadastro de Funcionários
Check
Não
Opção
query

Informa que será enviado na carga inicial a relação de funcionários.
Cadastro de Dependentes
Check
Não
Opção
query

Informa que será enviado na carga inicial a relação de funcionários.
Matrícula De:?
000001
Não
String
query

Início da relação de matrículas de funcionários ou dependentes.
Matrícula Até:?
999999NãoStringquery
Final da relação de matrículas de funcionários ou dependentes.
Cadastro de Candidatos
CheckNãoOpçãoquery
Informa que será enviado na carga inicial a relação de candidatos.
Candidato De:?
000001NãoStringquery
Início da relação de códigos de participantes.
Candidato Até:?
999999NãoStringquery
Final da relação de códigos de participantes.
Log de Processamento
CheckNãoOpçãoquery
Informa se deseja gerar um relatório com o LOG da carga de dados.

Toggle Cloak
iddetCargIni
Mais detalhes:

Cloak
iddetCargIni

Na primeira execução o processo pode ser um pouco demorado por isso será solicitada uma confirmação:


No final será possível visualizar o log dos registros gravados na tabela RJP:


No final será possível visualizar o log dos registros gravados na tabela RJP:

Informações
titleIMPORTANTE

Para uma melhor experiência, sugerimos que o usuário esteja logado na mesma filial em que ele deseja realizar a operação nos cadastros cujo conteúdo será integrado com o Quírons e que a Carga Inicial seja realizada por Filial.

Caso as tabelas de funcionários, dependentes e candidatos tiverem compartilhamentos diferentes, será necessário realizar a carga de cada uma de forma separada.

06. DEMAIS INFORMAÇÕES

APIs dessa Integração disponíveis por padrão no REST Protheus:

DescriçãoPathTabelaMétodosObjetivo
Tipos de Abono/allowanceTypesSP6GETSomente consulta
Centro de Custo/payrollCostCenterCTTGETSomente consulta
Turnos de Trabalho/workingShift SR6GETSomente consulta
Cadastro de Funções/positionsSRJGETSomente consulta
Tipos de Afastamento/Ausência/leaveOfAbsenceTypeRCMGETSomente consulta
Tipos de Estabilidade/stabilityTypeRCCGETSomente consulta
Tipos de Treinamento/classesRA2GETSomente consulta
Adicionais de Periculosidade e Insalubridade/additionalSRAPUTAlteração
Estabilidade Funcional/stabilitycontrolRFXPOST, PUT, DELETEInclusão, Alteração, Exclusão
Marcações de Ponto/allowanceControlRF0POST, PUT, DELETEInclusão, Alteração, Exclusão
Necessidade de Treinamento/trainingNecessityRA2/RA3POST, PUT, DELETEInclusão, Alteração, Exclusão
Afastamentos / Ausências/leaveOfAbsenceControlSR8POST, PUT, DELETEInclusão, Alteração, Exclusão


Outros detalhes técnicos podem ser consultados na documentação:  

DI Protheus X NG - Integração de Movimentos - Medicina e Segurança - RH.

07. ASSUNTOS RELACIONADOS

Configuração Integração Quírons e Totvs

Exemplo de configuração do REST#872616691

DI Protheus X NG - Integração de Movimentos - Medicina e Segurança - RH.

Alterar Parâmetros (CFGX017 - SIGACFG)

DT Gravação de histórico do Quirons - Tela de Monitoramento

DT Monitor de Processamento Quírons Novo

...

CompanyId

...

BranchId

...

Description

...

Expandir
titleExemplo de mensagem JSON

{
   "Header":{
      "ProductVersion":"12",
      "BranchId":"D MG 01 ",
      "Type":"BusinessMessage",
      "ProductName":"PROTHEUS",
      "BusinessUnit":"MG ",
      "DeliveryType":"Async",
      "Transaction":"WAREHOUSE",
      "StandardVersion":"1.000",
      "Version":"1.000",
      "UUID":"4848af38-5962-d1c1-faeb-cfad85908058",
      "SubType":"event",
      "Enterprise":"D ",
      "Event":"upsert",
      "CompanyId":"T1",
      "GeneratedOn":"2022-04-20T13:44:20Z",
      "SourceApplication":"QUIRONS"
   },
   "Content":{
      "BranchId":"D MG 01 ",
      "Code":"33",
      "Active":"true",
      "Type":"1",
      "Purpose":1,
      "WarehouseClassification":"3",
      "Event":"upsert",
      "InternalId":"T1|D MG|33",
      "WorkCenterCode":"      ",
      "CompanyId":"T1",
      "StandardWarehouse":2,
      "Entity":"WAREHOUSE",
      "CompanyinternalId":"T1|D MG 01 ",
      "Description":"QUIRONS"
   }
}

...

id4
labelREQUEST
effectTypefade

A mensagem REQUEST contém as informações das solicitações de estoque enviadas pelo Quírons.

...

UnitOfMeasureInternalId

...

WarehouseInternalId

...

Quantity

...

Nota
titleType

O conteúdo da tag Type será sempre fixo com o valor '001'

Expandir
titleExemplo de mensagem JSON

{
   "Header":{
      "BranchId":"D MG 01 ",
      "CompanyId":"T1",
      "DeliveryType":"Sync",
      "Event":"upsert",
      "GeneratedOn":"2022-04-20T11:37:53Z",
      "ProductName":"PROTHEUS",
      "ProductVersion":"1.0.0",
      "SourceApplication":"QUIRONS",
      "StandardVersion":"1.000",
      "Type":"BusinessMessage",
      "SubType":"event",
      "UUID":"4d5f50b0-b423-11ec-9191-33b31221ae01",
      "BranchSharingMode":null,
      "BusinessUnitySharingMode":null,
      "CompanySharingMode":null,
      "Version":"1.009",
      "Transaction":"REQUEST"
   },
   "Content":{
      "Code":"",
      "InternalId":"4d4cda20-b423-11ec-9191-33b17223ae01",
      "CompanyId":"T1",
      "BranchId":"D MG 01 ",
      "Number":"",
      "RegisterDateTime":"2022-04-20T11:37:53Z",
      "CompanyInternalId":"T1|D MG 01 ",
      "DeliveryDateTime":"2022-04-20T11:37:53Z",
      "UserRequesterCode":"[email protected]",
      "UserRequesterInternalId":"Usuário Estoque",
      "Type":"001",
      "ListOfRequestItem":[
         {
            "Event":"upsert",
            "CostCenterCode":"000000901",
            "Code":"01",
            "InternalId":"4d1ace18-b423-11ec-b337-d3c1947b8001",
            "DeliveryDateTime":"2022-04-20T11:37:53Z",
            "ItemInternalid":"T1|D MG 01|PRODQUIRONS01",
            "Quantity":"1",
            "TotalPrice":"1",
            "UnitPrice":"1",
            "UnitOfMeasureInternalId":"T1|D MG|Q5",
            "WarehouseInternalId":"T1|D MG|33",
            "Observation":"Lorem ipsum dolor sit amet"
         },
         {
            "Event":"upsert",
            "CostCenterCode":"000000901",
            "Code":"02",
            "InternalId":"4d1e28f6-b423-11ec-b337-c18a880fb401",
            "DeliveryDateTime":"2022-04-20T11:37:53Z",
            "ItemInternalid":"T1|D MG 01|PRODQUIRONS02",
            "Quantity":"1",
            "TotalPrice":"1",
            "UnitPrice":"1",
            "UnitOfMeasureInternalId":"T1|D MG|Q5",
            "WarehouseInternalId":"T1|D MG|33",
            "Observation":"Lorem ipsum dolor sit amet"
         }
      ]
   }
}

...

id5
labelSTOCKTURNOVER
effectTypefade

A mensagem STOCKTURNOVER contém as informações das movimentações de estoque dos tipos de movimento 'Requisição' e 'Devolução' que podem ser enviadas do Protheus para o Quírons e também enviadas do Quírons para o Protheus.

...

InternalId

...

MovementTypeCode

...

ItemInternalId

...

UnitOfMeasureInternalId

...

WarehouseInternalId

...

Nota
titleTipo de Movimento

Os códigos do tipo de movimento (MovementTypeCode) enviado do Quírons para o Protheus devem estar previamente cadastrados no cadastro de Tipos de Movimento (MATA230).

Caso a tag MovementTypeCode envie contéudo "E", "S", "001" ou "000", poderá ser utilizado os parâmetros MV_MTI241E e MV_MTI241S para informar o Tipo de Movimento (SF5) no recebimento da mensagem única.

Para mais informações, acessar documentações abaixo.

PEST051 - MV_MTI241E - Tipo de Movimento EAI

PEST052 - MV_MTI241S - Tipo de Movimento EAI

Expandir
titleExemplo de mensagem JSON

{
   "Header":{
      "ProductVersion":"12",
      "BranchId":"D MG 01 ",
      "Type":"BusinessMessage",
      "ProductName":"PROTHEUS",
      "BusinessUnit":"MG ",
      "DeliveryType":"Async",
      "Transaction":"STOCKTURNOVER",
      "StandardVersion":"1.000",
      "Version":"1.000",
      "UUID":"63f4edf9-2f90-9e14-dc40-a05f25109e03",
      "SubType":"event",
      "Enterprise":"D ",
      "Event":"upsert",
      "CompanyId":"T1",
      "GeneratedOn":"2022-04-20T14:52:06Z",
      "SourceApplication":"QUIRONS"
   },
   "Content":{
      "Number":"",
      "Series":"        ",
      "BranchId":"D MG 01 ",
      "Code":"pcpACR01G",
      "Type":"S",
      "MovementTypeCode":"501",
      "DocumentType":"R",
      "ListOfStockTurnoverItem":[
         {
            "NumberSeries":"",
            "ItemReferenceCode":"PRODQUIRONS01",
            "UnitPrice":1,
            "LotExpirationDate":"",
            "InternalId":"T1|D MG 01|pcpACR01G|107528",
            "ItemInternalId":"T1|D MG 01|PRODQUIRONS01",
            "UnitOfMeasureCode":"Q5",
            "ProjectInternalId":"",
            "WarehouseCode":"33",
            "RequestItemInternalId":"T1|D MG 01|PMS119|01|20220420",
            "CostCenterCode":"000000901",
            "Observation":"",
            "LotOrSerialNumber":"",
            "UnitOfMeasureInternalId":"T1|D MG|Q5",
            "Code":"pcpACR01G",
            "ItemCode":"PRODQUIRONS01",
            "WarehouseInternalId":"T1|D MG|33",
            "DeliveryDateTime":"2022-04-20",
            "CostCenterInternalId":"T1|D MG 01 |000000901",
            "AccountantAcountInternalId":"",
            "BinLocation":"",
            "TaskInternalId":"",
            "EmissionDate":"2022-04-20",
            "TotalPrice":1,
            "Quantity":1,
            "TotalStock":1000
         },
         {
            "NumberSeries":"",
            "ItemReferenceCode":"PRODQUIRONS02",
            "UnitPrice":1,
            "LotExpirationDate":"",
            "InternalId":"T1|D MG 01|pcpACR01G|107529",
            "ItemInternalId":"T1|D MG 01|PRODQUIRONS02",
            "UnitOfMeasureCode":"Q5",
            "ProjectInternalId":"",
            "WarehouseCode":"33",
            "RequestItemInternalId":"T1|D MG 01|PMS119|02|20220420",
            "CostCenterCode":"000000901",
            "Observation":"",
            "LotOrSerialNumber":"",
            "UnitOfMeasureInternalId":"T1|D MG|Q5",
            "Code":"pcpACR01G",
            "ItemCode":"PRODQUIRONS02",
            "WarehouseInternalId":"T1|D MG|33",
            "DeliveryDateTime":"2022-04-20",
            "CostCenterInternalId":"T1|D MG 01 |000000901",
            "AccountantAcountInternalId":"",
            "BinLocation":"",
            "TaskInternalId":"",
            "EmissionDate":"2022-04-20",
            "TotalPrice":1,
            "Quantity":1,
            "TotalStock":1000
         }
      ],
      "DeliveryDateTime":"2022-04-20",
      "InternalId":"T1|D MG 01|pcpACR01G|107528",
      "CompanyId":"T1",
      "RegisterDateTime":"2022-04-20",
      "CompanyInternalId":"T1|D MG 01",
      "AbatementDateTime":"2022-04-20"
   }
}

...

id6
labelSTOCKLEVEL
effectTypefade

A mensagem STOCKLEVEL irá enviar o saldo atual de estoque dos produtos para o Quírons com as seguintes tag's:

...

CompanyId

...

BranchId

...

ItemInternalId

...

WarehouseInternalId

...

CurrentStockAmount

...

Aviso
titleImportante

Para utilizar a mensagem StockLevel na integração entre Protheus x Quirons, é necessário cadastrar a versão "3.004" da mensagem no cadastro do Adapter.

Nota
titleRotina SCHEDESTMG

Para que a mensagem STOCKLEVEL seja enviada a cada atualização de saldo de estoque é necessário configurar a rotina SCHEDESTMG no Schedule pelo Configurador do Protheus.

Para maiores informações sobre configuração do schedule consulte a documentação no link: DT Envio Ativo para Produtos com Estoque Alterado Desde o Último Envio

Expandir
titleExemplo de mensagem JSON

{
   "Header":{
      "ProductVersion":"12",
      "BranchId":"D MG 01 ",
      "Type":"BusinessMessage",
      "ProductName":"PROTHEUS",
      "BusinessUnit":"MG ",
      "DeliveryType":"Async",
      "Transaction":"STOCKLEVEL",
      "StandardVersion":"1.000",
      "Version":"3.004",
      "UUID":"48997d98-0480-0109-f17e-1fc7d8c844b0",
      "SubType":"event",
      "Enterprise":"D ",
      "Event":"upsert",
      "CompanyId":"T1",
      "GeneratedOn":"2022-04-20T14:35:21Z",
      "SourceApplication":"QUIRONS"
   },
   "Content":{
      "BranchId":"D MG 01 ",
      "Active":"true",
      "ListOfReturnItem":[
         {
            "CurrentStockAmount":"1000",
            "ReserveSource":" ",
            "FutureStockAmount":"0",
            "ValueOfCurrentStockAmount":"1000",
            "ListOfAddressStock":{
               
            },
            "CompanyId":"T1",
            "ItemInternalId":"T1|D MG 01|PRODQUIRONS01",
            "AvailableStockAmount":"1000",
            "BookedStockAmount":"0",
            "Amountcommittedstock":"0",
            "UnitItemCost":"1",
            "UnitOfMeasureInternalId":"T1|D MG|Q5",
            "BranchId":"D MG 01 ",
            "TransitStockAmount":"0",
            "CompanyInternalId":"T1|D MG 01 ",
            "AverageUnitItemCost":"1000",
            "SalesOrderQuantity":"0",
            "ListOfWarehouseStock":[
               {
                  "WarehouseInternalId":"T1|D MG|33",
                  "CurrentStockAmount":"1000",
                  "TransitStockAmount":"0",
                  "FutureStockAmount":"0",
                  "UnitItemCost":"1",
                  "ValueOfCurrentStockAmount":"1000",
                  "AvailableStockAmount":"1000",
                  "BookedStockAmount":"0",
                  "AverageUnitItemCost":"1000",
                  "SalesOrderQuantity":"0",
                  "Amountcommittedstock":"0"
               }
            ],
            "ListOfLotStock":{
               
            },
            "ListOfSeriesStock":{
               
            }
         }
      ],
      "Event":"upsert",
      "CompanyId":"T1",
      "CompanyinternalId":"T1|D MG 01 ",
      "Entity":"StockLevel"
   }
}

05. ADAPTER

O cadastro de adapter são rotinas responsáveis por realizar o processamento das mensagens enviadas e recebidas, possibilitando a inclusão, alteração e exclusão.

Para realizar o cadastro/configuração do adapter, antes é necessário ter uma ROTA cadastrada (Item 03). Após ter realizado o cadastro da rota, navegar no menu em Ambiente > Schedule > Adapter EAI (CFGA020).

Exemplo:

Image Removed

Image Removed

Aviso

Obs.: Em todos adapters, no grid Roteamento de mensagens (para Mensagem Única com canal de envio EAI), selecionar a rota cadastrada conforme item 03 deste documento.

Image Removed

Deck of Cards
idADAPTER
Card
id1
labelITEM
effectTypefade
  • Mensagem Única (XX4_UNMESS): 1-Sim
  • Rotina (XX4_ROTINA): MATA010
  • Mensagem (XX4_MODEL): ITEM
  • Descrição (XX4_DESCRI): PRODUTO
  • Envia (XX4_SENDER): Sim (Envia mensagem JSON para Quírons)
  • Recebe (XX4_RECEIV): Sim (Recebe mensagem JSON do Quírons)
  • Método (XX4_METHOD): Síncrono/Assíncrono
  • Operação (XX4_TPOPER): 1-Todas
  • Canal Envio (XX4_CHANEL): 3 - EAI - PAD.APP.
  • Versão Envio (XX4_SNDVER): 4.005
  • Formato (XX4_FORMAT): JSON
Card
id2
labelUNITOFMEASURE
effectTypefade
  • Mensagem Única (XX4_UNMESS): 1-Sim
  • Rotina (XX4_ROTINA): QIEA030
  • Mensagem (XX4_MODEL): UNITOFMEASURE
  • Descrição (XX4_DESCRI): UNIDADE DE MEDIDA
  • Envia (XX4_SENDER): Sim (Envia mensagem JSON para Quírons)
  • Recebe (XX4_RECEIV): Sim (Recebe mensagem JSON do Quírons)
  • Método (XX4_METHOD): Síncrono/Assíncrono
  • Operação (XX4_TPOPER): 1-Todas
  • Canal Envio (XX4_CHANEL): 3 - EAI - PAD.APP.
  • Versão Envio (XX4_SNDVER): 2.002
  • Formato (XX4_FORMAT): JSON
Card
id3
labelWAREHOUSE
effectTypefade
  • Mensagem Única (XX4_UNMESS): 1-Sim
  • Rotina (XX4_ROTINA): AGRA045
  • Mensagem (XX4_MODEL): WAREHOUSE
  • Descrição (XX4_DESCRI): LOCAIS DE ESTOQUE
  • Envia (XX4_SENDER): Sim (Envia mensagem JSON para Quírons)
  • Recebe (XX4_RECEIV): Sim (Recebe mensagem JSON do Quírons)
  • Método (XX4_METHOD): Síncrono/Assíncrono
  • Operação (XX4_TPOPER): 1-Todas
  • Canal Envio (XX4_CHANEL): 3 - EAI - PAD.APP.
  • Versão Envio (XX4_SNDVER): 1.000
  • Formato (XX4_FORMAT): JSON
Card
id4
labelSTOCKLEVEL
effectTypefade
  • Mensagem Única (XX4_UNMESS): 1-Sim
  • Rotina (XX4_ROTINA): MATA225
  • Mensagem (XX4_MODEL): STOCKLEVEL
  • Descrição (XX4_DESCRI): SALDOS EM ESTOQUE
  • Envia (XX4_SENDER): Sim (Envia mensagem JSON para Quírons)
  • Recebe (XX4_RECEIV): Não (Não recebe mensagem JSON do Quírons)
  • Método (XX4_METHOD): Síncrono/Assíncrono
  • Operação (XX4_TPOPER): 1-Todas
  • Canal Envio (XX4_CHANEL): 3 - EAI - PAD.APP.
  • Versão Envio (XX4_SNDVER): 3.004
  • Formato (XX4_FORMAT): JSON
Card
id5
labelREQUEST
effectTypefade
  • Mensagem Única (XX4_UNMESS): 1-Sim
  • Rotina (XX4_ROTINA): MATA105
  • Mensagem (XX4_MODEL): REQUEST
  • Descrição (XX4_DESCRI): SOLICITACAO AO ARMAZEM
  • Envia (XX4_SENDER): Sim (Envia mensagem JSON para Quírons)
  • Recebe (XX4_RECEIV): Sim (Recebe mensagem JSON do Quírons)
  • Método (XX4_METHOD): Síncrono/Assíncrono
  • Operação (XX4_TPOPER): 1-Todas
  • Canal Envio (XX4_CHANEL): 3 - EAI - PAD.APP.
  • Versão Envio (XX4_SNDVER): 1.009
  • Formato (XX4_FORMAT): JSON
Card
id6
labelSTOCKTURNOVER
effectTypefade
  • Mensagem Única (XX4_UNMESS): 1-Sim
  • Rotina (XX4_ROTINA): MATA241
  • Mensagem (XX4_MODEL): STOCKTURNOVER
  • Descrição (XX4_DESCRI): MOVIMENTACOES INTERNAS MULT. 
  • Envia (XX4_SENDER): Sim (Envia mensagem JSON para Quírons)
  • Recebe (XX4_RECEIV): Sim (Recebe mensagem JSON do Quírons)
  • Método (XX4_METHOD): Síncrono/Assíncrono
  • Operação (XX4_TPOPER): 1-Todas
  • Canal Envio (XX4_CHANEL): 3 - EAI - PAD.APP.
  • Versão Envio (XX4_SNDVER): 1.000
  • Formato (XX4_FORMAT): JSON
Card
id7
labelSCHEDULE/AGENT
effectTypefade

Para que o envio das mensagens assíncronas seja realizado, é necessário efetuar o cadastro das rotinas FWEAISEND/FWEAI, no Schedule Protheus.

  • FWEAISEND: Esta rotina é exclusiva para o envio das mensagens da fila do EAI. O agendamento desta rotina é realizado por Empresa cadastrada no sistema. No envio da mensagem, um canal de comunicação é aberto com o webservice do produto integrado, e esta comunicação é encerrada após o recebimento  da mensagem de retorno (no caso das Mensagens Única TOTVS, após o recebimento da  ReceiptMessage, indicando que que o processo ocorreu corretamente) ou por timeout (mensagem com status de falha).
  • FWEAI: Esta rotina de envio e recebimento de mensagens do EAI Protheus. Quando agendada, esta rotina executa dois passos.
    1. Inicia o processamento das mensagens recebidas na fila do EAI Protheus.
    2. Inicia o envio das mensagens que estão na fila do EAI Protheus.

Antes de efetuar o cadastro das rotinas FWEAISEND/FWEAI, é necessário a inclusão dos Agent.

  • AGENT: Este é o componente que gerencia as execuções e distribui as tarefas para que as Executes configuradas que estão disponíveis no momento. Os Agents podem estar localizados em servidores diferentes, possibilitando o balanceamento da carga de execuções.
Informações

DMANMAT01-2132 DT Envio Ativo para Produtos com Estoque Alterado Desde o Último Envio

Inclusão das rotinas FWEAIRECE/FWEAISEND no agendamento

  • Navegar no menu em Ambiente > Schedule > Schedule (CFGA010).
  • Na barra lateral, acessar Schedule > Agendamentos > Cadastro
  • No grid Detalhes, clicar no primeiro ícone Image Removed para inclusão.
    • Código: Valor sequencial que representa o identificador único desse agente no sistema. Ele é preenchido automaticamente;
    • Usuário: Usuário do Protheus que será utilizado para inicializar o processo;

    • Nome do usuário: Nome do usuário no sistema. É preenchido à partir do Usuário selecionado no campo anterior;

    • Rotina: FWEAI (Rotina envio e recebimento de mensagens do EAI Protheus) / FWEAISEND (Rotina recebimento de mensagens do EAI Protheus).

    • Data: Qual a data da execução do agendamento.

    • Hora: Qual a hora em que a função será executada.

Observe a opção “Recorrência” Image Removedna barra de opções permite que você especifique a execução em intervalos regulares (diariamente, mensalmente, anual, a cada X horas…)

    • Ambiente: Qual o ambiente que será inicializado na execução; 
    • Empresa/Filial: Qual empresa e filial será aberta no momento da execução. Novamente, repare que esses campos não invalidam funcionalidades que abram e utilizem um ambiente diferente;

    • Módulo: Qual o módulo do Protheus que será utilizado na execução do agendamento. Essa informação é importante pois interfere na forma como o Protheus irá consumir as licenças disponíveis para a execução do job;

    • Nome do Módulo: O nome do módulo selecionado no campo anterior e é preenchido automaticamente;

    • Habilitada: Flag que determina se a execução do agendamento está habilitada ou não; 

    • Descrição: Descrição livre sobre o agendamento;   

06. DE/PARA EMPRESAS

Em uma integração entre sistemas é comum os sistemas terem códigos diferentes, neste caso é muito importante ter um 'De/Para" (XXD), para que seja mapeado e retornado o valor interno de um determinado registro da tabela informada no cadastro de De/Para.

Para realizar cadastro, deve acessar o modulo SIGACFG, depois navegar no menu em Ambiente > Schedule > Emp.Filial Mensagem Única (APCFG050).

    • Referência: QUIRONS (SEM ACENTO).
    • Empresa :  Código da Empresa Quírons a integrar.
    • Filial: Código da Filial Quírons a integrar.
    • Grupo Emp. Protheus: Código da Empresa no Protheus a integrar com o sistema Quírons.
    • Fil. Protheus: Código da Filial no Protheus a integrar com o sistema Quírons.

Exemplo:

    • Referência: QUIRONS
    • Empresa : T1   
    • Filial: D MG 01 
    • Grupo Emp. Protheus: T1  
    • Fil. Protheus: D MG 01

Image Removed

07. OBSERVAÇÕES

Para realizar integração com o Quírons na Baixa da Requisição (MATA185), nos parâmetros (F12) a primeira pergunta deve estar conforme imagem abaixo.

Image Removed

08. ASSUNTOS RELACIONADOS

...