Páginas filhas
  • Cliente x Fornecedor

Versões comparadas

Chave

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

...

Adpater responsável pelo cadastro de Cliente x Fornecedor com o BackOffice RM, assim viabilizando o CRUD completo do cadastro por recebimento / envio de mensagem de integração.            

 

  • Foram criado três novos campos para cliente / fornecedor, 
    - Código Externo, Código de loja e Código de filial de integração.
     
  • São habilitado na tela de cliente / fornecedor quando EAI 2.0 Ativo.
  • São habilitado para edição quando entidade CUSTOMERVENDOR parametrizada para envio.
  • Particularidade para o código de filial de integração, pois sua visualização / edição dependem do nível de compartilhamento, quando exclusivo por filial no Protheus); 
  •  Ao efetuar o conversor, será acertado todos os cadastros já existentes na base para que os mesmo contemplem código externo e filial.


Regras para código Externo

O código externo foi criado para armazenamos o código do cliente / fornecedor do sistema integrado.

Exemplo:

Código no RMCódigo Externo no RMCódigo no Protheus
000014000035000035

Dessa forma é possível realizar uma pesquisa no RM pelo código externo que representa o código do sistema integrado.


    • Envio de RM

      • Ao incluir um novo registro no RM para Cliente / Fornecedor, será necessário informar para o código externo qual o código no sistema de origem.
        Caso o código do cliente / fornecedor seja gerado através de auto incremento, ("Parâmetro do financeiro Usar código sequencial'). foi criado o parâmetro "CODEXTERNOIGUALOCFO" para que
        o código externo acompanhe o código do cliente / fornecedor RM. Dessa forma, o Código externo é gerado automaticamente. Caso o parâmetro "CODEXTERNOIGUALOCFO"  esteja
        desabilitado, será obrigatório informar o código externo no momento da inclusão do Cliente / Fornecedor.
         
      • Se a integração SIGAMNT x BackOffice RM no EAI 2.0 está ativa os campos: Código Externo, Código Loja e Filial de Integração não ficam habilitados no cadastro de Cliente/Fornecedor.
         
         
    • Recebimento RM
      • Com o objetivo de manter o código externo identifico ao sistema integrado,  código externo sempre é alterado no RM no recebimento da mensagem.



Modulo: Gestão Financeira

Solution: RM.Fin.TotvsMessage.Adapter

...


IdentificadorVersãoForma de EnvioTipo do Adapter
CUSTOMERVENDOR

2.000

SíncronaEnvia
2.002SíncronaEnvia
2.003SíncronaEnvia


Escopo:


PacoteEntidadeVersãoEnviaRecebe
TOTVS Folha pagto RM x Backoffice ProtheusFornecedor2.003NãoSim
Cliente-NãoNão
          

 

Manutenção de Ativos (SIGAMNT) x BackOffice RMCliente/Fornecedor2.002SimNão
TOTVS Rental (SIGALOC) x BackOffice RMCliente2.003SimNão


...

Mapeamento de Campos de Envio


Tabela: FCFO

 


Mensagem PadrãoDescriçãoCampoValorTipo CampoTamanho
Versão  1.0002.0002.0022.003              

Observação
CompanyIdCódigo da empresa
CODCOLIGA DA

CODCOLIGADA

         

DCODCOLIGADA2
CompanyIntern alIdInternalId da empresa

CODCOLIGA DA

         

CODCOLIGADA





CodeCódigo do fornecedorCODCFO
         

varchar25
StoreIdLoja
          





InternalIdInternalId do fornecedor
CODCOLIGA DA
CODCOLIGADACODCFO
        



ShortNameNome reduzido
NOMEFANTA SIA
NOMEFANTASIA
 

varchar
        
100
TypeTipoPAGREC[Se Type = 'Customer']
PagRec=1
Senão se Type = 'Vendor'
PagRec=2
Senão
PagRec = 3
       
smallint2
 

EntityTypeTipo do registro
PESSOAFISO UJUR
PESSOAFISOUJUR[Se EntityType = 'Person']
PessoaFisOuJur= F
Senão
PessoalFisOuJus= J
 
varchar
 
1
 

RegisterSituation
 
Situação
    
ATIVO e CFOIMOB

Para a integração CRM:

[Se RegisterSituation = 'Active']
Ativo=1 e CFOIMOB=0
Senão se RegisterSituation = 'Suspended'

Ativo=1 e CFOIMOB=1

Senão se RegisterSituation = 'Canceled'

Ativo=0 e CFOIMOB=1

Senão

Ativo=0 e CFOIMOB=0

Para as demais:

[Se RegisterSituation = 'Active']
Ativo=1
Senão

Ativo=0

smallint2O campo CFOIMOB, ou seja, o tratamento referente a integração CRM é realizado a partir da versão 2.003 da mensagem e da 12.1.2302 do RM.
GovernmentalI nformation.
RegisterSituatio nSituaçãoATIVOSe RegisterSituation = 'Active']
Ativo=1 Senão Ativo=0        GovernmentalI nformation.
Id Name[CNPJ]CNPJ/CPFCGCCFOSe Id[Name]= CPF'] ou
Id[Name]= CNPJ']
CGCCFO=1
Senão
Ativo=0
 
