sábado, 5 de setembro de 2015

Windev - Curso - 57/... - Xml - Ler conteudo Tags e Importar Pedido

 http://www.pcsoft.fr/

Matos Informatica

Video - Windev - Curso - 57/... - Xml - Ler conteudo Tags e Importar Pedido


Nessa aula vou mostrar como importar um xml, para poder importar para
pedidos do cupom fiscal
isso ajuda a integrar Erp com Cupom





<?xml version="1.0" encoding="UTF-8"?>
<importa_cupom>
 <pedido>
 <pedido_numero>5</pedido_numero>
 </pedido>
 <produto item="1">
     <produto_codigo>2</produto_codigo>
     <produto_nome>Teste de produto 2</produto_nome>
     <produto_unidade>KG</produto_unidade>
     <produto_quantidade>1.50</produto_quantidade>
     <produto_preco_venda>2.00</produto_preco_venda>
     <produto_total>3.00</produto_total>
 </produto>
 <produto item="2">
     <produto_codigo>1</produto_codigo>
     <produto_nome>primeiro produto</produto_nome>
     <produto_unidade>PC</produto_unidade>
     <produto_quantidade>13.00</produto_quantidade>
     <produto_preco_venda>5.51</produto_preco_venda>
     <produto_total>71.63</produto_total>
 </produto>
</importa_cupom>


PROCEDURE xml_importar_cupom()
// Aqui estou Pedido para informar o Numero do Pedido
s_numero_pedido is string
LOOP
    Input("Informe Numero do Pedido",s_numero_pedido)
    // Caso ele nao informar o numero o sistema nao deixar sair ate digitar um Numero
    IF s_numero_pedido="" THEN
        Info("favor informar Numero do Pedido")
    ELSE
        // aqui faz sair do loop
        BREAK
    END
END
// criei uma variavel n-iten para saber a sequencia do iten do pedido
n_iten is int=0
// aqui estou criando as variaveis que vao ser jogadas na tabela
produto_codigo is string=""
produto_nome is string=""
produto_unidade is string=""
produto_quantidade is currency=0
produto_preco_venda is currency=0
produto_total is currency=0
// aqui é a variavel do totalizador
gcy_total_venda=0
//aqui estou Eliminado dados da tabela
TableDeleteAll(TABLE_caixa)
// aqui criei uma variavel s_diretorio para pegar o nome do xml e o local onde esta
s_diretorio is string="e:\aleva\cupom_"+s_numero_pedido+".xml"

s_xml_documento is string=s_diretorio
s_meu_xml is string=fLoadText(s_xml_documento)
XMLDocument("xmldoc",s_meu_xml)
XMLFind("xmldoc",Null,XMLElement+XMLChildItem,XMLStartWith)
//agora vou comecar a ler cada linha do xml
WHILE XMLFound("xmldoc")       
    IF     XMLElementType("xmldoc")=XMLAttribute THEN
        // caso ele achar o atributo num item , vai inicializar
        //<produto item="1">
        // se for iten = 0 nao faz nada
        IF n_iten=0 THEN
        ELSE
            // caso contrario ja jogo as informacoes para tabela e limpo os campos
            TableAddLine(TABLE_caixa,n_iten,produto_codigo,produto_nome,produto_unidade,produto_quantidade,produto_preco_venda,produto_total)
            produto_codigo=""
            produto_nome=""
        END
        //aqui estou pegando o item=.. que sera 1 ,, ou outro
        n_iten=XMLData("xmldoc")
    END
    // aqui estou pegando todos os campos que preciso
    IF XMLElementName("xmldoc")="produto_codigo" THEN produto_codigo=XMLData("xmldoc")
    IF XMLElementName("xmldoc")="produto_nome" THEN produto_nome=XMLData("xmldoc")
    IF XMLElementName("xmldoc")="produto_unidade" THEN produto_unidade=XMLData("xmldoc")
    IF XMLElementName("xmldoc")="produto_quantidade" THEN produto_quantidade=XMLData("xmldoc")
    IF XMLElementName("xmldoc")="produto_preco_venda" THEN produto_preco_venda=XMLData("xmldoc")
    IF XMLElementName("xmldoc")="produto_total" THEN
        produto_total=XMLData("xmldoc")
        gcy_total_venda+=produto_total
    END
    XMLNext("xmldoc")
    // aqui estou pedido para ir para proxima tag
