Olá Galera estou aqui postando novamente sobre a Nfe o processo todo começa com a normalização do banco de dados com a inclusão dos codigos da uf e dos municipios o objetivo destes posts é extrair todos as informações do banco para poder extrair o XML este é o formato da data  da NFE. ops a  p_s_nfe_preenchenumero está no artigo Preenchendo digitos a esquerda ou a direita Nfe Firebird 3/3



CREATE PROCEDURE P_S_NFEFORMATADATA (
    data date)
returns (
    result varchar(12))
as
declare variable dia varchar(2);
declare variable mes varchar(2);
declare variable ano varchar(10);
begin

 dia = cast(extract(day from data)as varchar(2));
 mes = cast(extract(month from data)as varchar(2));
 ano = cast(extract(year from data)as varchar(10));

execute procedure p_s_nfe_preenchenumero(dia,2,'0','E')
returning_values :dia ;

execute procedure p_s_nfe_preenchenumero(mes,2,'0','E')
returning_values :mes ;

result  = ano||'-'||mes||'-'||dia;

  suspend;
end