insert into tbnfs_item (
NFS_CONTROLE,
SEQUENCIA,
OPERACAO_CODIGO,
CFOP_CODIGO,
PRODUTO_CODIGO,
PRODUTO_DESCRICAO,
GRADE_CODIGO,
NCM_CODIGO,
TRIBUTACAO_ICMS,
TRIBUTACAO_IPI,
TRIBUTACAO_ORIGEM,
LOCALIZACAO_CODIGO,
QUANTIDADE,
VALOR_UNITARIO,
VALOR_TOTAL,
BASECALCULO_ICMS,
PERCENTUAL_ICMS,
PERCENTUAL_IPI,
VALOR_IPI,
PERCENTUAL_PIS,
VALOR_PIS,
PERCENTUAL_COFINS,
VALOR_COFINS,
NFE,
NFE_ITEM_CONTROLE,
NF_EXTERNO,
NF_EXTERNO_ITEM_CONTROLE,
PEDIDO,
PEDIDO_ITEM_CONTROLE,
PEDIDO_ITEM_PE_CONTROLE,
PEDIDO_PROC_ITEM_CONTROLE,
T01,
T02,
T03,
T04,
T05,
T06,
T07,
T08,
T09,
T10,
T11,
T12,
T13,
T14,
T15,
T16,
T17,
T18,
T19,
T20,
ESTABELECIMENTO_CODIGO,
EMPRESA_CODIGO,
NUMERO_NOTAFISCAL,
DATA_EMISSAO,
SITUACAO,
CONTROLE,
VALOR_CUSTO,
TECELAGEM,
TRIBUTACAO_PIS,
TRIBUTACAO_COFINS,
VALOR_ICMS,
BASECALCULO_IPI,
BASECALCULO_PIS,
BASECALCULO_COFINS,
VALOR_ACRESCIMO,
VALOR_DESCONTO,
FISCAL_ISENTAS_IPI,
FISCAL_ISENTAS_ICMS,
FISCAL_OUTRAS_IPI,
FISCAL_OUTRAS_ICMS,
FISCAL_VALOR_ICMS,
FISCAL_VALOR_IPI,
FISCAL_VALOR_PIS,
FISCAL_VALOR_COFINS,
FISCAL_PERCENTUAL_ICMS,
FISCAL_PERCENTUAL_IPI,
FISCAL_PERCENTUAL_PIS,
FISCAL_PERCENTUAL_COFINS,
FISCAL_BASECALCULO_ICMS,
FISCAL_BASECALCULO_IPI,
FISCAL_BASECALCULO_PIS,
FISCAL_BASECALCULO_COFINS,
FISCAL_TRIBUTACAO_ORIGEM,
FISCAL_TRIBUTACAO_ICMS,
FISCAL_TRIBUTACAO_IPI,
FISCAL_TRIBUTACAO_PIS,
FISCAL_TRIBUTACAO_COFINS,
FISCAL_CFOP_CODIGO,
VALOR_CONTABIL,
DESCONTO_BASECALCULO_ICMS,
VALOR_BASECALCULO_ICMS,
MODALIDADE_ICMS,
MODALIDADE_ICMS_ST,
MARGEM_ICMS_ST,
REDUCAO_ICMS_ST,
BASECALCULO_ICMS_ST,
ALIQUOTA_ICMS_ST,
VALOR_ICMS_ST,
PEDIDO_CLIENTE,
INFORMACOES_COMPLEMENTARES,
NF_CONSIGNACAO,
NF_CONSIGNACAO_ITEM,
FCI_MENSAGEM,
FCI_PARCELA_IMPORTACAO,
FCI_CONTEUDO_IMPORTACAO,
FCI_NUMERO,
VALOR_FRETE,
VALOR_SEGURO,
PESO_LIQUIDO,
PESO_BRUTO,
VOLUMES,
CUBAGEM,
FISCAL_REDUCAO_ICMS_ST,
FISCAL_BASECALCULO_ICMS_ST,
FISCAL_ALIQUOTA_ICMS_ST,
FISCAL_VALOR_ICMS_ST,
FLAG,
EXP_NUMERO_DRAWBACK,
EXP_NUMERO_RE,
EXP_CHAVE,
EXP_QUANTIDADE,
SALESFORCE,
CONTA_CONTABIL,
CCUSTO,
ENQUADRAMENTO_IPI,
VALOR_FRETE_RATEADO,
VBCUFDEST,
PFCPUFDEST,
PICMSUFDEST,
PICMSINTER,
VFCPUFDEST,
VICMSUFDEST,
VICMSUFREMET,
PICMSINTERPART,
QUANTIDADE_ALTERNATIVA,
VALOR_ALTERNATIVO,
CUSTO_FRETE_RATEADO,
MARGEM,
REDUCAO_BASE_PISCOF,
MARGEM_DATAHORA,
GC_WEB,
NF_SITUACAO,
NF_NATUREZA,
TIPO_DESCONTO,
PDV_CONFERENCIA_ITEM_ID,
PDV_CONFERENCIA_ID,
UM_ALTERNATIVA,
PRODUTO_UNIDADEMEDIDA,
VALOR_DESCONTO_ORIGINAL,
PERCENTUAL_SUFRAMA,
VALOR_SUFRAMA,
PERCENTUAL_ICMS_OPERACAO,
RATEIO_PARCELA_ZERADA,
COMANDA,
IMP
)
select
    *
