Histórico da Página
...
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 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
|
Variáveis | |
---|---|
Programa Fonte | OFIOA550 |