ALTER TABLE par_distribuicao ADD COLUMN permite_vender_saldo_outra_filial character varying(1), ADD COLUMN grava_distribuicao_outra_filial character varying(1); UPDATE par_distribuicao SET permite_vender_saldo_outra_filial = 'N', grava_distribuicao_outra_filial = 'N'; ALTER TABLE par_distribuicao ALTER COLUMN permite_vender_saldo_outra_filial SET NOT NULL, ALTER COLUMN grava_distribuicao_outra_filial SET NOT NULL; --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== ALTER TABLE IF EXISTS public.bas_almoxarifado ADD COLUMN filial_movimento integer; UPDATE public.bas_almoxarifado SET filial_movimento = filial WHERE filial_movimento IS NULL; ALTER TABLE IF EXISTS public.bas_almoxarifado ALTER COLUMN filial_movimento SET NOT NULL; --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== ALTER TABLE IF EXISTS public.bas_almoxarifado ADD COLUMN almox_movimento integer; UPDATE public.bas_almoxarifado SET almox_movimento = 0 WHERE almox_movimento IS NULL; ALTER TABLE IF EXISTS public.bas_almoxarifado ALTER COLUMN almox_movimento SET NOT NULL; --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== ALTER TABLE IF EXISTS public.dis_romaneio_item ADD COLUMN filial_orcamento integer; UPDATE public.dis_romaneio_item SET filial_orcamento = filial WHERE filial_orcamento IS NULL; ALTER TABLE IF EXISTS public.dis_romaneio_item ALTER COLUMN filial_orcamento SET NOT NULL; ALTER TABLE IF EXISTS public.dis_romaneio_item DROP CONSTRAINT IF EXISTS pk_dis_romaneio_item; ALTER TABLE IF EXISTS public.dis_romaneio_item ADD CONSTRAINT pk_dis_romaneio_item PRIMARY KEY (filial, romaneio, orcamento, seq_item_orcamento, filial_orcamento); --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== ALTER TABLE IF EXISTS public.dis_aux_romaneio_item DROP CONSTRAINT IF EXISTS fk_dis_aux_romaneio_item; ALTER TABLE IF EXISTS public.dis_romaneio_item DROP CONSTRAINT IF EXISTS fk_dis_romaneio_item_orc; --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== -- Table: public.dis_aux_romaneio_item DROP TABLE IF EXISTS public.dis_aux_romaneio_item; CREATE TABLE IF NOT EXISTS public.dis_aux_romaneio_item ( ip character varying(50) COLLATE pg_catalog."default" NOT NULL, filial integer NOT NULL, orcamento integer NOT NULL, seq_item_orcamento integer NOT NULL, qtd_a_entregar numeric(18,10) NOT NULL, cod_cliente integer NOT NULL, seq_cliente_endereco integer NOT NULL, filial_orcamento integer NOT NULL, CONSTRAINT pk_dis_aux_romaneio_item PRIMARY KEY (ip, filial, orcamento, seq_item_orcamento, filial_orcamento), CONSTRAINT fk_dis_aux_romaneio_item FOREIGN KEY (orcamento, filial) REFERENCES public.vnd_orcamento (orcamento, filial_orc) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION ) TABLESPACE pg_default; ALTER TABLE IF EXISTS public.dis_aux_romaneio_item OWNER to postgres; --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== -- Table: public.dis_pedidos_distribuicao DROP TABLE IF EXISTS public.dis_pedidos_distribuicao; CREATE TABLE IF NOT EXISTS public.dis_pedidos_distribuicao( filial_orc integer NOT NULL, orcamento integer NOT NULL, sequencia integer NOT NULL, produto integer NOT NULL, qtde_venda numeric(18,6) NOT NULL, qtde_devolucao numeric(18,6) NOT NULL, qtde_entregue numeric(18,6) NOT NULL, qtde_entregar numeric(18,6) NOT NULL, data_emissao date NOT NULL, hora_emissao time without time zone NOT NULL, data_previsao_entrega date NOT NULL, nota integer NOT NULL, serie character varying(6) NOT NULL, chave_acesso_nfe character varying(100) NOT NULL, gerou_nf_caixa character varying(1) NOT NULL, cliente integer NOT NULL, autorizado integer NOT NULL, endereco_entrega integer NOT NULL, tipo_entrega integer NOT NULL, vlr_pago numeric(18,6) NOT NULL, peso_bruto numeric(18,6) NOT NULL, peso_liquido numeric(18,6) NOT NULL, vlr_frete numeric(18,6) NOT NULL, observacao_item character varying(500) NOT NULL, observacao_header character varying(500) NOT NULL, observacao_orcamento character varying(4000) NOT NULL, nr_pedido_cliente character varying(20) NOT NULL, aprovado_por character varying(200) NOT NULL, contato character varying(200) NOT NULL, vendedor integer NOT NULL, status character varying(1) NOT NULL, almoxarifado integer NOT NULL, vlr_unitario numeric(18,6) NOT NULL, vlr_total numeric(18,6) NOT NULL, qtd_x_unid numeric(18,6) NOT NULL, unidade character varying(2) NOT NULL, perc_desconto numeric(18,6) NOT NULL, vlr_servico numeric(18,6) NOT NULL, vlr_desconto numeric(18,6) NOT NULL, tabela integer NOT NULL, vlr_custo_reposicao numeric(18,6) NOT NULL, qtd_x_peso numeric(18,6) NOT NULL, lote_vnd integer NOT NULL, id_hash character varying(100) NOT NULL, flag_evolucao integer NOT NULL, transportadora integer NOT NULL, CONSTRAINT pk_dis_pedidos_distribuicao PRIMARY KEY (filial_orc, orcamento, sequencia) ) TABLESPACE pg_default; ALTER TABLE IF EXISTS public.dis_pedidos_distribuicao OWNER to postgres; COMMENT ON TABLE public.dis_pedidos_distribuicao IS 'Itens da Distrubuição'; --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== CREATE INDEX idx_dis_pedidos_distribuicao_status ON public.dis_pedidos_distribuicao USING btree (filial_orc, status ASC NULLS LAST) TABLESPACE pg_default; --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== INSERT INTO dis_romaneio (SELECT (SELECT usufilial FROM ctl_usuario LIMIT 1),0,current_date,'12:00:00',(SELECT min(sequencia) FROM dis_motorista),(SELECT min(sequencia) FROM dis_veiculo),current_date,'12:00:00','B','BAIXA PEDIDOS ANTIGOS',1,1,'S' FROM par_distribuicao WHERE (SELECT COUNT(*) FROM dis_romaneio WHERE romaneio = 0) = 0 ); INSERT INTO dis_romaneio_item ( SELECT (SELECT usufilial FROM ctl_usuario LIMIT 1) AS filial, 0 AS romaneio, vnd_orcamento_item.orcamento, sequencia, quantidade, quantidade, cliente, 1 AS seq_cliente_endereco, (SELECT usufilial FROM ctl_usuario LIMIT 1) AS filial_orcamento FROM vnd_orcamento_item JOIN vnd_orcamento ON vnd_orcamento.filial_orc = vnd_orcamento_item.filial_orc AND vnd_orcamento.orcamento = vnd_orcamento_item.orcamento JOIN par_distribuicao ON par_distribuicao.filial_par = vnd_orcamento_item.filial_orc WHERE vnd_orcamento.filial_orc = (SELECT usufilial FROM ctl_usuario LIMIT 1) AND data_previsao_entrega < '20220101' AND vnd_orcamento.situacao <> 'C' AND vnd_orcamento.tipo <> 'O' AND vnd_orcamento_item.tipo_entrega IN (SELECT codigo FROM bas_tipo_entrega WHERE distribuicao = 'S') AND (vnd_orcamento_item.filial_orc,vnd_orcamento_item.orcamento,vnd_orcamento_item.sequencia) NOT IN ( SELECT aux.filial,aux.orcamento,aux.seq_item_orcamento FROM dis_romaneio_item AS aux JOIN dis_romaneio ON dis_romaneio.filial = aux.filial AND dis_romaneio.romaneio = aux.romaneio AND dis_romaneio.situacao <> 'C' WHERE aux.filial = vnd_orcamento_item.filial_orc AND aux.orcamento = vnd_orcamento_item.orcamento AND aux.seq_item_orcamento = vnd_orcamento_item.sequencia LIMIT 1 ) ); --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== UPDATE par_distribuicao SET dias_inicio_distribuicao = 180; --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== DELETE FROM dis_pedidos_distribuicao; INSERT INTO dis_pedidos_distribuicao ( SELECT vnd_orcamento_item.filial_orc, vnd_orcamento_item.orcamento, vnd_orcamento_item.sequencia, vnd_orcamento_item.produto, MAX(vnd_orcamento_item.quantidade) AS qtde_venda, COALESCE((SELECT SUM(gar_troca_devoluc_item.quantidade) FROM gar_troca_devoluc JOIN gar_troca_devoluc_item ON gar_troca_devoluc_item.filial = gar_troca_devoluc.filial AND gar_troca_devoluc_item.sequencia = gar_troca_devoluc.sequencia AND gar_troca_devoluc_item.sequencia_item_pedido = vnd_orcamento_item.sequencia WHERE gar_troca_devoluc.filial_orc = vnd_orcamento_item.filial_orc AND gar_troca_devoluc.orcamento = vnd_orcamento_item.orcamento AND gar_troca_devoluc.situacao <> 'C'),0) AS qtde_devolucao, COALESCE((SELECT SUM(dis_romaneio_item.qtd_entregue) FROM dis_romaneio_item JOIN dis_romaneio ON dis_romaneio.filial = dis_romaneio_item.filial AND dis_romaneio.romaneio = dis_romaneio_item.romaneio WHERE dis_romaneio_item.filial = vnd_orcamento_item.filial_orc AND dis_romaneio_item.orcamento = vnd_orcamento_item.orcamento AND dis_romaneio_item.seq_item_orcamento = vnd_orcamento_item.sequencia AND dis_romaneio.situacao <> 'C'),0) AS qtde_entregue, 0 AS qtde_entregar, vnd_orcamento_item.data_emissao, vnd_orcamento.hora_emissao, COALESCE(vnd_orcamento_item_entrega.data_previsao_entrega, vnd_orcamento_item.data_emissao), vnd_orcamento.nota, vnd_orcamento.serie, CASE WHEN nfs_nota_fiscal_eletronica.nfe_chave_acesso IS NULL THEN '' ELSE nfs_nota_fiscal_eletronica.nfe_chave_acesso END, vnd_orcamento.gerou_nf_caixa, vnd_orcamento.cliente, vnd_orcamento.aut_compra, vnd_orcamento.endereco_entrega, vnd_orcamento_item.tipo_entrega, SUM(vnd_orcamento_item.vlr_pago) AS vlr_pago, SUM(pro_produto.peso_bruto) AS peso_bruto, SUM(pro_produto.peso_liquido) AS peso_liquido, TRUNC(((SUM(vnd_orcamento.vlr_frete) / SUM(CASE WHEN vnd_orcamento.vlr_total_liquido = 0 THEN 1 ELSE vnd_orcamento.vlr_total_liquido END)) * SUM(vnd_orcamento_item.vlr_pago)),2) AS vlr_frete, vnd_orcamento_item.observacao, vnd_orcamento.observacao, COALESCE(vnd_orcamento_observacao.observacao, '') AS observacao_orcamento, COALESCE(vnd_orcamento_observacao.numero_pedido_cliente, '') AS nr_pedido_cliente, COALESCE(vnd_orcamento_observacao.aprovado_por, '') AS aprovado_por, COALESCE(vnd_orcamento_observacao.contato, '') AS contato, vnd_orcamento.vendedor, 'B' AS status, COALESCE(vnd_orcamento_item_cpl.almox_vnd,(SELECT filial_pro FROM par_faturamento LIMIT 1)), vnd_orcamento_item.vlr_unitario, vnd_orcamento_item.vlr_total, vnd_orcamento_item.qtd_x_unid, vnd_orcamento_item.unidade, vnd_orcamento_item.perc_desconto, vnd_orcamento_item.vlr_servico, vnd_orcamento_item.vlr_desconto, vnd_orcamento_item.tabela, vnd_orcamento_item.vlr_custo_reposicao, vnd_orcamento_item.qtd_x_peso, COALESCE(vnd_orcamento_item_cpl.lote_vnd, 0) AS lote_vnd, (vnd_orcamento_item.filial_orc::TEXT||':'|| vnd_orcamento_item.orcamento::TEXT||':'|| vnd_orcamento_item.tipo_entrega::TEXT||':'|| COALESCE(vnd_orcamento_item_cpl.almox_vnd,1)::TEXT||':'|| COALESCE(vnd_orcamento_item_entrega.data_previsao_entrega, vnd_orcamento_item.data_emissao)::TEXT)::TEXT AS id_hash, 99 AS flag_evolucao, vnd_orcamento.transportador FROM vnd_orcamento_item JOIN vnd_orcamento ON vnd_orcamento.filial_orc = vnd_orcamento_item.filial_orc AND vnd_orcamento.orcamento = vnd_orcamento_item.orcamento JOIN par_distribuicao ON par_distribuicao.filial_par = vnd_orcamento_item.filial_orc LEFT JOIN nfs_nota_fiscal_eletronica ON nfs_nota_fiscal_eletronica.nfs_filial = vnd_orcamento.filial_orc AND nfs_nota_fiscal_eletronica.nfs_nota = vnd_orcamento.nota AND nfs_nota_fiscal_eletronica.nfs_serie = vnd_orcamento.serie JOIN pro_produto ON pro_produto.filial_pro = vnd_orcamento_item.filial_pro AND pro_produto.codigo = vnd_orcamento_item.produto LEFT JOIN vnd_orcamento_observacao ON vnd_orcamento_observacao.filial = vnd_orcamento.filial_orc AND vnd_orcamento_observacao.orcamento = vnd_orcamento.orcamento LEFT JOIN vnd_orcamento_item_cpl ON vnd_orcamento_item_cpl.filial_orc = vnd_orcamento_item.filial_orc AND vnd_orcamento_item_cpl.orcamento = vnd_orcamento_item.orcamento AND vnd_orcamento_item_cpl.sequencia = vnd_orcamento_item.sequencia LEFT JOIN vnd_orcamento_item_entrega ON vnd_orcamento_item_entrega.filial_orc = vnd_orcamento_item.filial_orc AND vnd_orcamento_item_entrega.orcamento = vnd_orcamento_item.orcamento AND vnd_orcamento_item_entrega.sequencia = vnd_orcamento_item.sequencia WHERE vnd_orcamento.filial_orc = (SELECT usufilial FROM ctl_usuario LIMIT 1) AND vnd_orcamento.situacao <> 'C' AND vnd_orcamento.tipo <> 'O' AND vnd_orcamento_item.tipo_entrega IN (SELECT codigo FROM bas_tipo_entrega WHERE distribuicao = 'S') GROUP BY vnd_orcamento_item.filial_orc, vnd_orcamento_item.orcamento, vnd_orcamento_item.sequencia, vnd_orcamento_item.filial_orc, vnd_orcamento_item.produto, vnd_orcamento_item.data_emissao, vnd_orcamento.hora_emissao, vnd_orcamento_item_entrega.data_previsao_entrega, vnd_orcamento.nota, vnd_orcamento.serie, nfs_nota_fiscal_eletronica.nfe_chave_acesso, vnd_orcamento.gerou_nf_caixa, vnd_orcamento.cliente, vnd_orcamento.aut_compra, vnd_orcamento.endereco_entrega, vnd_orcamento_item.tipo_entrega, vnd_orcamento_item.observacao, vnd_orcamento.observacao, vnd_orcamento_observacao.observacao, vnd_orcamento_observacao.numero_pedido_cliente, vnd_orcamento_observacao.aprovado_por, vnd_orcamento_observacao.contato, vnd_orcamento.vendedor, vnd_orcamento_item_cpl.almox_vnd, vnd_orcamento_item.vlr_unitario, vnd_orcamento_item.vlr_total, vnd_orcamento_item.qtd_x_unid, vnd_orcamento_item.unidade, vnd_orcamento_item.perc_desconto, vnd_orcamento_item.vlr_servico, vnd_orcamento_item.vlr_desconto, vnd_orcamento_item.tabela, vnd_orcamento_item.vlr_custo_reposicao, vnd_orcamento_item.qtd_x_peso, vnd_orcamento_item_cpl.lote_vnd, vnd_orcamento.transportador ); UPDATE dis_pedidos_distribuicao SET qtde_entregar = ((qtde_venda - qtde_devolucao) - qtde_entregue); UPDATE dis_pedidos_distribuicao SET status = 'A', flag_evolucao = 0 WHERE qtde_entregar > 0; --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== UPDATE par_distribuicao SET dias_inicio_distribuicao = 365; --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== INSERT INTO ctl_aplicativo ( SELECT 'frm_dis_romaneio_producao_new_data_previsao', 'Altera Data de Previsao de Entrega', 'DIS', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'frm_dis_romaneio_producao_new_data_previsao') IS NULL LIMIT 1); INSERT INTO ctl_grupo_x_direito ( SELECT grupousucod, 'frm_dis_romaneio_producao_new_data_previsao', 'T' FROM ctl_grupo_x_direito WHERE grupousucod = 1 AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'frm_dis_romaneio_producao_new_data_previsao') GROUP BY grupousucod); INSERT INTO ctl_menu_nivel_dependencia (aplicacao, aplicacao_nivel) VALUES ('frm_dis_romaneio_producao_seleciona_new', 'frm_dis_romaneio_producao_new_data_previsao'); --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== INSERT INTO ctl_aplicativo ( SELECT 'cns_dis_romaneio_producao_administracao', 'Administração da Distribuicao (Producao)', 'DIS', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'cns_dis_romaneio_producao_administracao') IS NULL LIMIT 1); INSERT INTO ctl_grupo_x_direito ( SELECT grupousucod, 'cns_dis_romaneio_producao_administracao', 'T' FROM ctl_grupo_x_direito WHERE grupousucod = 1 AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'cns_dis_romaneio_producao_administracao') GROUP BY grupousucod); INSERT INTO ctl_menu_nivel_dependencia (aplicacao, aplicacao_nivel) VALUES ('frm_dis_romaneio_producao_seleciona_new', 'cns_dis_romaneio_producao_administracao'); --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== INSERT INTO ctl_aplicativo ( SELECT 'frm_dis_romaneio_producao_baixar', 'Baixa da Distribuicao (Producao)', 'DIS', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'frm_dis_romaneio_producao_baixar') IS NULL LIMIT 1); INSERT INTO ctl_grupo_x_direito ( SELECT grupousucod, 'frm_dis_romaneio_producao_baixar', 'T' FROM ctl_grupo_x_direito WHERE grupousucod = 1 AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'frm_dis_romaneio_producao_baixar') GROUP BY grupousucod); INSERT INTO ctl_menu_nivel_dependencia (aplicacao, aplicacao_nivel) VALUES ('frm_dis_romaneio_producao_seleciona_new', 'frm_dis_romaneio_producao_baixar'); --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== INSERT INTO ctl_aplicativo ( SELECT 'frm_dis_romaneio_producao_controle_frete', 'Frete da Distribuicao (Producao)', 'DIS', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'frm_dis_romaneio_producao_controle_frete') IS NULL LIMIT 1); INSERT INTO ctl_grupo_x_direito ( SELECT grupousucod, 'frm_dis_romaneio_producao_controle_frete', 'T' FROM ctl_grupo_x_direito WHERE grupousucod = 1 AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'frm_dis_romaneio_producao_controle_frete') GROUP BY grupousucod); INSERT INTO ctl_menu_nivel_dependencia (aplicacao, aplicacao_nivel) VALUES ('frm_dis_romaneio_producao_seleciona_new', 'frm_dis_romaneio_producao_controle_frete'); --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== INSERT INTO ctl_aplicativo ( SELECT 'frm_dis_romaneio_producao_altera', 'Alteração da Distribuicao (Producao)', 'DIS', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'frm_dis_romaneio_producao_altera') IS NULL LIMIT 1); INSERT INTO ctl_grupo_x_direito ( SELECT grupousucod, 'frm_dis_romaneio_producao_altera', 'T' FROM ctl_grupo_x_direito WHERE grupousucod = 1 AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'frm_dis_romaneio_producao_altera') GROUP BY grupousucod); INSERT INTO ctl_menu_nivel_dependencia (aplicacao, aplicacao_nivel) VALUES ('frm_dis_romaneio_producao_seleciona_new', 'frm_dis_romaneio_producao_altera'); --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== INSERT INTO ctl_aplicativo ( SELECT 'frm_dis_romaneio_loja_mapa', 'Mapa do Romaneio para Roteirizar', 'DIS', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'frm_dis_romaneio_loja_mapa') IS NULL LIMIT 1); INSERT INTO ctl_grupo_x_direito ( SELECT grupousucod, 'frm_dis_romaneio_loja_mapa', 'T' FROM ctl_grupo_x_direito WHERE grupousucod = 1 AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'frm_dis_romaneio_loja_mapa') GROUP BY grupousucod); INSERT INTO ctl_menu_nivel_dependencia (aplicacao, aplicacao_nivel) VALUES ('frm_dis_romaneio_loja', 'frm_dis_romaneio_loja_mapa'); --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== DROP VIEW IF EXISTS public.view_pro_informacoes_produto; DROP FUNCTION IF EXISTS public.fnc_busca_saldo_prod_mix(integer, integer); CREATE OR REPLACE FUNCTION public.fnc_busca_saldo_prod_mix( var_filial_pro integer, var_produto integer, var_almoxarifado integer) RETURNS numeric LANGUAGE 'plpgsql' COST 100 VOLATILE PARALLEL UNSAFE AS $BODY$ DECLARE quant numeric; BEGIN SELECT TRUNC(COALESCE(stq_saldo_estoque_atual.quantidade, 0.000000) / COALESCE(pro_mix.quantidade, 1.000000),3) AS saldo_stq INTO quant FROM pro_produto LEFT JOIN pro_mix ON pro_mix.filial = pro_produto.filial_pro AND pro_mix.produto_mix = pro_produto.codigo LEFT JOIN stq_saldo_estoque_atual ON stq_saldo_estoque_atual.filial_stq = pro_mix.filial AND stq_saldo_estoque_atual.almoxarifado = var_almoxarifado AND stq_saldo_estoque_atual.filial_pro = pro_mix.filial AND stq_saldo_estoque_atual.produto = pro_mix.produto WHERE pro_produto.filial_pro = var_filial_pro AND pro_produto.codigo = var_produto AND pro_produto.flag_mix <> 'N' ORDER BY saldo_stq LIMIT 1; RETURN quant; END; $BODY$; ALTER FUNCTION public.fnc_busca_saldo_prod_mix(integer, integer, integer) OWNER TO postgres; -- View: public.view_pro_informacoes_produto CREATE OR REPLACE VIEW public.view_pro_informacoes_produto AS SELECT pro_produto.filial_pro, pro_produto.codigo, pro_produto.descricao, COALESCE(substr(fnc_pro_junta_cod_fabricante(pro_produto.filial_pro, pro_produto.codigo)::text, 1, 30), ''::text) AS cod_fabricante, COALESCE(( SELECT (pro_depto_prod.desc_resum::text || '-'::text) || pro_local_prod.desc_resum::text FROM pro_sub_local_prod LEFT JOIN pro_depto_prod ON pro_depto_prod.codigo = pro_sub_local_prod.departamento LEFT JOIN pro_local_prod ON pro_local_prod.codigo = pro_sub_local_prod.localizacao WHERE pro_sub_local_prod.filial = pro_produto.filial_pro AND pro_sub_local_prod.produto = pro_produto.codigo OFFSET 0 LIMIT 1), ''::text) || CASE WHEN COALESCE(( SELECT (pro_depto_prod.desc_resum::text || '-'::text) || pro_local_prod.desc_resum::text FROM pro_sub_local_prod LEFT JOIN pro_depto_prod ON pro_depto_prod.codigo = pro_sub_local_prod.departamento LEFT JOIN pro_local_prod ON pro_local_prod.codigo = pro_sub_local_prod.localizacao WHERE pro_sub_local_prod.filial = pro_produto.filial_pro AND pro_sub_local_prod.produto = pro_produto.codigo OFFSET 1 LIMIT 1), ''::text) <> ''::text THEN '/'::text || COALESCE(( SELECT (pro_depto_prod.desc_resum::text || '-'::text) || pro_local_prod.desc_resum::text FROM pro_sub_local_prod LEFT JOIN pro_depto_prod ON pro_depto_prod.codigo = pro_sub_local_prod.departamento LEFT JOIN pro_local_prod ON pro_local_prod.codigo = pro_sub_local_prod.localizacao WHERE pro_sub_local_prod.filial = pro_produto.filial_pro AND pro_sub_local_prod.produto = pro_produto.codigo OFFSET 1 LIMIT 1), ''::text) ELSE ''::text END AS localizacao, CASE WHEN pro_produto.flag_mix::text <> 'N'::text THEN COALESCE(trunc(fnc_busca_saldo_prod_mix(pro_produto.filial_pro, pro_produto.codigo, COALESCE(stq_saldo_estoque_atual.almoxarifado, 1)), 4), 0::numeric) ELSE COALESCE(trunc(stq_saldo_estoque_atual.quantidade, 4), 0::numeric) END AS estoque, pro_produto.flag_ativo_inativo, pro_produto.grupo, pro_produto.subgrupo, pro_produto.linha, pro_produto.aplicacao, pro_produto.fornec_fabricante FROM pro_produto LEFT JOIN stq_saldo_estoque_atual ON stq_saldo_estoque_atual.filial_stq = pro_produto.filial_pro AND stq_saldo_estoque_atual.almoxarifado = 1 AND stq_saldo_estoque_atual.filial_pro = pro_produto.filial_pro AND stq_saldo_estoque_atual.produto = pro_produto.codigo ORDER BY pro_produto.descricao; ALTER TABLE public.view_pro_informacoes_produto OWNER TO postgres; --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== INSERT INTO ctl_aplicativo ( SELECT 'frm_dis_romaneio_loja_bipar_pedido', 'Bipar pedido na Separação', 'DIS', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'frm_dis_romaneio_loja_bipar_pedido') IS NULL LIMIT 1); INSERT INTO ctl_grupo_x_direito ( SELECT grupousucod, 'frm_dis_romaneio_loja_bipar_pedido', 'T' FROM ctl_grupo_x_direito WHERE grupousucod = 1 AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'frm_dis_romaneio_loja_bipar_pedido') GROUP BY grupousucod); INSERT INTO ctl_menu_nivel_dependencia (aplicacao, aplicacao_nivel) VALUES ('frm_dis_romaneio_loja', 'frm_dis_romaneio_loja_bipar_pedido'); --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== INSERT INTO ctl_aplicativo ( SELECT 'frm_dis_romaneio_loja_etiqueta_volume', 'Etiqueta do Volume', 'DIS', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'frm_dis_romaneio_loja_etiqueta_volume') IS NULL LIMIT 1); INSERT INTO ctl_grupo_x_direito ( SELECT grupousucod, 'frm_dis_romaneio_loja_etiqueta_volume', 'T' FROM ctl_grupo_x_direito WHERE grupousucod = 1 AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'frm_dis_romaneio_loja_etiqueta_volume') GROUP BY grupousucod); INSERT INTO ctl_menu_nivel_dependencia (aplicacao, aplicacao_nivel) VALUES ('frm_dis_romaneio_loja', 'frm_dis_romaneio_loja_etiqueta_volume'); --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== ALTER TABLE par_distribuicao ADD COLUMN flag_evolucao_para_faturamento integer; UPDATE par_distribuicao SET flag_evolucao_para_faturamento = 0 WHERE flag_evolucao_para_faturamento IS NULL; ALTER TABLE par_distribuicao ALTER COLUMN flag_evolucao_para_faturamento SET NOT NULL; --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== ALTER TABLE par_distribuicao ADD COLUMN aplicacao_faturamento character varying(100); UPDATE par_distribuicao SET aplicacao_faturamento = '' WHERE aplicacao_faturamento IS NULL; ALTER TABLE par_distribuicao ALTER COLUMN aplicacao_faturamento SET NOT NULL; --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== CREATE TABLE IF NOT EXISTS public.dis_viagem_despacho_loja ( id_hash character varying(100) NOT NULL, volume integer NOT NULL, terminal_ip_etiqueta character varying(20) NOT NULL, usuario_etiqueta integer NOT NULL, data_etiqueta date NOT NULL, hora_etiqueta time without time zone NOT NULL, terminal_ip_conferencia character varying(20) NOT NULL, usuario_conferencia integer NOT NULL, data_conferencia date NOT NULL, hora_conferencia time without time zone NOT NULL, conferido_sn character varying(1) NOT NULL, CONSTRAINT pk_dis_viagem_despacho_loja PRIMARY KEY (id_hash, volume) ) TABLESPACE pg_default; ALTER TABLE IF EXISTS public.dis_viagem_despacho_loja OWNER to postgres; --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== INSERT INTO ctl_aplicativo ( SELECT 'frm_dis_romaneio_loja_bipar_pedido', 'Bipar pedido na para Separação no Dis Loja', 'DIS', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_dis_romaneio_loja' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'frm_dis_romaneio_loja_bipar_pedido') IS NULL LIMIT 1); INSERT INTO ctl_aplicativo ( SELECT 'frm_dis_romaneio_loja_etiqueta_volume', 'Etiqueta do Volume no DIS Loja', 'DIS', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_dis_romaneio_loja' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'frm_dis_romaneio_loja_etiqueta_volume') IS NULL LIMIT 1); INSERT INTO ctl_aplicativo ( SELECT 'frm_dis_romaneio_loja_bipar_volume', 'Bipagem do Volume DIS Loja', 'DIS', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_dis_romaneio_loja' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'frm_dis_romaneio_loja_bipar_volume') IS NULL LIMIT 1); DELETE FROM ctl_menu_nivel_dependencia WHERE aplicacao_nivel IN('frm_dis_romaneio_loja_bipar_pedido', 'frm_dis_romaneio_loja_etiqueta_volume', 'frm_dis_romaneio_loja_bipar_volume'); INSERT INTO ctl_menu_nivel_dependencia (aplicacao, aplicacao_nivel) VALUES('frm_dis_romaneio_loja', 'frm_dis_romaneio_loja_bipar_pedido'); INSERT INTO ctl_menu_nivel_dependencia (aplicacao, aplicacao_nivel) VALUES('frm_dis_romaneio_loja', 'frm_dis_romaneio_loja_etiqueta_volume'); INSERT INTO ctl_menu_nivel_dependencia (aplicacao, aplicacao_nivel) VALUES('frm_dis_romaneio_loja', 'frm_dis_romaneio_loja_bipar_volume'); --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== ALTER TABLE par_distribuicao ADD COLUMN utiliza_bipagem_volume character varying(1); UPDATE par_distribuicao SET utiliza_bipagem_volume = 'N' WHERE utiliza_bipagem_volume IS NULL; ALTER TABLE par_distribuicao ALTER COLUMN utiliza_bipagem_volume SET NOT NULL; --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== INSERT INTO ctl_grupo_x_direito ( SELECT grupousucod, 'frm_dis_romaneio_loja_bipar_pedido', 'T' FROM ctl_grupo_x_direito WHERE grupousucod IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'frm_dis_romaneio_loja') AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'frm_dis_romaneio_loja_bipar_pedido') GROUP BY grupousucod); INSERT INTO ctl_grupo_x_direito ( SELECT grupousucod, 'frm_dis_romaneio_loja_etiqueta_volume', 'T' FROM ctl_grupo_x_direito WHERE grupousucod IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'frm_dis_romaneio_loja') AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'frm_dis_romaneio_loja_etiqueta_volume') GROUP BY grupousucod); INSERT INTO ctl_grupo_x_direito ( SELECT grupousucod, 'frm_dis_romaneio_loja_bipar_volume', 'T' FROM ctl_grupo_x_direito WHERE grupousucod IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'frm_dis_romaneio_loja') AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'frm_dis_romaneio_loja_bipar_volume') GROUP BY grupousucod); --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== INSERT INTO ctl_aplicativo ( SELECT 'cns_dis_romaneio_loja_adm_pedido', 'Administração de Pedidos', 'DIS', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'cns_dis_romaneio_loja_adm_pedido') IS NULL LIMIT 1); INSERT INTO ctl_grupo_x_direito ( SELECT grupousucod, 'cns_dis_romaneio_loja_adm_pedido', 'T' FROM ctl_grupo_x_direito WHERE grupousucod = 1 AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'cns_dis_romaneio_loja_adm_pedido') GROUP BY grupousucod); INSERT INTO ctl_menu_nivel_dependencia (aplicacao, aplicacao_nivel) VALUES ('frm_dis_romaneio_loja', 'cns_dis_romaneio_loja_adm_pedido'); --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== INSERT INTO ctl_aplicativo ( SELECT 'frm_dis_romaneio_loja_reimpressao_separacao', 'Reimpressao da Ordem de Separacao', 'DIS', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'frm_dis_romaneio_loja_reimpressao_separacao') IS NULL LIMIT 1); INSERT INTO ctl_grupo_x_direito ( SELECT grupousucod, 'frm_dis_romaneio_loja_reimpressao_separacao', 'T' FROM ctl_grupo_x_direito WHERE grupousucod = 1 AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'frm_dis_romaneio_loja_reimpressao_separacao') GROUP BY grupousucod); INSERT INTO ctl_menu_nivel_dependencia (aplicacao, aplicacao_nivel) VALUES ('frm_dis_romaneio_loja', 'frm_dis_romaneio_loja_reimpressao_separacao'); --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== ALTER TABLE par_faturamento ADD COLUMN tipo_ordenacao_itens_tela_venda integer; UPDATE par_faturamento SET tipo_ordenacao_itens_tela_venda = 0 WHERE tipo_ordenacao_itens_tela_venda IS NULL; ALTER TABLE par_faturamento ALTER COLUMN tipo_ordenacao_itens_tela_venda SET NOT NULL; --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== ALTER TABLE par_etiqueta ADD COLUMN logo character varying; UPDATE par_etiqueta SET logo = '' WHERE logo IS NULL; ALTER TABLE par_etiqueta ALTER COLUMN logo SET NOT NULL; ALTER TABLE par_etiqueta ADD COLUMN tamanho_byte_logo integer; UPDATE par_etiqueta SET tamanho_byte_logo = 0 WHERE tamanho_byte_logo IS NULL; ALTER TABLE par_etiqueta ALTER COLUMN tamanho_byte_logo SET NOT NULL; --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== ALTER TABLE par_faturamento ADD COLUMN entrega_futura_sem_passar_caixa character varying(1); UPDATE par_faturamento SET entrega_futura_sem_passar_caixa = 'N' WHERE entrega_futura_sem_passar_caixa IS NULL; ALTER TABLE par_faturamento ALTER COLUMN entrega_futura_sem_passar_caixa SET NOT NULL; --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== INSERT INTO ctl_aplicativo ( SELECT 'cns_vnd_consulta_evolucao_pedido', 'Consulta Evolucao do Pedido', 'VND', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'cns_vnd_consulta_evolucao_pedido') IS NULL LIMIT 1); INSERT INTO ctl_grupo_x_direito ( SELECT grupousucod, 'cns_vnd_consulta_evolucao_pedido', 'T' FROM ctl_grupo_x_direito WHERE grupousucod = 1 AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'cns_vnd_consulta_evolucao_pedido') GROUP BY grupousucod); INSERT INTO ctl_menu_nivel_dependencia (aplicacao, aplicacao_nivel) VALUES ('frm_vnd_pedido_distribuidora', 'cns_vnd_consulta_evolucao_pedido'); --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== INSERT INTO ctl_aplicativo ( SELECT 'cns_vnd_consulta_evolucao_pedido_item', 'Consulta Evolucao do Pedido - Item', 'VND', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'cns_vnd_consulta_evolucao_pedido_item') IS NULL LIMIT 1); INSERT INTO ctl_grupo_x_direito ( SELECT grupousucod, 'cns_vnd_consulta_evolucao_pedido_item', 'T' FROM ctl_grupo_x_direito WHERE grupousucod = 1 AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'cns_vnd_consulta_evolucao_pedido_item') GROUP BY grupousucod); INSERT INTO ctl_menu_nivel_dependencia (aplicacao, aplicacao_nivel) VALUES ('frm_vnd_pedido_distribuidora', 'cns_vnd_consulta_evolucao_pedido_item'); --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== INSERT INTO ctl_aplicativo ( SELECT 'frm_vnd_imprime_pedido_tipo_agrupa_resumo', 'Impressao do Pedido - Agrupa / Resumo', 'VND', 'R' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'frm_vnd_imprime_pedido_tipo_agrupa_resumo') IS NULL LIMIT 1); INSERT INTO ctl_grupo_x_direito ( SELECT grupousucod, 'frm_vnd_imprime_pedido_tipo_agrupa_resumo', 'T' FROM ctl_grupo_x_direito WHERE grupousucod = 1 AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'frm_vnd_imprime_pedido_tipo_agrupa_resumo') GROUP BY grupousucod); --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== INSERT INTO ctl_aplicativo ( SELECT 'frm_vnd_impressao_recibo_venda_pdf', 'Impressao do Recibo de Venda', 'VND', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'frm_vnd_impressao_recibo_venda_pdf') IS NULL LIMIT 1); INSERT INTO ctl_grupo_x_direito ( SELECT grupousucod, 'frm_vnd_impressao_recibo_venda_pdf', 'T' FROM ctl_grupo_x_direito WHERE grupousucod = 1 AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'frm_vnd_impressao_recibo_venda_pdf') GROUP BY grupousucod); INSERT INTO ctl_menu_nivel_dependencia (aplicacao, aplicacao_nivel) VALUES ('frm_vnd_imprime_comprovante_nao_fiscal', 'frm_vnd_impressao_recibo_venda_pdf'); --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== ALTER TABLE pro_classificacao_fiscal ADD COLUMN consumo_revenda character varying(1); UPDATE pro_classificacao_fiscal SET consumo_revenda = 'C' WHERE consumo_revenda IS NULL; ALTER TABLE pro_classificacao_fiscal ALTER COLUMN consumo_revenda SET NOT NULL; ALTER TABLE pro_classificacao_fiscal DROP CONSTRAINT pk_pro_classificacao_fiscal; ALTER TABLE pro_classificacao_fiscal ADD CONSTRAINT pk_pro_classificacao_fiscal PRIMARY KEY (classificacao_fiscal, estado, importado_sn, consumo_revenda); INSERT INTO pro_classificacao_fiscal SELECT classificacao_fiscal, estado, percentual_mva, calcula_cfop_substituicao_tributaria, calcula_valor_substituicao_tributaria, calcula_percentual_mva_ajustado, importado_sn, 'R' FROM pro_classificacao_fiscal; --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== INSERT INTO ctl_aplicativo ( SELECT 'frm_vnd_reimpressao_comprovante_nao_fiscal', 'Re-Impressao do Recibo de Venda', 'VND', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'frm_vnd_reimpressao_comprovante_nao_fiscal') IS NULL LIMIT 1); INSERT INTO ctl_grupo_x_direito ( SELECT grupousucod, 'frm_vnd_reimpressao_comprovante_nao_fiscal', 'T' FROM ctl_grupo_x_direito WHERE grupousucod = 1 AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'frm_vnd_reimpressao_comprovante_nao_fiscal') GROUP BY grupousucod); DELETE FROM ctl_menu_nivel WHERE codigo = 6081; INSERT INTO ctl_menu_nivel VALUES (6081, 'Re-Impressao Recibo Não Fiscal', 9999,'','_self', 'frm_vnd_reimpressao_comprovante_nao_fiscal', 348, 1); --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== INSERT INTO ctl_aplicativo ( SELECT 'frm_ent_impressao_pre_nota_pdf', 'Impressao do Recibo de Venda', 'VND', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'frm_ent_impressao_pre_nota_pdf') IS NULL LIMIT 1); INSERT INTO ctl_grupo_x_direito ( SELECT grupousucod, 'frm_ent_impressao_pre_nota_pdf', 'T' FROM ctl_grupo_x_direito WHERE grupousucod = 1 AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'frm_ent_impressao_pre_nota_pdf') GROUP BY grupousucod); INSERT INTO ctl_menu_nivel_dependencia (aplicacao, aplicacao_nivel) VALUES ('frm_ent_pre_nota_impressao', 'frm_ent_impressao_pre_nota_pdf'); --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --============================================================================================================================== --==============================================================================================================================