quinta-feira, 21 de julho de 2011

Estorno de Cupom Fiscal Cancelado

Por exigência do fisco, os ECFs (Emissores de cupons fiscais) só permitem o cancelamento do último cupom fiscal, se o cancelamento ocorrer imediatamente após a venda, isto é, sem que seja iniciada a emissão de qualquer outro documento pelo ECF, este poderá ser feito pelo próprio equipamento.

Muitos contribuintes não sabem como proceder quando não conseguem cancelar a venda. Um exemplo que ocorre muito é o estorno de uma venda que foi recebida com cartão, por ela ter um comprovante vinculado ao cupom fiscal o ECF não permite seu cancelamento.

Nesse caso o contribuinte deve emitir uma nota fiscal de entrada, a fim de poder se recuperar do imposto debitado na operação de saída ora cancelada e anexar o cupom fiscal a essa nota fiscal de entrada. Observar as demais disposições estabelecidas para essa emissão.

Essa orientação foi divulgada no site do Estado do Rio de Janeiro (www.receita.rj.gov.br), por intermédio dos esclarecimentos de 25 a 29/9/00, que sua utilização serve para qualquer estado.

quinta-feira, 14 de julho de 2011

Bloco VII do PAF-ECF

Esse bloco serve para que seja identificado na visualização dos arquivos eletrônicos quais os registros que sofreram alterações que não foram feitas pelo PAF-ECF, ou seja, se algum registro for alterado via banco de dados ou por qualquer outro programa que não seja o PAF-ECF é para ser identificado com o caracter "?" conforme o requisito "b".

Abaixo irei mostrar como implementei esse requisito utilizando o ER-PAF-ECF versão 01.07:


quinta-feira, 7 de julho de 2011

Requisito IX do PAF-ECF

Esse requisito tem como objetivo garantir que o PAF-ECF homologado não sofreu alteração, pois se o mesmo sofrer alguma alteração o MD5 que será impresso no cupom fiscal não vai ser mais o mesmo que foi homologado e registrado.
Ao implementar esse requisito cuidado para não utilizarem qualquer gerador de MD5 existente na web. Aconselho a utilizar o FSUM (http://www.slavasoft.com/fsum/) que é o adotado pela Secretaria da Fazenda.
Abaixo mostro na prática como implementar esse requisito. Para isso irei mim basear na especificação de requisitos do PAF-ECF (ER-PAF-ECF) versão 01.07.

 


quarta-feira, 6 de julho de 2011

Exemplo Rede Neural (Inteligência Artificial)

Quando paguei a disciplina de Inteligência Artificial na faculdade, tive que fazer um pequeno projeto para treinar uma rede neural usando o modelo perceptron para reconhecer a assinatura de um usuário a partir de um desenho. Abaixo disponibilizo o código-fonte desse projeto que fiz em visual basic.

terça-feira, 5 de julho de 2011

Alterando resolução do Monitor

Abaixo disponibilizo um projeto que mostra como alterar a resolução do monitor.

Cursores de um Recordset ADO

O que são Cursores?

No ADO, quando nós falamos em cursores, estamos falamos sobre uma linha. 
Quando você executa uma consulta que retorna vários registros, por exemplo SELECT * FROM Tabela, o resultado usa um cursor para navegar nos registros. O cursor pode ser usado no cliente com o argumento AdUseCliente, ou no servidor com o argumento AdUseServer.Os 4 tipos de cursores são: 


AdOpenForwardOnly 
AdOpenStatic 
AdOpenDynamic 
AdOpenKeyset. 

Cursor Local (CursorLocation)
O objeto ADODB.Connection (O objeto ADO usado para as trocas de dados entre a aplicação VB e o MySQL Server) tem uma propriedade chamada CursorLocation que é usada para enviar/receber a posição do cursor que será usado por qualquer objeto RecordSet que acessará seus dados através do objeto Connection. As duas opções possíveis para essa propriedade são AdUseServer (padrão) e AdUseCliente .


sábado, 2 de julho de 2011

Camada de acesso a Banco de Dados - Visual Basic

Visando facilitar o dia-a-dia dos desenvolvedores estou disponibilizando essa camada de acesso a banco de dados Sql Server. 


Todas os métodos retornam um type com as seguintes informações:

Situacao ("0" - OK; "1" - Duplicado; "2" - Inexistente; 9 - "Erro")
Mensagem (Quando situação = "9", retorna a mensagem do erro) 
rsDadosRetorno (Recordset com os dados retornado)
CaminhoDownloadArquivo (Caminho onde o arquivo foi baixado do banco de dados)


Abaixo listo as assinaturas dos métodos que constam nessa camada: