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;