sexta-feira, 8 de julho de 2016

Curso WinDev - Funções Dialogo - 1/... - Confirm








http://doc.windev.com/en-US/search2.awp?origin=browse&cat=dialog-box-functions,261

Video Youtube


Nessa aula vou mostrar sobre Confirm

In this lecture I will show on Confirm

Dans cette conférence, je vais montrer sur Confirmer
 

http://doc.windev.com/en-US/?3021007&name=confirm_function
http://doc.pcsoft.fr/fr-FR/?3021007&name=confirmer_fonction

http://doc.windev.com/en-US/search2.awp?origin=browse&cat=dialog-box-functions,261
http://doc.windev.com/en-US/search2.awp?origin=browse&cat=functions-for-windows-management,486
http://doc.windev.com/


Blog - WinDev - Curso Funções Dialogo - 001/... - Confirm
Blog - WinDev - Curso Funções Dialogo - 002/... - Okcancel
Blog - WinDev - Curso Funções Dialogo - 003/... - Message
Blog - WinDev - Curso Funções Dialogo - 004/... - toastDisplay
Blog - WinDev - Curso Funções Dialogo - 005/... - YesNo
Blog - WinDev - Curso Funções Dialogo - 006/... - Input
Blog - WinDev - Curso Funções Dialogo - 007/... - Error
Blog - WinDev - Curso Funções Dialogo - 008/... - Gauge
Blog - WinDev - Curso Funções dialogo - 009/... - Info



// Nome do titulo Janela // title name window // nom du titre fenêtre
NextTitle("Farei uma Pergunta ")
// Confirm
n_resultado is int = Confirm("Voce vai querer Continuar","Proxima Linha","Mais Uma")
SWITCH n_resultado
    CASE Yes:
        Info("ok")
    CASE No:
        Info("nao")
    CASE Cancel:
        Info("Cancela")   
END
















quinta-feira, 7 de julho de 2016

Curso WinDev - Certificado - 010 - Soap - Status Nfe Sefaz









Video Youtube


Nessa aula vou ensinar a Fazer Soap - Status Nfe - Sefaz

In this lesson I will teach Soap Making - Status Nfe - Sefaz

Dans cette leçon, je vais enseigner Soap Making - Statut Nfe - SEFAZ
 

http://doc.windev.com/en-US/?3043007&name=HTTPRequest
http://doc.pcsoft.fr/fr-FR/?3043007&name=httprequete_fonction


Blog - WinDev - Curso Certificado - 001/... - Seleciona Certificado - Certificate Select 
Blog - WinDev - Curso Certificado - 002/... - Certificate Type - Pegar Dados Certificado
Blog - WinDev - Curso Certificado - 003/... - Ver se Certificado é Válido
Blog - WinDev - Curso Certificado - 004/... - CertificateLoad - Chamar pfx/arquivo
Blog - WinDev - Curso Certificado - 005/... - Assinatura Digital Nfe - Parte 1/...
Blog - WinDev - Curso Certificado - 006/... - Assinatura nfe - Parte 2/... - System.xml.xmlDocument
Blog - WinDev - Curso Certificado - 007/... - Assinatura nfe - Parte 3/... - Assinar Documento
Blog - Windev - Curso Certificado - 008/... HttpListCertificate
Blog - WinDev - Curso Soap - 009/... Consulta Cadastro Sefaz - WebService
Blog - WinDev - Curso Soap - 010 - Status Nfe Sefaz - WebService
DonwLoad Arquivo/Barra progresso/Http - WinDev - Certificado 011/...



