Perguntas Escrever Historico na Classificação (MATA103)

Mais
9 anos 6 dias atrás #28107 por cherryrocha
Bom dia, pessoal.

Necessito da seguinte ajuda: Ao classificar um Doc de Entrada (MATA103) o título gerado na SE2 vem com o campo E2_HIST vazio. Haveria a possibilidade de escrever o histórico no ato da classificação para que o título gerado viesse com o campo E2_HIST já preenchido?

Se alguém puder me ajudar agradeço desde já.

Grato antecipadamente,
Cherry Rocha

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 6 dias atrás #28108 por lalberto
Segue um exemplo, é aberta uma tela na gravação da nota fiscal permitindo preencher diversos campos:

#Include "PROTHEUS.CH"
#include "rwmake.ch"

/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³MT100AGR ºAutor ³Luiz Alberto º Data ³ 23/12/10 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc. ³Gravacao de Informacoes complementares para titulos de impostos±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³ AP º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/

User Function MT100AGR()
Local aTribut := {}
Local cCodRet := ""
Local cNota := SD1->D1_DOC
Local cSerie := SD1->D1_SERIE
Local cFornece := SD1->D1_FORNECE
Local cLoja := SD1->D1_LOJA
Local aAreaSD1 := SD1->(GetArea())
Local aAreaSB8 := SB8->(GetArea())
Local aAreaSB1 := SB1->(GetArea())
Local oButton1
Local oButton2
Local oGroup1
Local oSay1
Local oSay10
Local oSay11
Local oSay12
Local oSay3
Local oSay5
Local oSay6
Local oSay7
Local oSay8
Local oSay9
Static oDlg


//U_MostraFunc("MT100AGR()")

Local _ocInGuia
Local _ocIrGuia
Local _ocIsForn
Local _ocLnGuia
Local _ocLrGuia
Local _ocLsForn
Local _ocInNatu
Local _ocIsNatu
Local _ocIrNatu
Local _ocInHist
Local _ocIsHist
Local _ocIrHist
Local _odInPerA
Local _odIrPerA
Local _odIsPerA
Local _odIsVcto
Local _ocInCodR
Local _ocIrCodR
Local _ocIsCodR

Private _cInGuia := Space(06)
Private _cIrGuia := 'A00001'
Private _cIsForn := '000080'
Private _cLnGuia := Space(02)
Private _cLrGuia := '00'
Private _cLsForn := '00'
Private _cInNatu := PadR('111204',10)
Private _cIsNatu := PadR('111203',10)
Private _cIrNatu := PadR('111202',10)
Private _cInHist := PadR('RET. S/ NF ' + cNota + '/'+ cSerie,60)
Private _cIsHist := PadR('RET. S/ NF ' + cNota + '/'+ cSerie,60)
Private _cIrHist := PadR('RET. S/ NF ' + cNota + '/'+ cSerie,60)
Private _dInPerA := CtoD('')
Private _dIrPerA := CtoD('')
Private _dIsPerA := CtoD('')
Private _dIsVcto := CtoD('')
Private _cInCodR := '2631'
Private _cIrCodR := '1708'
Private _cIsCodR := '1708'


nRecSd1 := SD1->(Recno())

SD1->(DBSETORDER(1))
SB8->(DBSETORDER(6)) // Documento+Serie+Clie/Forn+Loja+Produto+Armazem+Lote

IF SD1->(DBSEEK(xFilial("SD1")+cNota+cSerie+cFornece+cLoja))
WHILE SD1->(!EOF()) .AND. SD1->D1_DOC+SD1->D1_SERIE+SD1->D1_FORNECE+SD1->D1_LOJA == cNota+cSerie+cFornece+cLoja
IF SB8->(DBSEEK(xFilial("SB8")+SD1->D1_DOC+SD1->D1_SERIE+SD1->D1_FORNECE+SD1->D1_LOJA+SD1->D1_COD+SD1->D1_LOCAL+SD1->D1_LOTECTL))
IF RECLOCK("SB8",.F.)
SB8->B8_ARALUTI := SD1->D1_ARALUTI
SB8->B8_ARATPRO := Posicione("SB1",1,xFilial("SB1")+SD1->D1_COD,"B1_TIPO")
MSUNLOCK()
ENDIF
ENDIF
SD1->(DBSKIP())
ENDDO
ENDIF

