// PROCEDURE tabela_atualiza_receber()
nTipo_situacao is int = 0
// 1-aberto 2-recebido ou pago 3-todos 4-atrazados 5-emissao
nTipo_situacao=COMBO_SITUACAO
s_sql_query is string = [
SELECT
duplicata_receber.id_empresa_cliente AS cli_id_empresa_cliente,
cliente.razao_social_nome AS cli_razao_social,
duplicata_receber.titulo AS dup_titulo,
duplicata_receber.numero_nota_fiscal AS dup_nota_fiscal,
duplicata_receber.data_emissao AS dup_data_emissao,
duplicata_receber.data_vencimento AS dup_data_vencimento,
duplicata_receber.data_pagamento AS dup_data_recebimento,
duplicata_receber.valor_titulo AS dup_valor_titulo,
duplicata_receber.valor_juros AS dup_valor_juros,
duplicata_receber.valor_total AS dup_valor_total,
representante.nome AS rep_nome,
duplicata_receber.cobranca_linha_digitavel AS dup_Cobranca_linha_digitavel,
duplicata_receber.cobranca_numero_banco AS dup_numero_banco,
duplicata_receber.cobranca_data_remessa AS dup_data_remessa,
duplicata_receber.cobranca_data_remetida AS dup_data_remetida,
duplicata_receber.Id_duplicata_receber AS dup_id_duplicata_receber,
duplicata_receber.id_empresa AS dup_id_empresa,
duplicata_receber.Id_empresa_duplicata_receber AS dup_id_empresa_duplicata_receber,
duplicata_receber.id_centro_custo AS dup_id_centro_custo,
duplicata_receber.caixa_id AS dup_caixa_id,
duplicata_receber.id_bancos AS dup_id_banco,
bancos.nome AS nomeBanco
FROM
duplicata_receber
LEFT OUTER JOIN
cliente
ON duplicata_receber.id_empresa_cliente=cliente.id_empresa_cliente
LEFT OUTER JOIN
representante
ON duplicata_receber.id_empresa_representante=representante.id_empresa_representante
LEFT JOIN bancos
ON bancos.id_bancos = duplicata_receber.id_bancos
where
duplicata_receber.id_empresa={parametro_id_empresa}
{condicao_cliente}
{condicao1}
{condicao2}
]
//1. TITULOS ABERTOS
IF COMBO_clientes_relacao=0 OR COMBO_clientes_relacao=-1 OR COMBO_clientes_relacao="" THEN
s_sql_query=Replace(s_sql_query,"{condicao_cliente}","")
ELSE
sQl_texto is string=
[
and duplicata_receber.id_empresa_cliente={parametro_id_empresa_cliente}
]
sQl_texto=Replace(sQl_texto,"{parametro_id_empresa_cliente}",COMBO_clientes_relacao..StoredValue)
s_sql_query=Replace(s_sql_query,"{condicao_cliente}",sQl_texto)
END
s_sql_query=Replace(s_sql_query,"{parametro_id_empresa}",gn_empresa_codigo_selecionada)
//
d_data_inicial is Date=EDT_DATA_INICIAL
IF EDT_DATA_INICIAL="" THEN
d_data_inicial=Null
END
d_data_Final is Date = EDT_DATA_final
cyTotal_aberto is currency = 0
cyTotal_recebido is currency = 0
cyTotal_geral is currency = 0
IF nTipo_situacao=1 OR nTipo_situacao=4 OR nTipo_situacao=-1 THEN
VENCIMENTO()
ELSE IF nTipo_situacao=2 THEN
RECEBIDOS()
ELSE IF nTipo_situacao=3 THEN
emissao()
END
// 1-aberto 2-recebido ou pago 3-todos 4-atrazados 5-emissao
GERA_taBELA()
STC_TOTAIS=""
IF cyTotal_aberto<>0 THEN
STC_TOTAIS+="Aberto:"+NumToString(cyTotal_aberto,"10,2fS")+CR
END
IF cyTotal_recebido<>0 THEN
STC_TOTAIS+=" Recebido:"+NumToString(cyTotal_recebido,"10,2fS")+CR
END
IF cyTotal_aberto<>0 AND cyTotal_recebido<>0 THEN
cyTotal_geral=cyTotal_aberto+cyTotal_recebido
STC_TOTAIS+=" Geral:"+NumToString(cyTotal_geral,"10,2fS")
END
EDT_sql=s_sql_query
INTERNAL PROCEDURE emissao()
s_condicao is string=""
s_condicao=[
and duplicata_receber.data_emissao>={parametro_data_inicial}
and duplicata_receber.data_emissao<={parametro_data_final}
]
s_condicao = Replace(s_condicao,"{parametro_data_inicial}",d_data_inicial)
s_condicao = Replace(s_condicao,"{parametro_data_final}",d_data_Final)
s_sql_query = Replace(s_sql_query,"{condicao1}",s_condicao)
s_condicao_2 is string=""
// seria em aberto - data pagamento = 0
s_sql_query = Replace(s_sql_query,"{condicao2}",s_condicao_2)
TABLE_duplicata_receber_relacao.COL_07_Dup_data_recebimento..Visible = True
TABLE_duplicata_receber_relacao.COL_09_Dup_valor_juros..Visible = True
TABLE_duplicata_receber_relacao.COL_10_Dup_valor_total..Visible = True
// fim
END
INTERNAL PROCEDURE RECEBIDOS()
s_condicao is string=""
s_condicao=[
and duplicata_receber.data_pagamento>={parametro_data_inicial}
and duplicata_receber.data_pagamento<={parametro_data_final}
]
s_condicao = Replace(s_condicao,"{parametro_data_inicial}",d_data_inicial)
s_condicao = Replace(s_condicao,"{parametro_data_final}",d_data_Final)
s_sql_query = Replace(s_sql_query,"{condicao1}",s_condicao)
s_condicao_2 is string=""
// seria em aberto - data pagamento = 0
s_sql_query = Replace(s_sql_query,"{condicao2}",s_condicao_2)
TABLE_duplicata_receber_relacao.COL_07_Dup_data_recebimento..Visible = True
TABLE_duplicata_receber_relacao.COL_09_Dup_valor_juros..Visible = True
TABLE_duplicata_receber_relacao.COL_10_Dup_valor_total..Visible = True
// fim
END
INTERNAL PROCEDURE VENCIMENTO()
s_condicao is string=""
s_condicao=[
and duplicata_receber.data_vencimento>={parametro_data_inicial}
and duplicata_receber.data_vencimento<={parametro_data_final}
]
s_condicao = Replace(s_condicao,"{parametro_data_inicial}",d_data_inicial)
s_condicao = Replace(s_condicao,"{parametro_data_final}",d_data_Final)
s_sql_query = Replace(s_sql_query,"{condicao1}",s_condicao)
s_condicao_2 is string=""
// seria em aberto - data pagamento = 0
s_condicao_2=[
AND ( duplicata_receber.data_pagamento is Null OR duplicata_receber.data_pagamento = '' )
]
TABLE_duplicata_receber_relacao.COL_07_Dup_data_recebimento..Visible = False
TABLE_duplicata_receber_relacao.COL_09_Dup_valor_juros..Visible = False
TABLE_duplicata_receber_relacao.COL_10_Dup_valor_total..Visible = False
s_sql_query = Replace(s_sql_query,"{condicao2}",s_condicao_2)
// fim
END
INTERNAL PROCEDURE GERA_taBELA()
ds_DATA_SOURCE is Data Source
TABLE_duplicata_receber_relacao.DeleteAll()
IF HExecuteSQLQuery(ds_DATA_SOURCE,hQueryDefault,s_sql_query) THEN
HReadFirst(ds_DATA_SOURCE)
WHILE NOT HOut()
nNOCORRENCIA is int=TABLE_duplicata_receber_relacao.AddLine()
TABLE_duplicata_receber_relacao[nNOCORRENCIA].COL_01_Cli_id_empresa_cliente=ds_DATA_SOURCE.cli_id_empresa_cliente
TABLE_duplicata_receber_relacao[nNOCORRENCIA].COL_02_Cli_razao_social=ds_DATA_SOURCE.cli_razao_social
TABLE_duplicata_receber_relacao[nNOCORRENCIA].COL_03_Dup_titulo=ds_DATA_SOURCE.dup_titulo
TABLE_duplicata_receber_relacao[nNOCORRENCIA].COL_04_Dup_nota_fiscal=ds_DATA_SOURCE.dup_nota_fiscal
TABLE_duplicata_receber_relacao[nNOCORRENCIA].COL_05_Dup_data_emissao=ds_DATA_SOURCE.dup_data_emissao
TABLE_duplicata_receber_relacao[nNOCORRENCIA].COL_06_Dup_data_vencimento=ds_DATA_SOURCE.dup_data_vencimento
TABLE_duplicata_receber_relacao[nNOCORRENCIA].COL_07_Dup_data_recebimento=ds_DATA_SOURCE.dup_data_recebimento
TABLE_duplicata_receber_relacao[nNOCORRENCIA].COL_08_Dup_valor_titulo=ds_DATA_SOURCE.dup_valor_titulo
TABLE_duplicata_receber_relacao[nNOCORRENCIA].COL_09_Dup_valor_juros=ds_DATA_SOURCE.dup_valor_juros
TABLE_duplicata_receber_relacao[nNOCORRENCIA].COL_10_Dup_valor_total=ds_DATA_SOURCE.dup_valor_total
TABLE_duplicata_receber_relacao[nNOCORRENCIA].COL_11_Rep_nome=ds_DATA_SOURCE.rep_nome
TABLE_duplicata_receber_relacao[nNOCORRENCIA].COL_12_Dup_Cobranca_linha_digitavel=ds_DATA_SOURCE.dup_Cobranca_linha_digitavel
TABLE_duplicata_receber_relacao[nNOCORRENCIA].COL_13_Dup_numero_banco=ds_DATA_SOURCE.dup_numero_banco
TABLE_duplicata_receber_relacao[nNOCORRENCIA].COL_14_Dup_data_remessa=ds_DATA_SOURCE.dup_data_remessa
TABLE_duplicata_receber_relacao[nNOCORRENCIA].COL_15_Dup_data_remetida=ds_DATA_SOURCE.dup_data_remetida
TABLE_duplicata_receber_relacao[nNOCORRENCIA].COL_16_Dup_id_duplicata_receber=ds_DATA_SOURCE.dup_id_duplicata_receber
TABLE_duplicata_receber_relacao[nNOCORRENCIA].COL_17_Dup_id_empresa=ds_DATA_SOURCE.dup_id_empresa
TABLE_duplicata_receber_relacao[nNOCORRENCIA].COL_18_Dup_id_empresa_duplicata_receber=ds_DATA_SOURCE.dup_id_empresa_duplicata_receber
TABLE_duplicata_receber_relacao[nNOCORRENCIA].COL_19_Dup_id_centro_custo=ds_DATA_SOURCE.dup_id_centro_custo
TABLE_duplicata_receber_relacao[nNOCORRENCIA].COL_20_Dup_caixa_id=ds_DATA_SOURCE.dup_caixa_id
TABLE_duplicata_receber_relacao[nNOCORRENCIA].COL_21_Dup_id_banco=ds_DATA_SOURCE.dup_id_banco
TABLE_duplicata_receber_relacao[nNOCORRENCIA].COL_22_NomeBanco=ds_DATA_SOURCE.nomeBanco
IF ds_DATA_SOURCE.dup_data_recebimento="" THEN
cyTotal_aberto+=Val(ds_DATA_SOURCE.dup_valor_titulo)
ELSE
cyTotal_recebido+=Val(ds_DATA_SOURCE.dup_valor_titulo)
END
HReadNext(ds_DATA_SOURCE)
END
END
END