diegobueno Postado 16 de Janeiro de 2014 Tópicos Que Criei: 12 Tópicos/Dia: 0.00 Meu Conteúdo: 39 Conteúdo/Dia: 0.01 Reputação: 2 Pontos/Conquistas: 327 Conteúdo Resolvido: 0 Dias Ganho: 1 Status: Offline Denunciar Compartilhar Postado 16 de Janeiro de 2014 Pessoal, nao sei se vai ser de utilidade, mas coloco aqui uma consulta que pega, pelo numero do movimento (TMOV.NUMEROMOV) todos os itens dele e valida o codigo EAN, espero que ajude, caso a NFe seja rejeitada por codigo EAN invalido. SELECT --TITMMOV.IDMOV, --TMOV.NUMEROMOV, --TMOV.DATAEMISSAO, --TITMMOV.IDPRD, TPRODUTO.CODIGOPRD, TPRODUTO.NOMEFANTASIA, TPRDCODIGO.CODIGO, --VALIDAÇÃO DO CÓDIGO DE BARRAS DIGITO_CADASTRADO=RIGHT(TPRDCODIGO.CODIGO,1), DIGITO_CERTO= 10-(RIGHT(CAST(SUBSTRING(TPRDCODIGO.CODIGO,1,1) AS INT)+(CAST(SUBSTRING(TPRDCODIGO.CODIGO,2,1) AS INT)*3)+CAST(SUBSTRING(TPRDCODIGO.CODIGO,3,1) AS INT)+(CAST(SUBSTRING(TPRDCODIGO.CODIGO,4,1) AS INT)*3)+CAST(SUBSTRING(TPRDCODIGO.CODIGO,5,1) AS INT)+(CAST(SUBSTRING(TPRDCODIGO.CODIGO,6,1) AS INT)*3)+CAST(SUBSTRING(TPRDCODIGO.CODIGO,7,1) AS INT)+(CAST(SUBSTRING(TPRDCODIGO.CODIGO,8,1) AS INT)*3)+CAST(SUBSTRING(TPRDCODIGO.CODIGO,9,1) AS INT)+(CAST(SUBSTRING(TPRDCODIGO.CODIGO,10,1) AS INT)*3)+CAST(SUBSTRING(TPRDCODIGO.CODIGO,11,1) AS INT)+(CAST(SUBSTRING(TPRDCODIGO.CODIGO,12,1) AS INT)*3),1)), CASE WHEN RIGHT(TPRDCODIGO.CODIGO,1) <> (10-(RIGHT(CAST(SUBSTRING(TPRDCODIGO.CODIGO,1,1) AS INT)+(CAST(SUBSTRING(TPRDCODIGO.CODIGO,2,1) AS INT)*3)+CAST(SUBSTRING(TPRDCODIGO.CODIGO,3,1) AS INT)+(CAST(SUBSTRING(TPRDCODIGO.CODIGO,4,1) AS INT)*3)+CAST(SUBSTRING(TPRDCODIGO.CODIGO,5,1) AS INT)+(CAST(SUBSTRING(TPRDCODIGO.CODIGO,6,1) AS INT)*3)+CAST(SUBSTRING(TPRDCODIGO.CODIGO,7,1) AS INT)+(CAST(SUBSTRING(TPRDCODIGO.CODIGO,8,1) AS INT)*3)+CAST(SUBSTRING(TPRDCODIGO.CODIGO,9,1) AS INT)+(CAST(SUBSTRING(TPRDCODIGO.CODIGO,10,1) AS INT)*3)+CAST(SUBSTRING(TPRDCODIGO.CODIGO,11,1) AS INT)+(CAST(SUBSTRING(TPRDCODIGO.CODIGO,12,1) AS INT)*3),1))) THEN 'ERRADO' END SELECT --TITMMOV.IDMOV, --TMOV.NUMEROMOV, --TMOV.DATAEMISSAO, --TITMMOV.IDPRD, TPRODUTO.CODIGOPRD, TPRODUTO.NOMEFANTASIA, TPRDCODIGO.CODIGO, --VALIDAÇÃO DO CÓDIGO DE BARRAS DIGITO_CADASTRADO=RIGHT(TPRDCODIGO.CODIGO,1), DIGITO_CERTO= 10-(RIGHT(CAST(SUBSTRING(TPRDCODIGO.CODIGO,1,1) AS INT)+(CAST(SUBSTRING(TPRDCODIGO.CODIGO,2,1) AS INT)*3)+CAST(SUBSTRING(TPRDCODIGO.CODIGO,3,1) AS INT)+(CAST(SUBSTRING(TPRDCODIGO.CODIGO,4,1) AS INT)*3)+CAST(SUBSTRING(TPRDCODIGO.CODIGO,5,1) AS INT)+(CAST(SUBSTRING(TPRDCODIGO.CODIGO,6,1) AS INT)*3)+CAST(SUBSTRING(TPRDCODIGO.CODIGO,7,1) AS INT)+(CAST(SUBSTRING(TPRDCODIGO.CODIGO,8,1) AS INT)*3)+CAST(SUBSTRING(TPRDCODIGO.CODIGO,9,1) AS INT)+(CAST(SUBSTRING(TPRDCODIGO.CODIGO,10,1) AS INT)*3)+CAST(SUBSTRING(TPRDCODIGO.CODIGO,11,1) AS INT)+(CAST(SUBSTRING(TPRDCODIGO.CODIGO,12,1) AS INT)*3),1)), CASE WHEN RIGHT(TPRDCODIGO.CODIGO,1) <> (10-(RIGHT(CAST(SUBSTRING(TPRDCODIGO.CODIGO,1,1) AS INT)+(CAST(SUBSTRING(TPRDCODIGO.CODIGO,2,1) AS INT)*3)+CAST(SUBSTRING(TPRDCODIGO.CODIGO,3,1) AS INT)+(CAST(SUBSTRING(TPRDCODIGO.CODIGO,4,1) AS INT)*3)+CAST(SUBSTRING(TPRDCODIGO.CODIGO,5,1) AS INT)+(CAST(SUBSTRING(TPRDCODIGO.CODIGO,6,1) AS INT)*3)+CAST(SUBSTRING(TPRDCODIGO.CODIGO,7,1) AS INT)+(CAST(SUBSTRING(TPRDCODIGO.CODIGO,8,1) AS INT)*3)+CAST(SUBSTRING(TPRDCODIGO.CODIGO,9,1) AS INT)+(CAST(SUBSTRING(TPRDCODIGO.CODIGO,10,1) AS INT)*3)+CAST(SUBSTRING(TPRDCODIGO.CODIGO,11,1) AS INT)+(CAST(SUBSTRING(TPRDCODIGO.CODIGO,12,1) AS INT)*3),1))) THEN 'ERRADO' END FROM TMOV INNER JOIN TITMMOV ON TITMMOV.IDMOV = TMOV.IDMOV INNER JOIN TPRODUTO ON TPRODUTO.IDPRD = TITMMOV.IDPRD LEFT JOIN TPRDCODIGO ON TPRDCODIGO.IDPRD = TPRODUTO.IDPRD WHERE TMOV.NUMEROMOV='000096906' FROM TMOV INNER JOIN TITMMOV ON TITMMOV.IDMOV = TMOV.IDMOV INNER JOIN TPRODUTO ON TPRODUTO.IDPRD = TITMMOV.IDPRD LEFT JOIN TPRDCODIGO ON TPRDCODIGO.IDPRD = TPRODUTO.IDPRD WHERE TMOV.NUMEROMOV='000096906' Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
yuri.menon Postado 16 de Janeiro de 2014 Tópicos Que Criei: 29 Tópicos/Dia: 0.01 Meu Conteúdo: 133 Conteúdo/Dia: 0.03 Reputação: 5 Pontos/Conquistas: 979 Conteúdo Resolvido: 0 Dias Ganho: 3 Status: Offline Idade: 34 Denunciar Compartilhar Postado 16 de Janeiro de 2014 Isso aí cara! Mais coisa pra ficar indexada no Google. Valeu! O ForumRM é eterno... esse seu conteúdo sempre estará aqui e no Google Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
Participe da conversa
Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.