pontoprg - Pronto Socorro de Sistemas Clipper pontoprg - Pronto Socorro de Sistemas Clipper
headerphoto

bit-Garagem

Visitantes:

bit-Garagem

O bit-Garagem é um local onde irei disponibilizar as rotinas que irei aos poucos depurando e melhorando a sua performance...

A idéia tem como fundo de inspiracao as grandes bandas, muitas empresas de software, etc..., que tiveram seu inicio em um fundo de quintal, quartinho da casa e... um canto da Garagem...

Nao que pretendo com isto plantar a semente de uma grande "fabrica de software" para o futuro, apenas é uma maneira de nas horas de "lazer" estar criando alguma coisa sem grandes pretenções, mas com a seriedade profissional de sempre e uma maneira de exercitar a criação de novas ferramentas de auxilio no dia a dia do desenvolvedor...

Todos estão convidados e participar, baixando as versões atualizadas que aqui serão disponibilizadas e retornando os bugs, sugestões e criticas atraves do e-mail do bit.garagem.

Assim dito, mãos na graxa... ops... dedos nos bits...

00001 16/Jun/2011 bitZtip1 799 74
Ler arquivo .MDB (apos baixar leia o arquivo LEIA.TXT)

GTIN-EAN

A obrigatoriedade do GTIN, código de barras dos produtos, nas Notas Fiscais Eletrônicas, a partir do dia 1° de julho, impulsionará a rastreabilidade.

fonte: GS1 Brasil

00002 22/Jun/2011 gtin_ean 599 55
FAQ - Obrigatoriedade do GTIN

iECF - Gerenciador de ECF

Como parte de um Projeto Futuro recebi uma Daruma para ir brincando com a mesma...

Caiu no Bit-Garagem... tome testes!!!

Para descontrair venho montando aos poucos uma app/utilitario para auxiliar as softhouse/desenvolvedores em alguns pontos na montagem do PAF-ECF...

Inicialmente estou focado na Daruma pelo fato de ter uma na minha bancada de testes... Tentei com as demais marcas utilizando Emuladores, mas alguns retornos foram desastrosos...

Por este fato no momento so vou trabalhar em cima da Daruma e logo mais nas demais marcas quando elas me forem passadas para brincar com as mesmas...

Ainda nao se trata de uma app/utilitario finalizada, como bem sabem, o Bit-Garagem é uma maneira de aos poucos ir montando e testando as ideias...

Recentes atualizacoes

.:. 19/10/2011 .:.

A partir desta versao, Release 001.002, serao disponibilizados dois tipos de arquivos
1. Instalador (Instalador_iecf.zip -> devera ser baixado quando do primeiro download, inclusive os que ja baixaram a versao anterior)
2. Atualizador (Instalador_iecf_atu.zip -> baixar nos proximos downloads)

.:. 22/10/2011 .:.

[+] Como neste modelo pretendo tambem focar a utilizacao juntamente com o ACBrMonitor, foram criados mais dois campos. Um para o Modelo do ECF e outra para a Porta utilizada.
[+] Criados os campos para guardar o valor do Grande Total e o Tipo de Funcionamento da App
[+] Criada o opcao para gerar o arquivo criptografado de Identificacao dos ECFs a ser utilizado pela app PAF-ECF (parte do Requisito XXII - Teste 072)

00003 22/Oct/2011 iecf_instalador 8 31
Gerenciador de ECF - instalador
00004 22/Oct/2011 iecf_atualizacao 3 14
Gerenciador de ECF - atualizacao

TAds 1.1 com Dbf2Advantage.exe

Agora quem quiser passar para o ADS é só fazer um esforcinho que consegue...

Nesta Versão a lib funciona em xHarbour tambem.

Com o Dbf2Advantage.exe voce importa seus DBFs antigos juntamente com os tags de indices.

Serao criadas todas as Classes das Tabelas juntamente com um Prg (Main.prg) para voce inicializar e usar seus comando antigos até ir mesclando com os novos recursos.

.:.

Meus agradecimentos ao nosso colega Giovany Vecchi que gentilmente disponibilizou para o Bit-Garagem...

Para contatar com o autor:

e-mail

telefone: ( 17 ) 3621-2030

00005 17/Oct/2011 TAdsLib_1_1 45 11
TAds 1.1 com Dbf2Advantage.exe

Utilizando o SQLite

O SQLite é uma ferramenta que permite com que desenvolvedores possam armazenar os dados de suas aplicações em tabelas e manipular esses dados através de comandos SQL. A diferença é que tudo isso pode ser feito sem que seja preciso acessar um SGBD. Devido a sua simplicidade e eficiência, o SQLite está se tornando cada vez mais popular, especialmente entre as pessoas que programam nas linguagens PHP e C / C++.

Meus agradecimentos ao nosso colega Adriano Lima e Souza que gentilmente disponibilizou este manual para o Bit-Garagem...

