ATENÇÃO: Artigo para uso INTERNO CompuFour.

Field 'VLR_UNIT' not found (apenas versão 2018).


Sintomas

Ao enviar os arquivos do Bloco X ao Fisco é reportada a seguinte mensagem:

 

Solução

Para resolver a situação apresentada, é necessário criar um script de comandos com o seguinte código:

[C07X]
CREATE OR ALTER VIEW V_PAF_ARQZ_PROD(
    DESCRICAO,
    COD_BARRA,
    TIPO,
    NCM,
    CEST,
    QTD_ITEM,
    DESC_ITEM,
    ACRESC_ITEM,
    CANC_ITEM,
    UNI_MEDIDA,
    VLR_UNIT,
    ID_IFS,
    DT_CUPOM,
    COD_TOTALP)
AS
select
  (select first 1 descricao from sp_retorna_ult_desc_estoque(tei.id_estoque,tci.dt_item,tci.hr_item)) as descricao,
  tci.cod_barra as cod_barra,
  case when cast(tci.cod_barra as bigint) = tci.id_identif then 'PROPRIO' else 'GTIN' end as tipo,
  tep.COD_NCM,
  tep.COD_CEST,
  COALESCE(tci.qtd_item,0) as qtd_item,
  coalesce(tcid.vlr_desc,0) + coalesce((select DESC_RATEIO from sp_rateio_desconto_item(tci.id_itemcup)),0) as DESC_ITEM,
  0.0000 + coalesce((select ACRES_RATEIO from sp_rateio_acrescimo_item(tci.id_itemcup)),0) as ACRESC_ITEM,
  case when (tci.item_cancel = 'S') or (tbc.ind_cancel = 'S') then
      ((coalesce(vlr_unit,0)*
        coalesce(qtd_item,0))-
        coalesce(tcid.vlr_desc,0) -
        coalesce((select DESC_RATEIO from sp_rateio_desconto_item(tci.id_itemcup)),0) +
        coalesce((select ACRES_RATEIO from sp_rateio_acrescimo_item(tci.id_itemcup)),0)
       )
  else 0.0000 end as CANC_ITEM,
  tci.uni_medida as uni_medida,
  case when (tci.item_cancel = 'S') or (tbc.ind_cancel = 'S') then
    0.0000
  else
    ((coalesce(vlr_unit,0)*
      coalesce(qtd_item,0))-
      coalesce(tcid.vlr_desc,0) -
      coalesce((select DESC_RATEIO from sp_rateio_desconto_item(tci.id_itemcup)),0) +
      coalesce((select ACRES_RATEIO from sp_rateio_acrescimo_item(tci.id_itemcup)),0)
    ) end as vlr_total_liquido,
  tbc.id_ifs as id_ifs,
  tbc.dt_cupom as dt_cupom,
  tci.cod_totalp
from
  (select
     id_itemcup,
     dt_item,
     hr_item,
     cod_barra,
     id_identif,
     qtd_item,
     uni_medida,
     vlr_unit,
     id_cupom,
     cod_totalp,
     item_cancel
   from
     tb_cupom_item) tci
    inner join (select id_cupom, id_ifs, dt_cupom, ind_cancel from tb_cupom) tbc
      on tci.id_cupom = tbc.id_cupom
    inner join tb_est_identificador tei
      on tci.id_identif = tei.id_identificador
    inner join tb_est_produto tep
      on tei.id_identificador = tep.id_identificador
    left join (select id_itemcup, vlr_desc from tb_cupom_item_desc where canc_desc = 0) tcid
      on tci.id_itemcup = tcid.id_itemcup;;

[C07X]
CREATE OR ALTER VIEW V_PAF_ARQZ_SERV(
    DESCRICAO,
    COD_BARRA,
    TIPO,
    QTD_ITEM,
    DESC_ITEM,
    ACRESC_ITEM,
    CANC_ITEM,
    UNI_MEDIDA,
    VLR_UNIT,
    ID_IFS,
    DT_CUPOM,
    COD_TOTALP)
AS
select
  (select first 1 descricao from sp_retorna_ult_desc_estoque(tei.id_estoque,tci.dt_item,tci.hr_item)) as descricao,
  tci.cod_barra as cod_barra,
  case when cast(tci.cod_barra as bigint) = tci.id_identif then 'PROPRIO' else 'GTIN' end as tipo,
  COALESCE(tci.qtd_item,0) as qtd_item,
  coalesce(tcid.vlr_desc,0) + coalesce((select DESC_RATEIO from sp_rateio_desconto_item(tci.id_itemcup)),0) as DESC_ITEM,
  0.0000 + coalesce((select ACRES_RATEIO from sp_rateio_acrescimo_item(tci.id_itemcup)),0) as ACRESC_ITEM,
  case when (tci.item_cancel = 'S') or (tbc.ind_cancel = 'S') then
      ((coalesce(vlr_unit,0)*
        coalesce(qtd_item,0))-
        coalesce(tcid.vlr_desc,0) -
        coalesce((select DESC_RATEIO from sp_rateio_desconto_item(tci.id_itemcup)),0) +
        coalesce((select ACRES_RATEIO from sp_rateio_acrescimo_item(tci.id_itemcup)),0)
       )
  else 0.0000 end as CANC_ITEM,
  tci.uni_medida as uni_medida,
  case when (tci.item_cancel = 'S') or (tbc.ind_cancel = 'S') then
    0.0000
  else
    ((coalesce(vlr_unit,0)*
      coalesce(qtd_item,0))-
      coalesce(tcid.vlr_desc,0) -
      coalesce((select DESC_RATEIO from sp_rateio_desconto_item(tci.id_itemcup)),0) +
      coalesce((select ACRES_RATEIO from sp_rateio_acrescimo_item(tci.id_itemcup)),0)
    ) end as vlr_total_liquido,
  tbc.id_ifs as id_ifs,
  tbc.dt_cupom as dt_cupom,
  case tci.cod_totalp
       when 'FF' then 'F1'
       when 'II' then 'I1'
       when 'NN' then 'N1'
       when 'SF' then 'FS1'
       when 'SI' then 'IS1'
       when 'SN' then 'NS1'
       else tci.cod_totalp
  end as cod_totalp
from
  (select
     id_itemcup,
     dt_item,
     hr_item,
     cod_barra,
     id_identif,
     qtd_item,
     uni_medida,
     vlr_unit,
     id_cupom,
     cod_totalp,
     item_cancel
   from
     tb_cupom_item) tci
    inner join (select id_cupom, id_ifs, dt_cupom, ind_cancel from tb_cupom) tbc
      on tci.id_cupom = tbc.id_cupom
    inner join tb_est_identificador tei
      on tci.id_identif = tei.id_identificador
    inner join tb_est_servico tep
      on tei.id_identificador = tep.id_identificador
    left join (select id_itemcup, vlr_desc from tb_cupom_item_desc where canc_desc = 0) tcid
      on tci.id_itemcup = tcid.id_itemcup;;

 

ATENÇÃO: Artigo para uso INTERNO CompuFour.