Child pages
  • ER_PCREQ-7797_Integração_Produto - Item
Skip to end of metadata
Go to start of metadata

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.                                                             

  

Informações Gerais

 

Especificação

Produto

TOTVS Gestão de Estoque, Compras e Faturamento

Módulo

Estoque

Segmento Executor

TOTVS Construção e Projetos

Projeto1

Integração BackOffice RM x PDV Protheus

IRM1

PCREQ-7769

Requisito1

PCREQ-7797

Subtarefa1

PDR_CP_MOV008-10

Chamado2

 

Release de Entrega Planejada

12.1.10

Réplica

 

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

 

 Implementação do adapter de integração via Mensagem Única TOTVS do cadastro de Produto com o PDV, viabilizando assim o CRUD completo do cadastro por envio de mensagem de integração.


Definição da Regra de Negócio

 

Considera-se como escopo deste requisito a implementação do adapter de envio de Mensagens Únicas TOTVS para integração do cadastro de Produto (Item), estando o adapter de recebimento desta mesma mensagem fora do escopo do requisito.

 

A análise e o desenvolvimento do adapter será efetuado considerando a integração com o PDV Protheus, mas também viabilizará a integração com outras fontes de dados desde que respeitado o layout da mensagem.

 

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

Produto

Inclusão/Alteração/Exclusão

RM \ BackOffice \ Gestão de Estoque, Compras e Faturamento \ Cadastros \ Estoque, Compras e Faturamento \ Produto

-


As inclusões, alterações e exclusões de Produto/Serviço são feitos através da Linha RM, que identifica o evento em sua entidade e envia uma mensagem ao PDV Protheus. Os dados de produto que serão sincronizados pela mensagem única são :
  • Pasta Identificação: Código do Produto, Data Cadastramento, Inativo, Nome fantasia, Tipo
  • Pasta Detalhes / Descrição: Descrição
  • Pasta Detalhes / Características: Peso Bruto, Peso Líquido
  • Pasta Detalhe / Outros Dados: Referência, Tributação Cupom Fiscal, Número  da Nomenclatura Comum do Mercosul (NCM).
  • Pasta Preço: Serão enviados os dados do campo Preços Selecionados: Moeda, Data-Base, e Preço.
  • Pasta Controle de Estoque: Controlado por lote, Unidade de Controle, Usa número de série
  • Pasta Custos: Custo Médio / Valor, Custo unitário / Valor
  • Pasta Informações por Filial / Editar o registro da respectiva Filial: Consignado
  • Anexos / Informações do Estoque: Lote Econômico de Compras

 

Para integrar o cadastro de Produto os seguinte itens abaixo devem ser considerados:

  • A configuração de compartilhamento do cadastro de Produto (Item) por Empresas e Filiais deve ser: Exclusivo por Empresa e Compartilhado por Filial.
  • Serão enviados para o PROTHEUS somente os Produtos/Serviços de Último Nível.
  • Produtos globais no BackOffice RM não serão considerados globais no sistema de destino, sendo enviada uma mensagem de inclusão para cada empresa a qual o produto faz parte.
    • Caso haja ao menos uma mensagem enviada com sucesso ao PDV (SigaLoja), mesmo havendo erro nas mensagens referentes ao produto para as outras coligadas, não será apresentada mensagem de erro e a alteração/inclusão não será desfeita.
  • O campo B1_CODITE no cadastro de Produtos do PROTHEUS deve ser alterado, via apsdu, para não obrigatório e também deve-se retirar sua validação.
  • O campo “Código do Produto” no PROTHEUS deve ser alterado para tamanho 30 caracteres para manter compatibilidade com o RM.

 

Envio de Preços

O RM enviará na mensagem os preços de 1 a 5  do Produto, ficando a cargo do SigaLoja a utilização destes ou de demais formas de precificação disponíveis no mesmo. Não haverá integração da Tabela de Preços da linha RM  ou da precificação no Protheus. O RM considerará como valor de venda o retornado na mensagem de Cupom Fiscal.

 

Tributação ECF

