Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Descrição

Ponto de entrada localizado na rotina Garantia MutuaMútua. Esta posicionado depois da mensagem de aviso informando , onde informa as solicitação solicitações de garantia geradas para a O.S., e perguntando 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        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