varchar
       
20
Address.Addre ssNome da ruaRUA
 

varchar
        
100
Address.Numb erNúmero

NUMERO

        

varchar8
 

Address.Compl ementComplemento
COMPLEMEN TO
COMPLEMENTO
         

DCOMPLEMENTO60
Address.City.Ci tyInternalIdCódigo do município
CODMUNICIP IO
CODMUNICIPIO
 

varchar
        
20
Address.City.Ci tyDescriptionNome cidadeCIDADE
         

DCIDADE32
Address.DistrictBairroBAIRRO
 

DBAIRRO
        
80
Address.State. StateInternalIdCódigo do EstadoCODETD
 

varchar
        
2
Address.State.StateCodeCódigo do EstadoCODETD

Se País diferente de Brasil preenche com EX

varchar2
Address.State.
StateDescriptin
 StateDescriptionDescrição do estadoDESCETD
         
Se País diferente de Brasil preenche com ESTRANGEIRO


Address.Countr y.CountryIntern alIdCodigo do país
CODPAIS
IDPAIS
        

smallint2
 

Address.Countr y.CountryDescr iptionNome do paísPAIS
         

varchar20
Address.ZIPCo deCep

CEP

 

DCEP
        
9
Address.POBo xCaixa postal
CAIXAPOSTA L
CAIXAPOSTAL

 

       


varchar10
 

ListOfCommuni cationInformati
on.Communicat ionInformation.
PhoneNumber
TelefoneTELEFONE

CommunicationInfor mation
[1]/PhoneNu mber
[Primeira posição
na lista de telefones da mensagem]

 
varchar
       
15
ListOfCommuni cationInformati
on.Communicat ionInformation.
FaxNumber
FaxFAX

CommunicationInfor mation[1]
/FaxNumb er
[Primeira posição na lista
de fax da mensagem]

       
varchar15
 

ListOfCommuni cationInformati
on.Communicat ionInformation.
Email
E-mailEMAILCommunicationInfor mation[1]
/E-mail
[Primeira posição na lista
de e-mail da mensagem]
varchar60

CustomerVendor_2_002

Mensagem Padrão

PROTHEUS (Cliente)

PROTHEUS (Fornecedor)

RM

Observação

Tabela

Campo

Tabela

Campo

Tabela

Campo

CompanyId

SA1

Empresa

SA2

Empresa

FCFO

CODCOLIGADA


BranchId

SA1

A1_FILIAL

SA2

A2_FILIAL

-

-


CompanyInternalId

SA1

Empresa|A1_FILIAL

SA2

Empresa| A2_FILIAL

-

-


Code

SA1

A1_COD

SA2

A2_COD

FCFO

CODCFO

Valor texto tamanho 30

InternalId

SA1

Empresa|A1_FILIAL |A1_COD