Esta informação será enviada na mensagem quando for informado a Tributação de Cupom Fiscal no cadastro de Produto. Com base no código de tributação informado no produto, o RM irá buscar as informações de Código do Tributo, Tipo de Tributação e Alíquota cadastrados na tabela Tributação ECF (TTRIBUTACAOECF) e enviar estas informações ao Protheus.

Visto que os códigos dos tributos no Protheus obrigatoriamente seguem um padrão de nomenclatura, deve-se efetuar o cadastro destes tributos no RM respeitando o mesmo código utilizado no Protheus para viabilizar a integração de registros que utilizem estes tributos.  Os códigos dos tributos devem seguir a seguinte nomenclatura:

  • Tributado ICMS: Sempre inicia com T + alíquota do produto + 00. Exemplo: 7% = T0700, 12% = T1200, 18% = T1800.
  • Tributado ISS: Sempre inicia com S + alíquota do produto + 00. Exemplo: 5% = S0500, 10% = S1000.
  • Não Tributado: código fixo N1.
  • Isento: código fixo I1.
  • Substituição Tributária: código fixo F1.

 

Nomenclatura Comum do Mercosul (NCM)

Quando o campo Número da Nomenclatura Comum do Mercosul (NCM) estiver preenchido ele será enviado ao Protheus na tag FiscalClassificationCode. Esta informação é cadastrada na pasta Outros Dados em Produto \ Detalhes \ Outros Dados. É necessário definir para este campo a Máscara nos parâmetros de Integração Fiscal.

 

 

Fórmula Visual

Para sincronizar o cadastro será necessário importar a fórmula visual que encontra-se disponível na pasta “Sugeridos”, interna à pasta “_ImpExp” no ambiente instalado do sistema (“../CorporeRM/_ImpExp/Sugeridos”). Ao importar a fórmula visual deverá ser marcado para cada fórmula o parâmetro “Importar Gatilho” na rotina de Importação de Fórmula Visual.

Caso o cliente deseje integrar somente os produtos disponíveis para venda no PDV (que possuam Tributação ECF cadastrada) o mesmo deve somente alterar as fórmulas visuais adicionando a condicional de que o campo "TRIBUTACAOECF" seja diferente de vazio ou nulo. Exemplo de expressão condicional: !string.IsNullOrEmpty(this.Fields["TRIBUTACAOECF"].AsString) .

Visando facilitar a sincronização das bases de dados RM e PDV foi desenvolvida uma atividade de fórmula visual que se responsabiliza por, a partir de alguns parâmetros, obter os dados necessários e solicitar o envio da Mensagem Única TOTVS Item_3.004.

Basicamente é necessário informar a esta atividade somente a lista de chaves dos registros que se deseja integrar, qual a Mensagem Única a enviar e qual o objeto de negócio (DataServer) responsável por retornar as informações do registro. A partir destas informações a atividade se responsabiliza pela leitura, transformação e envio dos dados ao sistema de destino, oferecendo como retorno o Log de integração.

Todas as mensagens trafegadas também constarão no monitor da fila de integração, para posterior conferência.

Listagem de Fórmula Visual:

 RotinaOperaçãoFórmula Visual

Cadastro

Produto
Inclusão / Alteração / Exclusão
02_PDV_Produto.TotvsWF
Produto
Carga inicial

02.Sincronização de Produto.TotvsWF


Tabelas Utilizadas

  • TPRODUTO - Produtos Globais.
  • TPRODUTODEF - Dados dos Produtos Globais por Coligada
  • TPRDLOCINFO - Informações do Estoque
  • TPRDFIL - Filiais de Um Produto
  • TPRDCODIGO - Código Genérico de Produtos
  • TUND - Unidades de Medida
  • TTRIBUTACAOECF - Tributação ECF


Entidades de Integração

  • DataServer envolvido
    • EstPrdDataBR
  • Transformação
    • Id: Item
    • Versão: 3.004
  • Fluxo da mensagem
    • Saída
  • Tipo de Envio:
    • Síncrono.
  • Extension: 27490bfc-3d18-4e49-9eeb-b94e483baf01

 

Fluxo do Processo

 Diagrama de Atividades

Fluxo de trabalho da atividade de fórmula visual 'MovProdutoIntegradoProtheus' utilizada no sincronismo:


 

Mapeamento dos Campos

  • Mensagem Item 3.004

Mensagem Padrão

