sexta-feira, 26 de agosto de 2022

Video 3787 - Windev 27 e Windev22 - Pix





Video




Blog 







Help




Ola.. vou mostrar o codigo
para gerar qr-code Pix




Video 3787 - Windev 27 e Windev22  - Pix





===================== codigo
// gerar pix
valor is currency=EDT_valor
sChave_pix_26 is string=EDT_chave_pix_26
sIdentificacao_59 is string=EDT_IDENTIFICACAO_59
sCidade_60 is string=EDT_Cidade_60

EDT_pix_linha=codigo_pix(valor,sChave_pix_26,sIdentificacao_59,sCidade_60)
ToClipboard(EDT_pix_linha)

===============
//PROCEDURE codigo_pix(cy_valor is currency=0,s_chave_pix_26_01 is string="", ...
                      s_identificacao_59 is string="",
                      s_cidade_60 is string = "")
                      
// exemplo do paulo viana
// silvio/willian e amigos
s_pix_linha is string = ""
IF cy_valor <= 0 THEN
Info("Informe Um Valor Válido")
ReturnToCapture(EDT_valor)
ELSE
sRandomString is string // Gera a string aleatória
LOOP (25)
nCharacter is int = Random(65,122) // Gera um número aleatoriamente
//                                     no intervalo 65-122 (A-z)
WHILE (91 <= nCharacter <= 96) // Não pegue os caracteres 
//                                incluídos entre 91 e 96
nCharacter = Random(65,122)
END
sRandomString += Charact(nCharacter)// Preenche a cadeia
END
sDoc_randomico is string = sRandomString// "Cli000019Bol000721"
sMsg is string = "05" + NumToString( Length( NoSpace( Left( NoSpace(sDoc_randomico),21))),"02d") + Left(NoSpace(sDoc_randomico),21)
grupo_26 is string = "0014br.gov.bcb.pix" //00-id 14-tamanho do br.gov.bcb.pix
tamanho_grupo_26_inicial is int = Length(grupo_26)
grupo_26+="01"
Tamanho_Chave_pix is int = Length(s_chave_pix_26_01) // 11
Tamanho_Chave_pix+=Length(Tamanho_Chave_pix) // somando tambem o tamanho da chave
tamanho_grupo_26 is int=tamanho_grupo_26_inicial+Tamanho_Chave_pix
tamanho_grupo_26+=Length(tamanho_grupo_26)
grupo_26+=NumToString( Length( NoSpace( s_chave_pix_26_01 )),"02d")  
grupo_26+=NoSpace( s_chave_pix_26_01 )
s_pix_linha = "000201" //Inicio do código para gerar o Qr-Code
s_pix_linha += "26" + NumToString(tamanho_grupo_26,"02d") + grupo_26
s_pix_linha += "52040000" 
s_pix_linha += "5303986" 
s_pix_linha += "54" + NumToString( Length( NoSpace( NumToString(cy_valor,"10.2f"))),"02d") ...
                      + NoSpace(NumToString(cy_valor,"10.2f"))
s_pix_linha += "5802BR"
s_pix_linha += "59" + NumToString( Length( NoSpace( s_identificacao_59 )),"02d") + ... 
                      NoSpace( s_identificacao_59 )
s_pix_linha += "60" + NumToString( Length( Left (NoSpace( s_cidade_60),15)),"02d") + ... 
                      NoSpace( Left( s_cidade_60,15))
//sString += "61" + NumToString(Length(NoSpace(sCEP)))
s_pix_linha += "62" + NumToString( Length( sMsg), "02d" ) + sMsg
s_pix_linha += "6304"
s_pix_linha = Rot_Pix(s_pix_linha)
BCOD_pix.Value = s_pix_linha
ImageQRCodeCenter is Image
ImageQRCodeCenter = IMG_logo
Meu_Codigo_Barra is BarCode
Meu_Codigo_Barra.Content =  s_pix_linha
Meu_Codigo_Barra.TypeBarCode = BC_QRCODE
Meu_Codigo_Barra.Image = ImageQRCodeCenter
Meu_Codigo_Barra.CorrectionError = qrcodeLevelH
Meu_Codigo_Barra.ImageProportion = 3
ImageBarCode is Image = BCToImage(Meu_Codigo_Barra,200,200)
IMG_Pix = ImageBarCode
END 

RESULT s_pix_linha


INTERNAL PROCEDURE rot_pix(chave)
meuvalor is string = chave
nTamanho is int = Length(meuvalor)
nPoly is 2-byte unsigned int = 0x1021
Wcrc is 2-byte unsigned int = 0xFFFF
FOR i=1 _TO_ Length(meuvalor)
Wcrc = BinaryXOR(Wcrc, Asc(meuvalor[[i]]) bitLeftShift 8)
FOR j = 0 TO 7
IF (Wcrc & 0x8000) THEN
Wcrc=(Wcrc bitLeftShift 1) || 0x1021
ELSE
Wcrc=Wcrc bitLeftShift 1
END
END
END
RESULT(chave+IntToHexa(Wcrc)[[5 TO ]]) 
END


//sCEP is string = EDT_Cep // "66625410"




Video estreia dia 26/08/2022


Menu dos videos webdev windev mobile


