Exemplos | User Function VCM510PE() Local cEvento := ParamIxb[01] // Evento ( 1=Venda Peças / 2=Cancel.Peças / 3=Perseguidor Veículos / 4=Venda Veículos / 5=Cancel.Veículos / 6=Venda Serviços / 7=Cancel.Serviços ) Local cOrigem := ParamIxb[02] // Origem ( Nro. do Atendimento / Nro. do Orcamento / Nro. da OS ) Local aRet := ParamIxb[03] // Vetor com as Agendas que serao geradas \{\{ Tip.Agenda , Qtd.Dias , Vendedor , Dias Minimo \}\} MsgInfo("Ponto de Entrada VCM510PE executado com sucesso!","Atenção") Return(aRet) |
---|
Eventos de chamada do Ponto de Entrada | Function VCM510CEV(cEvento,cTipVei,cSitTpo,cOrigem) Local ni := 0 Local aRet := \{\} Local cAux := "" Local cQuery := "" Local cSQLAlias := "SQLVDX" Default cEvento := "" Default cTipVei := "" Default cSitTpo := "" // cQuery := "SELECT VDX_TIPAGE , VDX_DIACON , VDX_CODVEN , VDX_DIAMIN FROM "+RetSQLName("VDX")+" " cQuery += "WHERE VDX_FILIAL='"+xFilial("VDX")+"' AND VDX_EVENTO='"+cEvento+"' AND " If ( cEvento $ "3,4,5" ) // 3 = Perseguidor / 4 = Venda Veiculo / 5 = Cancel.Veiculo cQuery += "( VDX_TIPVEI='"+cTipVei+"' OR VDX_TIPVEI='2' ) AND " ElseIf ( cEvento $ "6,7" ) // 6 = Venda Servico / 7 = Cancel.Servico For ni := 1 to len(cSitTpo) cAux += "'"+substr(cSitTpo,ni,1)+"'," Next cQuery += "( " If len(cAux) > 0 cQuery += "VDX_SITTPO IN ( "+left(cAux,len(cAux)-1)+" ) OR " EndIf cQuery += "VDX_SITTPO=' ' ) AND " EndIf cQuery += "D_E_L_E_T_=' '" dbUseArea( .T., "TOPCONN", TcGenQry( ,, cQuery ), cSQLAlias, .F., .T. ) While !(cSQLAlias)->(Eof()) aAdd(aRet,\{ ( cSQLAlias )->( VDX_TIPAGE ) , ( cSQLAlias )->( VDX_DIACON ) , ( cSQLAlias )->( VDX_CODVEN ) , ( cSQLAlias )->( VDX_DIAMIN ) \}) (cSQLAlias)->(dbSkip()) EndDo (cSQLAlias)->(dbCloseArea()) // If ExistBlock("VCM510PE") // PE para manipular o Vetor com as agendas aRet := ExecBlock("VCM510PE",.f.,.f.,\{cEvento,cOrigem,aRet\}) EndIf // DbSelectArea("VC1") // Return(aRet) |
---|