DO $$ DECLARE var_tipo_pgto_cheque_emitido INTEGER; var_pgto_emitido INTEGER := (SELECT MAX(codigo) + 1 FROM bas_tipo_pagto); var_pgto_recebido INTEGER := (SELECT MAX(codigo) + 2 FROM bas_tipo_pagto); BEGIN SELECT tipo_pgto_baixa_pagar_cheque_emitido INTO var_tipo_pgto_cheque_emitido FROM par_faturamento WHERE codigo = 1; IF var_tipo_pgto_cheque_emitido = 0 THEN INSERT INTO public.bas_tipo_pagto( codigo, descricao, nr_parcelas, ind_financeiro, gera_duplic, fora, soma_estatist, a_vista, cartao, dig_bco_ag_cta, devolve_troco, e_dinheiro, imprime_boleto, tem_icms, despesas, tipo_pgto_ecf, desc_maximo, descr_ecf, bonificacao, compra_venda, soma_limite_cred, prazo_medio, ind_deflacao, tipo_operacao_financ, fecha_balcao_caixa, dia_programado, dia_semana_programado, dia_multiplo, dia_util_sn, dia_prorroga_antecipa, tipo_pgto_nfe, vlr_minimo_faturamento, tp_pagto_especial, tipo_duplicata, banco_especial, comissao_vlr_pago, grava_cartao, caixa_fechamento_balcao, e_cheque, simula_pgto_pedido, conta_contabil, integracao_start, perc_taxa_cartao, agencia_especial, conta_especial, cnpj_credenciadora_cartao, bandeira_cartao, meio_pagamento_nfe, tipo_integracao_cartao) VALUES (var_pgto_emitido,'BAIXA POR CHEQUE EMITIDO',1,'0.000000','N','N','S','S','N','S','S','S','N','S','0.000000','','0.000000','','N','T','N',0,'1.000000',1,'C',0,0,0,'N','P',0,'0.000000',0,1,0,'S','N',0,'N','N','0','N','0.000000','0','0','',0,1,0); INSERT INTO public.bas_tipo_pagto_vcto( tipo_pgto, vencimento, descricao, perc_sob_valor, nr_dias, situacao, situacao_cartao) VALUES (var_pgto_emitido, 1, 'BAIXA POR CHEQUE EMITIDO', 100.000000, 1, 'A', 'B'); INSERT INTO public.bas_tipo_pagto( codigo, descricao, nr_parcelas, ind_financeiro, gera_duplic, fora, soma_estatist, a_vista, cartao, dig_bco_ag_cta, devolve_troco, e_dinheiro, imprime_boleto, tem_icms, despesas, tipo_pgto_ecf, desc_maximo, descr_ecf, bonificacao, compra_venda, soma_limite_cred, prazo_medio, ind_deflacao, tipo_operacao_financ, fecha_balcao_caixa, dia_programado, dia_semana_programado, dia_multiplo, dia_util_sn, dia_prorroga_antecipa, tipo_pgto_nfe, vlr_minimo_faturamento, tp_pagto_especial, tipo_duplicata, banco_especial, comissao_vlr_pago, grava_cartao, caixa_fechamento_balcao, e_cheque, simula_pgto_pedido, conta_contabil, integracao_start, perc_taxa_cartao, agencia_especial, conta_especial, cnpj_credenciadora_cartao, bandeira_cartao, meio_pagamento_nfe, tipo_integracao_cartao) VALUES (var_pgto_recebido,'BAIXA POR CHEQUE RECEBIDO',1,'0.000000','N','N','N','S','N','S','N','N','N','S','0.000000','','0.000000','','S','T','N',0,'1.000000',1,'C',0,0,0,'N','P',2,'0.000000',0,1,0,'S','N',0,'N','N','0','N','0.000000','0','0','',0,1,0); INSERT INTO public.bas_tipo_pagto_vcto( tipo_pgto, vencimento, descricao, perc_sob_valor, nr_dias, situacao, situacao_cartao) VALUES (var_pgto_recebido, 1, 'BAIXA POR CHEQUE RECEBIDO', 100.000000, 1, 'A', 'B'); UPDATE par_faturamento SET tipo_pgto_baixa_pagar_cheque_emitido = var_pgto_emitido, tipo_pgto_baixa_pagar_cheque_recebido = var_pgto_recebido WHERE codigo = 1; END IF; END $$;