Ponto de Entrada – M460MARK

Exemplo do Ponto de Entrada M460MARK.

Exemplo do Ponto de Entrada:

//Bibliotecas
#Include 'RwMake.ch'
#Include 'Protheus.ch'
#Include 'TopConn.ch'

//Constantes
#Define STR_PULA		Chr(13)+Chr(10)

/*------------------------------------------------------------------------------------------------------*
 | P.E.:  M460MARK                                                                                      |
 | Desc:  Não permite usuário marcar registros para faturar, caso o pedido tenha remessa                |
 | Links: http://tdn.totvs.com/pages/releaseview.actionçpageId=6784189                                  |
 *------------------------------------------------------------------------------------------------------*/
 
User Function M460MARK()
	Local aArea		:= GetArea()
	Local aAreaC9	:= SC9->(GetArea())
	Local aAreaC5	:= SC5->(GetArea())
	Local lRet		:= .T.	
	Local cMarca	:= ParamIXB[1]
	Local lInverte	:= ParamIXB[2]
	Local cSQL		:= ""
	Local cMens		:= ""
	Local cMensBoni := ""
	Local cMensAux := ""
	Local cPedsMark := ""
	
	Pergunte("MT461A", .F.)
	
	//Criando a consulta
	cSQL += " SELECT "																											+ STR_PULA
	cSQL += "  C9_PEDIDO AS PEDIDO "																							+ STR_PULA
	cSQL += " FROM "+RetSQLName("SC9")+" SC9 "																				+ STR_PULA
	cSQL += "   INNER JOIN "+RetSQLName("SC5")+" SC5 ON ("																	+ STR_PULA
	cSQL += "       SC5.D_E_L_E_T_='' "																						+ STR_PULA
	cSQL += "       AND C5_FILIAL = C9_FILIAL "																				+ STR_PULA
	cSQL += "       AND C5_NUM = C9_PEDIDO "																					+ STR_PULA
	cSQL += "   ) "																												+ STR_PULA
	cSQL += " WHERE SC9.D_E_L_E_T_ = ' ' " 																					+ STR_PULA
	cSQL += "  AND C9_FILIAL='"+FWxFilial("SC9")+"' "																		+ STR_PULA
	cSQL += "  AND C9_OK"+Iif(lInverte, "<>", "=")+ "'"+cMarca+"' "														+ STR_PULA
	cSQL += "  AND C9_CLIENTE >= '" + MV_PAR07 + "' AND C9_CLIENTE <= '" + MV_PAR08 + "' "								+ STR_PULA
	cSQL += "  AND C9_LOJA >= '" + MV_PAR09 + "' AND C9_LOJA <= '" + MV_PAR10 + "' "										+ STR_PULA
	cSQL += "  AND C9_DATALIB >= '" + dToS(MV_PAR11) + "' AND C9_DATALIB <= '" + dToS(MV_PAR12) + "' "				+ STR_PULA
	cSQL += "  AND C9_PEDIDO >= '" + MV_PAR05 + "' AND C9_PEDIDO <= '" + MV_PAR06 + "' "								+ STR_PULA
	cSQL += "  AND C9_BLEST = '' AND C9_BLCRED = ''"																			+ STR_PULA
	
	//Executando a Cláusula
	TCQuery cSQL NEW ALIAS QRY_SC9
	//Indo ao top e verificando se há registros
	QRY_SC9->(DbGoTop())
	If QRY_SC9->(Eof())
		MSGInfo('Nenhum item de pedido foi encontrado para faturamento!',"Atenção")
		lRet:=.F.
	Endif
	QRY_SC9->(DbCloseArea())
		
	RestArea(aAreaC5)
	RestArea(aAreaC9)
	RestArea(aArea)
	
	//Restaurando a pergunta do botão Prep.Doc.
	Pergunte("MT460A", .F.)
Return lRet

Observações:

– Caso tenha dúvidas ou problemas com os exemplos, entre em contato;
– Se tiver sugestões de rotinas, pode entrar em contato;

Links:

Pesquisa no TDN