Home

Linha Microsiga Protheus

Páginas filhas
  • PLSE2BVL-Permite alterar o conteúdo de campos que serão gravados no SE1-Título a Receber

 

||Descrição|| PLSE2BVL-Permite alterar o conteúdo de campos que serão gravados no SE1-Título a Receber  
||Observações|| 
||Exemplos||User Function  PLSE2BVL()

Local aCampos := ParamIxb[1]
local cCodigo := ParamIxb[2]
Local aBases  := ParamIxb[3]
Local nPosAno := 0
Local nPosMes := 0
Local nPosFor := 0
Local nPosLoj := 0
Local nPosNro := 0
Local nPosTit :=  ""
Local nVenc
Local nVencReal
Local nEmisTit
Local aAreaBRJ := BRJ->(GetArea())
Local aAreaBAU := BAU->(GetArea())
Local aAreaBD7 := BD7->(GetArea())

//Guias de Fornecedores
If mv_par25 == mv_par26

 BAU->(DbSetOrder(1))
 BAU->(MsSeek(xFilial("BAU")+mv_par25))

 If BAU->BAU_TIPPRE == "FOR"

  nPosFor := aScan( aCampos,{|x| AllTrim(x[1]) == "E2_FORNECE" })
  nPosLoj := aScan( aCampos,{|x| AllTrim(x[1]) == "E2_LOJA" })
 
  If aCampos[nPosFor,2] == BAU->BAU_CODSA2 .and. aCampos[nPosLoj,2] == BAU->BAU_LOJSA2
  
   //Localiza Guia
   BD7->(DbSetOrder(1))
   BD7->(MsSeek(xFilial("BD7")+mv_par14+mv_par08+mv_par10+mv_par12))

   nPosAno   := aScan( aCampos,{|x| AllTrim(x[1]) == "E2_ANOBASE" })
   nPosMes   := aScan( aCampos,{|x| AllTrim(x[1]) == "E2_MESBASE" })
   nPosTit   := aScan( aCampos,{|x| AllTrim(x[1]) == "E2_NUM" })
   nEmisTit  := aScan( aCampos,{|x| AllTrim(x[1]) == "E2_EMISSAO" })
   nVenc     := aScan( aCampos,{|x| AllTrim(x[1]) == "E2_VENCTO" })
   nVencReal := aScan( aCampos,{|x| AllTrim(x[1]) == "E2_VENCREA" })
   nPosNro   := aScan( aCampos,{|x| AllTrim(x[1]) == "E2_YFATFOR" })
   
   If nPosNro == 0
    Aadd(aCampos,{"E2_YFATFOR",BD7->BD7_NUMIMP,Nil})
   Else
    aCampos[nPosNro,2]   := BD7->BD7_NUMIMP
   Endif

   aCampos[nPosAno,2]   := BD7->BD7_ANOPAG
   aCampos[nPosMes,2]   := BD7->BD7_MESPAG
   aCampos[nPosTit,2]   := substr(strzero(Val(BD7->BD7_NUMIMP),16),11,6)
   aCampos[nVenc,2]     := aCampos[nEmisTit,2]+30
   aCampos[nVencReal,2] := DATAVALIDA(aCampos[nVenc,2],.T.)
   
  Endif
  
 Endif
 
Endif

//Guias da Importacao PTU
If Type("cLoteImp") == "C"
 
 If ! empty(cLoteImp)
  
  BRJ->(DbSetOrder(1))
  BRJ->(Msseek(XFILIAL("BRJ")+cLoteImp))
  
  While BRJ->BRJ_CODIGO==cLoteImp .and. ! BRJ->(Eof())
   If BRJ->BRJ_REGPRI=='1'
    Exit
   EndIf
   BRJ->(DbSkip())
  EndDo
  
  If BRJ->BRJ_REGPRI=='1' .and. BRJ->BRJ_CODIGO==cLoteImp
   
   nPosAno   := aScan( aCampos,{|x| AllTrim(x[1]) == "E2_ANOBASE" })
   nPosMes   := aScan( aCampos,{|x| AllTrim(x[1]) == "E2_MESBASE" })
   nPosTit   := aScan( aCampos,{|x| AllTrim(x[1]) == "E2_NUM" })
   nEmisTit  := aScan( aCampos,{|x| AllTrim(x[1]) == "E2_EMISSAO" })
   nVenc     := aScan( aCampos,{|x| AllTrim(x[1]) == "E2_VENCTO" })
   nVencReal := aScan( aCampos,{|x| AllTrim(x[1]) == "E2_VENCREA" })
   nPosNro   := aScan( aCampos,{|x| AllTrim(x[1]) == "E2_YFATFOR" })
   
   If nPosNro == 0
    Aadd(aCampos,{"E2_YFATFOR",BRJ->BRJ_NUMFAT,Nil})
   Else
    aCampos[nPosNro,2]   := BRJ->BRJ_NUMFAT
   Endif
   
   aCampos[nPosAno,2]   := BRJ->BRJ_ANOPAG
   aCampos[nPosMes,2]   := BRJ->BRJ_MESPAG
   aCampos[nPosTit,2]   := SUBSTRING(BRJ->BRJ_NUMFAT,6,6)
   aCampos[nVenc,2]     := aCampos[nEmisTit,2]+30
   aCampos[nVencReal,2] := DATAVALIDA(aCampos[nVenc,2],.T.)
   
  else
   MsgAlert(" Atencao ! Registro Principal do Lote PTU Nao encontrado ")
  Endif
 EndIf
EndIf                  

RestArea(aAreaBRJ)
RestArea(aAreaBAU)
RestArea(aAreaBD7)

Return {aCampos,aBases}
||Preview|| 
||Veja também|| 
||Idioma|| Português(Brasil)
||Versões|| Versões_Anteriores
||Sistemas Operacionais Suportados||Todos
||Compatível com as Bases de Dados||Todas
||Updates|| 
||Parâmetros|| Array of Record   {aCampos,BAU->BAU_CODIGO,aBases,aImpostos,lVlrNeg}

aCampos: { {'E2_FILIAL'    ,xFilial('SE2')     ,NIL},{'E2_PREFIXO' ,cPrefixo           ,NIL},{'E2_IRRF',0,NIL}}
aBases: nValorBIR, nValorBCOF, nValorBISS, nValorBCSL, nValorBPIS, nValorBINS, nValorBSES

aImpostos: nValorIR, nValorCOF, nValorISS, nValorCSL, nValorPIS, nValorINS, nValorSES.

lVlrNeg : Cria o titulo com o valor positivo caso .T. ou Negativo caso .F.
||Retorno|| aCampos : ={ {'E2_FILIAL'    ,xFilial('SE2')     ,NIL},{'E2_PREFIXO' ,cPrefixo           ,NIL},{'E2_IRRF',0,NIL}}


aBasesImp :nBaseIR, nBaseCofins, nBaseIss, nBaseCsl, nBasePis, nBaseInss, nBaseSest
||Eventos de chamada do Ponto de Entrada|| 
||Variáveis|| 
||Programa Fonte|| PLSTOSE2.PRW
  • Sem rótulos