Para contatar com o autor do manual:

Adriano Lima e Souza
tecnologo em proc. de dados - UNIG - Itaperuna
pós graduação lato-sensu em Analise de Sistemas - UCAM - Campos dos Goytacazes
Analista de sistemas do IBGE
+20 anos de experiencia

00008 21/Nov/2011 sqlite_doc 578 129
Utilizando o SQLite

Utilizando 2 ComboBox

Aqui uma dica de como utilizar 2 ComboBox sendo o segundo dependente do primeiro
Obs.: ao baixar e utilizar os fontes, faça os ajustes necessários para o vosso ambiente de compilação.

00009 23/Nov/2011 bitZtip2 778 38
Utilizando 2 ComboBox

Tutor-OOHG

Este Tutor-OOHG foi gentilmente disponibilizado por Lucho Miranda...
Contato com o autor...

00012 19/Jan/2012 tutor_oohg 1 59
Gentilmente disponibilizado por Lucho Miranda (ElSalnes@Telefonica.Net)

Bit_Daruma
Nos diversos testes com a DarumaFrameWork.DLL surgem algumas situacoes as quais estarei reportando aqui...

[25/11/2011 - Bit_Daruma-004]
Uma maneira, um tanto quanto simploria, que utilizo para tratar o retorno do comando rStatusImpressora_ECF_Daruma()
Espero que sirva para algum colega e tambem que alguem possa sugerir como melhor tratar tal retorno...

00011 25/Nov/2011 bit_daruma_004 3 33
Uma maneira pela qual trato o retorno do comando rStatusImpressora_ECF_Daruma()

[14/11/2011 - Bit_Daruma-003]

iMFLerSerial_ECF_Daruma()
Apenas uma observação no exemplo citado no DarumaFrameWork_Help consta erroneamente o exemplo do iMFLer_ECF_Daruma().
Já reportei tal fato ao Suporte da Daruma e ficaram de efetuar os ajustes necessários.

[04/11/2011 - Bit_Daruma-002]
Como prodeder tal teste utilizando juntamente ACBrMonitor (versao 0.9.5b) e DarumaFrameWork.Dll (versao 5.22.20.0) ?

00010 23/Nov/2011 bit_daruma_002 1 20
Utilizando juntamente ACBrMonitor (versao 0.9.5b) e DarumaFrameWork.Dll (versao 5.22.20.0)

[04/11/2011 - Bit_Daruma-001]
rRetornarInformacao_ECF_Daruma - Indice 170 : segundo o Manual o retorno deveria ser o seguinte:
20 x 15 -> Nomes dos Totalizadores Não-Fiscais
20 x 13 -> Valor acumulado em cada Totalizador Não-Fiscal
13 -> Valor acumulado em Desconto Não-Fiscal
13 -> Valor acumulado em Acréscimo Não-Fiscal
13 -> Valor acumulado em Cancelamento Não-Fiscal
totalizando 599 bytes no retorno...
Ocorre que efetivamente estao retornando apenas 586 bytes...
Comuniquei tal fato ao Suporte-Daruma que prontamente responderam:

Toya, Efetuei o teste aqui por comunicação direta, e observei que o correto é o valor acumulado em cada Totalizador Não-Fiscal vir com 19 x 13, ele não conta o valor de sangria, pois vem em uma outra consulta. Já pedi ao setor responsável para arrumar os manuais.

Bit_NFe
Aqui serão postadas algumas dicas, sugestões, divagações e algumas bit-pesquisas no quesito NF-e...

[25/01/2012 - Bit_NFe-003]
HbNFe herdando ACBrNFeMonitor.Ini + xHarbour Comercial + Fivewin
Danfe montado com FastReport