SA2

Empresa| A2_FILIAL|A2_COD

HCINTEGRACAOID (EAI 1.0)

GEAIDEPARA (EAI 2.0)



ShortName

SA1

A1_NREDUZ

SA2

A2_NREDUZ

FCFO

NOMEFANTASIA

Valor texto tamanho 12

Name

SA1

A1_NOME

SA2

A2_NOME

FCFO

NOME

Valor texto tamanho 40

Type

SA1

Customer

SA2

Vendor

FCFO

PAGREC

Fixo “Customer”: Cliente
Fixo “Vendor”: Fornecedor
Fixo “Both”: Ambos

EntityType

SA1

A1_TIPO

SA2

A2_TIPO

FCFO

PESSOAFISOUJUR

Fixo “Person”: Física
Fixo “Company”: Jurídica

RegisterDate

SA1

RegisterDate



FCFO

DATACRIACAO

Não utilizado pela linha RM

RegisterSituation

SA1

A1_MSBLQL

SA2

A2_MSBLQL

FCFO

ATIVO e CFOIMOB (a partir da versão 2.003)

Fixo “Active”: Ativo
Fixo “Inactive”: Inativo
Fixo “Canceled”: Cancelado (usado a partir da versão 2.003)
Fixo “Pending”: Pendente
Fixo “Suspended”: Suspenso (usado a partir da versão 2.003)

GovernmentalInformation.Id Name=CNPJ

SA1

A1_CGC

SA2

A2_CGC

FCFO

CGCCFO


Address.Address

SA1

A2_END

SA2

A2_END

FCFO

RUA


Address.Number

SA1

A2_END

SA2

A2_END

FCFO

NUMERO


Address.Complement

SA1

A1_COMPLEM

SA2

A2_COMPLEM

FCFO

COMPLEMENTO


Address.City.CityCode

SA1

A1_EST+A1_COD_MUN

SA2

A2_COD_MUN

FCFO

CODMUNICIPIO


Address.City.CityDescription

SA1

A1_MUN

SA2

A2_MUN

FCFO

CIDADE


Address.District

SA1

A1_BAIRRO

SA2

A2_BAIRRO

FCFO

BAIRRO


Address.State.StateCode

SA1

A1_EST

SA2

A2_EST

FCFO

CODETD


Address.State.StateDescription

SA1

X5DESCRI

SA2

X5DESCRI

FCFO

DESCETD


Address.Country.CountryCode

SA1

A1_PAIS

SA2

A2_PAIS

FCFO

CODPAIS


Address.Country.CountryDescription

SA1


SA2


FCFO

PAIS


Address.ZIPCode

SA1

A1_CEP

SA2

A2_CEP

FCFO

CEP


Address.POBox

SA1

A1_CX_POST

SA2

A2_CX_POST

FCFO

CAIXAPOSTAL


ListOfCommunicationInformation.CommunicationInformation.PhoneNumber

SA1

A1_TEL

SA2

A2_TEL

FCFO

TELEFONE


ListOfCommunicationInformation.CommunicationInformation.FaxNumber

SA1

A1_FAX

SA2

A2_FAX

FCFO

FAX


ListOfCommunicationInformation.CommunicationInformation.Email

SA1

A1_EMAIL

SA2

A2_EMAIL

FCFO

EMAIL



Parâmetros:

CODCLASSIFICPAIS: Este parâmetro tem a responsabilidade de ser o código da tabela de classificação de país. Como o código do País no Protheus é baseado na tabela de classificação do IBGE, deve-se
cadastrar esta tabela no RM (BackOffice / Gestão Fiscal / Mais... / Endereços / Classificação de País.) e definir nos parâmetros de integração qual será o código desta tabela.
    No cadastro de Classificação de País incluir uma tabela de classificação.
    No cadastro de País abrir o anexo Codificação de País e incluir a tabela de classificação informando o Código País.
    Nos Parâmetros de Integração informar no parâmetro "CODCLASSIFICPAIS" o código da tabela de classificação utilizada e associado ao país.


