Página 1 de 1

Alteração na stored procedure nfe

Enviado: 01 Jul 2025 19:25
por JoséQuintas
tava assim

Código: Selecionar todos

   IF LENGTH( ze_SoNumero( cAnp ) ) <> 0 THEN

      SET cThisXml := CONCAT(
         '<comb>',
         ze_XmlTag( "cProdANP", cAnp ),
         ze_XmlTag( "descANP", cAnpNome ),
         ze_XmlTag( "UFCons", cUF ),
         IF( cAnp IN ( '420102004', '420102005', '420105001', '420201001',
            '820101001', '820101012', '820101013', '820101033', '820101034' ),
            ze_XmlTag( "pBio", IF( dData < '2025-03-01', "14.00", "15.00" ) ), '' ),
         '</comb>' );
agora tá ssim

Código: Selecionar todos

   IF LENGTH( ze_SoNumero( cAnp ) ) <> 0 THEN

      IF cAnp IN ( '420102004', '420102005', '420105001', '420201001',
            '820101001', '820101012', '820101013', '820101033', '820101034' ) THEN
         SET pBio := 15.00;
      END IF;
      SET cThisXml := CONCAT(
         '<comb>',
         ze_XmlTag( "cProdANP", cAnp ),
         ze_XmlTag( "descANP", cAnpNome ),
         ze_XmlTag( "UFCons", cUF ),
         IF( pBio <> 0, ze_XmlTag( "pBio", pBio ), '' ),
         '</comb>' );
Porque ?
O fonte é para o programador, pra mim.
Pra mim assim tá mais fácil de mexer.

Tem aquilo de mudar em determinada data, que pode alterar de novo, e deve entrar agora gasolina, que não é biodiesel, e mistura com álcool, talvez tenha outra coisa pra informar.
Deixando fácil agora, pra ficar mais fácil depois.

Lembrando:
O fonte fica na base de dados, é STORED PROCEDURE, nem passa pelo harbour, e é executado pelo servidor.
MySQL não tem debug, e em caso de erro em run-time pode ficar complicado identificar aonde foi o erro.
Nessas horas, quanto menor e mais fácil o fonte será melhor.

O aplicativo nem sabe que isso existe....

Alteração na stored procedure nfe

Enviado: 02 Jul 2025 16:07
por JoséQuintas
Não pensei que ia ser tão rápido.

Alteraçào da rotina.

Esse percentual de biodiesel OBRIGATORIAMENTE precisa sair no DANFE.
Em produtos e em informações adicionais. aff