Descrição

RM

Tabela

Campo

Observação

CompanyId

Código da coligada

TPRODUTO

CODCOLIGADA

Código da Coligada é obtido a partir do De-Para de Filial.

BranchId

Código da filial

-

-

CompanyInternalId

InternalId da filial

 

 

Code

Código do Item

TPRODUTO

CODIGOPRD

Valor texto tamanho 30

InternalId

Chave primária do registro

TPRODUTO

CODCOLIGADA|IDPRD

 

Name

Nome do Produto

TPRODUTO

DESCRICAO

 

ShorName

Nome curto

TPRODUTO

NOMEFANTASIA

 

DetailDetalhes do item  Não utilizado nesta integração.

Active

Item Ativo? 

TPRODUTO

INATIVO

Quando TPRODUTO.INATIVO igual a 0 (zero) envia na tag o valor 1 - Ativo.

Quando TPRODUTO.INATIVO igual a 1 (um) envia na tag o valor 0 - Inativo.

StockGroupCode

Código Grupo Estoque

 

 

Não utilizado nesta integração.

StockGroupInternalId

InternalId da chave completa de Grupo de Estoque do produto

 

 

Não utilizado nesta integração.

StockGroupDescription

Descrição Grupo Estoque 

 

 

Não utilizado nesta integração.

UnitOfMeasureCode

Código Unidade Medida

TPRODUTODEF

CODUNDCONTROLE 

Valor texto tamanho 6

UnitOfMeasureInternalId

InternalId da chave completa de Unidade Medida do produto

TPRODUTODEF

CODUNDCONTROLE 

 

ObtainingType

Forma de Obtenção

  

Não utilizado pela linha RM

ComercialFamilyCode

Código Família Comercial

  

Não utilizado pela linha RM

ComercialFamilyInternalId

InternalId da chave completa de Família Comercial do produto

  

Não utilizado pela linha RM

ComercialFamilyDescription

Descrição Família Comercial

  

Não utilizado pela linha RM

DeployDate

Data Implantação 

TPRODUTO

DTCADASTRAMENTO

 

ReleaseDate 

Data Liberação

  

Não utilizado pela linha RM

StandardWarehouseCode

Código Depósito Padrão

  

Não utilizado pela linha RM

StandardWarehouseInternalId

InternalId da chave completa de Depósito Padrão do produto

  

Não utilizado pela linha RM

StandardWarehouseDescription

Descrição Depósito Padrão

  

Não utilizado pela linha RM

MultipleLot

Lote Múltiplo

  

Não utilizado pela linha RM

EconomicLot

Lote Econômico 

 

 

Não utilizado pela linha RM

MinimumLot

Lote Mínimo

  

Não utilizado pela linha RM

QualityControl 

Controla Qualidade

  

Não utilizado pela linha RM

ControlType

Tipo Controle

TPRDFIL

CONSIGNADO

Será considerada somente a informação da primeira filial, uma vez que ao incluir um produto são criados registros para todas as filiais ativas. São utilizados os campos em negrito.

 Fixo 1 – Físico

Fixo 2 – Total

Fixo 3 – Consignado

Fixo 4 – Débito Direto

Fixo 5 – Não Definido

TrailSe controla estoque por LoteTPRODUTOCONTROLADOPORLOTE

O valor do campo segue a lógica abaixo:

Marcado = Valor 'L' (Controlado por Lote)

Desmarcado = Valor 'N' (Não utiliza rastro)

BinControl

Se controla estoque por Nº de Série

TPRODUTO

USANUMSERIE

O valor do campo segue a lógica abaixo:

Marcado = Valor 'true' (Controla Nº de Série)

Desmarcado = Valor 'false' (Não controla Nº de Série)

FractionalQuantity

Quantidade Fracionada

  

Não utilizado pela linha RM

NetWeight 

Peso Líquido 

TPRODUTO

PESOLIQUIDO

 

GrossWeight 

Peso Bruto

TPRODUTO

PESOBRUTO

 

FamilyCode

Código Família 

  

Não utilizado pela linha RM

FamilyInternalId

InternalId da chave completa de Família do produto 

  

Não utilizado pela linha RM

FamilyDescription

Descrição Família

  

