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ãoPROTHEUSd

1.000

2.0002.0022.0032.004  

Observação
CompanyIdCódigo da empresa

CODCOLIGADA

 

DCODCOLIGADA2
   CODCOLIGADA   

CompanyIntern alIdInternalId da empresa

CODCOLIGADA

      2.003  

 




CodeCódigo do fornecedorCODCFO
 

varchar25
   2.003  
 

StoreIdLoja
       2.003
   





InternalIdInternalId do fornecedorCODCOLIGADACODCFO
     2.003
   



ShortNameNome reduzidoNOMEFANTASIA
 

varchar100
   2.003
   

TypeTipoPAGREC[Se Type = 'Customer']
PagRec=1
Senão se Type = 'Vendor'
PagRec=2
Senão
PagRec = 3
smallint
2   
2
.003 
  

EntityTypeTipo do registroPESSOAFISOUJUR[Se EntityType = 'Person']
PessoaFisOuJur= F
Senão
PessoalFisOuJus= J
varchar1
   2.003   

RegisterSituationSituaçãoATIVO 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:

[

RegisterSituatio nSituaçãoATIVO

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

Ativo=0

smallint2
   2.003   
O 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.
Id Name[CNPJ]
CNPJ/CPFCGCCFOSe Id[Name]= CPF'] ou
Id[Name]= CNPJ']
CGCCFO=1
Senão
Ativo=0
varchar20
   2.003   

Address.Addre ssNome da ruaRUA
 

varchar100
  
 2.003   

Address.Numb erNúmero

NUMERO

 


varchar8
   
2.003   

Address.Compl ementComplementoCOMPLEMENTO
 

DCOMPLEMENTO60
   
2.003   

Address.City.Ci tyInternalIdCódigo do municípioCODMUNICIPIO
 

varchar20
   
2.003   

Address.City.Ci tyDescriptionNome cidadeCIDADE
 

DCIDADE32
   2.003
   

Address.DistrictBairroBAIRRO
 

DBAIRRO80
   2.003
   

Address.State. StateInternalIdCódigo do EstadoCODETD
 

varchar2
   2.003  

Address.State.StateCodeCódigo do EstadoCODETD

Se País diferente de Brasil preenche com EX

varchar2
 

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


Address.Countr y.CountryIntern alIdCodigo do paísIDPAIS
 

smallint2
   
2.003   

Address.Countr y.CountryDescr iptionNome do paísPAIS
 

varchar20
   2.003   

Address.ZIPCo deCep

CEP

 


DCEP9
 CEPCEPCEP
CEP  

Address.POBo xCaixa postalCAIXAPOSTAL

 


varchar10
   2.003
   

ListOfCommuni cationInformati
on.Communicat ionInformation.
PhoneNumber
TelefoneTELEFONE

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

varchar15
 Não contemNão contemFaxNumFaxNum 
 

ListOfCommuni cationInformati
on.Communicat ionInformation.
FaxNumber
FaxFAX

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

varchar15
   2.003   

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

 


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:

RM Folha x BackOffice Protheus

CustomerVendor_2_003.xsd

Envio de Fornecedor do Protheus, módulo Financeiro, para o RM Labore

Não faz parte : Envio ou recebimento de Clientes através da mensagem CUSTOMERVENDOR.

 

 

MATA020

CUSTOMERVENDOR

Sim

Não

Síncrono

Todas

EAI

2.003

As configurações iniciais desta integração criará um parâmetro chamado "RH_CLIFORAUTOINC" que irá definir se utiliza Auto incremento ou não para o campo "FCFO.CODCFO".
Caso o parâmetro não seja "De auto incremento", a máscara do código do Cliente/Fornecedor deve ser configurada de acordo com a máscara do cliente/fornecedor enviada pelo Protheus:

Ex: "QQQQQQQQ". [Permite qualquer caractere limitado a 8 posições].

Caso o parâmetro seja de "auto incremento", a máscara deve ser definida como "" (vazio) e o parâmetro do financeiro "Usar código sequencial (se máscara for numérica)" deve ser marcado.

 

 

RM TIN/TOP  x BackOffice Protheus

/*Geração da chave do CLI/FOR para quando estiver com a integração do TIN/TOP x Protheus

            * habilitada e com o parâmetro CLIFORAUTOINC como FALSE.

            **/

1000    TOTVS Incorporação x BackOffice Protheus

0    CLIFORAUTOINC    False

0    CLIFORGLOBAL    False

 

 

Dúvidas

-Cliente fornecedor
-CODMUNICIPIO

por que o existem o código municipio > 5 para cliente fornecedor
if (!String.IsNullOrEmpty(codMunicipio) && codMunicipio.Length > 5)
rowMensagemOrigem["CODMUNICIPIO"] = codMunicipio.Substring(codMunicipio.Length - 5);

 

 

 

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.