https://youtu.be/ew1Xmbp1VaY
Bom Dia Boa Tarde Boa Noite
Seja Membro do Canal
Esse Video Ao Vivo vai estrear as XX:00 do dia 15/02/2021 
DICAS 3263 - WEBDEV - COMO FAZER UMA COMBOX CLIENTE PARA FILTRAR TITULOS - PERGUNTAS E RESPOSTAS 24
ASSUNTO
NESSA VIDEO AULA, VOU ENSINAR A FAZER UMA COMBOX DE CONSULTA DE 
CLIENTES, E VAMOS FILTRAR OS TITULOS CONFORME O CLIENTE
SELECIONADO
==============================
// 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
==============================
=============== INDICE PERGUNTAS E RESPOSTA
-------------------------- INDICE CURSO COMBOX
WinDev - Combox - 001/... Preencher Manualmente e Eliminar
WinDev - Combox - 002/... Selecionar Combox
WinDev - Combox - 003/... Combox Editavel
WinDev - Combox - 004/... Combox - Ordem/Sort
WinDev - Combox - 005/... Combox Glink
WinDev - Combox - 006/... Selecione Linha Automatico - custom row
WinDev - Combox - 007/... ComboOpen e ComboClose
Adiciona Combox Manualmente - Combox 008 AULA 1258
WinDev - Combox - 002/... Selecionar Combox
WinDev - Combox - 003/... Combox Editavel
WinDev - Combox - 004/... Combox - Ordem/Sort
WinDev - Combox - 005/... Combox Glink
WinDev - Combox - 006/... Selecione Linha Automatico - custom row
WinDev - Combox - 007/... ComboOpen e ComboClose
Adiciona Combox Manualmente - Combox 008 AULA 1258
DICAS 2065 - WINDEV WEBDEV MOBILE - COMBOX 10 - LISTDISPLAY
DICAS 2346 WINDEV WEBDEV MOBILE Combox 11 Criar
DICAS 2349 WINDEV WEBDEV MOBILE Combox 12 Selecionar Representante
DICAS 2346 WINDEV WEBDEV MOBILE Combox 11 Criar
DICAS 2349 WINDEV WEBDEV MOBILE Combox 12 Selecionar Representante
PlayList WebDev tutorial Amarildo Webdev
Playlist Windev Tutorial Amarildo Windev
PlayList Windev Mobile 
Amarildo
Donwloads Windev
Windev
WxSolucoes
Matos Informatica
Repositorio Windev
Inscricao Evento Pcsof
Site forum Google 
Video sobre 3 Mil Videos Windev 
Video sobre Alfaserver servidor 
