Não utilizado pela linha RM

FamilyClassificationCodeClassificaçãio da Família de Materiais  Não utilizado pela linha RM

FormulaType

Tipo Fórmula

  

Não utilizado pela linha RM

PerMillion

Valor Per PPM

  

Não utilizado pela linha RM

IsScrapStockControl 

Controla Estoque Refugo

  

Não utilizado pela linha RM

IsScrapFiscalPrice

Refugo ao Preço Fiscal

  

Não utilizado pela linha RM

ScrapItemCode

Código Item Refugo

  

Não utilizado pela linha RM

ScrapItemInternalId

InternalId da chave completa de Item Refugo do produto 

  

Não utilizado pela linha RM

ScrapItemQuantity

Quantidade Item Refugo

  

Não utilizado pela linha RM

Origin

Origem da mercadoria

TPRODUTO

REFERENCIACP

Fixo 0 – Nacional

Fixo 1 - Estrangeira - Importação direta

Fixo 2 - Estrangeira - Adquirida no mercado externo

FiscalInformation   Ver FiscalInformationType
ListOfCustomerItemInformation   Ver CustomerItemInformation \ CustomerItemInformationType

CostCenterCode

Código do Centro de Custo

  

Não utilizado pela linha RM

CostCenterInternalId

InternalId do CostCenterCode

  

Não utilizado pela linha RM

GroupCode

   

Não utilizado pela linha RM

GroupInternalId

InternalId do GroupCode

  

Não utilizado pela linha RM

GroupName

   

Não utilizado pela linha RM

SecondUnitOfMeasureCode

Segunda Unidade de Medida Utilizada para converter a quantidade para uma segunda unidade

TPRODUTODEFCODUNDCOMPRA

 

SecondUnitOfMeasureInternalId

InternalId do SecondUnitOfMeasureCode 

TPRODUTODEFCODUNDCOMPRA

 

MultiplicationFactorValue

Fator multiplicador da conversão para a segunda unidade de medida

  

Não utilizado pela linha RM

Values   Ver Values \ ValuesType

ProductType

Tipo de produto

TPRODUTO

TIPO

Fixo 01 – Ativo Imobilizado

Fixo 02 – Beneficiamento

Fixo 03 – Embalagem

Fixo 04 – Gastos Gerais

Fixo 05 – Material de Consumo

Fixo 06 – Mercadoria: enviado quando Tipo Produto = Produto

Fixo 07 – Mão-De-Obra: enviado quando Tipo Produto = Serviço

Fixo 08 – Matéria-Prima

Fixo 09 – Outros Insumos

Fixo 10 – Produto Acabado

Fixo 11 – Produto Intermediario

Fixo 12 – Produto em Processo

Fixo 13 – Produto Veiculo

Fixo 14 – Selo de Controle

Fixo 15 – SubProduto

TrailRastro por lote ou Sublote, sem rastro  Não utilizado nesta integração.
GovernmentCodeCódigo Item  Não utilizado nesta integração.
BinControlCampo que identifica se o produto possui localização(Endereço/Numero de Serie)   
ItemTypeCodeCódigo do Tipo de ProdutoTPRODUTOCODTB1FATNão utilizado nesta integração.
ItemTypeInternalIdInternalId da chave completa do Tipo de ProdutoTPRODUTOCODCOLIGADA|CODTB1FATNão utilizado nesta integração.
ListOfGenericPricesLista de Preços do Produto  Ver ListOfGenericPricesType
ListOfBarCodeLista de Códigos de Barra  Ver ListOfBarCodeType
FiscalInformationTypeInformações fiscais do Item  Ver FiscalInformation \FiscalClassificationType
CustomerItemInformationTypeAmarração Cliente X Item  Ver ListOfCustomerItemInformation \ CustomerItemInformation

FiscalInformation \ FiscalClassificationType

Este campos não estão sendo enviados pelo RM pelos seguintes motivos:

    • BranchId - Filial: na inclusão de um novo Produto no RM é gerado na tabela TPRDFIL um registro para cada Filial ativa. Desta forma seria necessário a utilização de uma outra mensagem.

    • FiscalInformation: no RM temos Dados Fiscais do Produto e Dados Fiscais por UF. Nestes dois cadastros não temos o campo Descrição.

