Histórico da Página
...
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "_expandables": null, "integrationId": "52644D93-0D83-49D5-8D38-3B1030CA74A1", "name": "TOTVS Obras e Projetos x BackOffice Protheus", "description": "Integração TOTVS Obras e Projetos com o Back-Office PROTHEUSA gestão de obras e projetos é feita exclusivamente no TOP que libera movimentações de compra e venda para os módulos Protheus responsáveis por todo o controle de BackOffice. ", "documentationUrl": "http://tdn.totvs.com/display/public/integracoes/TOTVS+TOPINT/DI_MANUAL_TOTVS_TOP_BackOffice_Protheus_EAI2.0", "routes": { "items": [{ "_expandables": null, "transactionsFlow": { "items": [{ "transactionId": "ACCOUNTPAYABLEDOCUMENT", "version": "2.000", "direction": "send" }, { { "transactionId": "TASKCOSTASSIGNMENTS", "version": "1.000", "direction": "send" }, { { "transactionId": "ACCOUNTRECEIVABLEDOCUMENT", "version": "2.000", "direction": "send" }, { { "transactionId": "BALANCEBASELINEENTRY", "version": "1.000", "direction": "send" }, { { "transactionId": "CONTRACT", "version": "1.000", "direction": "send" }, { { "transactionId": "COSTCENTER", "version": "2.000", "direction": "receive" }, { { "transactionId": "CURRENCY", "version": "2.001", "direction": "receive" }, { { "transactionId": "CURRENCYQUOTATION", "version": "2.001", "direction": "receive" }, { { "transactionId": "CUSTOMERVENDOR", "version": "2.002", "direction": "receive" }, { { "transactionId": "DOCUMENTTRACEABILITYORDER", "version": "1.000", "direction": "send" }, { { "transactionId": "DOCUMENTTRACEABILITYREQUESTS", "version": "1.000", "direction": "send" }, { { "transactionId": "FINANCIALNATURE", "version": "2.000", "direction": "receive" }, { { "transactionId": "ITEM", "version": "2.001", "direction": "receive" }, { { "transactionId": "ITEMCOSTING", "version": "1.000", "direction": "receive" }, { { "transactionId": "ORDER", "version": "3.005007", "direction": "send" }, { { "transactionId": "PAYMENTCONDITION", "version": "2.000", "direction": "receive" },{ { "transactionId": "PROJECT", "version": "2.000001", "direction": "send" }, { { "transactionId": "PROJECTREQUEST", "version": "21.001009", "direction": "send" }, { { "transactionId": "REQUESTSTEPPROJECT", "version": "12.009000", "direction": "send" }, { { "transactionId": "STEPPROJECTSTOCKGROUP", "version": "21.000", "direction": "sendreceive" }, { { "transactionId": "STOCKGROUPSTOCKTURNOVER", "version": "1.000001", "direction": "receive" }, { { "transactionId": "STOCKTURNOVERSUBPROJECT", "version": "12.001000", "direction": "receivesend" }, { { "transactionId": "SUBPROJECTTASKPROJECT", "version": "2.000", "direction": "send" }, { { "transactionId": "TASKPROJECTUNITOFMEASURE", "version": "2.000", "direction": "sendreceive" }, { { "transactionId": "UNITOFMEASUREWAREHOUSE", "version": "21.000", "direction": "receive" }, { { "transactionId": "WAREHOUSEORDERASSIGNMENTSINFORMATION", "version": "1.000", "direction": "receivesend" }, {} "transactionId": "ORDERASSIGNMENTSINFORMATION",] "version": "1.000"}, "direction": "send" }] }, "applicationPair": { "sourceApplication": { "name": "RM", "description": "RM", "productCode": "RM", "productVersion": "12.1.17", "isHost": true, "paramEndpoints": { "general": { "metadata": "/params/1.0/metadatarm/configurator/v1/PrjConfiguraIntegracaoAPI/Metadata", "values": "/params/1.0/valuerm/configurator/v1/PrjConfiguraIntegracaoAPI/Values" }, "transaction": { "metadata": "/transactionParams", "values": "/transactionValues" } }, "appId": "RM@RM", "sourceApplication": "RM", "msgValidation": "skip", "portName": "EAISERVICESOAP", "wsdlUrl": "https://totvslabs.carol.ai:8443/api/v1/totvssm/receiveMessage?WSDL", "user": "totvslabs/rm/[email protected]mestre", "password": "Foobar1!totvs", "monitorUrl": "" }, "destinationApplication": { "name": "PROTHEUS", "description": "PROTHEUS", "productCode": "PROTHEUS", "productVersion": "12.1.17", " "isHost": false, "paramEndpoints": { "general": { "metadata": "/params/1.0PMSINTEGRATION/configurator/v1/parms/general/TOPXProtheus/metadata", "values": "/params/1.0/value" /PMSINTEGRATION/configurator/v1/parms/general/TOPXProtheus/values" }, "transaction": { "metadata": "/transactionParams", "values": "/transactionValues" } }, ""appId": "P12_1718@PROTHEUS", "sourceApplication": "P12_1718", "msgValidation": "skip", "portName": "EAISERVICESOAP", "wsdlUrl": "http://187.94.56.206:8051/EAIService/MEX?wsdl", "user": "mestre", "password": "totvs", "monitorUrl": "" } } } }] } } |
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "hasNext": false, "items": [ { "_expandables": null, { "name": "param1STATUSPRJ_EMANDAMENTO", "label": "Agrupar ItensIntegrar Projetos em andamento?", "datatype": "combo", "options": [{ { "value": "1.01True", "label": "Solicitação de Compra" }, { Sim" }, { "value": "1.02False", "label": "Pedido de Compra" }, { "value "label": "1.03Não", "label": "Ordem de Compra" }] }, { } ] }, { "name": "param2STATUSPRJ_PARALISADO", "label": "MascaraIntegrar doProjetos Fornecedorparalizados?", "datatype": "textcombo" }, { "name": "param3", "label": "Tipo de Documento", "datatype": "NUMBER" }, { "name": "param4", "label": "Observações", "datatype": "textarea" }, { "name": "param5", "label": "Data de Início contábil", "datatype": "date" }] } |
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"hasNext": false,
"items": [{
"name": "param1",
"value": "1.01"
},
{
"name": "param2",
"value": "####"
},
{
"name": "param3",
"value": 30.5
},
{
"name": "param4",
"value": ""
},
{
"name": "param5",
"value": "2017-09-01T00:00:00"
}]
} |
Parâmetros de Adapters
- MASCARA DE PRODUTO - PARAMETRO DE ESTOQUE
- MASCARA DE CLIENTE FORNECEDOR - PARAMETRO DE FINANCEIRO
- STATUS DE PROJETO - PARAMETRO DE GESTÃO DE PROJETOS
Questões a analisar
- Hoje o configurador so permite selecionar um pacote por vez.
- Como os desenvolvedores saberiam os adapters existentes ou pacotes, sem um fonte centralizador? Página no tdn?
- JSON de configuração ficara no repositorio totvsmsg? se sim nem todos tem acesso. Se sim, em qual pasta?
- Versão da mensagem configurada conforme a versão dos produtos.
- Como configurar um parâmetro RM com base em uma configuração do Protheus?
- Ex.: Para saber se devemos configurar o Produto como global devemos consultar no Protheus qual o compartilhamento do mesmo.
- Para viabilizar este comportamento é necessário já possuir o caminho do URL do sistema de destino, talvez pre-configurando o par de Apps antes da configuração do pacote.
- Ex.: Para saber se devemos configurar o Produto como global devemos consultar no Protheus qual o compartilhamento do mesmo.
- Como será informado para as APIs de transaction qual o tipo de pacote (sou backoffice ou vertical?) e a versão do produto e da mensagem que será aplicada??
- Isso será informado na URL? Esta solução não tem boa manutenção, tendo que alterar todos os JSons caso precise ser passado novo parametro e deverá passar queryparams no método POST.
Pontos Legados (Vamos descontinuar?):
1 - Configurador do TOP deletava triggers Stored;
Exemplo: DROP TRIGGER TG_EXCLUIPROJETO - O EAI 1.0 JÁ FAZ ISTO E O EAI 2.0 SO É ADICIONADO A PARTIR DO EAI 1.0
2 - Configurador Criando tabela HCUNDCONV - COLOCAR;
3 - Triggers de atualização na inclusão de coligada (configuração de movimentos, etc). Esta atualização é compartilhada com o TIN. A procedure acoplada a trigger é executada no momento da configuração;
4 - Triggers no cadastro de usuários (permissão em movimentos);
5 - Como proceder com os parâmetros de movimentos.
Parâmetros Integração do TOP
...
id | IntegraçãoTOP |
---|
...
id | 1 |
---|---|
label | Projeto |
title | Parâmetros de Projetos |
...
id | 2 |
---|---|
label | Integração |
title | Parâmetros da Integração TOP X Protheus |
...
id | 3 |
---|---|
label | Atualizações |
title | Atualizações automáticas |
Ajuste de Contrato
...
Ajuste Revisão Múltipla
...
,
"options": [
{
"value": "True",
"label": "Sim"
},
{
"value": "False",
"label": "Não"
}
]
},
{
"name": "STATUSPRJ_CONCLUIDO",
"label": "Integrar Projetos concluídos?",
"datatype": "combo",
"options": [
{
"value": "True",
"label": "Sim"
},
{
"value": "False",
"label": "Não"
}
]
},
{
"name": "STATUSPRJ_AEXECUTAR",
"label": "Integrar Projetos a executar?",
"datatype": "combo",
"options": [
{
"value": "True",
"label": "Sim"
},
{
"value": "False",
"label": "Não"
}
]
},
{
"name": "STATUSPRJ_EMNEGOCIACAO",
"label": "Integrar Projetos em negociação?",
"datatype": "combo",
"options": [
{
"value": "True",
"label": "Sim"
},
{
"value": "False",
"label": "Não"
}
]
},
{
"name": "STATUSPRJ_REVISADO",
"label": "Integrar Projetos revisados?",
"datatype": "combo",
"options": [
{
"value": "True",
"label": "Sim"
},
{
"value": "False",
"label": "Não"
}
]
},
{
"name": "STATUSPRJ_CANCELADO",
"label": "Integrar Projetos cancelados?",
"datatype": "combo",
"options": [
{
"value": "True",
"label": "Sim"
},
{
"value": "False",
"label": "Não"
}
]
},
{
"name": "PRJ_EXPORTAVALORTRF",
"label": "Exportar valor da tarefa?",
"datatype": "combo",
"options": [
{
"value": "True",
"label": "Sim"
},
{
"value": "False",
"label": "Não"
}
]
},
{
"name": "PRJ_AGLUTINAITENSSC",
"label": "Aglutinar itens de SC?",
"datatype": "combo",
"options": [
{
"value": "True",
"label": "Sim"
},
{
"value": "False",
"label": "Não"
}
]
},
{
"name": "PRJ_AGLUTINAITENSSA",
"label": "Aglutinar itens de SA?",
"datatype": "combo",
"options": [
{
"value": "True",
"label": "Sim"
},
{
"value": "False",
"label": "Não"
}
]
},
{
"name": "PRJ_AGLUTINAITENSPEDIDO",
"label": "Aglutinar itens de Pedidos?",
"datatype": "combo",
"options": [
{
"value": "True",
"label": "Sim"
},
{
"value": "False",
"label": "Não"
}
]
},
{
"name": "PRODUTOPADRAO",
"label": "Produto Padrão",
"datatype": "text",
"options": null
},
{
"name": "MOEDAPADRAO",
"label": "Moeda Padrão",
"datatype": "text",
"options": null
},
{
"name": "CONSWSAPROPRIACAOPROTHEUS",
"label": "Utilizar novo modelo de Apropriações de Custo?",
"datatype": "combo",
"options": [
{
"value": "1",
"label": "Sim"
},
{
"value": "0",
"label": "Não"
}
]
},
{
"name": "PRJ_URLAPIRESTPROTHEUS",
"label": "URL da API de Apropriação Protheus",
"datatype": "text",
"options": null
},
{
"name": "PRJ_USRAPIRESTPROTHEUS",
"label": "Usuário de autenticação Protheus",
"datatype": "text",
"options": null
},
{
"name": "PRJ_PASSAPIRESTPROTHEUS",
"label": "Senha de autenticação Protheus",
"datatype": "text",
"options": null
}
]
} |
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"hasNext": false,
"items": [
{
"name": "STATUSPRJ_EMANDAMENTO",
"value": "True"
},
{
"name": "STATUSPRJ_PARALISADO",
"value": "True"
},
{
"name": "STATUSPRJ_CONCLUIDO",
"value": "False"
},
{
"name": "STATUSPRJ_AEXECUTAR",
"value": "True"
},
{
"name": "STATUSPRJ_EMNEGOCIACAO",
"value": "True"
},
{
"name": "STATUSPRJ_REVISADO",
"value": "True"
},
{
"name": "STATUSPRJ_CANCELADO",
"value": "True"
},
{
"name": "PRJ_EXPORTAVALORTRF",
"value": "False"
},
{
"name": "PRJ_AGLUTINAITENSSC",
"value": "True"
},
{
"name": "PRJ_AGLUTINAITENSSA",
"value": "True"
},
{
"name": "PRJ_AGLUTINAITENSPEDIDO",
"value": "True"
},
{
"name": "PRODUTOPADRAO",
"value": ""
},
{
"name": "MOEDAPADRAO",
"value": ""
},
{
"name": "CONSWSAPROPRIACAOPROTHEUS",
"value": "0"
},
{
"name": "PRJ_URLAPIRESTPROTHEUS",
"value": "HTTP://[Server]:[Port]"
},
{
"name": "PRJ_USRAPIRESTPROTHEUS",
"value": "mestre"
},
{
"name": "PRJ_PASSAPIRESTPROTHEUS",
"value": "totvs"
}
]
} |
Parâmetros de Adapters
- Mascara de produto - parametro de estoque
- Máscara de cliente fornecedor - parâmetro de financeiro
- Status de projeto - parâmetro de gestão de projetos
Questões a analisar
- Hoje o configurador so permite selecionar um pacote por vez, mesmo o cliente necessitando fazer a configuração de múltiplos.
- Como os desenvolvedores saberiam os adapters existentes ou pacotes sem um fonte centralizador? Página no tdn?
- As informações presentes no JSon não deveriam ser adicionados em uma base de dados que permita consulta e transformados em JSon somente no momento da consulta?
- Como os desenvolvedores farão para montar um ambiente de simulação, onde eles testem os seus JSons?
- Devemos disponibilizar um Mock para usarem?
- No JASON de metadados teremos a tag para bloquear a edição?
- JSON de configuração ficara no repositorio totvsmsg? se sim nem todos tem acesso. Se sim, em qual pasta?
- Versão da mensagem configurada conforme a versão dos produtos.
- Como configurar um parâmetro RM com base em uma configuração do Protheus?
- Ex.: Para saber se devemos configurar o Produto como global devemos consultar no Protheus qual o compartilhamento do mesmo.
- Para viabilizar este comportamento é necessário já possuir o caminho do URL do sistema de destino, talvez pre-configurando o par de Apps antes da configuração do pacote.
- Ex.: Para saber se devemos configurar o Produto como global devemos consultar no Protheus qual o compartilhamento do mesmo.
- Como será informado para as APIs de transaction qual o tipo de pacote (sou backoffice ou vertical?) e a versão do produto e da mensagem que será aplicada??
- Isso será informado na URL? Esta solução não tem boa manutenção, tendo que alterar todos os JSons caso precise ser passado novo parametro e deverá passar queryparams no método POST.
Processos Especificos da Integração do TOP
1 - Configurador do TOP deletava triggers Stored;
Exemplo: DROP TRIGGER TG_EXCLUIPROJETO - O EAI 1.0 JÁ FAZ ISTO E O EAI 2.0 SO É ADICIONADO A PARTIR DO EAI 1.0
2 - Configurador Criando tabela HCUNDCONV - COLOCAR;
3 - Triggers de atualização na inclusão de coligada (configuração de movimentos, etc). Esta atualização é compartilhada com o TIN. A procedure acoplada a trigger é executada no momento da configuração;
4 - Triggers no cadastro de usuários (permissão em movimentos);
5 - Como proceder com os parâmetros de movimentos;
6 - Configurador do TOP Insere integração (GINTEGRACAO) entre TOP com Nucleus e Financeiro com Nucleus;
7 - Configurador altera vários parâmetros gerais do Nucleus, parâmetros de produtos, do Liber para utilizar a nutereza;
8 - Configurador cria ou altera tipo de documento de provisão no Financeiro.
9 - Configurador ajusta contratos;
10 - Configurador ajustas projetos revisão múltiplas;
Parâmetros Integração do TOP
Aplicação | Tabela | Parâmetro | Tipo | Valor Defalut | Classificação | Condição | Observação |
Integração Cli/For | HCPARAMETRO | CLIFORAUTOINC | Boolean | False | Integração | ||
HCPARAMETRO | SIZECODCFO | Int | Integração | ||||
Integração Centro Custos | HCPARAMETRO | CENTROCUSTOAUTOINC | Boolean | False | Integração | ||
Integração Loca Estoque | HCPARAMETRO | MASCARACODLOC | String | Integração | |||
Integração Cotação Moedas | HCPARAMETROS | MOEDAPADRAO | String | Integração | Utilizado no recebimento da Cotação de Moedas como moeda de referência | ||
Integração Projetos | HCPARAMETROS | STATUSPRJ_EMANDAMENTO | Boolean | True | Adapter | Envia | |
HCPARAMETROS | STATUSPRJ_PARALISADO | Boolean | True | Adapter | |||
HCPARAMETROS | STATUSPRJ_AEXECUTAR | Boolean | True | Adapter | |||
HCPARAMETROS | STATUSPRJ_EMNEGOCIACAO | Boolean | True | Adapter | |||
HCPARAMETROS | STATUSPRJ_REVISADO | Boolean | True | Adapter | |||
HCPARAMETROS | STATUSPRJ_CANCELADO | Boolean | True | Adapter | |||
Integração Tarefas | HCPARAMETROS | PRJ_EXPORTAVALORTRF | Boolean | False | Adapter | Envia | |
Integração Solicitações | HCPARAMETROS | PRJ_AGLUTINAITENSSC | Boolean | True | Integração | ||
HCPARAMETROS | PRJ_AGLUTINAITENSPEDIDO | Boolean | True | Integração | |||
HCPARAMETROS | PRJ_AGLUTINAITENSSA | Boolean | True | Integração | |||
Cliente / Fornecedor | FPARAM | 1001 | String | ##;L###### | Adapter | Recebe | |
FPARAM | String | ########## | Adapter | Se CLIFORAUTOINC = True e SIZECODCFO não definido ou 0(zero) | |||
FPARAM | String | Replica('#', SIZECODCFO) | Adapter | Se CLIFORAUTOINC = True e SIZECODCFO maior que 0(zero) | |||
FPARAM | 1030 | Int | 0 | Adapter | Recebe | Se CLIFORAUTOINC = True adiciona 1 | |
Centro de Custos | GCCUPAR | MASCARACC | String | Adapter | Recebe | Se CENTROCUSTOAUTOINC = False adiciona a máscara em branco. | |
GCCUPAR | String | ####### | Adapter | Se CENTROCUSTOAUTOINC = True | |||
GCCUPAR | LOOKUPTODOS | Boolean | F | Adapter | |||
FPARAM | 1050 | Int | 3 | Adapter | Rateio | ||
FPARAM | 67 | Int | 0 | Adapter | Informar Conta/Caixa na Inclusão | ||
FPARAM | 83 | Int | 0 | Adapter | Default Contábil do Lançamento | ||
Local de Estoque | TPAR | MASCLOCAL | String | QQQQQQQ | Adapter | Recebe | Ajusta se houver valor informar em MASCARACODLOC |
Solicitações e Pedidos | MPARAMETRO | AGRUPARITENSMOVIMENTOPORPRODUTO | Int | 0 | Adapter | Envia | Este parâmetro é marcado o valor string com 1 |
MPARAMETRO | INTEGRADONUCLEUS | Int | 1 | Adapter | Este parâmetro é marcado o valor string com 1 | ||
MPARAMETRO | UTILIZARATEIOCC | Int | 1 | Adapter | Utiliza movimento de cotação | ||
MPARAMETRO | USATIPOMOVNUCLEUSCOTACAO | Int | 0 | Adapter | Utiliza movimento de histórico | ||
MPARAMETRO | USANUCLEUSTIPOMOVHISTORICO | Int | 1 | Adapter | Utiliza movimento de solicitação de compras | ||
MPARAMETRO | USANUCLEUSTIPOMOVCOMPRA2 | Int | 1 | Adapter | Descrição do parâmetro | ||
MPARAMETRO | NOMENUCLEUSTIPOMOVREQ | String | Solicitação de Armazém | Adapter | Descrição do parâmetro | ||
MPARAMETRO | NOMENUCLEUSTIPOMOVCOMPRA2 | String | Solicitação de Compra | Adapter | Desativa o rateiro de tarefas na geração de todos os pedidos | ||
MPARAMETRO | AGRUPARITENSMOVIMENTOPORPRODUTO | Int | 1 | Adapter | Desativa solicitação de compras em todos os projetos | ||
MPARAMETRO | NAOUSANUCLEUSTIPOMOVCOMPRA | Int | 0 | Adapter | Tipo de movimento para solicitação de armazém | ||
MPARAMETRO | TIPOMOVESTOQUE | String | 1.1.01 | Adapter | Código do movimento de solicitação de compras | ||
MPARAMETRO | NUCLEUSTIPOMOVREQ | String | 1.1.01 | Adapter | Código do Movimento de histórico de solicitação de compras | ||
MPARAMETRO | NUCLEUSTIPOMOVHISTORICO | String | 1.1.02 | Adapter | Movimento de solicitação de compra | ||
MPARAMETRO | NUCLEUSTIPOMOVCOMPRA2 | String | 1.1.03 | Adapter | Código do movimento de solicitação de cotação | ||
MPARAMETRO | TIPOMOVNUCLEUSCOTACAO | String | 1.1.04 | Adapter | Código do movimento de adiantamentos a pagar | ||
MPARAMETRO | NUCLEUSTIPOMOVADIA | String | 1.2.02 | Adapter | Tipo de movimento para título a receber | ||
MPARAMETRO | NUCLEUSTIPOMOVADIACNTREC | String | 2.2.03 | Adapter | Inibe o envio de obra e etapas no pedido extra | ||
MPARAMETRO | EXIBEETAPAPEDIDOEXTRA | Int | 0 | Adapter | |||
Financeiro | MPARAMETRO | FLUXUSTIPODOCLINHABASE | String | PR | Adapter | Envia | Tipo de documento de lançamentos de linha base |
MPARAMETRO | FLUXUSTIPODOCLINHABASEEDITAVEL | Int | 0 | Adapter | Tipo de documento de linha base não pode ser editado | ||
MPARAMETRO | FLUXUSTIPODOCSALDO | String | PR | Adapter | Tipo de documento de saldo | ||
MPARAMETRO | FLUXUSTIPODOCSALDOEDITAVEL | Int | 0 | Adapter | Tipo de documento de saldo não pode ser editado |
...