sábado, 28 de dezembro de 2019

DICAS 2597 - WINDEV WEBDEV MOBILE - Relatorio 62 - Como eu Fiz Danf no Windev.






Doação Para Amarildo matos - https://streamelements.com/amarildo_matos/tip











Doaçao Amarildo Matos - Link da doação: https://streamelements.com/amarildo_matos/tip
Boa Tarde

Seja bem vindos a mais uma video Aula. Essa aula estara disponivel as 18:00 do dia 28/12/2019.
Dica 2597. Vou Mostrar como eu Fiz Impressao Danf no Windev.

DICAS 2597 - WINDEV WEBDEV MOBILE - Relatorio 62 - Como eu Fiz Danf no Windev. 

Compartilhe Canal Youtube Amarildo Matos
Amarildo, desde 1990 ensinando Desenvolvimento de Sistemas, tornando
sonhos em realidades.



--------------------------------------------------------------
EXTERN win_danf_relatorio
LoadWDL("relatorio.wdl")
n_id_nota_fiscal is int=TABLE_nota_fiscal.COL_Id_nota_fiscal
Open(win_danf_relatorio,n_id_nota_fiscal,"IMPRESSAO",True,True)
---------------------------------------------------------------

// BTN_IMPRIMIR_DANF
HReadSeekFirst(nota_fiscal_xml,Id_nota_fiscal,gn_id_nota_fiscal)
TableDeleteAll(TABLE_itens)
IF HFound(nota_fiscal_xml) THEN
IF nota_fiscal_xml.xml_nfe<>"" THEN
EDT_Xml_nfe=nota_fiscal_xml.xml_nfe
ELSE
EDT_Xml_nfe=nota_fiscal_xml.xml_enviado
END
ler_danfe_itens_impostos_xml()
ELSE
EDT_Xml_nfe=nota_fiscal.id_nota_fiscal
ler_danfe_itens_impostos_homologacao()
END
IF empresa_parametro_nfe.pdf_gerar=True THEN
iDestination(iPDF,s_retorno_pdf)
imprime_danf(True)
IF gbNao_abrir_pdf=True THEN
ELSE
ShellExecute(s_retorno_pdf)
END
ELSE
imprime_danf(False)
END
====================================================
INTERNAL PROCEDURE ler_danfe_itens_impostos_xml()

documento is string = EDT_Xml_nfe
xml_nfe is a xmlDocument
xml_nfe=XMLOpen(documento,fromString)
det is xmlNode
_sequencia is int=0
HReadSeekFirst(empresa_parametro_nfe,Id_empresa,gnEmpresacodigo)
FOR EACH det OF xml_nfe.nfeProc.NFe.infNFe on det
TableAddLine(TABLE_itens) // Adicionando a tabela
n_ocorrencia is int= TABLE_itens..Occurrence //vou ter o numero atual linha tabela
_sequencia++
TABLE_itens.COL_01_sequencia[n_ocorrencia]=_sequencia
TABLE_itens.COL_02_id_nota_fiscal_iten[n_ocorrencia]=0
TABLE_itens.COL_03_cProd[n_ocorrencia]=det.prod.cProd
TABLE_itens.COL_04_cEAN[n_ocorrencia]=det.prod.cEAN
TABLE_itens.COL_05_xProd[n_ocorrencia]=det.prod.xProd
TABLE_itens.COL_06_NCM[n_ocorrencia]=det.prod.NCM
TABLE_itens.COL_07_CFOP[n_ocorrencia]=det.prod.CFOP
TABLE_itens.COL_08_uCom[n_ocorrencia]=det.prod.uCom
TABLE_itens.COL_09_qCom[n_ocorrencia]=det.prod.qCom
TABLE_itens.COL_17_vTotTrib[n_ocorrencia]=det.imposto.vTotTrib 
TABLE_itens.COL_18_ICMS_ICMSSN_orig[n_ocorrencia]=det.imposto.ICMS..ChildNode[1].orig
s_cst_csosn is string=""
s_cst_csosn=det.imposto.ICMS..ChildNode[1].CST
TABLE_itens.COL_19_ICMS_ICMSSN_CST_CSOSN[n_ocorrencia]=det.imposto.ICMS..ChildNode[1].orig+det.imposto.ICMS..ChildNode[1].CST
IF s_cst_csosn="" THEN
TABLE_itens.COL_19_ICMS_ICMSSN_CST_CSOSN[n_ocorrencia]=det.imposto.ICMS..ChildNode[1].orig+det.imposto.ICMS..ChildNode[1].CSOSN
END
TABLE_itens.COL_20_ICMS_ICMSSN_pCred[n_ocorrencia]=det.imposto.ICMS..ChildNode[1].pCred
TABLE_itens.COL_21_ICMS_ICMSSN_vCred[n_ocorrencia]=det.imposto.ICMS..ChildNode[1].vCred

END



