Árvore de páginas

Versões comparadas

Chave

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

...

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 orcamento  If !Empty(cNumOrc) cSQL  cSQL := cSQLBase cSQL  cSQL += " AND VDF_NUMOSV = '" + cNumOsv + "'" cSQL  cSQL += " AND VDF_NUMORC = '" + cNumOrc + "'" nAuxRecno  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  If nAuxRecno == 0 cSQL   cSQL := cSQLBase cSQL   cSQL += " AND VDF_NUMOSV = '" + cNumOsv + "'" cSQL   cSQL += " AND VDF_NUMORC = '        '" nAuxRecno   nAuxRecno := FM_SQL(cSQL)   // Se encontrar o registro, pergunta se o usuario deseja criar   // um novo registro relacionando com o orcamento ... If   If /* nAuxRecno <> 0 .and. */ lPergunta

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

Endif EndIf

If    EndIf        Endif  EndIf    If ExistBlock("OA550VLD")   //TODO Tratar o retorno do PE para possibilitar o usuario cancelar a exportação do orcamento ExecBlockorcamento    ExecBlock("OA550VLD",.F.,.F., \{ nRespAviso
\} ) EndIf EndIf    Else cSQL  cSQL := cSQLBase + " AND VDF_NUMOSV = '" + cNumOsv + "'" nAuxRecno  nAuxRecno := FM_SQL(cSQL) EndIf

 

Variáveis

Programa Fonte

OFIOA550