Envio

  • Quando for informado no RM um endereço com país diferente de Brasil, o código e a descrição do Estado será enviado como EX e ESTRANGEIRO. Esta regra será aplicada para os endereços: principal (Address), cobrança (BillingInformation) e entrega (ShippingAddress )


Recebimento

  • Para o recebimento, não é permitido o recebimento cujo o tipo do cliente / fornecedor seja ambos.
  • Não é permitido o recebimento de cliente Global.
  • Caso o nível de compartilhamento do Protheus seja compartilhado por filial, o novo campo de código de filial ser preenchido como vazio.
  • Caso o nível de compartilhamento no Protheus seja exclusivo por filial, o novo campo de código de filial recebera o seu valor.
  • Não deve configurar a mascara de cliente / fornecedor;
  • Caso o código do cliente / fornecedor seja por auto-incremento, deve configurar o parâmetro do financeiro Usar código sequencial.
  • Quando integrado com Protheus, e o código não for por auto-incremento, existem dois parâmetros para definir o tamanho do código da loja e código do cliente / fornecedor. Isso é aplicado pelo chamada do PVI.


Testes Realizados:

Envio RM >> Protheus

1-Acessado Nova MDI >> BackOffice >> Cadastro>> Cliente / Fornecedor
1.1 Cadastrando Cliente /  fornecedor
1.1.1 Erro: " Um ou mais campos obrigatórios não foram preenchidos. xxxxxxxxxxxxxxxxxx -> xxxxxxxxxx Pasta Código."
                 ( Houve inconsistências com valor padrão / Inicializador de código no Protheus para o código de cliente / Fornecedor). Foi necessário remover o inicializador padrão de  A1_COD no Protheus.

1.1.2 Parâmetros utilizados neste teste.

  • Desabilitado - Usar código Sequencial ( se a mascara for numérica)
  • Vazio           - Mascara para o código de cliente / fornecedor.

Com essas opções, como o código de cliente / fornecedor é gerado? Porque o campo o código de cliente / fornecedor esta sempre bloqueado na tela, quando EAI2.0 Ativo.?
O código de cliente fornecedor "CODCFO" é gerado a partir das informações dos novos campos: CODEXTERNO, CODLOJA E CODFILIALINTEGRACAO.

O CODCFO é concatenado com :

    • CODLOJA  ( código da loja ("código da loja é gerado com zero a esquerda conforme o parametro "SIZECODLOJA")
    • SEPARADOR  ponto e virgula. ";"
    • PAGREC ( Quando Cliente = "C"  quando fornecedor = "F")
    • CODEXTERNO ( Informado pelo usuário através da tela de cadastro de cliente / fornecedor
    • CODFILIALINTEGRACAO ( Retorna o código filial quando o nível de compartilhamento for exclusivo por filial no Protheus, caso contrário vazio); 

...


1.1.3 Quando a inclusão do cliente / fornecedor é gerado por terceiros, "PVI, através de dataserver" o Código será gerado com base no ultimo cliente / fornecedor gerado +1;

1.2 Mensagem enviada ao Protheus com sucesso. Registro Incluído Corretamente. 

1.3 Alterado registro no RM >> cliente / Fornecedor refletido no Protheus.

1.3 Excluído registro no RM >> cliente / Fornecedor refletido no Protheus.


2.0 - Testado a tela de cadastro de cliente / fornecedor conforme os novos campos: Código Externo, Código de loja e Código de filial de integração.

  • São habilitado na tela de cliente / fornecedor quando EAI 2.0 Ativo.
  • São habilitado para edição quando entidade CUSTOMERVENDOR parametrizada para envio.
  • Particularidade para o código de filial de integração, pois sua visualização / edição dependem do nível de compartilhamento, quando exclusivo por filial no Protheus); 

3.0 - Caso o Protheus esteja configurado com o campo código com default, o código externo enviado do RM é desconsiderado pelo Protheus, colocando o seu código sequencial de sua tabela.

 

TRWRT