Histórico da Página
Obs: a quebra do lote em partes será opcional, e indicada para clientes com grande volume de lançamentos contábeis.
Informações Gerais
Especificação | |||
Produto | Logix | Módulo | Financeito |
Segmento Executor | Manufatura | ||
Projeto1 | L_MAN_FIN001 | IRM1 | PCREQ-9779 |
Requisito1 | PCREQ-9780 | Subtarefa1 | PDRMAN-8292 Analisar / Projetar Especificação PCREQ-9780 - Integrar Logix x RH RM - Fase 1 |
Chamado2 |
| ||
País | ( X ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. | ||
Outros | <Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>. |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Objetivo
Integrar o sistema de recursos humanos RM Labore com os módulos financeiro e contábil do Logix. Esta é a primeira fase do projeto, e visa a integração de títulos a pagar e lançamentos contábeis. Sendo que o RM é o responsável por gerar as informações para o Logix.
A integração se dará utilizando Mensagem Única/EAI2.
Contexto
A Totvs ofertará aos clientes do ERP Logix mais uma opção de gestão de RH, trata-se do produto “RM Labore”.
O RM Labore é uma solução que se aplica a qualquer empresa que possui um departamento de pessoal ou a empresas que controlam a folha de pagamento de outras organizações. O sistema facilita quaisquer atividades ligadas ao controle de uma folha de pagamento como: admissão de funcionários, controle de férias e rescisão, etc. Também possibilita a emissão de relatórios, planilhas, gráficos e cubos.
A integração possibilitará a realização de todos os processos de uma folha de pagamento de forma simples e segura, gerando os compromissos a pagar diretamente no financeiro do Logix, assim também os lançamentos contábeis diretamente no módulo contábil do ERP.
Escopo
O projeto foi dividido em duas fases, esta é a primeira e contempla os seguintes requisitos:
- Cadastro de fornecedor;
- Cadastro de plano de contas;
- Cadastro de centro de custos;
- Cadastro de período contábil;
- Cadastro de histórico padrão contábil;
- Cadastro de bancos, agencias e contas bancárias;
- Cadastro de Área estratégica de negócio;
- Carga inicial dos cadastros acima citados;
- Integração de títulos a pagar;
- Integração dos lançamentos contábeis da folha;
Definição da Regra de Negócio
CADASTROS
Visando a integridade dos dados cadastrais em ambos os produtos, integraremos essas informações de maneira que o usuário cadastre apenas o que for de responsabilidade de cada produto, e a sincronização será automática entre os sistemas.
O fluxo das mensagens de cadastro é do Logix para o RM, ou seja as informações cadastrais de uso financeiro e contábil são de responsabilidade do Logix e no RM devem estar disponíveis apenas para consulta.
Cadastro de Centro de custos – CON0480/CON10148
O objetivo é sincronizar o cadastro de centro de custo entre os dois produtos. O cadastro é de responsabilidade do Logix, então inclusões, manutenções e exclusões serão realizadas nos programas con0480 ou con10148, que sincronizarão com o RM através da mensagem única.
Para atender a funcionalidade “Empresa Plano” do Logix, criaremos uma mensagem nova denominada “ListOfCostCenter”. Onde o centro de custo será replicado para cada empresa que compartilha do plano (observando se a empresa está parametrizada para a integração no EAI10000).
Para a confecção da nova mensagem deve-se criar um type baseado na atual mensagem CostCenter_2_000.
Submeter a mensagem à homologação do comitê de mensagem única da Totvs.
Atenção: A ativação da nova mensagem não poderá interferir nas integrações ativas que utilizam a mensagem anterior, ou seja, as integrações já existentes continuarão funcionando sem nenhuma alteração ou necessidade de atualização.
A seguir detalhes da mensagem:
ListOfCostCenter | Detalhes | |||
BusinessContent |
|
|
|
|
BusinessContent | ListOfCostCenter |
|
|
|
BusinessContent | ListOfCostCenter | CompanyId |
| Empresa Logix |
BusinessContent | ListOfCostCenter | BranchId |
| Nulo |
BusinessContent | ListOfCostCenter | CompanyInternalId |
| Código interno De-para eai10000 (empresa Logix) |
BusinessContent | ListOfCostCenter | Code |
| Código do centre de custo |
BusinessContent | ListOfCostCenter | InternalId |
| Internal id do centro de custo (cod_empresa|cod_cent_cust) |
BusinessContent | ListOfCostCenter | RegisterSituation |
| Active/Inactive |
BusinessContent | ListOfCostCenter | Name |
| cad_cc.nom_cent_cust |
BusinessContent | ListOfCostCenter | ShortCode |
| Nulo |
BusinessContent | ListOfCostCenter | SPED |
| Nulo |
BusinessContent | ListOfCostCenter | Class |
| Nulo |
ReturnContent |
|
|
|
|
ReturnContent | ListOfInternalId |
|
|
|
ReturnContent | ListOfInternalId | InternalId |
|
|
ReturnContent | ListOfInternalId | InternalId | Name | Nome do internalid - CostCenterInternalId |
ReturnContent | ListOfInternalId | InternalId | Origin | Código do internal id na origem |
ReturnContent | ListOfInternalId | InternalId | Destination | Código do internal id no destino |
Os programas CON0480 e CON10148 não precisarão ser alterados para esta mensagem, pois a lógica da integração está concentrada na LIB CON6067.
CON6067 – Lib de integração de centro de custo
Alterar o con6067 para utilizar tanto a versão 1.00 quanto a nova mensagem. Conforme abaixo:
- Na função con6067 validar se a mensagem ListOfCostCenter está ativa e se existe o adapter no RPO.
- Se a nova mensagem estiver ativa deve chamar o adapter novo passando os campos necessários para a mensagem.
- Podem estar ativas as duas mensagens, neste caso devem ser disparados dois XMLs. Isso pode ocorrer se a empresa possuir outras integrações.
- As alterações na função con6067 não podem interferir no funcionamento da mensagem na versão anterior. Para isso desenvolveremos uma nova função interna que baseada na con6067_executa_operacao, porém com as características da nova mensagem.
- A mensagem será do tipo síncrona, ou seja, o programa aguardará o retorno do receptor para concluir o cadastro. Em caso de erro ou inconsistência a operação não será efetivada no banco de dados.
- Retorno de erro: em caso de inconsistência ou erro na integração, deve ser apresentado na tela do programa de cadastro a mensagem com a descrição do erro enviada pelo receptor da mensagem. Mesmo que as mensagens ficam gravadas no EAI10000, é necessário que seja apresentada para o usuário, assim ele poderá tomar uma ação sem a necessidade de consultar o monitor do EAI. Em muitos casos o usuário não tem acesso ao monitor, tendo que solicitar a consulta ao departamento de TI.
- Retorno com sucesso: Em caso de retorno positivo (OK) será gravado o internalid do centro de custo, que irá relacionar o nosso código interno (empresa | centro de custo) ao código interno do sistema receptor. Nas mensagens de negócio o internalid será utilizado por ambos produtos para identificar o CC.
Para a gravação do De-para utilizaremos a função desenvolvida pelo framework “Eaidepara”. Toda manipulação de internalid deve ser realizada por esta função.
É necessário que o de-para esteja registrado na base de dados, então antes da inclusão de qualquer valor deve-se utilizar a função: EAI_depara_existe(), não existindo será necessário registrar pela função: EAI_depara_register().
Carga inicial de centro de custos
A carga inicial realizada pelo FIN00000 que utiliza a LIB CON6067, portanto não será necessário fazer qualquer alteração para que a carga funcione com a nova mensagem.
Plano de contas – CON0010/CON10001
Para atender a funcionalidade “Empresa Plano” do Logix, também criaremos uma mensagem nova em forma de lista para o plano de contas. Onde a conta contábil será replicada para cada empresa que compartilha do plano (observando se a empresa está parametrizada para a integração no EAI10000).
Criaremos um Type baseado na mensagem accountantaccount versão 2.000.
O cadastro de centro de custo também será alterado utilizar a mensagem sempre que uma conta contábil for criada ou alterada em função do centro de custo.
ListOfAccountantAccount | Detalhes | |||
BusinessContent |
|
|
|
|
BusinessContent | ListOfAccountantAccount |
|
|
|
BusinessContent | ListOfAccountantAccount | CompanyId |
|
|
BusinessContent | ListOfAccountantAccount | BranchId |
|
|
BusinessContent | ListOfAccountantAccount | CompanyInternalId |
|
|
BusinessContent | ListOfAccountantAccount | Code |
|
|
BusinessContent | ListOfAccountantAccount | InternalId |
|
|
BusinessContent | ListOfAccountantAccount | ShortCode |
|
|
BusinessContent | ListOfAccountantAccount | Description |
|
|
BusinessContent | ListOfAccountantAccount | PostingNature |
|
|
BusinessContent | ListOfAccountantAccount | AnalyticalOrSynthetic |
|
|
BusinessContent | ListOfAccountantAccount | ActiveOrInactive |
|
|
BusinessContent | ListOfAccountantAccount | ManagerialAccountingEntityPolicy |
|
|
ReturnContent |
|
|
|
|
ReturnContent | ListOfInternalId |
|
|
|
ReturnContent | ListOfInternalId | InternalId |
|
|
ReturnContent | ListOfInternalId | InternalId | Name |
|
ReturnContent | ListOfInternalId | InternalId | Origin |
|
ReturnContent | ListOfInternalId | InternalId | Destination |
|
CON6076 – Lib de integração de conta contábil
Alterar o con6076 para utilizar tanto mensagem AccountantAccount quanto a ListOfAccountantAccount. Conforme abaixo:
- Na função con6076 validar se a mensagem ListOfAccountantAccount está ativa e se existe o adapter no RPO.
- Se a nova mensagem estiver ativa deve chamar o adapter novo passando os campos necessários para a mensagem.
- Podem estar ativas as duas mensagens, neste caso devem ser disparados dois XMLs. Isso pode ocorrer se a empresa possuir outras integrações.
- As alterações na função con6076 não podem interferir no funcionamento da mensagem na versão anterior. Para isso desenvolveremos uma nova função interna que baseada na con6076_executa_operacao, porém com as características da nova mensagem.
- A mensagem será do tipo síncrona, ou seja, o programa aguardará o retorno do receptor para concluir o cadastro. Em caso de erro ou inconsistência a operação não será efetivada no banco de dados.
- Retorno de erro: em caso de inconsistência ou erro na integração, deve ser apresentado na tela do programa de cadastro a mensagem com a descrição do erro enviada pelo receptor da mensagem. Mesmo que as mensagens ficam gravadas no EAI10000, é necessário que seja apresentada para o usuário, assim ele poderá tomar uma ação sem a necessidade de consultar o monitor do EAI. Em muitos casos o usuário não tem acesso ao monitor, tendo que solicitar a consulta ao departamento de TI.
- Retorno com sucesso: Em caso de retorno positivo (OK) será gravado o internalid da conta contábil, que irá relacionar o nosso código interno (cod_empresa|num_conta|num_conta_reduz) ao código interno do sistema receptor. Nas mensagens de negócio o internalid será utilizado por ambos produtos para identificar a conta contábil.
Para a gravação do De-para utilizaremos a função desenvolvida pelo framework “Eaidepara”. Toda manipulação de internalid deve ser realizada por esta função.
É necessário que o de-para esteja registrado na base de dados, então antes da inclusão de qualquer valor deve-se utilizar a função: EAI_depara_existe(), não existindo será necessário registrar pela função: EAI_depara_register().
Carga inicial do plano de contas
A carga inicial realizada pelo FIN00000 que utiliza a LIB CON6076, portanto não será necessário fazer qualquer alteração para que a carga funcione com a nova mensagem.
Cadastro de Bancos, agências e contas bancárias– CAP0120/FIN30065
Atualizar a mensagem única de bancos para a versão 2.001, conforme arquivo XDS localizado no TFS (servidor de mensagens únicas) $/STABLE/xmlschema/general/events/Bank_2_001.xsd.
O cadastro será realizado no Logix e enviado ao RM Labore, o Logix não processará mensagens de bancos/agências cadastradas no RM, portanto é imprescindível que do outro lado o cadastro esteja configurado somente para leitura.
A versão anterior da mensagem Bank continuará funcionando normalmente para as demais integrações que a utilizam.
Gerar um novo adapter para a mensagem no EAI0032. Alterar a LIB de integração (fin80145) para enviar a mensagem nova caso esteja ativa. Também deve ser validado se o adapter existe no RPO. Caso as duas versões estejam ativas serão enviadas duas mensagens.
O tipo de envio será síncrono, ou seja, o programa aguardará a resposta do sistema receptor para efetivar ou não a operação.
Caso o retorno seja positivo (OK) deverá gravar o de-para de agencia/banco, para isso utilizar a função “Eaidepara”. Da mesma forma quando houver exclusão deve limpar.
Nas mensagens de negócio que utilizarem banco o RM Labore deve enviar o internalid e o Logix buscará seu código correspondente no cadastro de-para.
A carga inicial (fin00000) não será alterada.
A seguir detalhes da mensagem:
BANK | Detalhes | |||||||
BusinessContent | CompanyId |
|
|
|
|
|
| Empresa do Logix – Enviar p_cod_empresa. (o cadastro é geral. |
BusinessContent | BranchId |
|
|
|
|
|
| Nulo |
BusinessContent | CompanyInternalId |
|
|
|
|
|
| InternalId da empresa do Logix |
BusinessContent | Code |
|
|
|
|
|
| Código do banco no Logix |
BusinessContent | InternalId |
|
|
|
|
|
| Código interno do banco cod_agencia_bco |
BusinessContent | Febraban |
|
|
|
|
|
| Código febraban do banco |
BusinessContent | Name |
|
|
|
|
|
| Nome do banco |
BusinessContent | ShortName |
|
|
|
|
|
| Nome reduzido |
BusinessContent | ListOfAgency |
|
|
|
|
|
|
|
BusinessContent | ListOfAgency | Agency |
|
|
|
|
|
|
BusinessContent | ListOfAgency | Agency | Number |
|
|
|
| Número da agencia |
BusinessContent | ListOfAgency | Agency | Name |
|
|
|
| Nome |
BusinessContent | ListOfAgency | Agency | Address |
|
|
|
|
|
BusinessContent | ListOfAgency | Agency | Address | Address |
|
|
| Endereço |
BusinessContent | ListOfAgency | Agency | Address | Number |
|
|
| Número |
BusinessContent | ListOfAgency | Agency | Address | Complement |
|
|
| Complemento |
BusinessContent | ListOfAgency | Agency | Address | City |
|
|
|
|
BusinessContent | ListOfAgency | Agency | Address | City | Code | Não tem mensagem |
| Código da cidade |
BusinessContent | ListOfAgency | Agency | Address | City | Description |
|
| Nome da cidade |
BusinessContent | ListOfAgency | Agency | Address | District |
|
|
|
|
BusinessContent | ListOfAgency | Agency | Address | State |
|
|
|
|
BusinessContent | ListOfAgency | Agency | Address | State | Code | Não tem mensagem |
| Código do estado |
BusinessContent | ListOfAgency | Agency | Address | State | Description |
|
| Nome do estado |
BusinessContent | ListOfAgency | Agency | Address | Country |
|
|
|
|
BusinessContent | ListOfAgency | Agency | Address | Country | Code | Não tem mensagem |
| Código do país |
BusinessContent | ListOfAgency | Agency | Address | Country | Description |
|
| Nome do país |
BusinessContent | ListOfAgency | Agency | Address | ZIPCode |
|
|
| CEP |
BusinessContent | ListOfAgency | Agency | Address | Region |
|
|
| Região |
BusinessContent | ListOfAgency | Agency | Address | POBox |
|
|
| Caixa postal - não obrigatória |
BusinessContent | ListOfAgency | Agency | ListOfContactInformation |
| RM NÃO UTILIZA - VAMOS ENVIAR NORMALMENTE |
| ||
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation |
|
|
|
|
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | Code |
|
| Código do contato |
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | Title |
|
| Título |
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | Name |
|
| Departamento |
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | Department |
|
|
|
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | CommunicationInformation |
|
|
|
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | CommunicationInformation | PhoneDDD |
| DDD |
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | CommunicationInformation | PhoneNumber |
| Telefone |
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | CommunicationInformation | PhoneExtension |
| Ramal |
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | CommunicationInformation | FaxDDD |
| DDD |
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | CommunicationInformation | FaxNumber |
| Fax |
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | CommunicationInformation | FaxNumberExtension |
| Ramal |
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | CommunicationInformation | HomePage |
| Site |
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | CommunicationInformation |
| ||
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | Address |
|
|
|
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | Address | Address |
| Endereço |
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | Address | Number |
| Número |
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | Address | Complement |
| Complemento |
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | Address | City |
|
|
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | Address | City | Code | Código da cidade do contato |
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | Address | City | Description | Nome da cidade |
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | Address | District |
| Distrito |
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | Address | State |
|
|
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | Address | State | Code | Código do estado |
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | Address | State | Description | Nome do estado |
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | Address | Country |
|
|
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | Address | Country | Code | Código do país |
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | Address | Country | Description | Nome do país |
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | Address | ZIPCode |
| CEP |
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | Address | Region |
| Região |
BusinessContent | ListOfAgency | Agency | ListOfContactInformation | ContactInformation | Address | POBox |
| Caixa postal |
BusinessContent | ListOfAgency | Agency | ListOfAccount |
|
|
|
|
|
BusinessContent | ListOfAgency | Agency | ListOfAccount | Account |
|
|
|
|
BusinessContent | ListOfAgency | Agency | ListOfAccount | Account | CompanyId |
|
| Empresa Logix |
BusinessContent | ListOfAgency | Agency | ListOfAccount | Account | Number |
|
| Número da conta |
BusinessContent | ListOfAgency | Agency | ListOfAccount | Account | AccountantAccountCode |
|
| Conta contábil |
BusinessContent | ListOfAgency | Agency | ListOfAccount | Account | Name |
|
| Não mandar |
BusinessContent | ListOfAgency | Agency | ListOfAccount | Account | PurposeAcct |
|
| Não mandar |
BusinessContent | ListOfAgency | Agency | ListOfAccount | Account | ChartOfAccts |
|
| Não mandar |
BusinessContent | ListOfAgency | Agency | ListOfAccount | Account | ValidityStart |
|
| Não mandar |
BusinessContent | ListOfAgency | Agency | ListOfAccount | Account | ValidityEnd |
|
| Não mandar |
BusinessContent | CheckingAcctType |
|
|
|
|
|
| Não mandar |
BusinessContent | Site |
|
|
|
|
|
| Não mandar |
BusinessContent | BusinessUnit |
|
|
|
|
|
| Não mandar |
BusinessContent | Purpose |
|
|
|
|
|
| Não mandar |
ReturnContent |
|
|
|
|
|
|
|
|
ReturnContent | ListOfInternalId |
|
|
|
|
|
|
|
ReturnContent | ListOfInternalId | InternalId |
|
|
|
|
|
|
ReturnContent | ListOfInternalId | InternalId | Name |
|
|
|
| Nome do internal id |
ReturnContent | ListOfInternalId | InternalId | Origin |
|
|
|
| Identificador na origem |
ReturnContent | ListOfInternalId | InternalId | Destination |
|
|
|
| Identificador no Destino |
Cadastro de histórico padrão contábil – CON0020/CON10002
Objetivo: desenvolver a integração de históricos contábeis através da mensagem única ListOfAccountantDefaultHistory que deverá ser desenvolvida e submetida à aprovação do comitê de mensagem única da Totvs.
O conteúdo da mensagem deverá ser desenvolvido com base na mensagem AccountantDefaultHistory que atualmente está na versão 1, porém o transformaremos em um “TYPE”. Além disso serão incluídas as seguintes TAGs:
- BranchID – identificador da filial;
- CompanyInternalId – identificador interno da empresa/filial;
- InternalId – identificador interno do código do histórico contábil.
- ListOfInternalIds
- Name – nome do de-para
- Origin – código interno na origem
- Destination – código interno no destino
Utilizar o EAI0032 para o desenvolver o adapter e o helper.
Também será desenvolvida uma LIB de integração, cujo objetivo e preparar os dados para enviar ao adapter responsável pela integração. Ela receberá como parâmetro os campos da tela, e enviará para o adapter.
Alterar os programas CON0020 e CON10002 chamar a LIB descrita no item anterior para as operações de inclusão, modificação e exclusão. Será utilizada uma única LIB para as versões 10.02 e 12.
Na mensagem, enviaremos o registro para todas as empresas que compartilham o cadastro de histórico contábil do Logix (par_con.cod_empresa_hist).
ListOFAccountantDefaultHistory | Detalhes | |||
BusinessContent |
|
|
|
|
BusinessContent | ListOFAccountantDefaultHistory |
|
|
|
BusinessContent | ListOFAccountantDefaultHistory | CompanyId |
| Empresa Logix |
BusinessContent | ListOFAccountantDefaultHistory | BranchId |
| Nulo |
BusinessContent | ListOFAccountantDefaultHistory | CompanyInternalId |
| Internalid empresa |
BusinessContent | ListOFAccountantDefaultHistory | Code |
| Código |
BusinessContent | ListOFAccountantDefaultHistory | InternalId |
| Internalid |
BusinessContent | ListOFAccountantDefaultHistory | Description |
| Descrição |
ReturnContent |
|
|
|
|
ReturnContent | ListOfInternalId |
|
|
|
ReturnContent | ListOfInternalId | InternalId |
|
|
ReturnContent | ListOfInternalId | InternalId | Name |
|
ReturnContent | ListOfInternalId | InternalId | Origin |
|
ReturnContent | ListOfInternalId | InternalId | Destination |
|
Carga inicial de históricos: desenvolver uma rotina para sincronizar os históricos existentes no Logix sem a necessidade de manutenir os históricos um a um no cadastro.
A rotina será iniciada a partir do FIN00000, conforme detalhes:
- Criar uma nova linha na grid denominada “Carga inicial de histórico padrão”
- Utilizar outras cargas do FIN00000 como exemplo.
- Deve possuir barra de progresso;
- Erros devem ser apresentados na tela;
- Permitir filtro;
- Selecionar os dados da tabela hist_padrao conforme filtro;
- Para cada registro da tabela deverá ser gerada uma mensagem de integração.
- Utilizar a Lib de integração definida no item anterior.
Cadastro de Área estratégica de negócios AEN – VDP0340 / VDP10056
A LIB vdp90264 será alterada para enviar a tag CompanyInternalId ao adapter adp10040. O conteúdo é o próprio código da empresa.
Demais elementos do XDS/XML são atendidos pelo atual adapter e não sofrerão alterações.
Cadastro de Períodos Contábeis
Objetivo: desenvolver a integração do cadastro de períodos e segmentos de períodos contábeis através da mensagem única AccountingCalendar.
A mensagem encontra aprovada na versão AccountingCalendar_1_000.xsd e não sofrerá alteração.
Utilizar o EAI0032 para desenvolver o adapter e o helper.
Será desenvolvida uma LIB de integração, com o objetivo de preparar os dados para enviar ao adapter.
A mensagem conterá todos os períodos cadastrados no Logix. Porém será enviada somente quando adicionado, modificado ou excluído, um período posterior ao último período ou anterior ao primeiro período cadastrado na base.
Alterar os programas CON0050 e CON10009 para chamar a LIB descrita no item anterior para as operações de inclusão, modificação e exclusão. Será utilizada uma única LIB para as versões 10.02 e 12.
AccountingCalendar | Detalhes | |||
BusinessContent |
|
|
|
|
BusinessContent | CompanyId |
|
| Empresa |
BusinessContent | BranchId |
|
| Nulo |
BusinessContent | CompanyInternalId |
|
| Empresa |
BusinessContent | CalendarCode |
|
| Ano |
BusinessContent | InternalId |
|
| Internal id |
BusinessContent | FinancialYear |
|
| Ano |
BusinessContent | ListOfAccountingPeriods |
|
|
|
BusinessContent | ListOfAccountingPeriods | PeriodOfAccount |
|
|
BusinessContent | ListOfAccountingPeriods | PeriodOfAccount | PeriodCode | Mês |
BusinessContent | ListOfAccountingPeriods | PeriodOfAccount | InitialDate | Data inicio |
BusinessContent | ListOfAccountingPeriods | PeriodOfAccount | FinalDate | Data fim |
BusinessContent | ListOfAccountingPeriods | PeriodOfAccount | PeriodStatus | Fixar 1 |
ReturnContent |
|
|
|
|
ReturnContent | ListOfInternalId |
|
|
|
ReturnContent | ListOfInternalId | InternalId |
|
|
ReturnContent | ListOfInternalId | InternalId | Name |
|
ReturnContent | ListOfInternalId | InternalId | Origin |
|
ReturnContent | ListOfInternalId | InternalId | Destination |
|
Cadastro de clientes e fornecedores – VDP10000
Utilizar a mensagem CustomerVendor2 que atualmente sua utilização está condicionada a integração com o portal da Paradigma. Criaremos um contexto denominado “Geral” que será utilizado para as demais integrações não afetando a integração com o portal de compras.
Também será alteraremos o adapter para enviar o código da empresa corrente na tag CompanyId, além de alterar a máscara do código da cidade IBGE.
2 . Processos
Nesta fase do projeto serão desenvolvidas as integrações de títulos a pagar e lançamentos contábeis.
Os títulos e lançamentos contábeis são processados no RM e integrados ao Logix.
Integração de títulos a pagar
O fluxo da mensagem é do RM para o Logix.
Criaremos uma nova release para a mensagem 2.001 onde serão incluídos os seguintes campos:
- FinancialNatureInternalID – Código financeiro (Tipo de despesa);
- AccountingItemCode – Item contábil (rateio);
- AccountingItemInternalId – Código do item contábil (rateio).
Será desenvolvido um novo adapter para a recepção da mensagem, utilizaremos a Lib fin80142 para o processamento dos títulos.
O tipo de despesa “FinancialNatureInternalID” será parametrizado no RM, sendo assim não teremos a sincronização do cadastro. No entanto a falta desta informação acarretará a recusa da recepção da mensagem.
A Origem da mensagem será usada para diferenciar as diversas integrações ativas no Logix, então foi convencionado que a tag “ORIGIN” terá a informação “RM” fixa.
O RM poderá solicitar a inclusão, modificação ou exclusão dos títulos, porém todas as regras de negócio do Logix serão aplicadas na validação, podem retornar inconsistências por falta de cadastros, parâmetros, informações incompletas entre outras.
As manutenções, cancelamentos/exclusão realizadas no título pelos programas do financeiro não enviarão nenhuma mensagem ao RM.
Na inclusão o RM deve enviar o seu número interno do título, após a inclusão com sucesso relacionaremos este número ao número da AD no Logix.
Cada AD irá gerar uma única AP portanto é necessário que seja informada a data de vencimento do título.
Demais regras da integração de títulos continuam inalteradas com relação a integração com o RH Protheus.
A seguir o detalhamento dos campos:
AccountPayableDocument | Detalhes | |||
BusinessContent |
|
|
|
|
BusinessContent | InternalId |
|
| Número do título no RM |
BusinessContent | CompanyId |
|
| Empresa |
BusinessContent | CompanyInternalId |
|
| Empresa De-para |
BusinessContent | BranchId |
|
|
|
BusinessContent | DocumentPrefix |
|
| Nulo |
BusinessContent | DocumentNumber |
|
| Usar o internalid |
BusinessContent | DocumentParcel |
|
| Nulo |
BusinessContent | DocumentTypeCode |
|
| Nulo |
BusinessContent | ListOfSourceDocument |
|
|
|
BusinessContent | ListOfSourceDocument | SourceDocument |
|
|
BusinessContent | ListOfSourceDocument | SourceDocument | SourceDocument | Nulo |
BusinessContent | ListOfSourceDocument | SourceDocument | SourceDocumentSerie | Nulo |
BusinessContent | ListOfSourceDocument | SourceDocument | SourceDocumentSubSerie | Nulo |
BusinessContent | ListOfSourceDocument | SourceDocument | SourceDocumentTypeCode | Nulo |
BusinessContent | ListOfSourceDocument | SourceDocument | SourceDocumentValue | Nulo |
BusinessContent | IssueDate |
|
| Emissão |
BusinessContent | DueDate |
|
| Vencimento |
BusinessContent | RealDueDate |
|
| Vencimento prorrogado |
BusinessContent | VendorCode |
|
|
|
BusinessContent | VendorInternalId |
|
| Internalid do fornecedor |
BusinessContent | StoreId |
|
| Nulo |
BusinessContent | NetValue |
|
| Liquido |
BusinessContent | GrossValue |
|
| Bruto |
BusinessContent | CurrencyCode |
|
| Código da moeda - do Logix |
BusinessContent | CurrencyInternalId |
|
| Código da moeda |
BusinessContent | CurrencyRate |
|
| Nulo |
BusinessContent | Taxes |
|
| Nulo |
BusinessContent | Taxes | Tax |
| Nulo |
BusinessContent | Taxes | Tax | Taxe | Nulo |
BusinessContent | Taxes | Tax | CountryCode | Nulo |
BusinessContent | Taxes | Tax | StateCode | Nulo |
BusinessContent | Taxes | Tax | CityCode | Nulo |
BusinessContent | Taxes | Tax | CalculationBasis | Nulo |
BusinessContent | Taxes | Tax | Percentage | Nulo |
BusinessContent | Taxes | Tax | ReductionBasedPercent | Nulo |
BusinessContent | Taxes | Tax | Value | Nulo |
BusinessContent | Taxes | Tax | Reason | Nulo |
BusinessContent | Taxes | Tax | Recalculate | Nulo |
BusinessContent | ApportionmentDistribution |
|
|
|
BusinessContent | ApportionmentDistribution | Apportionment |
|
|
BusinessContent | ApportionmentDistribution | Apportionment | InternalId | Nulo |
BusinessContent | ApportionmentDistribution | Apportionment | DepartamentCode |
|
BusinessContent | ApportionmentDistribution | Apportionment | DepartamentInternalId |
|
BusinessContent | ApportionmentDistribution | Apportionment | CostCenterInternalId |
|
BusinessContent | ApportionmentDistribution | Apportionment | AccountantAcountInternalId |
|
BusinessContent | ApportionmentDistribution | Apportionment | ProjectInternalId |
|
BusinessContent | ApportionmentDistribution | Apportionment | SubProjectInternalId |
|
BusinessContent | ApportionmentDistribution | Apportionment | TaskInternalId |
|
BusinessContent | ApportionmentDistribution | Apportionment | Value | Valor |
BusinessContent | ApportionmentDistribution | Apportionment | Percentual | Percentual |
BusinessContent | ApportionmentDistribution | Apportionment | Quantity |
|
BusinessContent | ApportionmentDistribution | Apportionment | Observation |
|
BusinessContent | ApportionmentDistribution | Apportionment | Event |
|
BusinessContent | ApportionmentDistribution | Apportionment | AccountingItemCode | AEN |
BusinessContent | ApportionmentDistribution | Apportionment | AccountingItemInternalId | EAN internalid |
BusinessContent | Observation |
|
|
|
BusinessContent | Origin |
|
|
|
BusinessContent | FinancialNatureInternalId |
|
| Tipo de despesa - No RM é o parâmetro RH_NATUREZAFINANCEIRADEFAULT |
ReturnContent |
|
|
|
|
ReturnContent | ListOfInternalId |
|
|
|
ReturnContent | ListOfInternalId | InternalId |
|
|
ReturnContent | ListOfInternalId | InternalId | Name |
|
ReturnContent | ListOfInternalId | InternalId | Origin |
|
ReturnContent | ListOfInternalId | InternalId | Destination |
|
Integração de lançamentos contábeis
O fluxo da mensagem é do RM para o Logix.
Criaremos uma nova release para a mensagem AccountingEntry 2 conforme detalhamento na tabela abaixo.
Desenvolveremos um novo adapter para a recepção da mensagem, no entanto a o processamento continuará sendo feito pela função CON6071.
A Origem da mensagem será usada para diferenciar as diversas integrações ativas no Logix, então foi convencionado que a tag “ORIGIN” terá a informação “RM” fixa.
Será necessário cadastrar e parametrizar previamente o sistema gerador (“RM”).
Os lançamentos serão gravados na tabela ctb_lanc_ctbl_ctb, e deverão ser consistidos normalmente como os lançamentos manuais da contabilidade.
Pode haver lentidão no processamento da mensagem podendo até gerar erro de "time out" em função do tamanho da mensagem e capacidade de processamento do servidor do EAI. Para evitar que isso ocorra, o RM enviará o lote de forma fragmentada. Através de parametrização será possível definir a quantidade máxima de lançamentos que cada XML terá.
O controle das partes será realizado pela TAG SubLote, com o seguinte formato XX|YYY, onde XX é a parte atual e YYY o total de partes.
A tabela ctb_capa_lote será gravada somente após a recepção com sucesso da última parte.
Havendo qualquer erro/inconsistência no processamento de alguma parte o RM será responsável por enviar uma nova mensagem excluindo todo o lote para posterior reenvio.
Não será possível efetuar, via EAI, a manutenção de lançamentos individuais, sempre será necessário enviar a exclusão do lote (via EAI) e posteriormente uma nova inclusão.
A quebra do lote em partes será opcional, e indicada para clientes com grande volume de lançamentos contábeis.
A seguir o detalhamento dos campos:
AccountingEntry | Detalhes | |||
BusinessContent |
|
|
|
|
BusinessContent | CompanyId |
|
|
|
BusinessContent | BranchId |
|
|
|
BusinessContent | CompanyInternalId |
|
|
|
BusinessContent | OriginCode |
|
| SISTEMA GERADOR - FIXAR RM |
BusinessContent | PeriodStartDate |
|
|
|
BusinessContent | PeriodEndDate |
|
|
|
BusinessContent | BatchNumber |
|
|
|
BusinessContent | SubLot |
| Sequencia de partes do Lote. EX: 1|10 (primeira parte de 10) | |
BusinessContent | Document |
|
| Nulo |
BusinessContent | InternalId |
|
| InternalId da RM |
BusinessContent | Entries |
|
|
|
BusinessContent | Entries | Entry |
|
|
BusinessContent | Entries | Entry | Item | Nulo |
BusinessContent | Entries | Entry | ItemType | Nulo |
BusinessContent | Entries | Entry | EntryNumber |
|
BusinessContent | Entries | Entry | RelationshipNumber | Nulo |
BusinessContent | Entries | Entry | MovementDate |
|
BusinessContent | Entries | Entry | BalanceType | Nulo |
BusinessContent | Entries | Entry | CurrencyCode | Nulo |
BusinessContent | Entries | Entry | CurrencyInternalId | Nulo |
BusinessContent | Entries | Entry | DebitAccountCode |
|
BusinessContent | Entries | Entry | DebitAccountInternalId | InternalId da RM |
BusinessContent | Entries | Entry | CreditAccountCode |
|
BusinessContent | Entries | Entry | CreditAccountInternalId | InternalId da RM |
BusinessContent | Entries | Entry | EntryValue |
|
BusinessContent | Entries | Entry | HistoryCode | Criar internal ID para a mensagens AccountingDefaultHistoryInternalID |
BusinessContent | Entries | Entry | ComplementaryHistory | Livre - complemento do usuário - Se não possuir enviar "Lançamento do RM Labore" |
BusinessContent | Entries | Entry | CostCenterCode | Nulo |
BusinessContent | Entries | Entry | CostCenterDebitInternalId | Nulo |
BusinessContent | Entries | Entry | CostCenterCreditCode | Nulo |
BusinessContent | Entries | Entry | CostCenterCreditInternalId | Nulo |
BusinessContent | Entries | Entry | AccountingItemDebitCode | CÓDIGO DA EAN PARA DÉBITO |
BusinessContent | Entries | Entry | AccountingItemDebitInternalId | INTERNALID AEN DEB |
BusinessContent | Entries | Entry | AccountingItemCreditCode | CÓDIGO DA AEN PARA CRÉDITO |
BusinessContent | Entries | Entry | AccountingItemCreditInternalId | INTERNALID AEN CRÉD |
BusinessContent | Entries | Entry |
| Nulo |
BusinessContent | Entries | Entry | ClassValueDebitInternalId | Nulo |
BusinessContent | Entries | Entry | ClassValueCreditCode | Nulo |
BusinessContent | Entries | Entry | ClassValueCreditInternalId | Nulo |
BusinessContent | Entries | Entry | ManagerialAccountingEntityDebit | Nulo |
BusinessContent | Entries | Entry | ManagerialAccountingEntityDebitInternalId | Nulo |
BusinessContent | Entries | Entry | ManagerialAccountingEntityCredit | Nulo |
BusinessContent | Entries | Entry | ManagerialAccountingEntityCreditInternalId | Nulo |
BusinessContent | Entries | Entry | ItemDeleted | Nulo |
ReturnContent |
|
|
|
|
ReturnContent | ListOfInternalId |
|
|
|
ReturnContent | ListOfInternalId | InternalId |
|
|
ReturnContent | ListOfInternalId | InternalId | Name |
|
ReturnContent | ListOfInternalId | InternalId | Origin |
|
ReturnContent | ListOfInternalId | InternalId | Destination |
|
Também não estão previstas as cargas de dados do RH para o RM.
O escopo deste projeto é apenas financeiro e contábil, mensagens como funcionário, escala, cargo, departamento etc. não fazem parte do escopo!
Fora do escopo
Por determinação da gerência ficaram para a segunda fase do projeto as integrações:
- Comissão de representantes;
- Acerto de viagens;
- GIF;
- SEFIP;
- DIRF;
- TRB.
Também não estão previstas as cargas de dados do RH para o RM.
O escopo deste projeto é apenas financeiro e contábil, mensagens como funcionário, escala, cargo, departamento etc. não fazem parte do escopo!
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|