segunda-feira, 11 de julho de 2022

Video 3761 - Webdev 27 - Popup na linha da Tabela






Blog 



Repositorio



Help




bom dia

Bom dia. 
vou mostrar como fazer um popup
na linha da tabela em um container
no webdev
Lembrando , que essa dica, fui auxiliado
no Podcast do dia 09-07


Video 3761 - Webdev 27 - Popup na linha da Tabela 



===================== codigo



Video estreia dia 12/07/2022


Menu dos videos webdev windev mobile




terça-feira, 28 de junho de 2022

Video 3748 - WinvDev Mobile 27 - Pdv Na M10










Video





Blog 



Repositorio



Help




bom dia

Bom dia. 
Vou Mostar o Pdv desenvolvido no 
curso feito para comunidade


Video 3748 - WinvDev Mobile 27 - Pdv Na M10 



===================== codigo



Video estreia dia 21/06/2022


Menu dos videos webdev windev mobile





terça-feira, 21 de junho de 2022

Video 3742 - Mostrando Rotina ler Certificado e Ler Status











Video





Blog 



Repositorio


Help




bom dia

Bom dia. 
Vou mostrar algo que esta acontecendo no windev, 
com integracao uninfe dll


Video 3742 - Mostrando Rotina ler Certificado e Ler Status



===================== codigo



Video estreia dia 21/06/2022


Menu dos videos webdev windev mobile



//-------------- codigo 

//seleciona certificado
vEr_certificado is Variant = ""
O_certificadodigital is CertificadoDigital
WHEN EXCEPTION IN 
vEr_certificado=O_certificadodigital.Selecionar()
Info("certificado ok")
DO
vEr_certificado="Erro["+ExceptionInfo(errFullDetails)
fSaveText(fExeDir+"\erro.txt",vEr_certificado)
ShellExecute(fExeDir+"\erro.txt")
END
// status servico
retorno_xml is string = ""
cstat is string = ""
// ler o certicado escolhido
o_configuracao is Configuracao
o_configuracao.CertificadoDigital=vEr_certificado
//status
o_ConsStatServ is ConsStatServ
o_ConsStatServ.VERSAO = "4.00" 
o_ConsStatServ.CUF = 43 
o_ConsStatServ.TpAmb = 2 
WHEN EXCEPTION IN
clO_StatusServico is Unimake.Business.DFe.Servicos.NFe.StatusServico()
clO_StatusServico.Executar(o_ConsStatServ,o_configuracao)
retorno_xml = clO_StatusServico.RetornoWSString
cstat = clO_StatusServico.Result.cStat
DO
retorno_xml="ERRO:"+ExceptionInfo(errFullDetails)
END
// mostrando o resultado
fSaveText(fExeDir+"\xml\status.xml",retorno_xml)
ShellExecute(fExeDir+"\xml\status.xml")

--- Mensagem do erro

Failure initializing the .NET framework.
Check your .NET security parameters.
In most cases, the .NET framework cannot be used from a network path.
Call stack:
Click BTN_Seleciona_certifiado_e_status_servico (WIN_uninfe_dll.BTN_Seleciona_certifiado_e_status_servico), line 4
Date: 21/06/2022 07:10:09
Project: Video_3742_Uninfe_dll_Windev27
Additional information:
Error code: 2452
Module: wd270vm.dll (01F270103n - 27.0.549.5)
EIT_TYPE_WDFILE : <2>
EIT_IDCODE : <18>

------- imgens















segunda-feira, 6 de junho de 2022

DICA 3732 - Tabela com Double click - WebDev 27








Video





Blog 


Repositorio



Help



bom dia

Bom dia. 
Hoje vou mostrar como fazer double click na Tabela
quando vamos selecionar um Cliente
no Webdev

DICA 3732 - Tabela com Double click - WebDev 27



===================== codigo



Video estreia dia 07/06/2022


Menu dos videos webdev windev mobile



segunda-feira, 23 de maio de 2022

DICA 3725 - Self_print - WebDev 27 - Imprime Pagina - Dicionario






Video





Blog 



Repositorio


Help




bom dia

Bom dia. 
Hoje vou mostrar mais duas super dica.
simples, mas muito util
imprimir a pagina corrente 
e utilizar Dicionario

DICA 3725 - Self_print - WebDev 27 - Imprime Pagina - Dicionario


===================== codigo

// javascript

self.print();


Video estreia dia 23/05/2022


Menu dos videos webdev windev mobile




segunda-feira, 16 de maio de 2022

DICA 3720 - JSInfoEvent - SetFocus - Enter - Webdev 27





Video







Blog 



Repositorio



Help



bom dia

Hoje vou mostrar outra tecnica para usar Enter
isso foi visto no podcast no Sabado
Alias, esses podcast estao se tornando cada vez mais sucesso nacional

DICA 3720 - JSInfoEvent - SetFocus - Enter - Webdev 27


===================== codigo

//key pressed in edt_nome (onkeypress browser event)
nkey is 8-byte int = JSInfoEvent("keyCode")
IF nkey=13 THEN
SetFocus(EDT_Unidade)
END


Video estreia dia 02/05/2022


Menu dos videos webdev windev mobile









Teste

Teste
teste