FiscalClassificationCode

Código Classificação Fiscal 

TPRODUTONCM

 

FiscalClassificationInternalId

InternalId do FiscalClassificationCode

  

Não enviado pelo RM

FiscalClassificationDescription

Descrição Classificação Fiscal

  

Não enviado pelo RM

ListOfCustomerItemInformation \ CustomerItemInformation

Não utilizados nesta integração

CustomerCode

Código do cliente

 

 

Não utilizados nesta integração

CustomerInternalId

InternalId do CustomerCode 

  Não utilizados nesta integração

CustomerItemCode

Código do Item X Cliente

  Não utilizados nesta integração

CustomerItemInternalId

InternalId do CustomerItemCode

  Não utilizados nesta integração

Values \ ValuesType

CostPrice

Preço de Custo

TPRODUTODEF

PRECO1

Os demais campos de Preço do produto são enviados na tag ListOfGenericPrices 

SalesPrice

Preço de Venda

TPRODUTODEF

PRECO2

Os demais campos de Preço do produto são enviados na tag ListOfGenericPrices 

AverageCostPrice

Preço Médio de Custo

TPRODUTODEF

CUSTOMEDIO

 

StandardCostPrice

Preço Padrão 

TPRODUTODEF

CUSTOUNITARIO

 

BaseDate

Data Base do Calculo dos preços

TPRODUTODEF

DATABASEPRECO1

Os demais campos de Data-Base do Preço do produto são enviados na tag ListOfGenericPrices

PackingQuantityQuantidade na Embalagem  Não utilizados nesta integração
AccountantAccountCodeCódigo da Conta Contábil  Não utilizados nesta integração
AllowsPurchasePermite Comprar do Item  Não utilizados nesta integração
IsStorableItem é Estocável (true) ou Aplicação direta (false) ?  Não utilizados nesta integração
LastUpdateItemData Última atualização do Item  Não utilizados nesta integração
LastPurchaseItemData Última Compra do Item  Não utilizados nesta integração
GenericPrices \ GenericPricesTypePreços   
PriceIdIdentificador do preço 

 

No RM pode ser de 1 a 5
CurrencyInternalIdCódigo da Moeda no PreçoTPRODUTODEF

CODMOEPRECO1
CODMOEPRECO2
CODMOEPRECO3
CODMOEPRECO4
CODMOEPRECO5

 
BaseDatePriceData-base de PreçoTPRODUTODEFDATABASEPRECO1
DATABASEPRECO2
DATABASEPRECO3
DATABASEPRECO4
DATABASEPRECO5
 
PricePreçoTPRODUTODEFPRECO1
PRECO2
PRECO3
PRECO4
PRECO5
 
BarCode \ BarCodeTypeCódigos de Barra   
CodeCódigo de Barras do ProdutoTPRDCODIGOCODIGO 
InternalIdInternalId do Código de BarrasTPRDCODIGOCODCOLIGADA|TIPO|CODIGO 
UnifOfMeasureInternalIdUnidade do Código do ProdutoTPRDCODIGOCODUND 
ItemQuantityQuantidade do ProdutoTUNDFATORCONVERSAOTratado via extension. Busca-se o fator de conversão da unidade informada para o Códigos de barra.
ECFTaxingTributação de Cupom Fiscal   
CodeCódigo da Tributação ECFTPRODUTOTRIBUTACAOECF 
TypeTipo da Tributação ECFTTRIBUTACAOECFTIPO

Informação buscada via extension quando existir Tributação Cupom Fiscal informada para o Produto, respeitando o seguinte de-para de valores:

Fixo 1 - Tributado: enviado quando Tipo = 0

Fixo 2 - Isento: enviado quando Tipo = 1

Fixo 3 - Substituição Tributaria: enviado quando Tipo = 2

Fixo 4 - Não tributado: enviado quando Tipo = 3

Fixo 5 - Outros.

AliquotAlíquota da Tributação ECFTTRIBUTACAOECFALIQUOTAInformação buscada via extension quando existir Tributação Cupom Fiscal informada para o Produto.
  • Somente os campos marcados em negrito são tratados no Adapter, sendo os demais não enviados na mensagem.

 

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.