from(
select

    d.controle NFS_CONTROLE,
    row_number() over(partition by d.controle order by f.produto_codigo) SEQUENCIA,
    'INF' as OPERACAO_CODIGO,
    d.cfop_codigo CFOP_CODIGO,
    p.codigo PRODUTO_CODIGO,
    p.descricao PRODUTO_DESCRICAO,
    p.grade_codigo as GRADE_CODIGO,
    p.ncm_codigo NCM_CODIGO,
    0 TRIBUTACAO_ICMS,
    51 TRIBUTACAO_IPI,
    0 TRIBUTACAO_ORIGEM,
    2 LOCALIZACAO_CODIGO,
    iif(LINHA_CORRENTE = 1,f.T01,
    iif(LINHA_CORRENTE = 2,f.T02,
    iif(LINHA_CORRENTE = 3,f.T03,
    iif(LINHA_CORRENTE = 4,f.T04,
    iif(LINHA_CORRENTE = 5,f.T05,
    iif(LINHA_CORRENTE = 6,f.T06,
    iif(LINHA_CORRENTE = 7,f.T07,
    iif(LINHA_CORRENTE = 8,f.T08,
    iif(LINHA_CORRENTE = 9,f.T09,
    iif(LINHA_CORRENTE =10,f.T10,0)))))))))) as QUANTIDADE,
    f.VALOR_UNITARIO,
    f.VALOR_UNITARIO *

    iif(LINHA_CORRENTE = 1,f.T01,
    iif(LINHA_CORRENTE = 2,f.T02,
    iif(LINHA_CORRENTE = 3,f.T03,
    iif(LINHA_CORRENTE = 4,f.T04,
    iif(LINHA_CORRENTE = 5,f.T05,
    iif(LINHA_CORRENTE = 6,f.T06,
    iif(LINHA_CORRENTE = 7,f.T07,
    iif(LINHA_CORRENTE = 8,f.T08,
    iif(LINHA_CORRENTE = 9,f.T09,
    iif(LINHA_CORRENTE =10,f.T10,0)))))))))) VALOR_TOTAL,

    100 BASECALCULO_ICMS,
    12 PERCENTUAL_ICMS,
    0 PERCENTUAL_IPI,
    f.VALOR_IPI,
    f.PERCENTUAL_PIS,
    f.VALOR_PIS,
    f.PERCENTUAL_COFINS,
    f.VALOR_COFINS,
    f.NFE,
    f.NFE_ITEM_CONTROLE,
    f.NF_EXTERNO,
    f.NF_EXTERNO_ITEM_CONTROLE,
    f.PEDIDO,
    f.PEDIDO_ITEM_CONTROLE,
    f.PEDIDO_ITEM_PE_CONTROLE,
    f.PEDIDO_PROC_ITEM_CONTROLE,
    iif(LINHA_CORRENTE = 1,f.T01,0) as T01,
    iif(LINHA_CORRENTE = 2,f.T02,0) as T02,
    iif(LINHA_CORRENTE = 3,f.T03,0) as T03,
    iif(LINHA_CORRENTE = 4,f.T04,0) as T04,
    iif(LINHA_CORRENTE = 5,f.T05,0) as T05,
    iif(LINHA_CORRENTE = 6,f.T06,0) as T06,
    iif(LINHA_CORRENTE = 7,f.T07,0) as T07,
    iif(LINHA_CORRENTE = 8,f.T08,0) as T08,
    iif(LINHA_CORRENTE = 9,f.T09,0) as T09,
    iif(LINHA_CORRENTE =10,f.T10,0) as T10,
    f.T11,
    f.T12,
    f.T13,
    f.T14,
    f.T15,
    f.T16,
    f.T17,
    f.T18,
    f.T19,
    f.T20,
    d.estabelecimento_codigo ESTABELECIMENTO_CODIGO,
    d.empresa_codigo EMPRESA_CODIGO,
    d.numero_notafiscal NUMERO_NOTAFISCAL,
    d.data_emissao DATA_EMISSAO,
    f.SITUACAO,
    f.CONTROLE,
    f.VALOR_CUSTO,
    f.TECELAGEM,
    49 TRIBUTACAO_PIS,
    49 TRIBUTACAO_COFINS,
    f.VALOR_ICMS,
    f.BASECALCULO_IPI,
    f.BASECALCULO_PIS,
    f.BASECALCULO_COFINS,
    f.VALOR_ACRESCIMO,
    f.VALOR_DESCONTO,
    f.FISCAL_ISENTAS_IPI,
    f.FISCAL_ISENTAS_ICMS,
    f.FISCAL_OUTRAS_IPI,
    f.FISCAL_OUTRAS_ICMS,
    f.FISCAL_VALOR_ICMS,
    f.FISCAL_VALOR_IPI,
    f.FISCAL_VALOR_PIS,
    f.FISCAL_VALOR_COFINS,
    18 FISCAL_PERCENTUAL_ICMS,
    f.FISCAL_PERCENTUAL_IPI,
    f.FISCAL_PERCENTUAL_PIS,
    f.FISCAL_PERCENTUAL_COFINS,
    100 FISCAL_BASECALCULO_ICMS,
    f.FISCAL_BASECALCULO_IPI,
    f.FISCAL_BASECALCULO_PIS,
    f.FISCAL_BASECALCULO_COFINS,
    0 FISCAL_TRIBUTACAO_ORIGEM,
    0 FISCAL_TRIBUTACAO_ICMS,
    51 FISCAL_TRIBUTACAO_IPI,
    19 FISCAL_TRIBUTACAO_PIS,
    19 FISCAL_TRIBUTACAO_COFINS,
    '5.151' FISCAL_CFOP_CODIGO,
    f.VALOR_CONTABIL,
    f.DESCONTO_BASECALCULO_ICMS,
    f.VALOR_BASECALCULO_ICMS,
    f.MODALIDADE_ICMS,
    f.MODALIDADE_ICMS_ST,
    f.MARGEM_ICMS_ST,
    f.REDUCAO_ICMS_ST,
    f.BASECALCULO_ICMS_ST,
    f.ALIQUOTA_ICMS_ST,
    f.VALOR_ICMS_ST,
    f.PEDIDO_CLIENTE,
    f.INFORMACOES_COMPLEMENTARES,
    f.NF_CONSIGNACAO,
    f.NF_CONSIGNACAO_ITEM,
    f.FCI_MENSAGEM,
    f.FCI_PARCELA_IMPORTACAO,
    f.FCI_CONTEUDO_IMPORTACAO,
    f.FCI_NUMERO,
    f.VALOR_FRETE,
    f.VALOR_SEGURO,
    f.PESO_LIQUIDO,
    f.PESO_BRUTO,
    f.VOLUMES,
    f.CUBAGEM,
    f.FISCAL_REDUCAO_ICMS_ST,
    f.FISCAL_BASECALCULO_ICMS_ST,
    f.FISCAL_ALIQUOTA_ICMS_ST,
    f.FISCAL_VALOR_ICMS_ST,
    f.FLAG,
    f.EXP_NUMERO_DRAWBACK,
    f.EXP_NUMERO_RE,
    f.EXP_CHAVE,
    f.EXP_QUANTIDADE,
    f.SALESFORCE,
    f.CONTA_CONTABIL,
    f.CCUSTO,
    f.ENQUADRAMENTO_IPI,
    f.VALOR_FRETE_RATEADO,
    f.VBCUFDEST,
    f.PFCPUFDEST,
    f.PICMSUFDEST,
    f.PICMSINTER,
    f.VFCPUFDEST,
    f.VICMSUFDEST,
    f.VICMSUFREMET,
    f.PICMSINTERPART,
    --f.TAMANHO,
    f.QUANTIDADE_ALTERNATIVA,
    f.VALOR_ALTERNATIVO,
    f.CUSTO_FRETE_RATEADO,
    f.MARGEM,
    f.REDUCAO_BASE_PISCOF,
    f.MARGEM_DATAHORA,
    1 GC_WEB,
    f.NF_SITUACAO,
    f.NF_NATUREZA,
    'C' TIPO_DESCONTO,
    f.PDV_CONFERENCIA_ITEM_ID,
    f.PDV_CONFERENCIA_ID,
    f.UM_ALTERNATIVA,
    p.unidademedida_sigla PRODUTO_UNIDADEMEDIDA,
    f.VALOR_DESCONTO_ORIGINAL,
    --f.MARGEM_DESCONTO,
    f.PERCENTUAL_SUFRAMA,
    f.VALOR_SUFRAMA,
    f.PERCENTUAL_ICMS_OPERACAO,
    --f.PRIMEIRO_TAMANHO,
    f.RATEIO_PARCELA_ZERADA,
    f.COMANDA,
    --f.NOTAFISCAL,
    --f.MODELO_ID,
    --f.COR_ID,
    f.IMP

from TBNFS d,sp_gerar_linhas(10), TBNFS_ITEM_IMP f
left join tbproduto p on p.modelo_codigo = f.modelo_id and p.cor_codigo = f.cor_id + 100
where f.comanda = d.comanda
and d.comanda = 1700003317

order by f.produto_codigo
) where quantidade > 0

