import.css=/download/attachments/327912/newLayout.css

Ponto-de-Entrada: OX001VS3 - Alteração do Orçamento Após Gravação do Item
Descrição:
Este Ponto de Entrada permite alterar o orçamento após a gravação do item (VS3).
Eventos
 User Function OX001VS3()
 
MsgInfo(“Ponto de Entrada OX001VS3”,”Atencao”)
return nil
Programa Fonte
OFIXX001
Sintaxe

OX001VS3 - Alteração do Orçamento Após Gravação do Item ( [ ] )

Parâmetros:
NomeTipoDescriçãoDefaultObrigatórioReferência
Array of Record
Retorno
    ()
Observações
 for nCntFor := 1 to Len(oGetPecas:aCols)
if !oGetPecas:aCols[nCntFor,len(oGetPecas:aCols[nCntFor])] .and. !Empty(oGetPecas:aCols[nCntFor,FG_POSVAR("VS3_CODITE","aHeaderP")])
// MONTA OS CAMPOS DO VS3 DEPENDENTES DE FISCAL
DBSelectArea("SX3")
DBSetOrder(1)
DBSeek("VS3")
aCmpFis := {}
while SX3->X3_ARQUIVO=="VS3"
cValid := AllTrim(UPPER(SX3->X3_VALID))
If "MAFISREF"$cValid
oGetPecas:nAt := nCntFor
OX001PecFis()
nPosRef := AT('MAFISREF("',cValid) + 10
cRefCols:=Substr(cValid,nPosRef,AT('","VS300",',cValid)-nPosRef )
aAdd(aCmpFis,{X3_CAMPO,MaFisRet(n,cRefCols)})
OX001FisPec()
EndIf
DbSkip()
enddo
//
reclock("VS3",.t.)
VS3_FILIAL := xFilial("VS3")
VS3_NUMORC := VS1->VS1_NUMORC
//VS3_SEQUEN := STRZERO(nVS3Seq,TamSX3("VS3_SEQUEN")[1])
for nCntFor2 := 1 to Len(aHeaderP)
if aHeaderP[nCntFor2,10] <> "V"
&(aHeaderP[nCntFor2,2]) := oGetPecas:aCols[nCntFor,nCntFor2]
endif
next
for nCntFor2 := 1 to Len(aCmpFis)
&(aCmpFis[nCntFor2,1]) := aCmpFis[nCntFor2,2]
next
nPosA := At(cVS1Status,cFaseOrc)
nPos5 := At("5",cFaseOrc)
if nPosA < nPos5 .OR. At("4",cFaseOrc) == 0
VS3_QTDINI := VS3_QTDITE
endif
msunlock()
nVS3Seq ++
endif
// PONTO DE ENTRADA
If ExistBlock("OX001VS3")
ExecBlock("OX001VS3",.f.,.f.)
EndIf
next
 
Variáveis
NomeTipoEscopoPode Alterardescrição
Array of RecordGlobalNão