Árvore de páginas

Descrição

Ponto de entrada localizado na rotina Garantia Mútua. Esta posicionado depois da mensagem de aviso, onde informa as solicitações de garantia geradas para a O.S., e pergunta se o usuário deseja gerar uma nova solicitação ou continuar com a exportação do Orçamento.

 

Observações

Exemplos

#include "protheus.ch"

User Function OA550VLD()

Local nResposta := ParamIXB1

If nResposta == 2 Alert("Usuario clicou em continuar") EndIf

Return

Preview

Veja também

Idioma

Português(Brasil)

Versões

Todas

Sistemas Operacionais Suportados

Todos

Compatível com as Bases de Dados

Todas

Updates

Parâmetros

nRespAviso - Botão selecionado na mensagem de aviso.

1 = Opção de nova solicitação 2 = Opção de continuar

Retorno

Eventos de chamada do Ponto de Entrada

// Se for passado um numero de orcamento, procura qualquer solicitacao para a mesma os sem numero de orcamento // ou o numero do orcamento  If !Empty(cNumOrc)  cSQL := cSQLBase  cSQL += " AND VDF_NUMOSV = '" + cNumOsv + "'"  cSQL += " AND VDF_NUMORC = '" + cNumOrc + "'"  nAuxRecno := FM_SQL(cSQL)    // Se nao encontrar registro, procura um registro com o mesmo  // numero de OS e sem orcamento gravado, pois se trata de uma  // solicitacao de garantia criada pela Abertura de OS  If nAuxRecno == 0   cSQL := cSQLBase   cSQL += " AND VDF_NUMOSV = '" + cNumOsv + "'"   cSQL += " AND VDF_NUMORC = '        '"   nAuxRecno := FM_SQL(cSQL)   // Se encontrar o registro, pergunta se o usuario deseja criar   // um novo registro relacionando com o orcamento ...   If /* nAuxRecno <> 0 .and. */ lPergunta

   cMsg := ""          cSQL := "SELECT VDF_NUMPED, VDF_VLREST , VDF_STATUS "    cSQL += " FROM " + RetSQLName("VDF")    cSQL += " WHERE VDF_FILIAL = '" + xFilial("VDF") + "'"    cSQL +=   " AND VDF_NUMOSV = '" + cNumOsv + "'"    cSQL +=   " AND VDF_STATUS IN ('P','L')"    cSQL +=   " AND D_E_L_E_T_ = ' '"    cSQL += " ORDER BY VDF_STATUS,VDF_NUMPED"    dbUseArea( .T., "TOPCONN", TcGenQry( ,, cSQL ), cAliasVDF , .F., .T. )        cQuebra := (cAliasVDF)->VDF_STATUS    While !(cAliasVDF)->(Eof())         cPedidos += (cAliasVDF)->VDF_NUMPED + "/"     nSubValor += (cAliasVDF)->VDF_VLREST         (cAliasVDF)->(dbSkip())          If (cAliasVDF)->(Eof()) .or. cQuebra <> (cAliasVDF)->VDF_STATUS      cMsg += AllTrim(RetTitle("VDF_STATUS")) + ": " + X3CBOXDESC("VDF_STATUS",cQuebra) + chr(13) + chr(10)      cMsg += AllTrim(RetTitle("VDF_NUMPED")) + ": " + Left(cPedidos,Len(cPedidos)-1) + chr(13) + chr(10)      cMsg += AllTrim(RetTitle("VDF_VLREST")) + ": " + Transform(nSubValor,PesqPict("VDF","VDF_VLREST")) + chr(13) + chr(10) + chr(13) + chr(10)      nValor += nSubValor      cPedidos := ""      nSubValor := 0      cQuebra := IIf( !(cAliasVDF)->(Eof()) , (cAliasVDF)->VDF_STATUS , "")     EndIf    End    (cAliasVDF)->(dbCloseArea())    dbSelectArea("VDF")        If !Empty(cMsg)     cMsg := STR0013 + chr(13) + chr(10) + chr(13) + chr(10) + cMsg // "Existe uma solicitação de garantia criada para a OS."    Else     cMsg := STR0018 + chr(13) + chr(10) + cMsg // "OS de garantia mútua mas ainda não possui solicitação gerada."    EndIf    cMsg += chr(13) + chr(10) + STR0017 + ": " + Transform(nValor,PesqPict("VDF","VDF_VLREST")) + chr(13) + chr(10) + chr(13) + chr(10) // "Total estimado"    cMsg += STR0016 // "Deseja criar uma nova solicitação relacionando este orçamento ou continuar a exportação?"        nRespAviso := Aviso(STR0012, cMsg , \{STR0014 , STR0015 \},3) // "Nova Sol.","Continuar"        If nRespAviso == 1     nAuxRecno := 0    Else     nAuxRecno := -1    EndIf        Endif  EndIf    If ExistBlock("OA550VLD")   //TODO Tratar o retorno do PE para possibilitar o usuario cancelar a exportação do orcamento    ExecBlock("OA550VLD",.F.,.F., \{ nRespAviso \} )  EndIf    Else  cSQL := cSQLBase + " AND VDF_NUMOSV = '" + cNumOsv + "'"  nAuxRecno := FM_SQL(cSQL) EndIf

 

Variáveis

Programa Fonte

OFIOA550

  • Sem rótulos