Histórico da Página
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 |