//Site com WebService Sefaz RS // Site with webservcie sefaz RS // Site avec WebService Sefaz RS https://nfe.sefazrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx
//Inserir o Soap // Insert Soap // Insérer Savon //
s_envelop_soap is string=[
    <?xml version="1.0" encoding="utf-8"?>
    <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
    <soap12:Header>
    <nfeCabecMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2">
    <cUF>#cUF#</cUF>
    <versaoDados>3.10</versaoDados>
    </nfeCabecMsg>
    </soap12:Header>
    <soap12:Body>
    <nfeDadosMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2">
    <consStatServ xmlns="http://www.portalfiscal.inf.br/nfe" versao="3.10">
    <tpAmb>2</tpAmb>
    <cUF>43</cUF>
    <xServ>STATUS</xServ>
    </consStatServ>
    </nfeDadosMsg>
    </soap12:Body>
    </soap12:Envelope>   
]
s_uf is string="43"
s_envelop_soap=Replace(s_envelop_soap,"#cUF#",s_uf)
s_envelop_soap=Replace(s_envelop_soap,CR,"")
// colocar o webservice // put the web service //  mettre le service web//
s_webservice_consulta is string="https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx"
//Criar webservice ok // create webservice ok // créer webservice ok
b_webservice_ok is boolean=False
b_webservice_ok=HTTPRequest(s_webservice_consulta,"","",s_envelop_soap,"text/xml","","")
IF b_webservice_ok=True THEN //verificar se webservice_ok esta ok // check ok ok this webservice  // vérifier ok ok ce webservcie
    s_retorno is string=HTTPGetResult(httpResult) //pegar retorno httpgetresult // return catch// retour captures
    EDT_retorno=s_retorno
    EDT_cStat=pesquisa_tag_nfe_wdk("cStat",s_retorno)
    EDT_xMotivo=pesquisa_tag_nfe_wdk("xMotivo",s_retorno)   
END
//Vamos TEstar


PROCEDURE pesquisa_tag_nfe_wdk(_tag,_retorno_xml)


_texto_inicial is string="<"+_tag+">"
_texto_final is string="</"+_tag+">"
nPosicaoInicial is int=0
nPosicaoFinal is int=0
nPosicaoInicial = PositionOccurrence(_retorno_xml,_texto_inicial,firstRank,FromBeginning) + Length(_texto_inicial)
nPosicaoFinal = PositionOccurrence(_retorno_xml,_texto_final,firstRank,FromBeginning)
IF nPosicaoFinal>nPosicaoInicial THEN
    RESULT Middle(_retorno_xml,nPosicaoInicial,nPosicaoFinal-nPosicaoInicial)   
ELSE
    RESULT ""   
END

































quarta-feira, 6 de julho de 2016

WinDev - Impressão , Pdf, Margens








http://blogs.pcsoft.fr/blogs.awp


A maioria das impressoras têm margens físicas de vários milímetros, e por vezes mais de um centímetro. Por exemplo, se a margem de impressão deixada é de 4 mm, fisicamente unidades da impressora não pode imprimir na região de papel 0-4 mm, mesmo com uma chamada de função iMargin com zero de a margem esquerda, o início da impressão será de 4 mm a partir da borda esquerda.

PDF tem uma moldura vermelha corresponde exatamente com as margens físicas da impressora padrão configurado ao executar o código:

Quando programada edição destina-se apenas para a produção de um documento de PDF, pode ser vantajoso utilizar toda a superfície das páginas. Um truque de conseguir isso é simplesmente selecionar antes de editar a impressora do sistema "Microsoft XPS Document Writer." Na verdade, o piloto de impressora "virtual" para a vantagem de não ter de margem, ou o formato até mesmo definir. Podemos criar um documento sem margens ou com um tamanho de papel que não é aceite por uma impressora padrão. O seguinte código idêntico ao anterior, com a excepção de a escolha do controlador, torna possível representar os resultados:


Publié par

15:45 Lundi
04 Juil. 2016



[Billet publié dans le blog Le blog du ST]
La majeure partie des imprimantes disposent de marges physiques de quelques millimètres, et parfois de plus d'un centimètre. Par exemple si la marge gauche d'une imprimante est de 4 mm, physiquement les mécanismes d'entraînement de l'imprimante ne peuvent imprimer dans la zone de 0 à 4 mm du papier, même avec un appel de la fonction iMarge avec zéro pour la marge gauche, le début de l'impression sera à 4 mm du bord gauche.

Il est possible de se représenter les marges physiques d'une imprimante avec le code suivant :

iMarge(0,0,0,0)
iDestination(iPDFGénérique , "c:\temp\imp_marge.pdf")
iCadre(0,0,iLargeurPage,iHauteurPage,1,0,RougeClair,iContinu)
iImprimeZone("Le cadre tient compte de la marge physique de l'imprimante",0,10, iLargeurPage(), iHauteurPage(),iHaut+iCentreH)
iFinImprime ()
LanceAppliAssociée("c:\temp\imp_marge.pdf")

