- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- URGENTE - Botão na mbrowse
×
Linguagem de Programação ADVPL
Perguntas URGENTE - Botão na mbrowse
- Gama
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 9
- Obrigados Recebidos: 0
11 anos 9 meses atrás #10871
por Gama
URGENTE - Botão na mbrowse foi criado por Gama
Pessoal, preciso de uma ajudinha ai, por favor!
Criei uma rotina via Mbrowse que comunica com uma balança que pesa a entrada e saída de veículos aqui na empresa. Consigo comunicar normal com ela pressionando F3 no campo pra puxar o peso. No entando preciso amarrar essa informação, deixando o campo apenas virtual e coloquei um botão na mbrowse, mas ele não joga o peso que puxa no campo especifico.
Alguém ai já teve algum caso parecido? Fico no aguardo.
Att,
Gamaliel
Criei uma rotina via Mbrowse que comunica com uma balança que pesa a entrada e saída de veículos aqui na empresa. Consigo comunicar normal com ela pressionando F3 no campo pra puxar o peso. No entando preciso amarrar essa informação, deixando o campo apenas virtual e coloquei um botão na mbrowse, mas ele não joga o peso que puxa no campo especifico.
Alguém ai já teve algum caso parecido? Fico no aguardo.
Att,
Gamaliel
Por favor Acessar ou Registrar para participar da conversa.
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
- Gama
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 9
- Obrigados Recebidos: 0
11 anos 9 meses atrás #10878
por Gama
Respondido por Gama no tópico URGENTE - Botão na mbrowse
Segue Kanaãm,
#INCLUDE "rwmake.ch"
#INCLUDE "protheus.ch"
#INCLUDE "TOPCONN.CH"
#INCLUDE "COLORS.CH"
#INCLUDE "MSSERIAL.CH"
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Funcao ³ JPPORT03 ³ Autor ³Gamaliel ³ Data ³ 30/08/11 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³ Comunicacao balanca Jundiai ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Uso ³ Generico ³±±
±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
USER FUNCTION JPPORT03() //U_JPPORT03()
Local aCores := {}
aCores := {{'EMPTY(ZBL_DATA2) .OR. EMPTY(ZBL_HORAS) .OR. EMPTY(ZBL_PESO02)' , 'BR_VERDE'},; // Apenas primeiro peso
{'!EMPTY(ZBL_DATA) .AND. !EMPTY(ZBL_PLACA) .AND. !EMPTY(ZBL_HORAE) .AND. !EMPTY(ZBL_PESO01)' , 'BR_VERMELHO'}} // Peso completo
Private cCadastro := "CADASTRO DE DADOS DA BALANçA"
Private Pesobal := 0
Private aRotina := {{ "Pesquisar", "AxPesqui",0,1} ,; //"Pesquisar"
{ "Visualizar", "AxVisual",0,2} ,; //"Visualizar"
{ "Incluir", "U_Inclui",0,3} ,; //"Incluir"
{ "Alterar", "U_Altera",0,4} ,; //"Alterar"
{ "Excluir", "U_Exclui",0,5} ,; //"Deletar"
{ "Legenda", "U_Lege050",0,6} ,; //"Legenda"
{ "Imprimir", "U_Jpportr03",0,7} } //"Imprimir"
mBrowse(6,1,22,75,"ZBL",,,,,,aCores)
Return(.T.)
User Function Inclui()
Local nOpca := 0
Local aParam := {}
Local oSay1
Static oDlg
Local aButtons := {}
Private nTipo1 := '1'
Private Retorno := .F.
//adiciona botoes na Enchoice
aAdd(aButtons, {"FORM", {||U_JPPORT3A()}, "Peso 1", "Peso 1"})//Funcao do Carlos
dbSelectArea("ZBL")
nOpca := AxInclui("ZBL",,3,,,,,.F.,,aButtons,aParam,,,.T.,,,,,)
Return nOpca
User Function Altera()
Local nOpca := 0
Local aParam := {}
Local oSay1
Local := {}
Static oDlg
Local nReg := recno()
Private aButtons := {}
Private nTipo1 := '2'
Private Retorno := .F.
//adiciona botoes na Enchoice
aAdd(aButtons, {"FORM", {||U_JPPORT3A()}, "Peso 2", "Peso 2"})
dbSelectArea("ZBL")
nOpca := AxAltera("ZBL",nreg,4,,,,.F.,,,,aButtons)
IF Retorno
Return (.T.)
Endif
IF !EMPTY(ZBL_DATA2) .AND. !EMPTY(ZBL_HORAS) .AND. !EMPTY(ZBL_PESO02)
MsgAlert('Registro já finalizado. Não pode ser alterado!')
Return (.T.)
Endif
If nopca == 1
If APMSGYESNO('Desejar Imprimir?')
U_Jpportr03()
Endif
Endif
Return nOpca
User Function Exclui()
Local nOpca := 0
Local aParam := {}
Local nReg := recno()
Private aButtons := {}
Private Retorno := .F.
IF Retorno
Return (.T.)
Endif
IF !EMPTY(ZBL_PESO01) .AND. !EMPTY(ZBL_PLACA) .AND. !EMPTY(ZBL_PESO02) .AND. !EMPTY(ZBL_HORAE) .AND. !EMPTY(ZBL_HORAS) .AND. !EMPTY(ZBL_DATA) .AND. !EMPTY(ZBL_DATA2)
Alert('Registro já finalizado. Não pode ser excluído!')
Return (.T.)
Endif
dbSelectArea("ZBL")
nOpca := AxDeleta("ZBL",nreg,5)
Return nOpca
User Function zeroesq2() // U_zeroesq2()//Completa para nove digitos com zero a esquerda no campo DOCNF
M->ZBL_DOCNF := StrZero (Val(M->ZBL_DOCNF),9)
Return(.T.)
User Function zeroesq4() // U_zeroesq4()//Completa para nove digitos com zero a esquerda no campo CNFISCAL - Compras/Pre Nota Entrada
M->CNFISCAL := StrZero (Val(M->CNFISCAL),9)
Return(.T.)
User Function zeroesq3() // U_zeroesq3()//Completa para nove digitos com zero a esquerda no campo TICKET
M->Z6_TICKET := StrZero (Val(M->Z6_TICKET),6)
Return(.T.)
User Function VerHoraZBL(cHora)//Aceita somente o formato de hora normal (00:00 a 23:59)
cRet:=.T.
IF Val(Left(cHora,2))<0 .or. Val(Left(cHora,2))>23
cRet:=.F.
Endif
IF Val(Right(cHora,2))<0 .or. Val(Right(cHora,2))>59
cRet:=.F.
Endif
Return(cRet)
User Function LEGE050()
BrwLegenda(cCadastro,"Legenda",{{"BR_VERMELHO","Peso completo"},; //"Peso completo"
{"BR_VERDE","Apenas primeiro peso" }} ) //"Apenas o primeiro peso foi informado"
Return .T.
USER FUNCTION JPPORT3A() //U_JPPORT3A()
Pesobal := 0
Processa( {|| U_JPPORT3B()},"Balança", "Aguarde, buscando peso...")
_cRet := pesobal
RETURN(_cRET)
USER FUNCTION JPPORT3B()
Local cPorta := GetMv("MV_CONFBAL") //**Retorna o conteudo do parametro especificado: "com1:9600,e,8,2,n"
Local nHdll := 0
Local nCont := 0
Local nIndice
Local _cRet := 0
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Lendo Peso Balança³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
//MSOpenPort(nHdll,"COM1:9600,N,8,2") // paridade NENHUMA
MsOpenPort(nHdll, cPorta)
cPesoAux := space(100)
While (Empty(cPesoAux) .AND. nCont < 500)
MsRead(nHdll, @cPesoAux)
nCont++
EndDo
MsClosePort(nHdll)
_cRet := RET_VAL(cPesoAux)
Pesobal := _cRet
RETURN(_cRET)
STATIC FUNCTION RET_VAL(cCaracter)
Local nI := 0
Local cRet := ""
FOR nI := 1 TO LEN(cCaracter)
//IF(ASC(SUBSTR(cCaracter, nI, 1)) >= 48 .AND. ASC(SUBSTR(cCaracter, nI, 1)) <= 57)
IF(SUBSTR(cCaracter, nI, 1) $ "0123456789")
cRet += SUBSTR(cCaracter, nI, 1)
ENDIF
NEXT nI
RETURN val(cRet)
USER FUNCTION JPPORT04 //U_JPPORT04()
M->Z6_TICKET := STRZERO(VAL(M->Z6_TICKET),6)
RETURN(.T.)
#INCLUDE "rwmake.ch"
#INCLUDE "protheus.ch"
#INCLUDE "TOPCONN.CH"
#INCLUDE "COLORS.CH"
#INCLUDE "MSSERIAL.CH"
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Funcao ³ JPPORT03 ³ Autor ³Gamaliel ³ Data ³ 30/08/11 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³ Comunicacao balanca Jundiai ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Uso ³ Generico ³±±
±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
USER FUNCTION JPPORT03() //U_JPPORT03()
Local aCores := {}
aCores := {{'EMPTY(ZBL_DATA2) .OR. EMPTY(ZBL_HORAS) .OR. EMPTY(ZBL_PESO02)' , 'BR_VERDE'},; // Apenas primeiro peso
{'!EMPTY(ZBL_DATA) .AND. !EMPTY(ZBL_PLACA) .AND. !EMPTY(ZBL_HORAE) .AND. !EMPTY(ZBL_PESO01)' , 'BR_VERMELHO'}} // Peso completo
Private cCadastro := "CADASTRO DE DADOS DA BALANçA"
Private Pesobal := 0
Private aRotina := {{ "Pesquisar", "AxPesqui",0,1} ,; //"Pesquisar"
{ "Visualizar", "AxVisual",0,2} ,; //"Visualizar"
{ "Incluir", "U_Inclui",0,3} ,; //"Incluir"
{ "Alterar", "U_Altera",0,4} ,; //"Alterar"
{ "Excluir", "U_Exclui",0,5} ,; //"Deletar"
{ "Legenda", "U_Lege050",0,6} ,; //"Legenda"
{ "Imprimir", "U_Jpportr03",0,7} } //"Imprimir"
mBrowse(6,1,22,75,"ZBL",,,,,,aCores)
Return(.T.)
User Function Inclui()
Local nOpca := 0
Local aParam := {}
Local oSay1
Static oDlg
Local aButtons := {}
Private nTipo1 := '1'
Private Retorno := .F.
//adiciona botoes na Enchoice
aAdd(aButtons, {"FORM", {||U_JPPORT3A()}, "Peso 1", "Peso 1"})//Funcao do Carlos
dbSelectArea("ZBL")
nOpca := AxInclui("ZBL",,3,,,,,.F.,,aButtons,aParam,,,.T.,,,,,)
Return nOpca
User Function Altera()
Local nOpca := 0
Local aParam := {}
Local oSay1
Local := {}
Static oDlg
Local nReg := recno()
Private aButtons := {}
Private nTipo1 := '2'
Private Retorno := .F.
//adiciona botoes na Enchoice
aAdd(aButtons, {"FORM", {||U_JPPORT3A()}, "Peso 2", "Peso 2"})
dbSelectArea("ZBL")
nOpca := AxAltera("ZBL",nreg,4,,,,.F.,,,,aButtons)
IF Retorno
Return (.T.)
Endif
IF !EMPTY(ZBL_DATA2) .AND. !EMPTY(ZBL_HORAS) .AND. !EMPTY(ZBL_PESO02)
MsgAlert('Registro já finalizado. Não pode ser alterado!')
Return (.T.)
Endif
If nopca == 1
If APMSGYESNO('Desejar Imprimir?')
U_Jpportr03()
Endif
Endif
Return nOpca
User Function Exclui()
Local nOpca := 0
Local aParam := {}
Local nReg := recno()
Private aButtons := {}
Private Retorno := .F.
IF Retorno
Return (.T.)
Endif
IF !EMPTY(ZBL_PESO01) .AND. !EMPTY(ZBL_PLACA) .AND. !EMPTY(ZBL_PESO02) .AND. !EMPTY(ZBL_HORAE) .AND. !EMPTY(ZBL_HORAS) .AND. !EMPTY(ZBL_DATA) .AND. !EMPTY(ZBL_DATA2)
Alert('Registro já finalizado. Não pode ser excluído!')
Return (.T.)
Endif
dbSelectArea("ZBL")
nOpca := AxDeleta("ZBL",nreg,5)
Return nOpca
User Function zeroesq2() // U_zeroesq2()//Completa para nove digitos com zero a esquerda no campo DOCNF
M->ZBL_DOCNF := StrZero (Val(M->ZBL_DOCNF),9)
Return(.T.)
User Function zeroesq4() // U_zeroesq4()//Completa para nove digitos com zero a esquerda no campo CNFISCAL - Compras/Pre Nota Entrada
M->CNFISCAL := StrZero (Val(M->CNFISCAL),9)
Return(.T.)
User Function zeroesq3() // U_zeroesq3()//Completa para nove digitos com zero a esquerda no campo TICKET
M->Z6_TICKET := StrZero (Val(M->Z6_TICKET),6)
Return(.T.)
User Function VerHoraZBL(cHora)//Aceita somente o formato de hora normal (00:00 a 23:59)
cRet:=.T.
IF Val(Left(cHora,2))<0 .or. Val(Left(cHora,2))>23
cRet:=.F.
Endif
IF Val(Right(cHora,2))<0 .or. Val(Right(cHora,2))>59
cRet:=.F.
Endif
Return(cRet)
User Function LEGE050()
BrwLegenda(cCadastro,"Legenda",{{"BR_VERMELHO","Peso completo"},; //"Peso completo"
{"BR_VERDE","Apenas primeiro peso" }} ) //"Apenas o primeiro peso foi informado"
Return .T.
USER FUNCTION JPPORT3A() //U_JPPORT3A()
Pesobal := 0
Processa( {|| U_JPPORT3B()},"Balança", "Aguarde, buscando peso...")
_cRet := pesobal
RETURN(_cRET)
USER FUNCTION JPPORT3B()
Local cPorta := GetMv("MV_CONFBAL") //**Retorna o conteudo do parametro especificado: "com1:9600,e,8,2,n"
Local nHdll := 0
Local nCont := 0
Local nIndice
Local _cRet := 0
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Lendo Peso Balança³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
//MSOpenPort(nHdll,"COM1:9600,N,8,2") // paridade NENHUMA
MsOpenPort(nHdll, cPorta)
cPesoAux := space(100)
While (Empty(cPesoAux) .AND. nCont < 500)
MsRead(nHdll, @cPesoAux)
nCont++
EndDo
MsClosePort(nHdll)
_cRet := RET_VAL(cPesoAux)
Pesobal := _cRet
RETURN(_cRET)
STATIC FUNCTION RET_VAL(cCaracter)
Local nI := 0
Local cRet := ""
FOR nI := 1 TO LEN(cCaracter)
//IF(ASC(SUBSTR(cCaracter, nI, 1)) >= 48 .AND. ASC(SUBSTR(cCaracter, nI, 1)) <= 57)
IF(SUBSTR(cCaracter, nI, 1) $ "0123456789")
cRet += SUBSTR(cCaracter, nI, 1)
ENDIF
NEXT nI
RETURN val(cRet)
USER FUNCTION JPPORT04 //U_JPPORT04()
M->Z6_TICKET := STRZERO(VAL(M->Z6_TICKET),6)
RETURN(.T.)
Por favor Acessar ou Registrar para participar da conversa.
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
11 anos 9 meses atrás #10881
por kanaamlrr
Respondido por kanaamlrr no tópico URGENTE - Botão na mbrowse
Então cara, pelo que eu entendi, acontece o seguinte.
Você está chamando a função e ela está preenchendo a sua variável "pesobal".
Essa variável não está sendo atribuida em lugar nenhum após a chamada da função.
Você pode tentar mudar a chamada do seu botão da seguinte forma:
#INCLUDE "rwmake.ch"
#INCLUDE "protheus.ch"
#INCLUDE "TOPCONN.CH"
#INCLUDE "COLORS.CH"
#INCLUDE "MSSERIAL.CH"
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Funcao ³ JPPORT03 ³ Autor ³Gamaliel ³ Data ³ 30/08/11 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³ Comunicacao balanca Jundiai ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Uso ³ Generico ³±±
±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
USER FUNCTION JPPORT03() //U_JPPORT03()
Local aCores := {}
aCores := {{'EMPTY(ZBL_DATA2) .OR. EMPTY(ZBL_HORAS) .OR. EMPTY(ZBL_PESO02)' , 'BR_VERDE'},; // Apenas primeiro peso
{'!EMPTY(ZBL_DATA) .AND. !EMPTY(ZBL_PLACA) .AND. !EMPTY(ZBL_HORAE) .AND. !EMPTY(ZBL_PESO01)' , 'BR_VERMELHO'}} // Peso completo
Private cCadastro := "CADASTRO DE DADOS DA BALANçA"
Private Pesobal := 0
Private aRotina := {{ "Pesquisar", "AxPesqui",0,1} ,; //"Pesquisar"
{ "Visualizar", "AxVisual",0,2} ,; //"Visualizar"
{ "Incluir", "U_Inclui",0,3} ,; //"Incluir"
{ "Alterar", "U_Altera",0,4} ,; //"Alterar"
{ "Excluir", "U_Exclui",0,5} ,; //"Deletar"
{ "Legenda", "U_Lege050",0,6} ,; //"Legenda"
{ "Imprimir", "U_Jpportr03",0,7} } //"Imprimir"
mBrowse(6,1,22,75,"ZBL",,,,,,aCores)
Return(.T.)
User Function Inclui()
Local nOpca := 0
Local aParam := {}
Local oSay1
Static oDlg
Local aButtons := {}
Private nTipo1 := '1'
Private Retorno := .F.
//adiciona botoes na Enchoice
aAdd(aButtons, {"FORM", {||M->ZBL_SEUCAMPO := U_JPPORT3A()}, "Peso 1", "Peso 1"})//Funcao do Carlos
dbSelectArea("ZBL")
nOpca := AxInclui("ZBL",,3,,,,,.F.,,aButtons,aParam,,,.T.,,,,,)
Return nOpca
User Function Altera()
Local nOpca := 0
Local aParam := {}
Local oSay1
Local := {}
Static oDlg
Local nReg := recno()
Private aButtons := {}
Private nTipo1 := '2'
Private Retorno := .F.
//adiciona botoes na Enchoice
aAdd(aButtons, {"FORM", {||M->ZBL_SEUCAMPO := U_JPPORT3A()}, "Peso 2", "Peso 2"})
dbSelectArea("ZBL")
nOpca := AxAltera("ZBL",nreg,4,,,,.F.,,,,aButtons)
IF Retorno
Return (.T.)
Endif
IF !EMPTY(ZBL_DATA2) .AND. !EMPTY(ZBL_HORAS) .AND. !EMPTY(ZBL_PESO02)
MsgAlert('Registro já finalizado. Não pode ser alterado!')
Return (.T.)
Endif
If nopca == 1
If APMSGYESNO('Desejar Imprimir?')
U_Jpportr03()
Endif
Endif
Return nOpca
teste ai e diz pra gente se funcionou.
Você está chamando a função e ela está preenchendo a sua variável "pesobal".
Essa variável não está sendo atribuida em lugar nenhum após a chamada da função.
Você pode tentar mudar a chamada do seu botão da seguinte forma:
#INCLUDE "rwmake.ch"
#INCLUDE "protheus.ch"
#INCLUDE "TOPCONN.CH"
#INCLUDE "COLORS.CH"
#INCLUDE "MSSERIAL.CH"
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Funcao ³ JPPORT03 ³ Autor ³Gamaliel ³ Data ³ 30/08/11 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri‡…o ³ Comunicacao balanca Jundiai ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³ Uso ³ Generico ³±±
±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
USER FUNCTION JPPORT03() //U_JPPORT03()
Local aCores := {}
aCores := {{'EMPTY(ZBL_DATA2) .OR. EMPTY(ZBL_HORAS) .OR. EMPTY(ZBL_PESO02)' , 'BR_VERDE'},; // Apenas primeiro peso
{'!EMPTY(ZBL_DATA) .AND. !EMPTY(ZBL_PLACA) .AND. !EMPTY(ZBL_HORAE) .AND. !EMPTY(ZBL_PESO01)' , 'BR_VERMELHO'}} // Peso completo
Private cCadastro := "CADASTRO DE DADOS DA BALANçA"
Private Pesobal := 0
Private aRotina := {{ "Pesquisar", "AxPesqui",0,1} ,; //"Pesquisar"
{ "Visualizar", "AxVisual",0,2} ,; //"Visualizar"
{ "Incluir", "U_Inclui",0,3} ,; //"Incluir"
{ "Alterar", "U_Altera",0,4} ,; //"Alterar"
{ "Excluir", "U_Exclui",0,5} ,; //"Deletar"
{ "Legenda", "U_Lege050",0,6} ,; //"Legenda"
{ "Imprimir", "U_Jpportr03",0,7} } //"Imprimir"
mBrowse(6,1,22,75,"ZBL",,,,,,aCores)
Return(.T.)
User Function Inclui()
Local nOpca := 0
Local aParam := {}
Local oSay1
Static oDlg
Local aButtons := {}
Private nTipo1 := '1'
Private Retorno := .F.
//adiciona botoes na Enchoice
aAdd(aButtons, {"FORM", {||M->ZBL_SEUCAMPO := U_JPPORT3A()}, "Peso 1", "Peso 1"})//Funcao do Carlos
dbSelectArea("ZBL")
nOpca := AxInclui("ZBL",,3,,,,,.F.,,aButtons,aParam,,,.T.,,,,,)
Return nOpca
User Function Altera()
Local nOpca := 0
Local aParam := {}
Local oSay1
Local := {}
Static oDlg
Local nReg := recno()
Private aButtons := {}
Private nTipo1 := '2'
Private Retorno := .F.
//adiciona botoes na Enchoice
aAdd(aButtons, {"FORM", {||M->ZBL_SEUCAMPO := U_JPPORT3A()}, "Peso 2", "Peso 2"})
dbSelectArea("ZBL")
nOpca := AxAltera("ZBL",nreg,4,,,,.F.,,,,aButtons)
IF Retorno
Return (.T.)
Endif
IF !EMPTY(ZBL_DATA2) .AND. !EMPTY(ZBL_HORAS) .AND. !EMPTY(ZBL_PESO02)
MsgAlert('Registro já finalizado. Não pode ser alterado!')
Return (.T.)
Endif
If nopca == 1
If APMSGYESNO('Desejar Imprimir?')
U_Jpportr03()
Endif
Endif
Return nOpca
teste ai e diz pra gente se funcionou.
Por favor Acessar ou Registrar para participar da conversa.
- Gama
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 9
- Obrigados Recebidos: 0
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- URGENTE - Botão na mbrowse
Tempo para a criação da página:0.151 segundos