END
EDT_total_geral=gcy_total_venda
XMLClose("xmldoc")
// aqui estou fechando o xml
// estou agora, gerando a tabela da ultima linha
IF produto_codigo<>"" THEN
    TableAddLine(TABLE_caixa,n_iten,produto_codigo,produto_nome,produto_unidade,produto_quantidade,produto_preco_venda,produto_total)
END
// se numero do iten for 0 é porque nao existe arquivo xml
IF n_iten=0 THEN
    Info("Nao Encontrado Numero do Pedido [ "+s_numero_pedido+"]")   
END




Blog - Curso Iniciante /1/... - Inicio
Blog - Curso Iniciante /2/... - Menu
Blog - Curso Iniciante /3/... Campos  
Blog - Curso Iniciante /4/... - Duvida/Style
Blog - Curso Iniciante /5/... - Menu
Blog - Curso Iniciante /6/... - Menu 2
Blog - Curso Iniciante /7/... - If / ShellExecute  
Blog - Curso Iniciante /8/... - ReturntoCapture 
Blog - Curso Iniciante /9/... - Info
Blog - Curso Iniciante /10/.. - DateSys - Now
Blog - Curso Iniciante /11/... - Criando Analise Agenda 
Blog - Curso Iniciante /12/... - Menu , Agenda
Blog - curso Iniciante /13/... - HreadSeek  
Blog - curso Iniciante /14/... - For Each - Percorrer Tabela 
Blog - Curso Iniciante /15/... - Query Consultas
Blog - Curso Iniciante /16/... - Tabela Relatorio
Blog - Curso Iniciante /17/... - Relatorio Criando 
Blog - Curso Iniciante /18/... - Relatorio Manual 
Blog - Curso Iniciante /19/.. - Menu Popup
Blog - Curso Iniciante /20/... - Data - Separar dia mes e ano
Blog - Curso Iniciante /21/... - Time - Separar hora/min/seg 
Blog - Curso Iniciante /22/... - Operadores
Blog - Curso Iniciante /23/... - String Igualdade 
Blog - Curso Iniciante /24/... - Switch / Case
Blog - Curso Iniciante /25/... - LOOP 
Blog - Curso Iniciante /26/... - FOR
Blog - Curso /27/... - Extern 
Blog - Curso /28/... - My 
Blog - Curso /29/... Procedures
Blog - Curso /30/... HSave  .. - Inclui Um Registro
Blog - Curso /31/... - Hsave - Altera um Registro
Blog - Curso /32/... - HDelete - Exclui Registro(s)
Blog - Curso /33/... - Relatorio
Blog - Curso /34/... - Dialog 
Blog - Curso /35/... - Input
blog - Curso /36/... - Combox 
Blog - Curso /37/... Combox Tabela 
Blog - Curso /38/... List Box
Blog - Curso /39/... - Analise Agenda/Ligacoes
Blog - Curso /40/... - Rad - Tabela Relacionada Agenda/Ligações
Blog - Curso /41/... - Tabela Relacionada Manual
Blog - Curso /42/... - Dica Tela/Code Separado
Blog - Curso /43/... - Mapa /1..
Blog - Curso /44/... - Mapa /2.. Imprime
Blog - Curso /45/... - Fechar Programa - EndPrograma()
Blog - Curso /46/... - Camera Habilita/Desabilita 
Blog - Curso /47/... - Tabela e Formulario - Configurar Cnpj
Blog - Curso /48/... - Camera - Tirar Uma Foto e Gravar Imagem
Blog - Curso /49/... - Reports e Queies - Instalacao
Blog - Curso /50/... Reports e Queies - Relatorio - Como Gerar 
Blog - Curso /51/... Pedidos/Orcamento 1/... Analise
Blog - Curso /52/... Pedidos/Orcamento 2/.. Analise Windev
Blog - Curso /53/... Pedidos/Orcamento 3/... Relacionamento
Blog - Curso /54/... Pedidos Orcamento 4/... Rad
Blog - Curso /55/... Pegar Quantidade e Codigo - Separador * 
Blog - Curso /56/... Pegar Retorno de Uma Tabela e colocar Campo 
Blog - Curso /57/... Xml - Ler Conteudo Tags e Importar Pedido
Blog - Curso /58/... Ini - Ler e Gravar
Blog - Curso /59/... Pedidos Orcamento 5/... Inicio Digitacao Pedido
Blog - Curso /60/... Pedidos Orcamento 6/... Digitando Iten Pedido
Blog - Curso /61/... Pedidos orcamento 7/... Gravando Pedido e Itens   
Blog - Curso /62/... Pedido Orcamento 8/... Consulta cliente  
Blog - Curso /63/... Tabela - Ancorar Coluna
Blog - Curso /64/... Tabela - Esconder ou Mostrar Coluna  
Blog - Curso /65/... RSS 
Blog - Curso /66/... Pedido Orcamento 9/... Consulta Material
Blog - Curso /67/... Tabelas, Control F Pesquisa Toda Tabela /Contenha/Cor Fundo
Blog - Curso /68/... Pedidos Orcamento 10/... Planos - Condições Pagamento 
Blog - Curso /69/... - Calculadora dentro do Campo Valor 
Blog - Curso /70/... Mapa - Itinerario
Blog - Curso /71/... Tabela - Alterar Nome Coluna
Blog - Curso /72/... Botal Fazer Menu popup 
Blog - Curso /73/... Debug - Como Usar
Blog - Curso /74/... Tabela Alinhar Coluna Lado Esquerdo 
Blog - Curso /75/... Pedidos Orcamento 11/... Quantidade /Mascara/Mudar
Blog - Curso /76/... YesNo - Pergunta Se Deseja Eliminar 
Blog - Curso /77/... Select - Case - Query
Blog - Curso /78/... Pedido/Orcamento 12/... - Analise Cond.Pagto
Blog - Curso /79/... Campos - Como Alterar configuracao via Codigo
Blog - Curso /80/... Pedido/Orcamento 13/... - Tabela,Gerar Condicoes/Parcelas
Blog - Curso /81/... Configuracao Trocar Exe para Wdl ou outro 
Blog - Curso /82/... Utilitarios - PopUp - Aumento Precos Materiais 
Blog - Curso /82/... TableEnableFilter - Digita Nome e Filtra 
Blog - Curso /83/... TableEnableFilter - Digita Nome e Filtra 
Blog - Curso /84/... Dica Copiar Colar Texto Ou Imagen Pdf
Blog - Curso /85/... SElect Como Usar Wizard 
Blog - Curso /86/... Radio - Colocar tudo Mesma Linha
Blog - Curso /87/... Procedure - Melhoria Versao20 - Parametros
Blog - Curso /88/... Style - Tabela Como Alterar
Blog - Curso /89/... Style - Tab Como Alterar
Blog - Curso /90/... Pedido/Orcamento 14/... - Style - Mudando Botao Procura
Blog - Curso /91/... - Pedido/Orcamento 15/... - Pedido - Totalizar Colunas Tabela
Blog - Curso /92/... Backup - Hyperfile 
Blog - Curso /93/... Debug - STOP 
Blog - Curso /94/... Tabela - Alterar Cor da Coluna - Texto
Blog - Curso /95/... Select Max - Pegar o Numero Proxima Nota 
Blog - Curso /96/... Tabela Divisao de Muitas Colunas 
Blog - Curso /97/... Analise - Configurar Campo para Vir Automatico Combox 
Blog - Curso /98/... Tabela - Double click - Entrar direto Alteração do Cliente 
Blog - Curso /99/... Tabela MultiSeleção
Blog - Curso/100/... Tabela - TableMoveLine - Move Linha Baixou ou Cima
Blog - Curso/101/... TableAjust - Ajustar Tabela com Colunas
Blog - Curso/102/... TableSort - Ordem nas Colunas

Teste

Teste
teste