Quadro do desenvolvimento e testes
Arquivo importacao Operacao Data / Status
if aIneDadosCfg[04] = "C" ; cArquivoTxt := cIneNFeDirImporta+"\env_can.txt" ; endif Cancelamento 23/01/2012 / OK
if aIneDadosCfg[04] = "E" ; cArquivoTxt := cIneNFeDirImporta+"\env_nfe.txt" ; endif Envio de NFe 23/01/2012 / OK
if aIneDadosCfg[04] = "I" ; cArquivoTxt := cIneNFeDirImporta+"\env_inu.txt" ; endif Inutilizacao 23/01/2012 / OK
if aIneDadosCfg[04] = "M" ; cArquivoTxt := cIneNFeDirImporta+"\env_mail.txt" ; endif e-Mail 07/02/2012 / OK
if aIneDadosCfg[04] = "N" ; cArquivoTxt := cIneNFeDirImporta+"\env_rec.txt" ; endif Recuperacao de NFe autorizada 25/01/2012 / OK
if aIneDadosCfg[04] = "P" ; cArquivoTxt := cIneNFeDirImporta+"\env_rel.txt" ; endif Impressao da DANFE com logo 25/01/2012 / OK
if aIneDadosCfg[04] = "R" ; cArquivoTxt := cIneNFeDirImporta+"\env_con.txt" ; endif Consulta com o RECIBO 23/01/2012 / OK
if aIneDadosCfg[04] = "RC"; cArquivoTxt := cIneNFeDirImporta+"\env_con.txt" ; endif Consulta com o CHAVENFE 23/01/2012 / OK
if aIneDadosCfg[04] = "S" ; cArquivoTxt := cIneNFeDirImporta+"\env_sta.txt" ; endif STATUS 23/01/2012 / OK
if aIneDadosCfg[04] = "Y" ; cArquivoTxt := cIneNFeDirImporta+"\env_cad.txt" ; endif Consultar Cadastro 01/02/2012 / OK
if aIneDadosCfg[04] = "Z" ; cArquivoTxt := cIneNFeDirImporta+"\env_cce.txt" ; endif CCe - 1 evento 01/02/2012 / OK
if aIneDadosCfg[04] = "Z" ; cArquivoTxt := cIneNFeDirImporta+"\env_cce.txt" ; endif CCe - varios eventos
if aIneDadosCfg[04] = "U" ; cArquivoTxt := cIneNFeDirImporta+"\env_ccr.txt" ; endif CCe.Fr3 - Impressao da CCe - Gravacao CCe.PDF 22/02/2012 / OK

link do Projeto hbNFe
Testes efetuados com: CAPICOM, Certificado A1, Certificado A3


UTC
No preenchimento do campo dhEvento (Evento: Carta de Correcao), o mesmo trata-se da data e hora do evento no formato AAAA-MM-DDThh:mm:ssTZD.
O 'TZD' trata-se do UTC.
O Tempo Universal Coordenado (em inglês: Coordinated Universal Time), ou UTC (acrónimo de Universal Time Coordinated), também conhecido como tempo civil, é o fuso horário de referência a partir do qual se calculam todas as outras zonas horárias do mundo.
Para a obtencao correta do UTC deve-se observar o Horario de Verao adotado por cada Unidade da Federacao.
De uma maneira simples montei uma rotina que pode auxiliar na obtencao correta do UTC de cada UF, ficando o alerta que deve-se observar a entrada e saida no Horario de Verao da referida UF a ser pesquisada.

00013 03/Feb/2012 uf_utc 685 7
Obter o UTC de uma UF

CCe - Carta de Correção
A Legislacao atual nao estabelece um modelo para a CCe. Elaborei um no FastReport e gostaria da apreciacao dos colegas sobre o mesmo e, se possivel, contribuirem com ideias para o melhoramento do modelo colocado para download.

00014 22/Feb/2012 CCeFr3 19 3
Modelo da CCe (Carta de Correcao) no FastReport


Na medida do possivel e/ou solicitacoes dos colegas irei disponibilizando as dicas sobre o assunto...

[16/11/2011 - Bit_NFe-002]
Aqui estão as rotinas ACBrEncripta() e ACBrDecripta() as quais utilizo para gerar e ler as senhas que gero no iNFe.
Criei estas rotinas para poder gravar e ler as senhas contidas no ACBrNFeMonitor.Ini.
Tais rotinas servem tambem para aquelas gravadas no ACBrMonitor.Ini.
Espero que sirva pelo menos a titulo de aprendizado para alguns colegas.

00007 16/Nov/2011 acbrcrip 628 32
Rotinas para Criptografar e Descriptografar senhas no padrao ACBrNFeMonitor

[11/11/2011 - Bit_NFe-001]
Algo sobre <cEAN>, especificamente sobre umas duvidas que colegas tem me questionado: Como conferir o Digito de Controle do EAN-8, EAN-13 e EAN-14 ?...
Todos utilizam o Módulo 10.

numero-EAN: 4 007630 00011
Dígito Verificador: desconhecido neste momento
Dígitos: 4 0 0 7 6 3 0 0 0 0 1 1
Multiplicadores 1 3 1 3 1 3 1 3 1 3 1 3
Resultados 4 0 0 21 6 9 0 0 0 0 1 3 Total = 44
Dígito Verifcador: Dígito Verificador = valor que falta para chegar no próximo múltiplo de 10 (aqui 50), portanto, 6
numero-DUN: 0400763000011
Dígito Verificador: desconhecido neste momento
Dígitos: 0 4 0 0 7 6 3 0 0 0 0 1 1
Multiplicadores 3 1 3 1 3 1 3 1 3 1 3 1 3
Resultados 0 4 0 0 21 6 9 0 0 0 0 1 3 Total = 44
Dígito Verifcador: Dígito Verificador = valor que falta para chegar no próximo múltiplo de 10 (aqui 50), portanto, 6
00006 11/Nov/2011 bitnfe01 702 34
Rotinas exemplos verificar Dígito Verificador - EAN8, EAN13, EAN14 (DUN14)

Sugestões, criticas, bug e outros assuntos: bit.garagem.