SD1->(dbGoTo(nRecSd1))
aParcelas := Condicao(SF1->F1_VALBRUT,SF1->F1_COND,,dDataBase)
If Len(aParcelas) > 1
SE2->(dbSetOrder(1), dbSeek(xFilial("SE2")+SF1->F1_PREFIXO+SF1->F1_DOC+AllTrim(GetMV("MV_1DUP"))))
Endif

If ALLTRIM(FUNNAME())=="MATA103" .And. SE2->E2_INSS > 0 .Or. SE2->E2_IRRF > 0 .Or. SE2->E2_ISS > 0
If Inclui .Or. Altera // Inclusao ou Alteracao de Nota de Entrada

DEFINE MSDIALOG oGeraTxt TITLE "New Dialog" FROM 000, 000 TO 270, 700 COLORS 0, 16777215 PIXEL

@ 010, 004 SAY oSay1 PROMPT "Impostos" SIZE 027, 008 OF oDlg COLORS 0, 16777215 PIXEL
@ 010, 038 SAY oSay3 PROMPT "Empresa/Guia" SIZE 045, 008 OF oGroup1 COLORS 0, 16777215 PIXEL
@ 010, 083 SAY oSay5 PROMPT "Per./Apuração" SIZE 045, 008 OF oGroup1 COLORS 0, 16777215 PIXEL
@ 010, 130 SAY oSay6 PROMPT "Cód.Recolhto." SIZE 045, 008 OF oGroup1 COLORS 0, 16777215 PIXEL
@ 010, 173 SAY oSay7 PROMPT "Natureza" SIZE 045, 008 OF oGroup1 COLORS 0, 16777215 PIXEL
@ 010, 211 SAY oSay8 PROMPT "Vencto" SIZE 022, 008 OF oGroup1 COLORS 0, 16777215 PIXEL
@ 010, 242 SAY oSay9 PROMPT "Histórico" SIZE 045, 008 OF oGroup1 COLORS 0, 16777215 PIXEL

@ 034, 005 SAY oSay10 PROMPT "INSS:" SIZE 020, 008 OF oGroup1 COLORS 0, 16777215 PIXEL
@ 052, 006 SAY oSay11 PROMPT "IRRF:" SIZE 020, 008 OF oGroup1 COLORS 0, 16777215 PIXEL

@ 065, 004 SAY oSay1 PROMPT "Impostos" SIZE 027, 008 OF oDlg COLORS 0, 16777215 PIXEL
@ 065, 038 SAY oSay3 PROMPT "Fornecedor" SIZE 045, 008 OF oGroup1 COLORS 0, 16777215 PIXEL
@ 065, 173 SAY oSay7 PROMPT "Natureza" SIZE 045, 008 OF oGroup1 COLORS 0, 16777215 PIXEL
@ 065, 211 SAY oSay8 PROMPT "Vencto" SIZE 022, 008 OF oGroup1 COLORS 0, 16777215 PIXEL
@ 065, 242 SAY oSay9 PROMPT "Histórico" SIZE 045, 008 OF oGroup1 COLORS 0, 16777215 PIXEL

@ 086, 010 SAY oSay12 PROMPT "ISS:" SIZE 016, 008 OF oGroup1 COLORS 0, 16777215 PIXEL




@ 031, 033 MSGET _ocInGuia VAR _cInGuia SIZE 030, 010 PICTURE "@!" F3 "SAA2" OF oGeraTxt COLORS 0, 16777215 PIXEL
@ 031, 066 MSGET _ocLnGuia VAR _cLnGuia SIZE 016, 010 PICTURE "@!" OF oGeraTxt COLORS 0, 16777215 PIXEL
@ 031, 082 MSGET _odInPerA VAR _dInPerA SIZE 036, 010 PICTURE "99/99/9999" OF oGeraTxt COLORS 0, 16777215 PIXEL
@ 031, 122 MSGET _ocInCodR VAR _cInCodR SIZE 036, 010 Picture "@!" F3 "37" OF oGeraTxt COLORS 0, 16777215 PIXEL
@ 031, 164 MSGET _ocInNatu VAR _cInNatu SIZE 036, 010 Picture "@!" F3 "SED" OF oGeraTxt COLORS 0, 16777215 PIXEL
@ 031, 242 MSGET _ocInHist VAR _cInHist SIZE 098, 010 Picture "@S60!" OF oGeraTxt COLORS 0, 16777215 PIXEL

