Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

Ponto de Entrada

Descrição:

Este Ponto de Entrada está localizado após a gravação das tabelas de Orçamento por Fases na integração utilizando o OFIXX010

Eventos:


// Criação dos Itens do aCols de Peças
DbSelectArea("VS3")
For nCntFor := 1 to Len(aItePec)

RecLock("VS3",.T.)
VS3->VS3_FILIAL := xFilial("VS3")
VS3->VS3_SEQUEN := STRZERO(nCntFor,TamSX3("VS3_SEQUEN")[1]) // Sequencia
VS3->VS3_NUMORC := VS1->VS1_NUMORC
For nx := 1 to len(aItePec[nCntFor])
&("VS3->"+aItePec[nCntFor,nx,1]) := aItePec[nCntFor,nx,2]
Next
VS3->VS3_VALTOT := ( VS3->VS3_QTDITE * VS3->VS3_VALPEC )
MsUnlock()

Next

// Criação dos Itens do aCols de Serviços
If Len(aIteSrv) > 0

dbSelectArea("VV1")
dbSetOrder(1)
dbSeek(xFilial("VV1")+VS1->VS1_CHAINT)

For nCntFor := 1 to Len(aIteSrv)

// Posiciona com o Tipo de Tempo de Servico
dbSelectArea("VOI")
dbSetOrder(1)
dbSeek(xFilial("VOI")+VS1->VS1_TIPTSV)

DbSelectArea("VS4")
RecLock("VS4",.T.)
VS4->VS4_FILIAL := xFilial("VS4") // Filial
VS4->VS4_NUMORC := VS1->VS1_NUMORC // Numero do Orcamento
VS4->VS4_SEQUEN := STRZERO(nCntFor,TamSX3("VS4_SEQUEN")[1]) // Sequencia
For nx := 1 to len(aIteSrv[nCntFor])
If aIteSrv[nCntFor,nx,1] == "VS4_CODSER"
// Posiciona na tabela de servicos
DBSelectArea("VOK")
DBSetOrder(1)
DBSeek(xFilial("VOK")+VS4->VS4_TIPSER)
//
If VOK->VOK_INCMOB == "5" // Kilometragem
nValHor := VOK->VOK_PREKIL
nTemPad := 0
nValSer := 0
else
nValHor := If(VOK->VOK_INCMOB $ "0/2/5/6",0,FG_VALHOR(VOI->VOI_TIPTEM,dDataBase,,,VV1->VV1_CODMAR,aIteSrv[nCntFor,nx,2],VS4->VS4_TIPSER,VS1->VS1_CLIFAT,VS1->VS1_LOJA))
nTemPad := FG_TEMPAD(cAuxChaInt,aIteSrv[nCntFor,nx,2],if(VOK->VOK_INCTEM == "3","1",VOK->VOK_INCTEM),,VV1->VV1_CODMAR)
nValSer := (nTemPad /100) * nValHor
EndIf

VS4->VS4_TEMPAD := nTemPad // Tempo Padrao
VS4->VS4_VALHOR := nValHor // Vlr da Hora
VS4->VS4_VALSER := nValSer // Valor do Servico
VS4->VS4_VALTOT := nValSer // Valor do Servico

EndIf
&("VS4->"+aIteSrv[nCntFor,nx,1]) := aIteSrv[nCntFor,nx,2]

Next
MsUnlock()

Next

Endif

// PE utilizado para gravação de novos conteúdos ou campos nas tabelas VS1/VS3/VS4
If ExistBlock("OX010DGR")
ExecBlock("OX010DGR",.f.,.f.)
EndIf

 

Programa Fonte:

OFIXX010.PRW    

Função:

OFIXX010 

Retorno:

nil

 

Exemplo:

// Ponto de Entrada após a gravação na integração com o OFIXX010

User Function OX010DGR()

 

MsgAlert("PE OX010DGR chamado com sucesso.","Atenção")

 

Return (cExpre)