Perguntas F060SEA - MsExecAuto

Mais
5 anos 9 meses atrás #32607 por pbarreto
Bom dia.

Preciso de algum exemplo de um execauto "F060SEA", com vistas a criar um bordero de recebimento FINA060.

Agradeço!

Por favor Acessar ou Registrar para participar da conversa.

Mais
5 anos 9 meses atrás #32609 por lalberto
Respondido por lalberto no tópico F060SEA - MsExecAuto
#INCLUDE "rwmake.ch"

User Function F060SEA
Local aArea := GetArea()

If Empty(SEA->EA_FILORIG)
     SEA->EA_FILORIG := cFilAnt
Endif

SEE->( DbSetOrder(1) )
// preciso posicionar o SEE, pois no PE FINA150_1 deve
SEE->( dbSeek( xFilial("SEE") + SEA->EA_PORTADO + SEA->EA_AGEDEP + SEA->EA_NUMCON + "001" ) )
If Empty(SE1->E1_NUMBCO)
     U_FIN150_1() // ponto de entrada da rotina fina150, pois é nele que é gravado o numbco
Endif
// salvo o numbco no arquivo do bordero para futura auditoria
SEA->EA_NUMBCO := SE1->E1_NUMBCO

// Tratamento para mudar a situacao do SE1 quando envio a banco
If SEA->( FieldPos( "EA_TPSITUA") ) > 0
     SEA->EA_TPSITUA := SE1->E1_TPSITUA
     RecLock("SE1",.F.)
     SE1->E1_TPSITUA := "0006"
     SE1->( MsUnlock() )
Endif

RestArea(aArea)
Return

User Function F060SEA2
Local aArea := GetArea()

If Empty(SEA->EA_FILORIG)
     SEA->EA_FILORIG := cFilAnt
Endif

SEE->( DbSetOrder(1) )
SEE->( dbSeek( xFilial("SEE") + SEA->EA_PORTADO + SEA->EA_AGEDEP + SEA->EA_NUMCON + "001" ) )

If Empty(SE1->E1_NUMBCO)
     U_FIN150_1() // ponto de entrada da rotina fina150, pois é nele que é gravado o numbco
Endif
// salvo o numbco no arquivo do bordero para futura auditoria
SEA->EA_NUMBCO := SE1->E1_NUMBCO

// Tratamento para mudar a situacao do SE1 quando envio a banco
If SEA->( FieldPos( "EA_TPSITUA") ) > 0
     SEA->EA_TPSITUA := SE1->E1_TPSITUA
     RecLock("SE1",.F.)
     SE1->E1_TPSITUA := "0006"
     SE1->( MsUnlock() )
Endif

RestArea(aArea)
Return


** Criado por: Alessandro de Farias - amjgfarias@gmail.com - Em: 11/08/2010
User Function FA60CAN2

// Tratamento para mudar a situacao do SE1 quando cancelo o bordero
If SEA->( FieldPos( "EA_TPSITUA") ) > 0 //.And. SE1->E1_SITUACA == "0"
     If ! Empty(SEA->EA_TPSITUA)
          RecLock("SE1",.F.)
          SE1->E1_TPSITUA := SEA->EA_TPSITUA
          SE1->( MsUnlock() )
     Endif
Endif

//Apaga o campo E1_ONUMBCO para evitar problema de nosso numero repetido quando um bordero for cancelado.
RecLock("SE1",.F.)
SE1->E1_ONUMBCO := ""
SE1->( MsUnlock() )

Return

User Function F060ACT
// Tratamento para mudar a situacao do SE1 quando cancelo o bordero
If SEA->( FieldPos( "EA_TPSITUA") ) > 0 //.And. SE1->E1_SITUACA == "0"
     If ! Empty(SEA->EA_TPSITUA)
          RecLock("SE1",.F.)
          SE1->E1_TPSITUA := SEA->EA_TPSITUA
          SE1->( MsUnlock() )
     Endif
Endif

Return