@ 048, 033 MSGET _ocIrGuia VAR _cIrGuia SIZE 030, 010 PICTURE "@!" F3 "SAA2" OF oGeraTxt COLORS 0, 16777215 PIXEL
@ 048, 066 MSGET _ocLrGuia VAR _cLrGuia SIZE 016, 010 PICTURE "@!" OF oGeraTxt COLORS 0, 16777215 PIXEL
@ 048, 082 MSGET _odIrPerA VAR _dIrPerA SIZE 036, 010 PICTURE "99/99/9999" OF oGeraTxt COLORS 0, 16777215 PIXEL
@ 048, 122 MSGET _ocIrCodR VAR _cIrCodR SIZE 036, 010 Picture "@!" F3 "37" OF oGeraTxt COLORS 0, 16777215 PIXEL
@ 048, 164 MSGET _ocIrNatu VAR _cIrNatu SIZE 036, 010 Picture "@!" F3 "SED" OF oGeraTxt COLORS 0, 16777215 PIXEL
@ 048, 242 MSGET _ocIrHist VAR _cIrHist SIZE 098, 010 Picture "@S60!" OF oGeraTxt COLORS 0, 16777215 PIXEL

@ 082, 033 MSGET _ocIsForn VAR _cIsForn SIZE 030, 010 PICTURE "@!" F3 "SAA2" OF oGeraTxt COLORS 0, 16777215 PIXEL
@ 082, 066 MSGET _ocLsForn VAR _cLsForn SIZE 016, 010 PICTURE "@!" OF oGeraTxt COLORS 0, 16777215 PIXEL
@ 082, 164 MSGET _ocIsNatu VAR _cIsNatu SIZE 036, 010 Picture "@!" F3 "SED" OF oGeraTxt COLORS 0, 16777215 PIXEL
@ 082, 200 MSGET _odIsVcto VAR _dIsVcto SIZE 036, 010 Picture "99/99/9999" OF oGeraTxt COLORS 0, 16777215 PIXEL
@ 082, 242 MSGET _ocIsHist VAR _cIsHist SIZE 098, 010 Picture "@S60!" OF oGeraTxt COLORS 0, 16777215 PIXEL

@ 112, 275 BUTTON oButton1 PROMPT "Ok" ACTION GravDados() SIZE 033, 019 OF oGeraTxt PIXEL
@ 112, 308 BUTTON oButton2 PROMPT "Cancela" ACTION Close(oGeraTxt) SIZE 033, 019 OF oGeraTxt PIXEL

ACTIVATE MSDIALOG oGeraTxt CENTERED

Endif

Endif

RestArea(aAreaSB8)
RestArea(aAreaSD1)
RestArea(aAreaSB1)

Return Nil







Static Function GravDados()
Local aArea := GetArea()
Private cPesqTit := SE2->(E2_PREFIXO + E2_NUM)
Private aTribut := {}

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Grade de configuracao das Contribuicoes onde: ³
//³ {Imposto, Cod. Retencao, Tipo Imposto no Pagto Eletronico, ³
//³ Tipo Titulo, Parcela Imposto, Fornecedor} ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If SE2->E2_INSS > 0; Aadd(aTribut,{"INSS" ,_cInCodR,"INS" ,SE2->E2_PARCINS,_cInGuia,_cLnGuia,_dInPerA,_cInNatu,CtoD(''),_cInHist}) ; EndIf
If SE2->E2_IRRF > 0; Aadd(aTribut,{"IRRF" ,_cIrCodR,"TX " ,SE2->E2_PARCIR ,_cIrGuia,_cLrGuia,_dIrPerA,_cIrNatu,CtoD(''),_cIrHist}) ; EndIf
If SE2->E2_ISS > 0; Aadd(aTribut,{"ISS " ,'' ,"ISS" ,SE2->E2_PARCISS,_cIsForn,_cLsForn,CtoD(''),_cIsNatu,_dIsVcto,_cIsHist}) ; EndIf

