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, 21 de julho de 2011
Estorno de Cupom Fiscal Cancelado
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:
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.
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/
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 .
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.
Download: http://www.megaupload.com/?d=5NITFTPZ
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:
Assinar:
Postagens (Atom)