Le PDF obtenu aura un cadre rouge correspondant exactement aux marges physiques de l'imprimante configurée par défaut lors de l'exécution du code :

Lorsqu'une édition programmée est destinée uniquement à la production d'un document PDF, il peut être intéressant d'utiliser toute la surface des pages. Une astuce pour y parvenir consiste tout simplement à sélectionner avant l'édition l'imprimante système "Microsoft XPS Document Writer". En effet, ce pilote "virtuel" d'imprimante à l'avantage de n'avoir aucun marge, ni même de format imposé. On peut donc créer un document sans aucune marge, ou avec un format de papier qui ne serait pas accepté par une imprimante standard. Le code suivant identique au précédent, à l'exception du choix du pilote, permet de se représenter le résultat :

iConfigure("Microsoft XPS Document Writer")
iMarge(0,0,0,0)
iDestination(iPDF , "c:\temp\imp_sans_marge.pdf")
iCadre(0,0,iLargeurPage,iHauteurPage,1,0,RougeClair,iContinu)
iImprimeZone("Aucune marge le cadre est bien placé en 0x0 du document",0,10, iLargeurPage(), iHauteurPage(),iHaut+iCentreH)
iFinImprime ()

Le PDF obtenu a bien le cadre sur les bords du document :

Un cas pratique dans lequel ce pilote est utile : découper un PDF de N pages en N PDF d'une seule page. Sans utiliser ce pilote, le contenu des pages obtenues est décalé suivant les marges physiques de l'imprimante en cours. Exemple d'un code de découpage d'un PDF, conservant strictement la position des données du document PDF d'origine :

sFichierPDF est une chaîne = "<chemin>\PDF-N-PAGES.pdf"
sUnePagePDF est une chaîne
MonImage est une Image
iConfigure("Microsoft XPS Document Writer")
iMarge(0,0,0,0)
iParamètrePDF("","",iQualitéMaximale)
POUR nPage = 1 _A_ PDFNombreDePages(sFichierPDF)
 MonImage = PDFExtraitPage(sFichierPDF, nPage)
 sUnePagePDF = fExtraitChemin(sFichierPDF,fDisque+fRépertoire+fFichier)+"-"+nPage+".pdf"
 iDestination(iPDF,sUnePagePDF)
 iImprimeImage(MonImage,0,0,iLargeurPage(),iHauteurPage(),iAffichageNormal)
 iFinImprime()
FIN
















Curso WinDev - Tabela - 030 - Tabela - Fazer Titulos com Colunas










Video youtube


Nessa aula vou mostrar como Melhorar Titulo Tabela

This lesson will show you how to improve Title Table

Cette leçon va vous montrer comment améliorer Titre Table



WinDev - Tabela - 001/... Ancorar Tabela e coluna
WinDev - Tabela - 002/... Esconder ou Mostrar Coluna Tabela 
WinDev - Tabela - 003/... Mudar Cor e Fundo da Coluna da Tabela 
WinDev - Tabela - 004/... Mudar Largura e Fonte da Coluna da Tabela 
WinDev - Tabela - 005/... Coluna de valor Deixar em Branco 
WinDev - Tabela - 006/... Alterar Nome,Cor,Cor de Fundo da Coluna da Tabela 
WinDev - Tabela - 007/... Alterar ordem das Colunas por Programacao
WinDev - Tabela - 008/... TableSeek Pesquizar se Existe
WinDev - Tabela - 009/... TableSelectPlus - Seleciona Iten tabela
WinDev - Tabela - 010/... TableSort - Classifica Coluna
WinDev - Tabela - 011/... Zoom
WinDev - Tabela - 012/... for Each Row Of - Percorrer
WinDev - Tabela - 013/... Selecionar Varias Linhas
WinDev - Tabela - 014/... Balao - Tabela ToolTip
WinDev - Tabela - 015/... Coluna Contrainer
WinDev - Tabela - 016/... Sum - Como Mudar Nome
WinDev - Tabela - 017/... TableInfoXY - Saber Nome,Posição e Linha da Coluna 
WinDev - Tabela - 018/... Guardar e Recuperar Posição Tabela
WinDev - Tabela - 019/... TableInputsearch
WinDev - Tabela - 020/... Descobrir Posição cliente Novo
WinDev - Tabela - 021/... Saber quantos e nome das Colunas
WinDev - Tabela - 022/... Tableselect - Selecionar varias linhas tabela e Ler
WinDev - Tabela - 023/... BuildBrowsingTable - Cria Tabela Manual
WinDev - Tabela - 024/... Somar Valor Tabela Automatico ou Manual - rowtotal
WinDev - Tabela - 025/... Eventos no cabecalho da Tabela
WinDev - Tabela - 026/... Tabela - Break - Totalizadores
WinDev - Tabela - 027/... Tabela - Colorir Linha
WinDev - Tabela - 028/... Double click Na seleção Item
WinDev - Tabela - 029/... Tabela - Descrição, Em Varias Linhas Coluna Tabela
WinDev - Tabela - 030/... Tabela - Fazer titulos com colunas
WinDev - Tabela - 031/... Tabela - Sql - Query - Agrupar Datas Nas Notas
