DbSelectArea("SE2")
DbSetOrder(1) //Filial + Prefixo + Numero + Parcela + Tipo + Fornece + Loja

For n := 1 to Len(aTribut)
If DbSeek(xFilial("SE2") + cPesqTit + aTribut[n][4] + aTribut[n][3]) // + aTribut[n][5] + aTribut[n][6]
RecLock("SE2",.f.)
If aTribut[n][3] <> 'ISS'
SE2->E2_CODRET := aTribut[n][2]
SE2->E2_ARFOR := aTribut[n][5]
SE2->E2_ARFLOJ := aTribut[n][6]
SE2->E2_ARPER := aTribut[n][7]
SE2->E2_NATUREZ := aTribut[n][8]
SE2->E2_HIST := AllTrim(aTribut[n][10]) + ' - ' + Posicione("SA2",1,xFilial("SA2")+aTribut[n][5]+aTribut[n][6],"A2_NREDUZ")
SE2->E2_DIRF := '1'
Else
SE2->E2_FORNECE := aTribut[n][5]
SE2->E2_LOJA := aTribut[n][6]
SE2->E2_NOMFOR := Posicione("SA2",1,xFilial("SA2")+aTribut[n][5]+aTribut[n][6],"A2_NREDUZ")
SE2->E2_VENCTO := aTribut[n][9]
SE2->E2_VENCREA := aTribut[n][9]
SE2->E2_NATUREZ := aTribut[n][8]
SE2->E2_HIST := AllTrim(aTribut[n][10]) + ' - ' + Posicione("SA2",1,xFilial("SA2")+SD1->D1_FORNECE+SD1->D1_LOJA,"A2_NREDUZ")
SE2->E2_DIRF := '1'
Endif
MsUnlock()
EndIf
Next

Close(oGeraTxt)

RestArea(aArea)
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.

Mais
9 anos 6 dias atrás #28109 por lalberto
Ou este que é mais simples e com certeza vai te atender melhor:

#include "rwmake.ch"
#include "protheus.ch"

/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³MT100GE2 ºAutor ³Microsiga º Data ³ 07/13/06 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc. ³Ponto de entrada na gravaçao do título º±±
±±º ³ º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³ Protheus 8.11 - Ripasa-SA º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/

User Function MT100GE2()

Local aAreaAnt := GetArea()
Local cObsTit := CriaVar("E2_HISTO")
Local nOpcA := 0
Local _NumTit := SE2->E2_PREFIXO + "-" + SE2->E2_NUM
Local _NumParc := SE2->E2_PARCELA
Local oDlg

DEFINE MSDIALOG oDlg TITLE "Observação para Contas a Pagar" FROM 010,010 To 030,080 OF oMainWnd

@ 025,010 SAY "Numero do Titulo: " SIZE 050,009 OF oDlg PIXEL
@ 024,065 MSGET _NumTit WHEN .F. SIZE 030,009 OF oDlg PIXEL

@ 025,105 SAY "Parcela: " SIZE 050,009 OF oDlg PIXEL
@ 024,155 MSGET _NumParc WHEN .F. SIZE 030,009 OF oDlg PIXEL

@ 045,010 SAY "Obs. para o Titulo" SIZE 060,009 OF oDlg PIXEL
@ 055,010 GET cObsTit WHEN .T. SIZE 260,070 OF oDlg PIXEL MEMO

ACTIVATE MSDIALOG oDlg CENTERED ON INIT ( EnchoiceBar(oDlg,{||nOpcA:=1, oDlg:End()},{||nOpcA := 2, oDlg:End()}))


If(nOpcA == 1)
If RecLock("SE2",.F.)
SE2->E2_HISTO := cObsTit
SE2->( MsUnLock() )
EndIf
EndIf

RestArea(aAreaAnt)

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.096 segundos
Joomla templates by a4joomla