Pagetitle |
---|
| RQPCOM020 - Permite importação de campos customizados |
---|
| RQPCOM020 - Permite importação de campos customizados |
---|
|
Ponto-de-Entrada: RQPCOM020 - Permite importação de campos customizados Abrangências: | Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Microsiga Protheus 10 | Versões: | Todas | Compatível Países: | Todos | Sistemas Operacionais: | Todos | Compatível às Bases de Dados: | Todos |
Descrição: O ponto de entrada RQPCOM020 está localizado no momento da importação de peças/serviços de um orçamento para a requisição, dentro da rotina de Requisição de Peças. Isto permite que sejam importados, além dos campos padrão do sistema, campos customizados feitos pelo cliente. Eventos For ni := 1 to Len(aPecaOrc) If aPecaOrc[ni,1] if lInconveniente nReg := Ascan(aCols , {|x| x[FG_POSVAR("VO3_GRUITE")] + ; x[FG_POSVAR("VO3_CODITE")] + ; x[FG_POSVAR("VO3_GRUINC")] + ; x[FG_POSVAR("VO3_CODINC")] == aPecaOrc[ni,6] + aPecaOrc[ni,7] + aPecaOrc[ni,15] + aPecaOrc[ni,16] ; .and. x[FG_POSVAR("VO3_TIPTEM")] == aPecaOrc[ni,2] ; .and. x[FG_POSVAR("VO3_FATPAR")] == aPecaOrc[ni,3] ; .and. x[FG_POSVAR("VO3_LOJA")] == aPecaOrc[ni,4] ; } ) else nReg := Ascan(aCols , {|x| x[FG_POSVAR("VO3_GRUITE")] + x[FG_POSVAR("VO3_CODITE")] == aPecaOrc[ni,6] + aPecaOrc[ni,7] } ) endif If nReg == 0 If lAdd Aadd(aCols, Array( Len(aHeader)+1 ) ) nReg := Len(aCols) For nCol := 1 to Len(aHeader) aCols[nReg,nCol] := CriaVar( aHeader[nCol,2] ) Next EndIf nReg := Len(aCols) EndIf DbSelectArea("SB1") DbSetOrder(7) DbSeek(xFilial()+aPecaOrc[ni,6]+aPecaOrc[ni,7]) If !Empty(aPecaOrc[ni,2]) // situacao normal, foi importado do orcamento aCols[nReg,FG_POSVAR("VO3_TIPTEM")] := aPecaOrc[ni,2] aCols[nReg,FG_POSVAR("VO3_FATPAR")] := aPecaOrc[ni,3] aCols[nReg,FG_POSVAR("VO3_LOJA") ] := aPecaOrc[ni,4] aCols[nReg,FG_POSVAR("VO3_NOMCLI")] := aPecaOrc[ni,5] aCols[nReg,FG_POSVAR("VO3_GRUITE")] := aPecaOrc[ni,6] aCols[nReg,FG_POSVAR("VO3_CODITE")] := aPecaOrc[ni,7] aCols[nReg,FG_POSVAR("VO3_DESITE")] := aPecaOrc[ni,8] DbSelectArea("SB2") DbSetOrder(1) // DbSeek(xFilial("SB2")+SB1->B1_COD+SB1->B1_LOCPAD) DbSeek(xFilial("SB2")+SB1->B1_COD+aPecaOrc[ni,12]) nQtdSaldo := SaldoSB2() If FG_POSVAR("VO3_QTDEST")#0 aCols[nReg,FG_POSVAR("VO3_QTDEST")]:=M->VO3_QTDEST:= nQtdSaldo EndIf If nQtdSaldo < aCols[nReg,FG_POSVAR("VO3_QTDREQ")]+aPecaOrc[ni,9] aCols[nReg,FG_POSVAR("VO3_QTDREQ")] := aCols[nReg,FG_POSVAR("VO3_QTDREQ")]+nQtdSaldo Else aCols[nReg,FG_POSVAR("VO3_QTDREQ")] := aCols[nReg,FG_POSVAR("VO3_QTDREQ")]+aPecaOrc[ni,9] EndIf aCols[nReg,FG_POSVAR("VO3_FORMUL")] := aPecaOrc[ni,10] aCols[nReg,FG_POSVAR("VO3_VALPEC")] := aPecaOrc[ni,11] aCols[nReg,FG_POSVAR("VO3_VALTOT")] := (aCols[nReg,FG_POSVAR("VO3_QTDREQ")] * aCols[nReg,FG_POSVAR("VO3_VALPEC")] ) aCols[nReg,Len(aHeader)+1] := .F. if lInconveniente aCols[nReg,FG_POSVAR("VO3_GRUINC")] := aPecaOrc[nI,15] aCols[nReg,FG_POSVAR("VO3_CODINC")] := aPecaOrc[nI,16] endif Else // eh porque veio da abertura da OS pelo inconveniente padrao VAJ->(DbsetOrder(2)) VAJ->(Dbseek(xFilial("VAJ")+Alltrim(aKeys[ni,1]))) aCols[nReg,FG_POSVAR("VO3_TIPTEM")] := VAJ->VAJ_TIPTEM VOI->(DbsetOrder(1)) VOI->(Dbseek(xFilial("VOI")+VAJ->VAJ_TIPTEM)) If VOI->VOI_USAPRO=="0" cCliente := VV1->VV1_PROATU cLoja := VV1->VV1_LJPATU Elseif VOI->VOI_USAPRO=="1" VE4->(DbSeek(xFilial("VE4")+VV1->VV1_CODMAR)) cCliente := VE4->VE4_CODFAB cLoja := VE4->VE4_LOJA Else cCliente := VOI->VOI_CLIFAT cLoja := VOI->VOI_LOJA Endif SA1->(dbsetOrder(1)) SA1->(Dbseek(xFilial("SA1")+cCliente+cLoja)) aCols[nReg,FG_POSVAR("VO3_GRUINC")] := VAJ->VAJ_CODGRU aCols[nReg,FG_POSVAR("VO3_CODINC")] := VAJ->VAJ_CODINC aCols[nReg,FG_POSVAR("VO3_FATPAR")] := cCliente aCols[nReg,FG_POSVAR("VO3_LOJA") ] := cLoja aCols[nReg,FG_POSVAR("VO3_NOMCLI")] := SA1->A1_NREDUZ aCols[nReg,FG_POSVAR("VO3_GRUITE")] := aPecaOrc[ni,6] aCols[nReg,FG_POSVAR("VO3_CODITE")] := aPecaOrc[ni,7] aCols[nReg,FG_POSVAR("VO3_DESITE")] := aPecaOrc[ni,8] aCols[nReg,FG_POSVAR("VO3_QTDREQ")] := aCols[nReg,FG_POSVAR("VO3_QTDREQ")]+aPecaOrc[ni,9] aCols[nReg,FG_POSVAR("VO3_FORMUL")] := VOI->VOI_VALPEC nVlrPec := FG_VALPEC(VAJ->VAJ_TIPTEM,"nVlrPec",VAJ->VAJ_GRUPEC,VAJ->VAJ_CODPEC,"nVlrPec",.f.,.t.) aCols[nReg,FG_POSVAR("VO3_VALPEC")] := nVlrPec aCols[nReg,FG_POSVAR("VO3_VALTOT")] := nVlrPec * aCols[nReg,FG_POSVAR("VO3_QTDREQ")] aCols[nReg,Len(aHeader)+1] := .F. Endif
lAdd := .T. EndIf If ExistBlock("RQPCOM020") ExecBlock("RQPCOM020",.f.,.f.,{ni,nReg}) EndIf Next Sintaxe RQPCOM020 - Permite importação de campos customizados ( < ni> , < nReg> ) Parâmetros: | Nome | | | Tipo | | | Descrição | | | Default | | | Obrigatório | | | Referência | | | ni | | | Numérico | | | Linha do aCols referente a tabela VSJ. | | | | | | X | | | | | | nReg | | | Numérico | | | Linha do aCols referente a tabela VO3. | | | | | | X | | | | |
Exemplos /*ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜܱ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±±±³Fun‡„o ³ RQPCOM020³ Autor ³ Otavio Favarelli ³ Data ³ 06/10/09 ³±±±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±±±³Descri‡„o ³ Ponto de entrada para transportar registros de tabelas para³±±±±³ ³ o aCols da tabela VO3 (requisicao de pecas). ³±±±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±±±³Sintaxe ³ ³±±±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±±±³Uso ³ ³±±±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/User Function RQPCOM020()Local nLinVSJ, nLinVO3Local cSaveArea := GetArea()Local lRet := .f.nLinVSJ := ParamIXB[1] //Linha do aCols VSJnLinVO3 := ParamIXB[2] //Linha do aCols VO3DbSelectArea("VSJ")DbSetOrder(1)If DbSeek(xFilial("VSJ")+VO1->VO1_NUMOSV+aPecaOrc[nLinVSJ,6]+aPecaOrc[nLinVSJ,7]) aCols[nLinVO3,FG_POSVAR("VO3_TESTPE")] := VSJ->VSJ_TESTPE //Campo customizado MsgAlert("Foi transportado com sucesso o registro "+aCols[nLinVO3,FG_POSVAR("VO3_TESTPE")]+"!","Sucesso!") MsgAlert("O ponto de entrada RQPCPM020 foi executado com sucesso!","Sucesso!") lRet := .t.EndIfRestArea(cSaveArea)Return(lRet) Variáveis | Nome | | | Tipo | | | Escopo | | | Pode Alterar | | | descrição | | | | | | Array of Record | | | Global | | | Não | | | | |
|