Perguntas MT100AGR

Mais
7 anos 9 meses atrás #31684 por anizio.souza
MT100AGR foi criado por anizio.souza
Boa tarde galera.

Não encontrei documentação sobre o PE MT100AGR. Alguém teria um exemplo ou documentação que pudesse compartilhar.

Obrigado!!!

Por favor Acessar ou Registrar para participar da conversa.

Mais
7 anos 9 meses atrás #31685 por lalberto
Respondido por lalberto no tópico MT100AGR
sEGUE UM EXEMPLO
#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()


/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma  ³MT100AG  ºAutor  ³Luiz Alberto     º Data ³  23/12/10   º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc.     ³Ponto de Entrada responsavel pela exclusao do titulo ISS
				  JA que substituimos o mesmo por outro fornecedor fora o padrao
				  e neste caso o sistema não estava encontrando-o
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso       ³ AP                                                         º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/


User Function MT100AG()
If !Inclui .And. !Altera
	cPesqTit := SE2->(E2_PREFIXO + E2_NUM)                 
	If SE2->(DbSeek(xFilial("SE2") + cPesqTit + SE2->E2_PARCISS + 'ISS')) // + aTribut[n][5] + aTribut[n][6]
		RecLock("SE2",.f.)
		SE2->(dbDelete())
		SE2->(MsUnlock())
	Endif
Endif
Return .t.
	
	

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
7 anos 9 meses atrás #31706 por anizio.souza
Respondido por anizio.souza no tópico MT100AGR
Grande Luiz... valeu amigo!!! Consegui com um colega a documentação sobre o PE. Usei somente a variável INCLUI e resolveu aqui. Segue como fiz:

#INCLUDE "PROTHEUS.CH"

USER FUNCTION MT100AGR()

IF INCLUI

RECLOCK("SE2",.F.)
SE2->E2_HIST:= SubStr("NA"+SF1->F1_ANALISE+"-"+SF1->F1_COLETOR,1,25)
MSUNLOCK()

ENDIF
RETURN

Por favor Acessar ou Registrar para participar da conversa.

Mais
7 anos 9 meses atrás #31710 por admin
Respondido por admin no tópico MT100AGR
Blz Mano, Precisando estamos aqui.

Abraços.
:woohoo:

Por favor Acessar ou Registrar para participar da conversa.

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