× Linguagem de Programação ADVPL

Perguntas Abrir programa visualização

Mais
11 anos 3 meses atrás #16108 por marlonpho
Pessoal boa tarde.

Criei um programa que lista algumas informações em uma Grid. Uma das informações é a Nota de Entrada, gostaria de fazer uma função que ao clicar na grid seja aberto o documento de entrada em modo de visualização.

Alguem tem alguma dica de como fazer isso?

Obrigado.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 3 meses atrás - 11 anos 3 meses atrás #16144 por kaciorrm
Respondido por kaciorrm no tópico Abrir programa visualização
Boa tarde

Da uma olha da nessa tela que desenvolvi em cima de uma tabela de comissão. ela faz o que você precisa porém traz a nota de saida. Vc só tem que descobrir qual é a funçao de visualização da nota de entrada.
o Botão visualizar é o mesmo que dar 2 cliques a linha.
#INCLUDE 'PROTHEUS.CH'
#INCLUDE 'RWMAKE.CH'
#INCLUDE 'FONT.CH'
#INCLUDE 'COLORS.CH' 
#INCLUDE "TOPCONN.CH"
/*/
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma  ³SCHLCOM() º Autor ³ CASSIO MONTEIRO    º Data ³  15/07/11   º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDescricao ³ Profissionais comissionados                                º±±
±±º          ³                                                            º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso       ³  		                                                  º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
/*/
	//u_SCHLCOM()
User Function SCHLCOM()
              
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Declaracao de Variaveis                                             ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

Local aCores := {{"Empty(Z9_STATUS)",'BR_AMARELO' },;
				{ "Z9_STATUS == 'A'",'BR_VERDE'},;
				{ "Z9_STATUS == 'R'",'BR_VERMELHO'},;
				{ "Z9_STATUS == 'F'",'BR_PRETO'}} 
				
				
Private cCadastro := "Liberação de Comições"

Private aRotina := { {"Pesquisar","AxPesqui",0,1} ,;
             { "Visualizar" ,"U_SCHLCOM1(SZ9->Z9_SERIE, SZ9->Z9_NF)"	,0,2},;		// "Visualizar"
             {"Reprovar","U_SCHLCOM2(SZ9->Z9_SERIE, SZ9->Z9_NF,'R')",0,3},;
             {"Aprovar","U_SCHLCOM2(SZ9->Z9_SERIE, SZ9->Z9_NF,'A')",0,4},;
             {"Fechar Com.","U_SCHLCOM5",0,5},;
             {"Profissional","U_SCHLCOM4(SZ9->Z9_PROF)",0,6},;
             {"Legenda","U_SCHLCOM3",0,7}}
                                                    
             
             

Private cDelFunc := ".T." // Validacao para a exclusao. Pode-se utilizar ExecBlock

Private cString := "SZ9"

dbSelectArea("SZ9")
dbSetOrder(1)

dbSelectArea(cString)
mBrowse( ,,,,cString,,,,,,aCores)
//mBrowse( 6,1,22,75,cString,,,,,,aCores)

Return 

User Function SCHLCOM1(cSerie, cNf)  
Local nRcno 

DbSelectArea("Sd2")
Dbsetorder(3)
DbSeek(xFilial("SD2")+cNf+cSerie)
If Alltrim(SD2->D2_DESCRI) ==""
	While cNf+cSerie == SD2->D2_DOC+SD2->D2_SERIE
	
		RecLock("SD2",.F.)
			SD2->D2_DESCRI := Posicione("SB1", 1, xFilial("SB1") + SD2->D2_COD, "SB1->B1_DESC")
		MsUnlock()

   		SD2->(DbSkip())
	Enddo 
EndIF

DbSelectArea("SF2")
Dbsetorder(1)
DbSeek(xFilial("SF2")+cNf+cSerie)


nRcno := SF2->(Recno ( ))

MC090Visual("SF2",nRcno, 2)

Return        


User Function SCHLCOM2(cSerie, cNf, cApr)   

Local cUsu := PswRet()[1][2]
 
Private cObs       := SZ9->Z9_OBS
Private nValor     := SZ9->Z9_COMCAL

SetPrvt("oDlg1","oSay1","oSay2","oBtn1","oGet1","oGet2")



oDlg1      := MSDialog():New( 095,232,203,799,"Observação",,,.F.,,,,,,.T.,,,.T. )
oSay1      := TSay():New( 004,004,{||"Observação:"},oDlg1,,,.F.,.F.,.F.,.T.,CLR_BLACK,CLR_WHITE,032,008)
oSay2      := TSay():New( 035,004,{||"Valor:"},oDlg1,,,.F.,.F.,.F.,.T.,CLR_BLACK,CLR_WHITE,016,008)
oBtn1      := TButton():New( 031,238,"OK",oDlg1,{|| oDlg1:End()},037,012,,,,.T.,,"",,,,.F. )
oGet1      := TGet():New( 033,020,{|u| If(PCount()>0,nValor:=u,nValor)},oDlg1,056,008,'@E 999,999,999.99',,CLR_BLACK,CLR_WHITE,,,,.T.,"",,,.F.,.F.,,.F.,.F.,"","nValor",,)
oGet2      := TGet():New( 016,004,{|u| If(PCount()>0,cObs:=u,cObs)},oDlg1,272,008,'',,CLR_BLACK,CLR_WHITE,,,,.T.,"",,,.F.,.F.,,.F.,.F.,"","cObs",,)