terça-feira, 5 de julho de 2016

Curso WinDev - Xml - 004 - Ler xml Aula 3/...









Nessa aula vou mostrar como ler um xml

This lesson will show how to read a xml

Cette leçon montre comment lire un xml


Video youtube



WinDev - Xml - 001/... Criar um Xml
WinDev - Xml - 002/... Ler Xml Aula 1/...
WinDev - Xml - 003/... Ler Xml Aula 2/...
WinDev - Xml - 004/... Ler Xml Aula 3
WinDev - Xml - 005/... XmlRead - Retirar Tag
WinDev - Xml - 006/... Sefaz Gratuito-Ler Xml Cliente/Gravar



Tag Retirar - XmlRead - WinDev - Xml - 005/...
WinDev - Xml - 001/... Criar um Xml
WinDev - Xml - 002/... Ler Xml Aula 1/...
WinDev - Xml - 003/... Ler Xml Aula 2/...
WinDev - Xml - 004/... Ler Xml Aula 3
Sefaz Gratuito-Ler Xml Cliente/Gravar - WinDev - Xml - 006/...




//("xml","/nfeProc/protNFe/infProt/chNFe")
//("xml","/nfeProc/NFe/infNFe/ide/nNF")
//fazer a pesquisa e mostrar // do research and show //  faire des recherches et spectacle

EDT_ChaveNota=pesquisa("chNFe",EDT_xml)
EDT_numero_nota=pesquisa("nNF",EDT_xml)


//vou fazer uma procedure interna pesquisa tag // i will make an internal tag search procedure
// je vais faire une procédure tag de recherche interne

    INTERNAL PROCEDURE pesquisa(_recebe_tag,_recebe_arquivo_xml)
       //vou criar string texto inicial e final //i will create string start and ent text
       //je vais créer début de chaîne et le texte final
       _texto_inicial is string="<"+_recebe_tag+">"
       _texto_final is string="</"+_recebe_tag+">"
       //criar uma posicao inicial e final //create an initital and final position //créer une position initiale et finale
       _posicao_inicial is int=0
       _posicao_final is int=0
       //vou pegar a posição inicial // i´ll get the startion position //je vais prendre la position de départ
       _posicao_inicial=PositionOccurrence(_recebe_arquivo_xml,_texto_inicial,firstRank,FromBeginning)+Length(_texto_inicial)
       //vou pegar a posição final // i´ll get the final position // je vais prendre la position finale
       _posicao_final=PositionOccurrence(_recebe_arquivo_xml,_texto_final,firstRank,FromBeginning)
       //vou verificar se posição final maior inicial // i will check if initial higher end position // je vais vérifieir si la position iniale de haut de gamme
       IF _posicao_final>_posicao_inicial THEN
                //vou pegar o conteudo da tag // i´ll take the content of the tag   //je vais prendrer le contenu de la balise
                RESULT Middle(_recebe_arquivo_xml,_posicao_inicial,_posicao_final-_posicao_inicial)
           ELSE
                RESULT ""
           END
          
    END
   























Teste

Teste
teste