-- View: public.view_ctb_livro_saida DROP VIEW public.view_ctb_livro_saida; CREATE OR REPLACE VIEW public.view_ctb_livro_saida AS SELECT nfs_nota_item.filial_nota, nfs_nota_item.nota, nfs_nota_item.serie, nfs_nota_fiscal.data_emissao, nfs_nota_fiscal.data_saida, nfs_nota_fiscal.cancelada, 'NF'::text AS especie, cli_endereco.uf, nfs_nota_item.cfop, upper(nfs_op_fiscal.descricao_cfop::text) AS descricao_cfop, nfs_nota_item.vlr_liq_rateio_desc_header + nfs_nota_item.vlr_frete + nfs_nota_item.vlr_icms_subst + nfs_nota_item.valor_ipi AS vlr_contabil, nfs_nota_item.tributo AS sit_trib_icms, sit_icms.tributada_isenta_outras AS operacao_icms, nfs_nota_item.base_icms, nfs_nota_item.perc_icms AS alq_icms, CASE WHEN nfs_op_fiscal.transferencia_icms::text = 'N'::text THEN nfs_nota_item.valor_icms ELSE 0.000000 END AS vlr_icms, nfs_nota_item.cst_pis, nfs_nota_item.base_pis, nfs_nota_item.aliquota_pis AS alq_pis, nfs_nota_item.valor_pis AS vlr_pis, nfs_nota_item.cst_cofins, nfs_nota_item.base_cofins, nfs_nota_item.aliquota_cofins AS alq_cofins, nfs_nota_item.valor_cofins AS vlr_cofins, CASE WHEN sit_icms.tributada_isenta_outras::text = 'T'::text THEN nfs_nota_item.base_icms ELSE 0.000000 END AS vlr_tributada_icms, CASE WHEN sit_icms.tributada_isenta_outras::text = 'I'::text THEN nfs_nota_item.vlr_liq_rateio_desc_header WHEN sit_icms.tributada_isenta_outras::text = 'T'::text AND nfs_nota_item.base_icms <> 0::numeric THEN nfs_nota_item.vlr_liq_rateio_desc_header - nfs_nota_item.base_icms ELSE 0.000000 END AS vlr_isenta_icms, CASE WHEN sit_icms.tributada_isenta_outras::text = 'T'::text AND (nfs_nota_item.vlr_frete > 0::numeric OR nfs_nota_item.vlr_icms_subst > 0::numeric) THEN nfs_nota_item.vlr_liq_rateio_desc_header - nfs_nota_item.base_icms + nfs_nota_item.vlr_frete + nfs_nota_item.vlr_icms_subst WHEN sit_icms.tributada_isenta_outras::text = 'T'::text AND nfs_nota_item.base_icms <> nfs_nota_item.vlr_liq_rateio_desc_header THEN 0::numeric WHEN sit_icms.tributada_isenta_outras::text = 'O'::text AND nfs_nota_item.vlr_icms_subst = 0::numeric AND nfs_nota_item.base_icms = 0::numeric THEN nfs_nota_item.vlr_liq_rateio_desc_header WHEN sit_icms.tributada_isenta_outras::text = 'O'::text AND nfs_nota_item.vlr_icms_subst > 0::numeric AND nfs_nota_item.base_icms = 0::numeric THEN nfs_nota_item.vlr_liq_rateio_desc_header + nfs_nota_item.vlr_icms_subst WHEN sit_icms.tributada_isenta_outras::text = 'O'::text AND nfs_nota_item.vlr_icms_subst = 0::numeric AND nfs_nota_item.base_icms <> 0::numeric THEN 0.000000 WHEN sit_icms.tributada_isenta_outras::text = 'O'::text AND nfs_nota_item.vlr_icms_subst > 0::numeric AND nfs_nota_item.base_icms <> 0::numeric THEN nfs_nota_item.vlr_icms_subst ELSE 0.000000 END AS vlr_outras_icms, CASE WHEN nfs_op_fiscal.transferencia_icms::text = 'N'::text THEN ''::character varying ELSE nfs_nota_fiscal.observacao2 END AS observ_icms, sit_ipi.codigo AS sit_trib_ipi, sit_ipi.tributada_isenta_outras AS operacao_ipi, CASE WHEN nfs_nota_item.valor_ipi > 0::numeric THEN nfs_nota_item.vlr_liq_rateio_desc_header ELSE 0.000000 END AS base_ipi, nfs_nota_item.perc_ipi AS alq_ipi, nfs_nota_item.valor_ipi AS vlr_ipi, CASE WHEN sit_ipi.tributada_isenta_outras::text = 'T'::text THEN nfs_nota_item.vlr_liq_rateio_desc_header ELSE 0.000000 END AS vlr_tributada_ipi, CASE WHEN sit_ipi.tributada_isenta_outras::text = 'I'::text THEN nfs_nota_item.vlr_liq_rateio_desc_header ELSE 0.000000 END AS vlr_isenta_ipi, CASE WHEN sit_ipi.tributada_isenta_outras::text = 'O'::text THEN nfs_nota_item.vlr_liq_rateio_desc_header ELSE 0.000000 END AS vlr_outras_ipi, ''::text AS observ_ipi, nfs_nota_item.vlr_desp_aces FROM nfs_nota_fiscal JOIN nfs_nota_item ON nfs_nota_item.filial_nota = nfs_nota_fiscal.filial_nota AND nfs_nota_item.nota = nfs_nota_fiscal.nota AND nfs_nota_item.serie::text = nfs_nota_fiscal.serie::text LEFT JOIN nfs_op_fiscal ON nfs_op_fiscal.cfop = nfs_nota_item.cfop LEFT JOIN pro_sit_trib sit_icms ON sit_icms.codigo::numeric = nfs_nota_item.tributo LEFT JOIN pro_sit_trib sit_ipi ON sit_ipi.codigo::numeric = 90::numeric LEFT JOIN cli_endereco ON cli_endereco.filial = nfs_nota_fiscal.filial_nota AND cli_endereco.cliente = nfs_nota_fiscal.cliente AND cli_endereco.sequencia = nfs_nota_fiscal.endereco_faturamento LEFT JOIN nfs_nota_fiscal_eletronica ON nfs_nota_fiscal_eletronica.nfs_filial = nfs_nota_fiscal.filial_nota AND nfs_nota_fiscal_eletronica.nfs_nota = nfs_nota_fiscal.nota AND nfs_nota_fiscal_eletronica.nfs_serie::text = nfs_nota_fiscal.serie::text AND nfs_nota_fiscal_eletronica.situacao::text = 'E'::text WHERE nfs_op_fiscal.entrada_saida::text = 'S'::text UNION ALL SELECT nfs_nota_servico_catering.filial_nota, nfs_nota_servico_catering.nota, nfs_nota_servico_catering.serie, nfs_nota_fiscal.data_emissao, nfs_nota_fiscal.data_saida, nfs_nota_fiscal.cancelada, 'NF'::text AS especie, cli_endereco.uf, nfs_nota_servico_catering.cfop, upper(nfs_op_fiscal.descricao_cfop::text) AS descricao_cfop, nfs_nota_servico_catering.vlr_liq_rateio_desc_header + nfs_nota_servico_catering.vlr_frete + nfs_nota_servico_catering.vlr_icms_subst + nfs_nota_servico_catering.valor_ipi AS vlr_contabil, nfs_nota_servico_catering.tributo AS sit_trib_icms, sit_icms.tributada_isenta_outras AS operacao_icms, nfs_nota_servico_catering.base_icms, nfs_nota_servico_catering.perc_icms AS alq_icms, CASE WHEN nfs_op_fiscal.transferencia_icms::text = 'N'::text THEN nfs_nota_servico_catering.valor_icms ELSE 0.000000 END AS vlr_icms, nfs_nota_servico_catering.cst_pis, nfs_nota_servico_catering.base_pis, nfs_nota_servico_catering.aliquota_pis AS alq_pis, nfs_nota_servico_catering.valor_pis AS vlr_pis, nfs_nota_servico_catering.cst_cofins, nfs_nota_servico_catering.base_cofins, nfs_nota_servico_catering.aliquota_cofins AS alq_cofins, nfs_nota_servico_catering.valor_cofins AS vlr_cofins, CASE WHEN sit_icms.tributada_isenta_outras::text = 'T'::text THEN nfs_nota_servico_catering.vlr_liq_rateio_desc_header ELSE 0.000000 END AS vlr_tributada_icms, CASE WHEN sit_icms.tributada_isenta_outras::text = 'I'::text THEN nfs_nota_servico_catering.vlr_liq_rateio_desc_header ELSE 0.000000 END AS vlr_isenta_icms, CASE WHEN sit_icms.tributada_isenta_outras::text = 'T'::text AND (nfs_nota_servico_catering.vlr_frete > 0::numeric OR nfs_nota_servico_catering.vlr_icms_subst > 0::numeric) THEN nfs_nota_servico_catering.vlr_liq_rateio_desc_header - nfs_nota_servico_catering.base_icms + nfs_nota_servico_catering.vlr_frete + nfs_nota_servico_catering.vlr_icms_subst WHEN sit_icms.tributada_isenta_outras::text = 'T'::text AND nfs_nota_servico_catering.base_icms <> nfs_nota_servico_catering.vlr_liq_rateio_desc_header THEN nfs_nota_servico_catering.vlr_liq_rateio_desc_header - nfs_nota_servico_catering.base_icms WHEN sit_icms.tributada_isenta_outras::text = 'O'::text AND nfs_nota_servico_catering.vlr_icms_subst = 0::numeric AND nfs_nota_servico_catering.base_icms = 0::numeric THEN nfs_nota_servico_catering.vlr_liq_rateio_desc_header WHEN sit_icms.tributada_isenta_outras::text = 'O'::text AND nfs_nota_servico_catering.vlr_icms_subst > 0::numeric AND nfs_nota_servico_catering.base_icms = 0::numeric THEN nfs_nota_servico_catering.vlr_liq_rateio_desc_header + nfs_nota_servico_catering.vlr_icms_subst WHEN sit_icms.tributada_isenta_outras::text = 'O'::text AND nfs_nota_servico_catering.vlr_icms_subst = 0::numeric AND nfs_nota_servico_catering.base_icms <> 0::numeric THEN 0.000000 WHEN sit_icms.tributada_isenta_outras::text = 'O'::text AND nfs_nota_servico_catering.vlr_icms_subst > 0::numeric AND nfs_nota_servico_catering.base_icms <> 0::numeric THEN nfs_nota_servico_catering.vlr_icms_subst ELSE 0.000000 END AS vlr_outras_icms, CASE WHEN nfs_op_fiscal.transferencia_icms::text = 'N'::text THEN ''::character varying ELSE nfs_nota_fiscal.observacao2 END AS observ_icms, sit_ipi.codigo AS sit_trib_ipi, sit_ipi.tributada_isenta_outras AS operacao_ipi, CASE WHEN nfs_nota_servico_catering.valor_ipi > 0::numeric THEN nfs_nota_servico_catering.vlr_liq_rateio_desc_header ELSE 0.000000 END AS base_ipi, nfs_nota_servico_catering.perc_ipi AS alq_ipi, nfs_nota_servico_catering.valor_ipi AS vlr_ipi, CASE WHEN sit_ipi.tributada_isenta_outras::text = 'T'::text THEN nfs_nota_servico_catering.vlr_liq_rateio_desc_header ELSE 0.000000 END AS vlr_tributada_ipi, CASE WHEN sit_ipi.tributada_isenta_outras::text = 'I'::text THEN nfs_nota_servico_catering.vlr_liq_rateio_desc_header ELSE 0.000000 END AS vlr_isenta_ipi, CASE WHEN sit_ipi.tributada_isenta_outras::text = 'O'::text THEN nfs_nota_servico_catering.vlr_liq_rateio_desc_header ELSE 0.000000 END AS vlr_outras_ipi, ''::text AS observ_ipi, nfs_nota_servico_catering.vlr_desp_aces FROM nfs_nota_fiscal JOIN nfs_nota_servico_catering ON nfs_nota_servico_catering.filial_nota = nfs_nota_fiscal.filial_nota AND nfs_nota_servico_catering.nota = nfs_nota_fiscal.nota AND nfs_nota_servico_catering.serie::text = nfs_nota_fiscal.serie::text LEFT JOIN nfs_op_fiscal ON nfs_op_fiscal.cfop = nfs_nota_servico_catering.cfop LEFT JOIN pro_sit_trib sit_icms ON sit_icms.codigo::numeric = nfs_nota_servico_catering.tributo LEFT JOIN pro_sit_trib sit_ipi ON sit_ipi.codigo::numeric = 90::numeric LEFT JOIN cli_endereco ON cli_endereco.filial = nfs_nota_fiscal.filial_nota AND cli_endereco.cliente = nfs_nota_fiscal.cliente AND cli_endereco.sequencia = nfs_nota_fiscal.endereco_faturamento LEFT JOIN nfs_nota_fiscal_eletronica ON nfs_nota_fiscal_eletronica.nfs_filial = nfs_nota_fiscal.filial_nota AND nfs_nota_fiscal_eletronica.nfs_nota = nfs_nota_fiscal.nota AND nfs_nota_fiscal_eletronica.nfs_serie::text = nfs_nota_fiscal.serie::text AND nfs_nota_fiscal_eletronica.situacao::text = 'E'::text WHERE nfs_op_fiscal.entrada_saida::text = 'S'::text; ALTER TABLE public.view_ctb_livro_saida OWNER TO postgres; COMMENT ON VIEW public.view_ctb_livro_saida IS 'View Contabilidade - Livro de Saida';