END
===================================================================
INTERNAL PROCEDURE ler_danfe_itens_impostos_homologacao()
nUmero_item is int=0
TableDeleteAll(TABLE_ItemID)
TableSort(TABLE_ItemID,False)
HReadSeekFirst(nota_fiscal,id_nota_fiscal,gn_id_nota_fiscal)
QRY_ItensNF.param_idNota = nota_fiscal.id_nota_fiscal
HExecuteQuery(QRY_ItensNF,hQueryWithoutHFCorrection)
FOR EACH QRY_ItensNF
TableAddLine(TABLE_ItemID,QRY_ItensNF.id_nota_fiscal_iten,QRY_ItensNF.sequencia_digitacao)
END
TableSort(TABLE_ItemID,"+COL_sequencia")
FOR EACH ROW OF TABLE_ItemID
HReadSeek(nota_fiscal_iten,id_nota_fiscal_iten,TABLE_ItemID.COL_IdItemNotaFiscal)
HReadSeekFirst(material,material.chave_empresa_material,[gnEmpresacodigo,nota_fiscal_iten.id_empresa_material])
TableAddLine(TABLE_itens)
nUmero_item++
TABLE_itens.COL_01_sequencia[nUmero_item]=nota_fiscal_iten.sequencia_digitacao
TABLE_itens.COL_03_cProd[nUmero_item]=nota_fiscal_iten.codigo_produto_cProd
TABLE_itens.COL_04_cEAN[nUmero_item]=nota_fiscal_iten.codigo_barra_cean
TABLE_itens.COL_05_xProd[nUmero_item]=material.nome
TABLE_itens.COL_33_percentual_desc[nUmero_item]=nota_fiscal_iten.Valor_desconto_percentual
END
TableSort(TABLE_itens,"+COL_01_sequencia")
END
================================================
IF empresa_parametro_nfe.pdf_gerar=True THEN
iDestination(iPDF,s_retorno_pdf)
imprime_danf(True)
IF gbNao_abrir_pdf=True THEN
ELSE
ShellExecute(s_retorno_pdf)
END
ELSE
imprime_danf(False,False)
END
================================================
INTERNAL PROCEDURE imprime_danf(_pdf is boolean=False, envioEmail is boolean=False)
IF _pdf=True THEN
ELSE
IF gb_deseja_configuracar=True THEN
iConfigure()
END
iPreview(ipvZoom100)
END
IF empresa_parametro_nfe.danf_quantidade_vias>0 THEN
iParameter(iCopies,empresa_parametro_nfe.danf_quantidade_vias)
END
iPrintReport(RPT_danf_nfe_mod2,gn_id_nota_fiscal)

END
================================================
// BTN_gERAR_tABELA

TABLE_itens_pedido.DeleteAll()
//TableDeleteAll(TABLE_itens_pedido) // VERSOES ANTERIORES

// VAMOS AGORA LER OS ITENS DO PEDIDO E GERAR NA TABELA

FOR EACH pedido_iten where PedidoID=EDT_Numero_Pedido

nOCORRENCIA is int=TABLE_itens_pedido.AddLine()
TABLE_itens_pedido[nOCORRENCIA].COL_01_pedido_itenid=pedido_iten.pedido_itenID
TABLE_itens_pedido[nOCORRENCIA].COL_02_pedido_id=pedido_iten.PedidoID
TABLE_itens_pedido[nOCORRENCIA].COL_03_material_id=pedido_iten.Materialid
TABLE_itens_pedido[nOCORRENCIA].COL_04_nome_material=""
HReadSeekFirst(material,materialid,pedido_iten.Materialid)
IF HFound(material) THEN
TABLE_itens_pedido[nOCORRENCIA].COL_04_nome_material=material.nome
END
TABLE_itens_pedido[nOCORRENCIA].COL_05_quantidade=pedido_iten.quantidade
TABLE_itens_pedido[nOCORRENCIA].COL_06_vlr_unitario=pedido_iten.valor_unitario
TABLE_itens_pedido[nOCORRENCIA].COL_07_valor_total=pedido_iten.valor_total

END
==========================================






