oDlg1:Activate(,,,.T.)


DbSelectArea("SZ9")
Dbsetorder(1) 
If DbSeek(xFilial("SZ9")+cNf+cSerie)
	RecLock("SZ9",.F.)
	   	If !Z9_STATUS == "F"
	    	If  cApr == "R"
				SZ9->Z9_STATUS   :="R"
				SZ9->Z9_USRLIB   := cUsu
			    SZ9->Z9_DATALIB  := date()
		   		SZ9->Z9_HORALIB  := SUBSTR(TIME(), 1, 5)
		   	 	SZ9->Z9_OBS  	 := cObs  
		    	SZ9->Z9_COMFIN   := 0
			EndIf
			If  cApr == "A"
				SZ9->Z9_STATUS   :="A"
				SZ9->Z9_USRLIB   := cUsu
		    	SZ9->Z9_DATALIB  := date()
		    	SZ9->Z9_HORALIB  := SUBSTR(TIME(), 1, 5)
		    	SZ9->Z9_OBS    	 := cObs 
		    	SZ9->Z9_COMFIN   := nValor
			EndIf 
		Else
			Alert("Comissão Apurada!")
		EndIF
	MsUnlock()

EndIf   
Return
User Function SCHLCOM3()
Local aLegenda := {}

AADD(aLegenda,{"BR_VERDE" ,"Aprovado" })
AADD(aLegenda,{"BR_AMARELO" ,"Não Classificado" })
AADD(aLegenda,{"BR_VERMELHO" ,"Reprovado" })
AADD(aLegenda,{"BR_PRETO" ,"Comissão já Apurada" })

BrwLegenda("Liberação de Comições", "Legenda", aLegenda)
Return Nil
        
User Function SCHLCOM4(cCod)  
Local nRcno 

DbSelectArea("SA1")
Dbsetorder(1)
DbSeek(xFilial("SA1")+cCod)

nRcno := SA1->(Recno ( ))

A030Visual("SA1",nRcno, 2)

Return        

User Function SCHLCOM5()  


Private cProf      := Space(6)
Private dAt        := CtoD(" ")
Private dDe        := CtoD(" ")
Private dPG        := CtoD(" ")


SetPrvt("oDlg1","oSay1","oSay2","oSay3","oSay4","oGet1","oGet2","oGet3","oGet4","oBtn1","oBtn2")

oDlg1      := MSDialog():New( 093,231,217,607,"Fechar Comissão",,,.F.,,,,,,.T.,,,.T. )
oSay1      := TSay():New( 010,004,{||"Proficional"},oDlg1,,,.F.,.F.,.F.,.T.,CLR_BLACK,CLR_WHITE,032,008)
oSay2      := TSay():New( 026,004,{||"Data De:"},oDlg1,,,.F.,.F.,.F.,.T.,CLR_BLACK,CLR_WHITE,032,008)
oSay3      := TSay():New( 026,108,{||"Até:"},oDlg1,,,.F.,.F.,.F.,.T.,CLR_BLACK,CLR_WHITE,032,008)
oSay4      := TSay():New( 040,004,{||"Data Pag"},oDlg1,,,.F.,.F.,.F.,.T.,CLR_BLACK,CLR_WHITE,032,008)
oGet1      := TGet():New( 008,040,{|u| If(PCount()>0,cProf:=u,cProf)},oDlg1,052,008,'',,CLR_BLACK,CLR_WHITE,,,,.T.,"",,,.F.,.F.,,.F.,.F.,"SA1PRF","cProf",,)
oGet2      := TGet():New( 024,040,{|u| If(PCount()>0,dDe:=u,dDe)},oDlg1,052,008,'',,CLR_BLACK,CLR_WHITE,,,,.T.,"",,,.F.,.F.,,.F.,.F.,"","dDe",,)
oGet3      := TGet():New( 024,124,{|u| If(PCount()>0,dAt:=u,dAt)},oDlg1,052,008,'',,CLR_BLACK,CLR_WHITE,,,,.T.,"",,,.F.,.F.,,.F.,.F.,"","dAt",,)
oGet4      := TGet():New( 038,040,{|u| If(PCount()>0,dPG:=u,dPG)},oDlg1,052,008,'',,CLR_BLACK,CLR_WHITE,,,,.T.,"",,,.F.,.F.,,.F.,.F.,"","dPG",,)
oBtn1      := TButton():New( 038,140,"OK",oDlg1,{ |u|SCHLCOM5A(cProf,dDe,dAt,) },037,012,,,,.T.,,"",,,,.F. )
oBtn2      := TButton():New( 038,100,"Cancelar",oDlg1,{||oDlg1:End()},037,012,,,,.T.,,"",,,,.F. )

oDlg1:Activate(,,,.T.)

Return
                                                     
Static Function SCHLCOM5A (cProf,dDe,dAt)                            

	DbSelectArea("SZ9")
	DbSetOrder (3)
	Dbseek(xFilial("SZ9")+DtoS(dDe))
	While SZ9->Z9_DTEMINF > dAt
 		If SZ9->Z9_PROF <> cProf  
	 		SZ9->(Dbskip())
 			Loop 
 		EndIF
 		Alert(SZ9->Z9_PROF +"  VALO: "+ STR(SZ9->Z9_COMFIN))   
        SZ9->(Dbskip())
	Enddo

Return
Ultima edição: 11 anos 3 meses atrás por kaciorrm.

Por favor Acessar ou Registrar para participar da conversa.

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