User function FA060QRY
Local aVar    := ParamIxb // {cAgen060,cConta060}
Local aCodCli := {}
Local cCodCli := ""
Local cRet    := ""
Local dDataI := LastDay(Date())+1
Local dDataF := LastDay(dDataI)
Local _cDados := ""

PutSx1("F60FIL","01",'Operacao CRI                 ?','Operacao CRI                 ?','Operacao CRI                 ?', "MV_CH1","N",1,0,1,"C","","","","","MV_PAR01","Sim","Sim","Sim","","Nao","Nao","Nao","Ambos","Ambos","Ambos","","","","")
PutSx1("F60FIL","02",'Filtra por Centro de Custo   ?','Filtra por Centro de Custo   ?','Filtra por Centro de Custo   ?', "MV_CH2","N",1,0,1,"C","","","","","MV_PAR02","Sim","Sim","Sim","","Nao","Nao","Nao","","","","","","","")
PutSx1("F60FIL","03",'Centro de Custo a filtrar    ?','Centro de Custo a filtrar    ?','Centro de Custo a filtrar    ?', "MV_CH2","C",9,0,1,"G","","CTT","","","MV_PAR03","","","","","","","","","","","","","","")
PutSx1("F60FIL","04",'Do Grupo                     ?','Do Grupo                     ?','Do Grupo                     ?', "MV_CH2","C",4,0,1,"G","","SBM","","","MV_PAR04","","","","","","","","","","","","","","")
PutSx1("F60FIL","05",'Até Grupo                    ?','Até Grupo                    ?','Até Grupo                    ?', "MV_CH2","C",4,0,1,"G","","SBM","","","MV_PAR05","","","","","","","","","","","","","","")

Pergunte("F60FIL",.f.)

Do While .T.
     If Pergunte("F60FIL",.T.)
          If MV_PAR02 == 1 .And. Empty(MV_PAR03)
               Alert("DESMARQUE A OPCAO DE FILTRO POR CENTRO DE CUSTO")
               loop
          Endif
          exit
     Endif
Enddo

cRet := " E1_REMBLOQ = 'S' "
If MV_PAR01 == 1 .Or. MV_PAR01 == 3
     If SA6->A6_OPERCRI == "S" .And. !Empty(SA6->A6_NUMCRI)
          cRet += " AND E1_OPERCRI='S' AND RTRIM(E1_NUMCRI) = '" + RTRIM(SA6->A6_NUMCRI) +"' "
     ElseIf SA6->A6_OPERCRI == "S" .And. Empty(SA6->A6_NUMCRI)
          cRet += " AND E1_OPERCRI = 'S' AND E1_NUMCRI = '' "
     Else
          cRet += " AND E1_OPERCRI <> 'S' AND E1_NUMCRI = '' "
     Endif
ElseIf MV_PAR01 == 2
     cRet += " AND E1_OPERCRI<>'S' AND E1_NUMCRI = '' "
Endif

If MV_PAR02 == 1
     cRet += " AND E1_CC = '"+MV_PAR03+"' "
Endif

cRet += " AND E1_GRUPO BETWEEN '" + MV_PAR04 + "' AND '" + MV_PAR05 + "' "

cRet += " AND E1_TPSITUA NOT IN ('0007','0014','0012','0022','0025','0026') " // NAO ENVIAR TITULOS A BANCO QUANDO ESTIVER EM ADVOGADO

pergunte("FIN060",.F.)

Return cRet

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br

Por favor Acessar ou Registrar para participar da conversa.

Mais
5 anos 9 meses atrás #32617 por lalberto
Respondido por lalberto no tópico F060SEA - MsExecAuto
User Function F060SEA
Local aArea := GetArea()         // salva área do arquio atual

SEA->EA_NUMBCO := SE1->E1_NUMBCO

     

While (Dow(se1->e1_vencrea) = 1 .Or. Dow(se1->e1_vencrea) = 7 .Or. Ascan(aFeriados, se1->e1_vencrea) <> 0)
	se1->e1_vencrea:=se1->e1_vencrea+1
End

RestArea(aArea)            // restaura área do arquivo atual
Return

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.140 segundos
Joomla templates by a4joomla