Blog - WinDev - Relatorio - 001/... Configura e Filtro
Blog - WinDev - Relatorio - 002/... IParameterReport
Blog - WinDev - Relatório - 003/... Marca D´Agua
Blog - WinDev - Relatorio - 004/... Layout 
Blog - WinDev - Relatorio - 005/... Campo Vertical - Angle 
Blog - WinDev - Relatorio - 006/... Como fazer quando sai duas paginas? 
Blog - WinDev - Relatorio - 007/... Imprimir Linha Multi Line
Blog - WinDev - Relatorio - 008/... Relatorio Valor Zero deixar Branco
Blog - WinDev - Relatorio - 009/... Relatorio Alinhar Texto 
Blog - WinDev - Relatorio - 010/... Colocar Totalizador
Blog - WinDev - Relatorio - 011/... Imprime Somente os Selecionados ou Todos da Tabela 
Blog - WinDev - Relatorio - 012/... Break e totalizadores de valores
Blog - WinDev - Relatorio - 013/... Retorno de Relatorio - Result 
Blog - WinDev - Relatorio - 014/... Zerar Totalizador  
Blog - WinDev - Relatorio - 015/... Relatorio - Totalmente Manual
Blog - WinDev - Relatorio - 016/... Linha Zebrada
Blog - WinDev - Relatorio - 017/... Posicoes do Relatorio Alterar
Blog - WinDev - Relatorio - 018/... Alterar Fonte
Blog - WinDev - Relatorio - 019/... Linha Acrescentar
Blog - WinDev - Relatorio - 020/... Relatorio - Gerar Pdf
Blog - WinDev - Relatorio - 021/... Filtro
Blog - WinDev - Relatorio - 022/... Pagina Inicial/Final - Data Hora
Blog - WinDev - Relatorio - 023/... Pular Página Break - IpageEnd()
Blog - WinDev - Relatorio - 024/... Imprimir Tabela com TablePrint
Blog - WinDev - Relatorio - 025/... Relatorio Mudar Orientação
Blog - WinDev - Relatorio - 026/... Mostrar impressoras/Selecionar e Imprimir
Blog - WinDev - Relatorio - 027/... IDestination - Destino do Relatorio
Blog - WinDev - Relatorio - 028/... Iprint - Relatorio Manual
Blog - WinDev - Relatorio - 029/... Dica Tabela e print
Blog - WinDev - Relatorio - 030/... Totalizadores
Blog - WinDev - Relatorio - 031/... Caption Mudar
Blog - WinDev - Relatorio - 032/... Intervalo Bancos
Blog - WinDev - Relatorio - 033/... Manual Linha - IHLine
Blog - WinDev - Relatorio - 034/... Borda - Iborder
Blog - WinDev - Relatorio - 035/... IPageNum
Blog - WinDev - Relatorio - 036/... Numero Com Espaco
Blog - WinDev - Relatorio - 037/... Fonte Seleciona - ISelectFont -
Blog - WinDev - Relatorio - 038/... Linha Mais de 2 - Mais informacoes no Campo
Blog - WinDev - Relatorio - 039/... Copias - IParameter - Icopies
Blog - WinDev - Relatorio - 040/... Pdf - Ler e Extrair Texto
Blog - WinDev - Relatorio - 041/... Imprimir Numero 000.001.500
Blog - WinDev - Relatorio - 042/... IListPrinter - Mostra Impressoras e Lista
Relatorio Inventario com Query - Relatorio 043/...
Relatorio - Sem Template - Dica Pedrosão - Relatorio - 044
Titulo Cabecalho - Alterar - WinDev - Relatorio - 045
Totais - Colocar Totais Abaixo ultima Linha Detalhe - WinDev - Relatorio - 046
Relatorio String Angulo 90% - WinDev - Relatorio - 047/...
Links Pagina e Email no Relatorio - WinDev - Relatorio - 048
PREVIEW TRADUZIR - WINDEV - RELATORIO - 049 - AULA 1211
TABELA E RELATORIO - COMO FAZER - RELATORIO 050 - AULA 1223
MANUAL - RELATORIO TOTALMENTE MANUAL - WINDEV RELATORIO 051 - AULA 1224
MEMORIA RELATORIO - AULA 1257 relatorio 052 tabela memoria
TOTAL BREAK - DICAS 1711 - PUBLICA - WINDEV RELATORIO 053 
GERAR PDF - DICAS 1889 - PUBLICA - WINDEV_23 - RELATORIO 54 - 
DICA 2150 - HANGOUT AO VIVO 10 06 2019 AS 19:00 - MOSTRAR CONSULTORIA COm joao sobre relatorios de como criar
DICAS 2151 WINDEV WEBDEV MOBILE RELATORIOS 59 CONSULTORIA JOAO 08062019
DICAS 2152 WINDEV WEBDEV MOBILE RELATORIOS 60 TOTAL RELATORIO
DICAS 2193 WINDEV WEBDEV MOBILE RELATORIO 61 IPREVIEW iMiniPreview
DICAS 2597 - WINDEV WEBDEV MOBILE - Relatorio 62 - Como eu Fiz Danf no Windev.
AO VIVO FACEBOOK - 2882 20:00 - 06/05/2020 - RELATORIOS COM TABELAS WINDEV











Ao vivo 2596 - 28/12/2019 14:30 - Amarildo - Desenvolvimento e Estudos -...



Doaçao Amarildo Matos - Link da doação: https://streamelements.com/amarildo_matos/tip
Boa Noite

Ao vivo 2596 - 28/12/2019 14:30 - Amarildo - Desenvolvimento e Estudos - Windev

Compartilhe Canal Youtube Amarildo Matos
Amarildo, desde 1990 ensinando Desenvolvimento de Sistemas, tornando
sonhos em realidades


Doação Para Amarildo matos - https://streamelements.com/amarildo_matos/tip
























Ao vivo 2595 - 28/12/2019 08:00 - Amarildo - Desenvolvimento e Estudos -...






Doação Para Amarildo matos - https://streamelements.com/amarildo_matos/tip
























Teste

Teste
teste