select distinct
    coalesce( E.id,0) AS EMPRESA_CODIGO,
    substring(a.cfop_codigo from 1 for 1)||'.'||substring(a.cfop_codigo from 2 for 20) as cfop_codigo,
    1 imp,
    A.*
FROM(
    SELECT
    --F.id,
    a.cod_filial         ESTABELECIMENTO_CODIGO,
    f.numero_nota        NUMERO_NOTAFISCAL,
    cast(f.serie as integer) SERIE,
    --             EMPRESA_CODIGO,
    1                    NATUREZA,
    f.nota               CONTROLE,
    FN_DATA(f.data)      DATA_SAIDA,
    2                    SITUACAO,
    FN_DATA(f.data)      DATA_EMISSAO,
    FN_HORA(f.data_hora) HORA_SAIDA,
    FN_CHAVE_XML('dest.xNome',D.conteudo)        EMPRESA_RAZAOSOCIAL,
    FN_REMOVER(coalesce(FN_CHAVE_XML('dest.CPF',D.conteudo), FN_CHAVE_XML('dest.CNPJ',D.conteudo)))   EMPRESA_CNPJ,
    substring(FN_REMOVER(f.ie_ig) FROM 1 FOR 20) EMPRESA_IE,

    --substring((select first 1 skip 0 osplit from split(v.logradouro,',')) FROM 1 FOR 20) EMPRESA_ENDERECO,
    --substring((select first 1 skip 1 osplit from split(v.logradouro,',')) FROM 1 FOR 20) EMPRESA_NUMERO,
    --substring(v.bairro FROM 1 FOR 20) EMPRESA_BAIRRO,
    --v.cidade             EMPRESA_CIDADE,
    --v.estado             EMPRESA_UF,
    --substring(FN_REMOVER(v.cep) FROM 1 FOR 8) EMPRESA_CEP,

    substring(FN_CHAVE_XML('enderDest.xLgr',D.conteudo) FROM 1 FOR 20) AS EMPRESA_ENDERECO,
    substring(FN_CHAVE_XML('enderDest.nro',D.conteudo) FROM 1 FOR 20) AS EMPRESA_NUMERO,
    substring(FN_CHAVE_XML('enderDest.xBairro',D.conteudo) FROM 1 FOR 20) AS EMPRESA_BAIRRO,
    FN_CHAVE_XML('enderDest.xMun',D.conteudo) AS EMPRESA_CIDADE,
    FN_CHAVE_XML('enderDest.UF',D.conteudo) AS EMPRESA_UF,
    FN_CHAVE_XML('enderDest.CEP',D.conteudo) AS EMPRESA_CEP,

    0               REPRESENTANTE_CODIGO,
    FN_CHAVE_XML('prod.CFOP',D.conteudo)  CFOP_CODIGO,
    ''               CFOP_DESCRICAO,
    ''                   CFOP_OPCIONAL,
    '1'                  STATUSEXCLUSAO,
    5                    USUARIO_CODIGO,
    FN_DATA(f.data)      USUARIO_DATA,
    0                    REPRESENTANTE_COMISSAO,
    '0'                  ACUMULA_ITEM,
    ''                   SUFRAMA,
    FN_CHAVE_XML('chNFe',D.conteudo)                 CHAVE_ACESSO,
    '1'                  TIPO,
    '00'                 XML,
    '1'                  DANFE,
    0              PAGAMENTO,
    f.idrecibo           RECIBO,
    f.idprotocolo        PROTOCOLO,
    NULL                 PROTOCOLO_CANCELAMENTO,
    NULL                 MOTIVO_CANCELAMENTO,
    NULL                 UF_EMBARQUE,
    NULL                 LOCAL_EMBARQUE,
    '0'                  NFP,
    NULL                 LOTE,
    NULL                 EMAIL,
    '55'                 MODELO,
    '55'                 ESPECIE,
    NULL                 FORMULARIO_INICIAL,
    NULL                 FORMULARIO_FINAL,
    '1'                  SPED,
    FN_CHAVE_XML('prod.CFOP',D.conteudo)  FISCAL_CFOP_CODIGO,
    0                    VENDEDOR_ID,
    0                    VENDEDOR_COMISSAO,
    '1'                  SPED_PISCOF,
    '1'                  TIPO_DOC,
    NULL                 OCULTA_GRADE,
    0                    FLAG,
    0                    FLAG_SIT,
    NULL                 HORA_EMISSAO,
    NULL                 ID_ESTRANGEIRO,
    NULL                 IND_FINAL,
    NULL                 IND_PRESENCA,
    '0'                  SALESFORCE,
    NULL                 CONTABILIZACAO_ID,
    ''                   CLASSIFICACAO,
    '01'                 GC_WEB,
    NULL                 DATA_ATUALIZACAO,
    NULL                 PDV_CAIXA_ID,
    NULL                 NUMERO_DAE,
    NULL                 CONCILIACAO,
    NULL                 DATA_COMPETENCIA
    
    --,'*************' as AAA,
    --I.*
    
    --,D.*
    
    from nf f
    left join FILIAIS a on a.filial = f.filial
    --left join V_ENDERECOS_NOTA v on v.cod_endereco = f.cod_endereco
    LEFT JOIN DOCUMENTOS D ON D.nota = F.nota AND D.conteudo IS NOT NULL AND D.idnota = F.id
    
    where f.cancelada = 'F'
    and f.tipo_operacao = 'S'
    --and f.numero_nota = '23996'
    and f.status = '100'
    and f.tipo_gerador_ig = 'C'
    and f.data between '01.01.2020' and  '31.12.2020'
    --and f.serie = '1'
) A
LEFT JOIN CLIENTES E ON E.cnpj2 = A.EMPRESA_CNPJ

