LER XML NFE
Colega,
Você precisa ter uma tabela de equivalências, muito costumeiramente chamada de [Ô]tabela de->para[Ô].
Seria algo assim:
Tabela:tab_equivalencias
campos:
cod_produto (seu código de produto)
cod_fornecedor (codigo do fornecedor)
cod_prod_no_fornecedor (codigo do produto fornecedor especificado no campo anterior)
Assim, seu produto código 123 poderá ser o produto código 714 no Fornecedor A e código 85214 no Fornecedor B e código 4214 no Fornecedor C, etc.
Para saber qual o código do produto (interno) para o fornecedor A que tem codigo 10 com produto (lá no fornecedor) código 452 seria assim
select cod_produto from tab_equivalencias where (cod_fornecedor=10) and (cod_prod_no_fornecedor=452)
isto lhe daria qual o seu codigo interno equivalente no fornecedor (pesquisado)
O inverso também é possÃvel
select cod_prod_no_fornecedor frm tab_equivalencias where cod_produto=10 and cod_fornecedor=123
Assim você saberia qual o codigo do produto no fornecedor 123 para seu produto com condigo interno = 10
Tudo de bom.
Você precisa ter uma tabela de equivalências, muito costumeiramente chamada de [Ô]tabela de->para[Ô].
Seria algo assim:
Tabela:tab_equivalencias
campos:
cod_produto (seu código de produto)
cod_fornecedor (codigo do fornecedor)
cod_prod_no_fornecedor (codigo do produto fornecedor especificado no campo anterior)
Assim, seu produto código 123 poderá ser o produto código 714 no Fornecedor A e código 85214 no Fornecedor B e código 4214 no Fornecedor C, etc.
Para saber qual o código do produto (interno) para o fornecedor A que tem codigo 10 com produto (lá no fornecedor) código 452 seria assim
select cod_produto from tab_equivalencias where (cod_fornecedor=10) and (cod_prod_no_fornecedor=452)
isto lhe daria qual o seu codigo interno equivalente no fornecedor (pesquisado)
O inverso também é possÃvel
select cod_prod_no_fornecedor frm tab_equivalencias where cod_produto=10 and cod_fornecedor=123
Assim você saberia qual o codigo do produto no fornecedor 123 para seu produto com condigo interno = 10
Tudo de bom.
ZEUZEBIO3, Bacana sua explicação, mas neste caso se o fornecedor altera um produto no cadastro dele, e não te avisa ( isso com certeza vai ocorrer), a importação ficara errada, não seria ?, por isso pensei no EAN, que como ja disseram aqui, pode não constar na nfe, pois não é obrigatório.
Edson. No ramo de drogarias, é comum o fabricante de medicamentos e ate mesmo de perfumaria alterar o EAN de um mesmo produto (quando altera a embalagem).
Citação::
Edson. No ramo de drogarias, é comum o fabricante de medicamentos e ate mesmo de perfumaria alterar o EAN de um mesmo produto (quando altera a embalagem).
Exatamente o que eu ia falar.
Olá, Futura..
Só para clarear, caso eu tenha me expressao mal, me refiro ao código do produto, interno, sequencial, não o EAN.
Este código é inserido nas NFe/NFCe, por exemplo. Sempre que um cliente meu recebe uma NFe e a importa, eu verifico na tabela de correspondências se existe e lá e se positivo, já [Ô]conheço[Ô] o código, caso contrário o usuário pressiona F7 e faz o cadastro rápido do produto ainda não reconhecido e assim futuramente passará a ser [Ô]conhecido[Ô].
A troca de código do produto é praticamente nula. Até porque geralmente é chave primária. Trocar o código (do produto, não do EAN) seria o mesmo que perder o histórico de movimentações do mesmo.
Nos casos de troca de alteração da descrição, já que o código do produto não muda, o usuário (sempre o experto usuário) pode importar primeiro uma NFe mais recente para depois a mais antiga, se guardar a descrição no fornecedor também, então ficaria a descrição mais antiga e não a mais atual.
Eu guardo a descrição. Mas na tabela de equivalencias eu tenho outros campos, como a data de emissão da ultima NFe que deu origem à equivalencia. Se a data de emissão for maior que a data que conta lá nas equivalencias, então eu troco a descrição, caso contrário não.
Foi o mais próximo que pude chegar, sem ter acesso à s bases de dados, WebService ou WebAPI de fornecedores.
Tudo de bom.
Citação:ZEUZEBIO3, Bacana sua explicação, mas neste caso se o fornecedor altera um produto no cadastro dele, e não te avisa ( isso com certeza vai ocorrer), a importação ficara errada, não seria ?, por isso pensei no EAN, que como ja disseram aqui, pode não constar na nfe, pois não é obrigatório.
Só para clarear, caso eu tenha me expressao mal, me refiro ao código do produto, interno, sequencial, não o EAN.
Este código é inserido nas NFe/NFCe, por exemplo. Sempre que um cliente meu recebe uma NFe e a importa, eu verifico na tabela de correspondências se existe e lá e se positivo, já [Ô]conheço[Ô] o código, caso contrário o usuário pressiona F7 e faz o cadastro rápido do produto ainda não reconhecido e assim futuramente passará a ser [Ô]conhecido[Ô].
A troca de código do produto é praticamente nula. Até porque geralmente é chave primária. Trocar o código (do produto, não do EAN) seria o mesmo que perder o histórico de movimentações do mesmo.
Nos casos de troca de alteração da descrição, já que o código do produto não muda, o usuário (sempre o experto usuário) pode importar primeiro uma NFe mais recente para depois a mais antiga, se guardar a descrição no fornecedor também, então ficaria a descrição mais antiga e não a mais atual.
Eu guardo a descrição. Mas na tabela de equivalencias eu tenho outros campos, como a data de emissão da ultima NFe que deu origem à equivalencia. Se a data de emissão for maior que a data que conta lá nas equivalencias, então eu troco a descrição, caso contrário não.
Foi o mais próximo que pude chegar, sem ter acesso à s bases de dados, WebService ou WebAPI de fornecedores.
Tudo de bom.
Tópico encerrado , respostas não são mais permitidas