Leaderboard


Popular Content

Showing most liked content since 27-05-2017 in all areas

  1. 81 likes
    Olá pessoal, Com o intuito de acabar com a dependência da CAPICOM, nos fontes do Projeto ACBr, apliquei um amplo refactoring, nas Units de ACBrDFeSSL e suas derivadas... O que é CAPICOM ? https://en.wikipedia.org/wiki/CAPICOM Porque usávamos a CAPICOM ? Usar diretamente as APIs do Windows não é uma tarefa simples.... A CAPICOM, facilita um pouco, as tarefas que podem ser feitas com a WinCrypt (ou MS Crypto), para acesso a certificados digitais instalados no Windows Quais as desvantagens da CAPICOM ? A Microsoft condenou a mesma como obsoleta. (esse é o principal motivo) Ela precisa ser registrada no Windows para funcionar Não suporta 64 bits O que será usado no lugar da CAPICOM ? Usaremos diretamente as APIs do Windows, ou seja, a WinCrypt (também conhecida como "MS Crypto" ou "CAPI"). Ou seja, encaramos o desafio e agora usamos apenas métodos da WinCrypt para acessos a Certificados Digitais no Windows. Para facilitar o acesso a API WinCrypt, estamos usando as Units do diretório: "Fontes\Terceiros\CodeGear\", mas especificamente a Unit "ACBr_WinCrypt.pas". Quais as vantagens da WinCrypt ? Ela está presente de forma nativa, em todas as versões do Windows (desde o Windows XP), ou seja, não requer instalação. Possui versões 32 e 64 bits Não requer registro da DLL Não requer a instalação de pacotes .NET ou Java Onde posso encontrar a WinCrypt ? Ela já está instalada, de forma nativa, no seu Windows... com o nome: "crypt32.dll" Se o seu Windows é 64 bits, você encontrará a mesma em: 32 bits: "C:\Windows\SysWOW64" 64 bits "C:\Windows\System32" Se o seu Windows é 32 bits, você encontrará a mesma em: "C:\Windows\System32" O suporte a Delphi7 será mantido ? SIM. Apesar de já anunciarmos o fim do Suporte a D7, tivemos o cuidado de testar as alterações no D7. Para isso, adaptamos as units da pasta "Fontes\Terceiros\CodeGear\" para o suporte a D7... Como configurar para usar a WinCrypt e não a CAPICOM ? A maneira mais simples é configurar a seguinte propriedade: ACBrNFe1.Configuracoes.Geral.SSLLib := libWinCrypt; Na verdade, a propriedade ACBrDFe.Configuracoes.Geral.SSLLib passou a ser virtual... ou seja, ela configurará de forma indireta, as 3 novas bibliotecas de TDFeSSL... Se você ler os fontes, quando rodamos o código acima, o seguinte código será executado. procedure TGeralConf.SetSSLLib(AValue: TSSLLib); case AValue of ..... libWinCrypt: begin SSLCryptLib := cryWinCrypt; SSLHttpLib := httpWinHttp; SSLXmlSignLib := xsMsXml; end; end; Se você deseja uma configuração diferenciada, poderá configurar as bibliotecas individualmente...Exemplo: ACBrNFe1.Configuracoes.Geral.SSLCryptLib := cryWinCrypt; ACBrNFe1.Configuracoes.Geral.SSLHttpLib := httpWinINet; ACBrNFe1.Configuracoes.Geral.SSLXmlSignLib := xsXmlSec; Como remover completamente, as Units da CAPICOM dos meus fontes ? Abra o arquivo \ACBr\Fontes\ACBrComum\ACBr.inc e altere a seguinte linha: {.$DEFINE DFE_SEM_CAPICOM} para: {$DEFINE DFE_SEM_CAPICOM} Ou seja, remova o "." do inicio O que mudou em ACBrDFeSSL ? Muita coisa.... (veja abaixo o trecho do "Change-Log").. Estudar os fontes do projeto Demo "\ACBr\Exemplos\ACBrDFe\ACBrNFe\Delphi", é a melhor maneira de conhecer as modificações. Veja abaixo, um resumo ilustrado: 1 - Agora você pode criar a sua própria janela de escolha de Certificado Veja esse exemplo de código, extraído de ACBrNFe_Demo. onde usamos o método "ACBrNFe1.SSL.LerCertificadosStore", para carregar todos os certificados da Store, definida em "ACBrNFe1.SSL.StoreName", após isso, as informações dos certificados podem ser obtidas em "ACBrNFe1.SSL.ListaCertificados" ACBrNFe1.SSL.LerCertificadosStore; For I := 0 to ACBrNFe1.SSL.ListaCertificados.Count-1 do begin with ACBrNFe1.SSL.ListaCertificados[I] do begin 2 - Agora você pode selecionar as bibliotecas de TDFeSSL, individualmente CryptLib: Permite definir qual será a biblioteca de Criptografia. Ela possui métodos como:"SelecionarCertificado", "CarregarCertificado", "CalcHash". além de propriedades como "DadosCertificado" e "ListaCertificados". TSSLCryptLib = (cryNone, cryOpenSSL, cryCapicom, cryWinCrypt) HttpLib: Usada para acesso HTTP e HTTPs, permitindo informar o Certificado na conexão. Possui métodos como: "Enviar" e propriedades como: "HTTPResultCode" e "InternalErrorCode" TSSLHttpLib = (httpNone, httpWinINet, httpWinHttp, httpOpenSSL, httpIndy); XMLSignLib: Usada para validar XMLs (contra um Schema), assinar um XML, Validar a assinatura existente em um XML. Possui métodos como: "Assinar", "Validar" e "VerificarAssinatura" TSSLXmlSignLib = (xsNone, xsXmlSec, xsMsXml, xsMsXmlCapicom); 3 - Independência das configurações de segurança do I.E. Isso pode ser obtido, se você utilizar SSLHttpLib = "httpWinHttp" ou "httpOpenSSL" Você poderá definir nos seus fontes, independente das configurações do Internet Explorer, configurações como o Tipo de segurança e TimeOut da tentativa de conexão. Essa funcionalidade já estava presente nas Units de acesso que utilizavam o OpenSSL a algum tempo. e agora com a nova Unit que faz acesso a HTTPS, usando a API do Windows chamada "WinHTTP", isso também será possível. O modelo: "httpWinINet" irá usar a API do Windows, chamada "WinINet", a qual já utilizávamos, e ela depende de configurações do I.E. 4 - Carregar o certificado por ArquivoPFX ou DadosPFX, com a WinCrypt ou CAPICOM Essa funcionalidade já estava presente, quando SSLCryptLib = cryOpenSSL. e não estava disponível para CAPICOM. Mas agora isso é possível, com a SSLCryptLib = cryCapicom ou cryWinCrypt. Ou seja, Se você tem um certificado A1, você não precisa instalar o certificado no Windows. Isso pode parecer pouco importante em uma primeira impressão... Mas veja as possibilidades: O certificado A1 poderia estar em um Banco de dados, ou em um Servidor Web, e ser carregado de forma dinâmica pela sua aplicação, independente de ser instalado manualmente no Windows. 5 - Compilar seu Executável em 64 bits Lembre-se que quando você compila o seu programa em 64 bits, todas as DLLs externas de qual ele necessitar, também devem ser de 64 bits. Portanto para isso, você não poderá usar a XMLSignLib = xsMsXml, pois a biblioteca da Microsoft para assinatura de XMLs "MSXML" não possui versão 64 bits. Mas observe que agora você pode usar a biblioteca WinCrypt com a XmlSec, basta configurar corretamente as bibliotecas de criptografia. Nota: Ainda não conseguimos, fazer com que a XMLSec possa usar certificados A3, mas isso deverá ser possível no futuro, pois a XMLSec tem suporte a "MSCrypto" Diagrama de Classes Como posso ajudar ? (Tarefas a serem efetuadas) 1 - Fazer a XmlSec funcionar usando a "mscrypto" Ainda não conseguimos fazer a XMLSec, usar a MSCrypto, atualmente ele apenas usa a "openssl". Porque isso é importante ? Temos vários problemas, com a msxml, como por exemplo: A Microsoft não distribui a mesma, de forma nativa, com o Windows (arquivo msxml5.dll) Ela não suporta 64 bits A licença de uso dassa biblioteca, é valida apenas para quem tem o Office instalado... Portanto, seria ótimo se pudéssemos ficar livres da MSXML, mas para isso, precisamos fazer o ACBr conseguir usar a XMLSec com suporte a MSCrypto (hoje ele só suporta OpenSSL)... Na verdade, já podemos usar WinCrypt + XmlSec, mas apenas para certificados A1, pois o ACBr é capaz de exportar o certificado A1 do Windows, para que o mesmo seja usado pelo OpenSSL. (ele fará isso internamente, e de forma transparente para o usuário) Quando conseguirmos fazer a XmlSec usar a MSCrypto (ou WinCrypt), conseguiremos compilar a aplicação em 64 bits, e com suporte a certificados A3 2 - Compilar os fontes da XMLSec no Windows, em 32 e 64 bits Hoje o único site que distribui a XMLSec já compilada para Windows é https://www.zlatkovic.com/libxml.en.html (Thanks Igor). Entretanto, podemos notar que os binários estão defasados, e não há uma versão 64 bits, com suporte a "mscrypto" Veja como ficou o "Change-Log" do refactoring em ACBrDFeSSL -- ACBrDFeSSL -- [*] Amplo refactoring promovido, separando a classe "TDFeSSLClass" em 3 novas classes: "TDFeSSLCryptClass" - para Carregar certificados e efetuar criptografia "TDFeSSLHttpClass" - para comunicação HTTP/HTTPS com suporte a Certificados "TDFeSSLXmlSignClass" - Para Validar XMLs, validar assinaturas e Assinar XML com Certificados [+] "TSSLLib", adicionado os tipos "libWinCrypt, libCustom" [+] Criada nova classe "TDadosCertificado", para conter os dados do certificado carregado [+] Criada nova classe "TListaCertificados",para conter uma lista de Objetos do tipo TDadosCertificado, com todos os certificados de uma "Store", e após a chamada do método "TDFeSSL.LerCertificadosStore" [+] Adicionada propriedade "TDFeSSL.StoreName: String", usada apenas no Windows. Nome da Store a ser aberta, padrão "MY" [+] Adicionada propriedade "TDFeSSL.StoreLocation: TSSLStoreLocation", usada apenas no Windows. Default "slCurrentUser". TSSLStoreLocation = (slMemory, slLocalMachine, slCurrentUser, slActiveDirectory, slSmartCard); [+] Adicionado o método: "TDFeSSL.LerCertificadosStore", apenas Windows, para carregar todos os Certifcados de "TDFeSSL.StoreName" para a lista de Objetos: "TDFeSSL.ListaCertificados" [+] Adicionado a propriedade "TDFeSSL.DadosCertificado", para permitir acesso aos dados do certificado carregado [+] Adicionada a propriedade "TDFeSSL.SSLCryptLib: TSSLCryptLib" default cryNone; para definir a classe de criptografia TSSLCryptLib = (cryNone, cryOpenSSL, cryCapicom, cryWinCrypt); [+] Adicionada a propriedade "TDFeSSL.SSLHttpLib: TSSLHttpLib" default httpNone; para definir a classe de comunicação HTTP/HTTPS TSSLHttpLib = (httpNone, httpWinINet, httpWinHttp, httpOpenSSL, httpIndy); [+] Adicionada a propriedade "TDFeSSL.SSLXmlSignLib: TSSLXmlSignLib" default xsNone; para definir a classe de assinatura de validação de XML TSSLXmlSignLib = (xsNone, xsXmlSec, xsMsXml, xsMsXmlCapicom); [+] Adicionada a propriedades "TDFeSSL"SSLType: TSSLType" default LT_all; para permitir definir o tipo de criptografia em HTTPS sendo: TSSLType = (LT_all, LT_SSLv2, LT_SSLv3, LT_TLSv1, LT_TLSv1_1, LT_TLSv1_2, LT_SSHv2) suportado apenas em TDFeHttpOpenSSL e TDFeHttpWinHttp -- ACBrDFeConfiguracoes -- [+] Adicionada as propriedades: property SSLCryptLib: TSSLCryptLib property SSLHttpLib: TSSLHttpLib property SSLXmlSignLib: TSSLXmlSignLib [*] Propriedade "SSLLib: TSSLLib" passou a ser virtual, e mantida por compatibilidade. Ajusta-la irá produzir ajustes em "SSLCryptLib", "SSLHttpLib" e "SSLXmlSignLib". Exemplo: if SSLLib = libOpenSSL then begin SSLCryptLib := cryOpenSSL; SSLHttpLib := httpOpenSSL; SSLXmlSignLib := xsXmlSec; end; -- ACBrDFe -- [+] Adicionado suporte a configurações de "SSLCryptLib", "SSLHttpLib", "SSLXmlSignLib" -- ACBrDFeOpenSSL -- [*] Amplo refactoring. Removido código referente a comunicação HTTP/HTTPs que foi migrado para "ACBrDFeHttpOpenSSL" [*] Removido código referente a assinatura digital e Validação de XML, que foi migrado para "ACBrDFeXsXmlSec" -- ACBRDFeWinCrypt -- [+] Nova Unit, para manipular Certificados do Windows e efetuar assinatura digital, usando a Win API WinCrypt (MSCrypto/CAPI) -- ACBrDFeCapicom -- [*] Refactoring, para usar boa parte do código de "ACBRDFeWinCrypt" -- ACBrDFeHttpOpenSSL -- [+] Adicionada nova Unit, derivada de ACBrDFeOpenSSL, criando implementação da classe de TDFeSSLHttpClass para comunicação http e https, usando a Synapse e OpenSSL -- ACBrDFeHttpWinApi -- [+] Adicionada nova Unit, derivada de ACBrDFeCapicom, criando implementação da classe de TDFeSSLHttpClass para comunicação http e https, usando as APIs do Windows WinHttp ou WinINet -- ACBrDFeHttpIndy, ACBrDFeCapicomDelphiSoap -- [*] Unit renomeada de "ACBrDFeCapicomDelphiSoap" para "ACBrDFeHttpIndy", e refatorada para não depender da CAPICOM -- ACBrDFeXsXmlSec -- [+] Adicionada nova Unit, derivada de ACBrDFeOpenSSL, criando implementação da classe de TDFeSSLXmlSignClass usando a Lib XMLSEC -- ACBrDFeXsMsXml -- [+] Adicionada nova Unit, derivada de ACBrDFeCapicom, criando implementação da classe de TDFeSSLXmlSignClass usando a Lib MSXML -- ACBrDFeXsMsXmlCapicom -- [+] Adicionada nova Unit, derivada de ACBrDFeCapicom, criando implementação da classe de TDFeSSLXmlSignMsXml usando a Lib MSXML e CAPICOM -- ACBrDFeException -- [+] Adicionado o exception "EACBrDFeExceptionNoPrivateKey" -- ACBrDFeUtil -- [+] Adicionado o método "SignatureElement: String" (por DSA) Obrigado... e considere nos ajudar, contratando o SAC, por pelo menos 1 mês http://www.projetoacbr.com.br/forum/sacv2/sobre/ http://www.projetoacbr.com.br/forum/sacv2/questoes_importantes/ http://www.projetoacbr.com.br/forum/sacv2/cadastro/ Fique atento.... Em breve, organizaremos um Webinar sobre essas modificações
  2. 27 likes
    Para evitarmos diversos tópicos sobre o mesmo assunto, as alterações relativas a versão 4.00 da NFe/NFCe deverão ser concentradas neste tópico. Os fontes do componente já foram atualizados para permitir gerar os XMLs para essa nova versão. Também já foram ajustados para não gerar o SOAP Header quando configurado para a versão 4.0(ve400). Assim que os schemas e webservices forem disponibilizados pelo SEFAZ, iniciaremos os testes com o componente. Mais informações sobre as mudanças podem ser obtidas na NT 2016.002 - http://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=c4S6yXTKpXY= Apenas como informação, neste manual fiquei com dúvida em dois campos: descANP - Campo numérico com tamanho de 2 - 95? O campo tem a seguinte descrição: Descrição do produto conforme ANP, então provavelmente deve ser do tipo carácter e não numérico. O campo vBCFCPSTRet possui o mesmo ID de outro campo na versão 3.10 - N27a - V3.10 vICMSDeson / V4.00 vBCFCPSTRet
  3. 10 likes
    Acabei de comitar as alterações para compatibilizar o ACBrSAT com o MFe, tive tempo de testar apenas os comandos compatíveis com o SAT, os comandos de pagamento ainda serão desenvolvidos. Abaixo um passo-a-passo para utilizar o integrador fiscal fornecido pela SEFAZ do Ceará com o ACBrSAT: Baixe o instalador em https://integrador.blob.core.windows.net/releases/Integrador Setup 1.5.86.exe Faça a instalação do mesmo e ao executar pela primeira vez utilize os seguintes dados na tela de configuração/opções: CNPJ do Estabelecimento: 30146465000116 Inscrição Estadual do Estabelecimento: 065911482 CNPJ da Software House: 98155757000159 Código de Validação do Aplicativo Comercial: MD2Nof/O0tQMPKiYeeAydSjYt7YV9kU0nWKZGXHVdYIzR2W9Z6tgXni/Y5bnjmUAk8MkqlBJIiOOIskKCjJ086k7vAP0EU5cBRYj/nzHUiRdu9AVD7WRfVs00BDyb5fsnnKg7gAXXH6SBgCxG9yjAkxJ0l2E2idsWBAJ5peQEBZqtHytRUC+FLaSfd3+66QNxIBlDwQIRzUGPaU6fvErVDSfMUf8WpkwnPz36fCQnyLypqe/5mbox9pt3RCbbXcYqnR/4poYGr9M9Kymj4/PyX9xGeiXwbgzOOHNIU5M/aAs0rulXz948bZla0eXABgEcp6mDkTzweLPZTbmOhX+eA== Selecione o checkbox "Servidor" (Talvez seja necessário alterar o campo IsServer para True no arquivo Integrador.cnf - Use o SQLiteStudio -http://sqlitestudio.pl/) Atualize seu fontes do ACBr e no demo do ACBrSAT para Lazarus(E:\delphi\ACBr\trunk2\Exemplos\ACBrSAT\Lazarus) configure a nova aba MFE, escolha o modelo "MFe_Integrador_XML" e clique em inicializar. Para o MDK da TANCA use os seguinte dados na criação do XML de Venda: Código de Ativação: 12345678 CNPJ do Contribuinte: 08.723.218/0001-86 IE do Contribuinte: 562.377.111.111 CNPJ da Software House: 16.716.114/0001-72 Assinatura da Software House: SGR-SAT SISTEMA DE GESTAO E RETAGUARDA DO SAT Pontos de atenção: Como tratar um comando com erro? Em todos os comandos existe o campo IDENTIFICADOR, mas ao enviar um comando com erro, a resposta não vem com este campo, então fica difícil saber se o XML que está na pasta se refere ao último comando enviado. Exemplo do arquivo de resposta a um comando com erro: 7b96d469f63c4973af180a991804f0ec20170425220009.xml
  4. 8 likes
    Faça o seguinte: Baixe os 3 repositórios: 1. JCL: https://github.com/project-jedi/jcl/trunk/jcl 2. JVCL: https://github.com/project-jedi/jvcl/trunk/jvcl 3. JEDI: https://github.com/project-jedi/jedi/trunk (este repositório possui arquivos .inc que são necessários para compilar a JCL corretamente) Após baixar copie os arquivo do passo 3 para: <jcl>\source\include\jedi Execute o arquivo "Install.bat" que está na raiz do repositório JCL baixado, tudo normal sem nada diferente, siga o que ele indicar, talvez na aba 64 bits falte o diretóri, mas basta criar ele conforme ele informa. Execute o arquivo "install.bat" que está na raiz do repositório JVCL baixado, também tudo normal conforme indicado pelo instalador. Se seguir este passo-a-passo não tem erro, tudo funcionará normalmente.
  5. 7 likes
    Algumas dicas para quem está utilizando o Integrador MFE: Onde encontrar os arquivos para download? O site oficial é http://cfe.sefaz.ce.gov.br/mfe/informacoes/downloads#/, mas nem sempre os links estão funcionando, atualmente as últimas versões foram disponibilizadas pelo @luiz renato da silva abade no seguinte link: https://drive.google.com/drive/folders/0B0H-Nn7Nqhd7QkNIWDFCeElSQzQ O que preciso instalador para que o Integrador funcione? Após instalar o integrador e executá-lo pela primeira vez, abra a pasta em que ele foi instalado(Geralmente %LOCALAPPDATA%\Programs\Integrador) e instale a última versão do Driver MFE(Atualmente DriverMFE_Instalador_01.04.01.exe). Após isto instale seu hardware MFE com os drivers específicos da marca do seu equipamento e configure o integrador com os dados abaixo. Quais os dados que devem ser usados na configuração do integrador? CNPJ do Estabelecimento: 30146465000116 Inscrição Estadual do Estabelecimento: 065911482 CNPJ da Software House: 98155757000159 Código de Validação do Aplicativo Comercial: MD2Nof/O0tQMPKiYeeAydSjYt7YV9kU0nWKZGXHVdYIzR2W9Z6tgXni/Y5bnjmUAk8MkqlBJIiOOIskKCjJ086k7vAP0EU5cBRYj/nzHUiRdu9AVD7WRfVs00BDyb5fsnnKg7gAXXH6SBgCxG9yjAkxJ0l2E2idsWBAJ5peQEBZqtHytRUC+FLaSfd3+66QNxIBlDwQIRzUGPaU6fvErVDSfMUf8WpkwnPz36fCQnyLypqe/5mbox9pt3RCbbXcYqnR/4poYGr9M9Kymj4/PyX9xGeiXwbgzOOHNIU5M/aAs0rulXz948bZla0eXABgEcp6mDkTzweLPZTbmOhX+eA== Selecione o checkbox "Servidor" (Talvez seja necessário alterar o campo IsServer para True no arquivo Integrador.cnf - Use o SQLiteStudio -http://sqlitestudio.pl/) O XML enviado para o aparelho de teste deve usar os mesmos dados do Integrador? Não, no caso cada marca possui dados específicos que deverão ser informados no XML de venda. TANCA: Código de Ativação: 12345678 CNPJ do Contribuinte: 08.723.218/0001-86 IE do Contribuinte: 562.377.111.111 CNPJ da Software House: 16.716.114/0001-72 Assinatura da Software House: SGR-SAT SISTEMA DE GESTAO E RETAGUARDA DO SAT ELGIN: Código de Ativação: 123456789 CNPJ do Contribuinte: 14.200.166/0001-66 IE do Contribuinte: 1234567890 CNPJ da Software House: 08.490.295/0001-33 Assinatura da Software House: MD2Nof/O0tQMPKiYeeAydSjYt7YV9kU0nWKZGXHVdYIzR2W9Z6tgXni/Y5bnjmUAk8MkqlBJIiOOIskKCjJ086k7vAP0EU5cBRYj/nzHUiRdu9AVD7WRfVs00BDyb5fsnnKg7gAXXH6SBgCxG9yjAkxJ0l2E2idsWBAJ5peQEBZqtHytRUC+FLaSfd3+66QNxIBlDwQIRzUGPaU6fvErVDSfMUf8WpkwnPz36fCQnyLypqe/5mbox9pt3RCbbXcYqnR/4poYGr9M9Kymj4/PyX9xGeiXwbgzOOHNIU5M/aAs0rulXz948bZla0eXABgEcp6mDkTzweLPZTbmOhX+eA== * Caso receba o erro "Rejeicao: Emitente nao autorizado para uso do SAT", verifique se no XML informou os dados acima, lembrando que os dados do integrador serão diferentes dos dados enviados no XML. Onde obter suporte? O suporte atualmente é prestado através do email suporte.mfe@sefaz.ce.gov.br ou por um grupo no WhatsApp que pode ser acessado pelo link https://chat.whatsapp.com/2OjHVks1Q3sGMTgeZityxm Atualizado em 30/04/2017 - Novo grupo de suporte: https://groups.google.com/forum/?hl=pt-BR#!forum/sefaz_integrador_fiscal Existem módulos para desenvolvedores? Sim, atualmente TANCA e Elgin possuem equipamentos disponíveis. Consigo testar o integrador sem um aparelho de desenvolvimento? Sim, para isso crie na pasta quem que o Integrador está instalado(%LOCALAPPDATA%\Programs\Integrador) um arquivo com o nome debug.dbg. Como simular os comandos de pagamento? Para usar os métodos EnviarPagamento e VerificarStatusValidador é necessário o uso do Simulador POS. Para cada comando EnviarPagamento deve ser gerado um valor diferente para o campo SerialPOS(Em ambiente de produção esse número será único para cada POS do estabelecimento). Após o comando EnviarPagamento ser executado, guarde o valor do campo IDPagamento, abra o programa simulador_pos.exe e no campo TERMINAL SERIAL informe o mesmo valor que foi informado no campo SerialPOS do comando EnviarPagamento. Clique na opção 1-VFP-e e será exibido o valor do pagamento solicitado. Depois você deve efetuar o pagamento clicando na opção 2-PAGAR. Após estes passos, você pode usar o comando VerificarStatusValidador informando o IdPagamento no campo IdFila para receber a confirmação do pagamento. Caso vc use o comando VerificarStatusValidador antes de efetuar o pagamento no simulador o campo Codigo Autorização virá com o seguinte conteúdo: <CodigoAutorizacao>queue item XXX not complete</CodigoAutorizacao>, onde o XXX se refere ao IdPagamento. Todos os comandos já estão implementados no ACBr? Além dos comandos já existentes no SAT, foram implementados os seguintes comandos no componente ACBrSAT - EnviarPagamento, VerificarStatusValidador, RespostaFiscal e EnviarStatusPagamento. Existe algum exemplo do ACBr que possa utilizar com o Integrador? Use este exemplo para realizar testes: Descompacte o arquivo, verifique se os dados do emitente e software house estão corretos, clique em INICIALIZAR e depois teste os comandos desejados.
  6. 7 likes
    Flávio vou aqui o trecho do código que eu uso pra você entender melhor: try ACBrNFe1.NotasFiscais.Clear; ACBrNFe1.NotasFiscais.LoadFromFile(pathxml); ACBrNFe1.Enviar(iLote); finally ACBrNFe1Consultar; ShowMessage(ACBrNFe1.WebServices.Consulta.Protocolo+#13+ ACBrNFe1.WebServices.Consulta.Msg); ACBrNFe1.NotasFiscais.Clear; end; Como te falei, eu uso o meu aplicativo em rede gero a NFC-e, valido e assino, mas não envio desse modo o tempo do atendimento é menor. Depois como nesse momento estou usando uma pasta no Servidor compartilhada para armazenar todos os XML das NFC-e eu recupero o PATHXML gravado em uma tabela que eu chamo NFCEAUX.dbf eu vejo quais notas ainda não envie e envio logo em seguida, mas esse envio é feito pro outro exe usando uma THREAD com em Formulário mostrando o que está fazendo e gravando um log de tudo que faz. Resumindo é bem fácil e parabéns Ítalo e CIA pelo excelente trabalho o componente é um espetáculo!!!
  7. 6 likes
    Boa tarde a todos, Já encontra-se disponível os fontes do componente ACBrBPe, bem como o pacote de instalação e o programa exemplo. Já estamos trabalhando para incluir o ACBrBPe no ACBrInstall_Trunk2. Ainda não é possível realizar testes pois ainda não foram disponibilizados os Schemas e o ambiente de homologação.
  8. 6 likes
    Para os desenvolvedores Java que não querem utilizar DLL, no caso, usar o projeto ACBrFramework, ou para os que querem utilizar os outros recursos do MonitorPlus como boleto, nfe, nfce, etc. Iniciei esse projeto, está super simples e ainda bem incompleto, a final vou implementando de acordo com a nossa necessidade, mas pelo ao menos para o ACBrECF está quase 100%. Abri este tópico para compartilha a ideia e eu aceito todas as dicas, ajudas, e sugestões. Link do projeto: http://edsonmoretti.github.io/ACBrMonitorPlus-Comunicador/ O projeto utiliza TCP/IP, configurável na primeira execução, assim, ao final espero deixar configurável para arquivo e tcp. Um abraço. reservado.
  9. 5 likes
  10. 5 likes
    Boa tarde, iniciei os estudos para implementar a emissão do MDF-e, e uma das regras que mais me chamou atenção foi sobre as informações do percurso do manifesto, nas viagens intermunicipais. Gostaria de compartilhar um pequeno projeto desenvolvido em Lazarus, (meu objetivo é montar um cadastro de percursos, a fim de evitar a rejeição de "Percurso inválido") considerando as seguintes validações verificadas na documentação do MDF-e: Validações SEM percurso: 1) UF ini e UF fim são iguais -> não deve selecionar nenhuma UF de percurso 2) UF ini e UF fim são diferentes e fazem divisa -> não deve selecionar nenhuma UF de percurso Validações COM percurso: 3) nem UF ini nem UF fim devem estar selecionadas no percurso. 4) a primeira UF da lista deve fazer divisa com a UF inicial (carregamento) 5) entre as UF selecionadas, cada UF deve fazer divisa com a UF seguinte, na ordem de cima para baixo. 6) a ultima UF da lista deve fazer divisa com a UF final (descarregamento) Basicamente, foi montada uma classe TUF (uufclass.pas), onde para cada objeto de UF criado, ele cria num vetor a lista das outras UF que fazem divisa com esta. Também tem um Form mostrando como o usuário informaria as UF inicial e final, assim como selecionar (TCheckListBox) as UFs do percurso. Também é possível ordenar as UFs (TListBox). Por último, foi feito uma "perfumaria", desenhando o percurso selecionado, no mapa do Brasil (TImage). Espero que seja útil, qualquer sugestão é bem vinda. Att Ricardo valida_percurso_lazarus.zip
  11. 5 likes
    Luis, Muito obrigado, aqui é assim: a gente risca, belisca e prega fogo.
  12. 4 likes
    Galera, para quem quer usar um Servidor REST feito em Delphi para acesso a Banco de Dados como se fosse um Query comum sem usar Providers e outras coisas, de jeito bem simples, estou disponibilizando por SVN minha package que está em desenvolvimento para este fim, com um RESTDatabase e um RESTClientSQL, mais componentes serão disponibilizados mais com esse já consigo acessar DB com FireDAC sem precisar ficar criando os campos em FieldDefs e etc. Está em fase ALPHA, interessados favor entrar em contato no email : xybersportgames@gmail.com. Todos saem ganhando com isso, VLW. https://sourceforge.net/projects/rest-dataware-componentes/
  13. 4 likes
    Versão do SAC disponível com novos métodos para download de NFe usando o método DistribuicaoDFe. Os comandos adicionados ao ACBrMonitorPLUS, ficaram assim: NFe.DistribuicaoDFe(cUF,cCNPJ,nUltNSU,nNSU,aChNFe) NFe.DistribuicaoDFePorChaveNFe(cUF, cCNPJ, aChNFe) NFe.DistribuicaoDFePorNSU(cUF, cCNPJ, nNSU) NFe.DistribuicaoDFePorUltNSU(cUF, cCNPJ, nUltNSU) A correção já está no SVN. E a versão compilada para usuários do SAC disponível em:
  14. 4 likes
    Boa Tarde Prezados, Também resolvi o problema atualizando o certificado da Autoridade Certificadora Raiz Brasileira v5 no seguinte repositório "Autoridades de Certificação Raiz Confiáveis" Segue anexo ICP-Brasilv5.crt
  15. 4 likes
    Se vc estiver usando Delphi XE7+ usa os componentes da REST.* Vc vai precisar 3 componentes: REST: TRESTClient; Request: TRESTRequest; Response: TRESTResponse; E vai montar o código parecido com esse: REST.BaseURL := ' http://cosmos.bluesoft.com.br/api'; Request.Client := REST; Request.Response := Response; Request.Method := rmGet; Request.Resource := '/gtins/{codigo}'; Request.Params.AddHeader('X-Cosmos-Token', 'SEU_TOKEN'); Request.Set Params.ParameterByName('codigo').Value := 'GTIN_DO_PRODUTO'; Request.Execute; if (Response.StatusCode = 200) then begin Meu_Objeto_Que_Representa_o_JSON_do_Cosmos := Meu_Parser_De_Json_Para_Algo_Que_Meu_Sistema_Entende(Response.JSONValue); end; Meu_Parser_De_Json_Para_Algo_Que_Meu_Sistema_Entende Aqui vc pode usar xSuperObject como o Renato falou ou outra biblioteca que lê JSON. Recomendo usar as do próprio Delphi System.JSON. Meu_Objeto_Que_Representa_o_JSON_do_Cosmos Aqui pode ser algo que o seu sistema conheça, um Objeto, um DataSet. Algo que represente o retorno do Cosmos. Um pequeno exemplo pra vc pegar valores do retorno do Cosmos usando a System.JSON: ResponseCosmos: TJSONValue; // Para pegar a description que está de exemplo no site: ResponseCosmos.GetValue<TJSONString>('description').Value; // Para pegar a o code do NCM que está de exemplo no site: ResponseCosmos.GetValue<TJSONObject>('ncm').GetValue<TJSONString>('code').Value; ResponseCosmos.GetValue<TJSONObject>('ncm').GetValue<TJSONString>('description').Value; ResponseCosmos.GetValue<TJSONObject>('ncm').GetValue<TJSONString>('full_description').Value; // Note que os Parametros estao em minusculos, é CASESENSITIVE...
  16. 3 likes
    Obrigado Marcos e BigWings... Testei no Lazarus e D7, e me pareceu tudo correto... A compatibilidade com aplicações anteriores está mantida... (se a nova propriedade não tiver nada atribuído) Enviei para o SVN com pequenos ajustes...
  17. 3 likes
    Novas implementações em ACBrDFeSSL, já no SVN
  18. 3 likes
    No SVN na revisão : 13466 -- pcnConversao -- [+] Nova função para retornar a descrição do modelo function DescrModeloNFe(chave: String):String; -- ACBrNFeDANFeRL ACBrNFeDANFEFRDM -- [*] Refatoracao de ManterDocreferenciados , para utilização da função DescrModeloNFe
  19. 3 likes
    ACBrPrinter - SAC Visulizar Arquivo ACBrPrinter - Utilitário para impressão de NFCe e SAT em impressoras de bobinas. Para facilitar a impressão da Nota Fiscal do Consumidor(NFC-e) e do extrato do SAT(Cupom Fiscal Eletrônico), disponibilizei um novo utilitário do ACBr com o nome ACBrPrinter. Ele é executado via linha de comando e permite imprimir os recibos usados na NFCe, SAT e também textos e o DANFe da NFe comum(modelo 55). No caso da NFe a impressão é feita em papel A4. Para usar, use a seguinte sintaxe: ACBrPrinter.exe TipoRel ArquivoImpressao ArquivoConfiguracao Onde: TipoRel - NFe, NFCe, SAT ou Texto. ArquivoImpressao - Arquivo a ser impresso. ArquivoConfiguracao - Nome do arquivo de configuração criado com o comando ACBrPrinter.exe /c. Para configurar, use ACBrPrinter.exe /c Autor Celso Enviado 16-06-2017 Categoria Utilitários ACBrSAC  
  20. 3 likes
    O Fórum ACBR no qual contribuo desde o primeiro mês do SAC e antes disso eu fazia doações mensais com valores até superiores ao valor hoje cobrado pelo SAC, NÃO trata somente somente de componentes Delphi ou Lazarus é também para o Projeto do Monitor ACBR o qual por sinal é ótimo. Eu opto por utilizar o monitor pq só tenho vantagens, posso trabalhar em qualquer ambiente com qualquer linguagem que a integração e perfeita.
  21. 3 likes
    Não podemos consultar a comunidade toda, a cada modificação que fazemos... Projetos OpenSource não são uma democracia... mas todos possuem um conselho que decidem as ações a serem tomadas... Apenas usuários que chamavam o "Validar", sem antes chamar o "Assinar"... estão tendo problemas... A mudança foi promovida porque o comportamento do ACBr estava errado... Se eu chamo "Validar", o componente não deve executar uma "assinatura" (não é condizente com o nome do método)... Sem falar no fato que ele também tentava assinar XMLs de terceiros, quando a assinatura do mesmo estava inválida ou inexistente... Todas as modificações do ACBr, são registradas no "Change-Log.txt", de cada componente... vamos ler o que foi descrito no ACBrCTe-Change-Log.txt 24/05/2017 -- ACBRCTeConhecimentos -- [*] Método "Conhecimento.Validar", modificado para não tentar assinar o XML, caso o mesmo não contenha a Tag de assinatura Por: Italo Jurisato Junior Essa modificação o Italo promoveu por minha solicitação, e para ficar em conformidade com o ACBrNFe... que teve a modificação registrada em: ACBrNFe-Change-Log.txt 24/05/2017 -- ACBRNFeNotasFiscais -- [*] Método "NotaFiscal.Validar", modificado para não tentar assinar o XML, caso o mesmo não contenha a Tag de assinatura (por: DSA)
  22. 3 likes
    Enviei uma possível correção para o SVN... O problema somente ocorreria para quem usasse as DLLs do OpenSSL em versão superior a 1.0... Parece ter sido modificado algo internamente nas libs mais novas, que dificulta a detecção do Tipo de Criptografia que está sendo utilizado... então, usando o modo automarico "LT_all", não estava funcionando, com DLLs da geração 1.0 A solução foi atribuir o modo de Criptografia, no código, HTTPSend.Sock.SSL.SSLType := LT_TLSv1; HTTPGet('https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATCTA/CPF/ConsultaSituacao/captcha/gerarCaptcha.asp'); Isso pode ser analisado, usando um programa como o FireBug...
  23. 3 likes
    Sim em tese você vai usar a mesma situação do Capicom mas tratando diretamente via api do windows sem necessidade da dll do capicom que fazia o meio de campo e estava desatualizada.
  24. 3 likes
    Bom dia, Realizamos uma correção referente ao CT-e OS, para as tags serie, subserie e vDoc do grupo infDocRef, e para o subgrupo veic do grupo rodoOS, que não são obrigatórios conforme consta no manual. Segue em anexo o fonte modificado (arquivo pcteCTeW.pas). pcteCTeW.pas
  25. 3 likes
    Olá Amigos, Passei pelo mesmo problema e realmente a instalação padrão do ACBR / Fortes no Windows 10 ira apresentar os problemas acima mencionados. Estes procedimentos resolveram o problemas nos pacotes que usam OpenSSL: - Ao instalar o o ACBR marque a opção Copiar DLL pasta bin do DELPHI. - Copie todas as DLLS da pasta DLL do Acbr para a pasta SYSTEM32 e SYSWOW64 - Registre a DLL capicom manualmente e certifique-se que o comando obteve êxito. Estes procedimentos resolveram o problemas nos pacotes que usam FORTES: - No IDE do Delphi remova o pacote do FORTES caso já tenha instalado. - Não instale o fortes pelo instalador, abra o Pacote no Delphi Compile e instale, - Agora basta Reinstalar o ACBR que os pacotes irão carregar normalmente no delphi. Renato Campos.
  26. 2 likes
    Olá pessoal.... Vários dos desenvolvedores do ACBr, (eu incluso) estarão presentes no 14o Firebird Developers Day que ocorrerá no dia 29 de Julho de 2017, em Piracicaba-SP Penso que é um ótimo local para nos conhecermos e trocarmos algumas ideias, sobre Object Pascal, Lazarus, Delphi, ACBr, (as invenções cabeludas do SEFAZ), e é claro... sobre Firebird... Mais alguém pretende ir ?
  27. 2 likes
    Olá. Fiz alguns ajustes no ACBrNFSe para permitir a integração com o WebService da NotaBlu. O Layout era muito similar a nota NFSe de SP, mas identifiquei alguns pontos que necessitaram ajustes. Estou anexado um patch com a sugestão de ajustes aplicados a revisão 13431 do ACBr além de um outro zip com os fontes alterados. Além dos ajustes em alguns fontes, foi necessário ajuste nos INI Cidades.INI e a criação do provedor NotaBlu.INI. Por favor, se puderem avaliar os ajuste e verificar se existe possibilidade de aplicar ao repositório, Obrigado e fico no aguardo. @Italo Jurisato Junior @André Ferreira de Moraes FontesAlteradosRev-13431.7z Patch-NotaBlu-Rev_ACBr-13431.patch
  28. 2 likes
    Obrigado a todo mundo que tentou me ajudar. consegui resolver. decidi trocar todas as dlls pelas mais atuais mesmo sendo iquais, so pra desencargo de consciência. ai baixei o instalador de novo do certificadodigital.com.br e instalei o certificado. rodei o instala.bat novo também. ai finalmente rodou, nao deu erro mais de classe nao registrada. obrigado mesmo a todo mundo que tentou me ajudar.
  29. 2 likes
    Olá Luís. De uma forma simples, o que você pode fazer é abrir os dois manuais em PDF, lado a lado, deixá-los na mesma posição (detalhes do layout dos campos: 2.0, pág. 119; 3.0. pág. 153) e ir navegando. Dá pra ver claramente o que foi alterado, e como a colega Gr@c@ comentou não é muita coisa. http://www.cte.fazenda.gov.br/portal/listaConteudo.aspx?tipoConteudo=YIi+H8VETH0= O componente do ACBr ainda irá conter as propriedades referentes à tags descontinuadas, apenas para compatibilidade com a versão 2.0, não sendo necessário preenchê-las pois as mesmas serão ignoradas caso o componente esteja configurado para utilizar a versão 3.0.
  30. 2 likes
    Juliomar, boa noite! Na mosca. O problema era a fonte do windows. Resolvido! Muito obrigado!
  31. 2 likes
    O SAT de desenvolvimento fornecido pela Bematech já vem ativado. Basta você usar os dados abaixo para realizar os testes: Código de ativação: bema1234 Código AC: SGR-SAT SISTEMA DE GESTAO E RETAGUARDA DO SAT CNPJ do Emitente: 82373077000171 IE do Emitente: 111111111111 CNPJ da SW: 16716114000172
  32. 2 likes
    Se você atualizou os fontes recentemente, provavelmente teve essa alteração, revisão 13381: -- ACBrSATExtratoFortes, ACBrSATExtratoReportClass -- [*] Unit "Fontes/ACBrSAT/Extrato/Fortes/ACBrSATExtratoFortes.pas" removida e substituida por: "Fontes/ACBrSAT/Extrato/ACBrSATExtratoReportClass.pas" No seu form deve ter a unit "ACBrSATExtratoFortes" no topo, só retirar ela e recompilar.
  33. 2 likes
    o ACBrMonitorPLUS não foi projetado para trabalhar com várias estações simultaneamente... vc deve ter um ACBrMonitorPLUS em cada terminal Se você usar TCP a comunicação é muito rápida.. não haverá problemas em enviar vários comandos...
  34. 2 likes
    @Italo Jurisato Junior Vou atualizar e farei um teste com a NotaBlu. Dercide.
  35. 2 likes
    Bom dia abri esse novo topico somente para tratar dos novos enderecos de webservices. Fiz os ajuste para o Estado do Parana conforme boletim abaixo e em anexo os arquivos alterados: 08 junho, 2017 LEANDRO DA SILVA ALVES CPF 999.999.999-99 NF-e e NFC-e, versão 4.00, em ambiente de homologação A Receita Estadual do Paraná informa aos contribuintes emissores de Nota Fiscal Eletrônica (NF-e) e Nota Fiscal do Consumidor Eletrônico (NFC-e), que foi publicada a nova versão do sistema autorizador de NF-e e NFC-e, versão 4.00, em ambiente de homologação. Essa nova versão contém as alterações previstas na Nota Técnica 2016.002, versão 1.10. Abaixo os novos endereços dos serviços 4.00: NF-e https://homologacao.nfe.sefa.pr.gov.br/nfe/NFeStatusServico4 https://homologacao.nfe.sefa.pr.gov.br/nfe/NFeAutorizacao4 https://homologacao.nfe.sefa.pr.gov.br/nfe/NFeConsultaProtocolo4 https://homologacao.nfe.sefa.pr.gov.br/nfe/NFeInutilizacao4 https://homologacao.nfe.sefa.pr.gov.br/nfe/NFeRecepcaoEvento4 https://homologacao.nfe.sefa.pr.gov.br/nfe/NFeRetAutorizacao4 https://homologacao.nfe.se fa.pr.gov.br/nfe/CadConsultaCadastro4 NFC-e https://homologacao.nfce.sefa.pr.gov.br/nfce/NFeStatusServico4 https://homologacao.nfce.sefa.pr.gov.br/nfce/NFeAutorizacao4 https://homologacao.nfce.sefa.pr.gov.br/nfce/NFeConsultaProtocolo4 https://homologacao.nfce.sefa.pr.gov.br/nfce/NFeInutilizacao4 https://homologacao.nfce.sefa.pr.gov.br/nfce/NFeRecepcaoEvento4 https://homologacao.nfce.sefa.pr.gov.br/nfce/NFeRetAutorizacao4 https://homologacao.nfce.sefa.pr.gov.br/nfce/CadConsultaCadastro4 Atenciosamente, Coordenação da Receita do Estado Secretaria de Estado da Fazenda do Paraná Por favor não responda este e-mail. Para maiores esclarecimentos ligue para o SAC. SAC - Segunda a Sexta - 7h às 19h Curitiba e Região: 3200-5009 Demais Localidades: 0800 41 1528 ACBrNFeServicos.ini ACBrNFeServicos.rc ACBrNFeServicos.res
  36. 2 likes
    Boa tarde, acho que @Samuel Toniniestá quase correto, segundo Anexo II – Regras de Validação da NF-e do Manual de Orientação (versão 6.0). Página 239, regra E01-20, NFC-e com entrega a domicílio (indPres=4) sem identificação do destinatário (tag:infNFe/dest). Página 240, regra E05-20, NFC-e com entrega a domicílio (indPres=4) sem o endereço do destinatário (tag:dest/enderDest). Não fala em "endereço de entrega", apenas "endereço do destinatário". Att Ricardo
  37. 2 likes
    Bom dia. Um de nossos clientes que emitem boleto pelo Banco do Brasil está tendo problemas ao tentar imprimir os boletos quando ele não informa valor de juros diários, ou seja, quando o campo ValorMoraJuros recebe zero. Ao tentar imprimir, o sistema reporta a seguinte mensagem: "Código de Mora/Juros informado não é permitido para este banco!". Verificando o manual do Banco do Brasil (layout 240), vimos que a posição referente ao código de mora/juros é a 118 do segmento P. Segundo o manual, esta posição aceita os seguintes valores: 1 - Valor por Dia 2 - Taxa Mensal 3 - Isento No método GerarRegistroTransacao240 da unit ACBrBancoBrasil temos o seguinte: IfThen(ValorMoraJuros > 0, '1', '3') + // 118 - Código de juros de mora: Valor por dia Analisando a linha acima, concluímos que se for informado um valor para os juros, a posição 118 vai receber "1", senão vai receber "3". Ambos (1 e 3) são valores aceitos, de acordo com o manual. No método TACBrBancoClass.create da unit ACBrBoleto temos o seguinte: fpCodigosMoraAceitos := '12'; Logo, para todos os bancos, os valores aceitos são: 1 e 2. Como o sistema está tentando passar "3" para esse campo, a mensagem de erro relatada pelo cliente está sendo exibida. A solução que encontramos foi acrescentar o valor "3" no campo fpCodigosMoraAceitos, mas apenas na implementação que há na unit ACBrBancoBrasil. Dessa maneira. constructor TACBrBancoBrasil.create(AOwner: TACBrBanco); begin inherited create(AOwner); fpDigito := 9; fpNome := 'Banco do Brasil'; fpNumero := 001; fpTamanhoMaximoNossoNum := 0; fpTamanhoConta := 12; fpTamanhoAgencia := 4; fpTamanhoCarteira:= 2; fpCodigosMoraAceitos := '123'; end; Segue em anexo a unit alterada para análise. ACBrBancoBrasil.pas
  38. 2 likes
    Atualmente, como ja citado aqui: Na versão atual, só existe o comando NFe.DistribuicaoDFe(cUF,cCNPJ,nUltNSU). @JuniorCamilo sim, a próxima versão semanal, deve conter a implementação. Está prevista para amanhã a versão do SAC. Para os demais a modificação poderá ser baixada no SVN e compilada.
  39. 2 likes
    Resolvi, o meu problema aqui valeu! BigWings Solução do meu problema: Troquei do ACBrNFe1.Download. para ACBrNFe1.DistribuicaoDFePorChaveNFe(uf,cnpj,chave); ele continuou fazendo o download do xml e colocando na mesma pasta que eu tinha configurado.
  40. 2 likes
    Faça atualização do monitor, pois é possível, atribuir o valor até 120 na largura do campo código do produto.
  41. 2 likes
    Resolvio, problema era no certificado mesmo.
  42. 2 likes
    Pessoal, Problema solucionado. Versão do ACBrMonitorPLUS: 1.1.0.5 Versão da BemaSAT: 1.0.2.0 Versão do Layout: 0.07 Creio que o problema se dava porque meu SAT homologação estava na versão 0.06. Depois que atualizei pra 0.07 funcionou. Obrigado a todos.
  43. 2 likes
    Só para salientar sobre o término do layout 0.06 TÉRMINO DA VIGÊNCIA DO LEIAUTE 0.06 Informamos que a vigência do leiaute 0.06 termina em 30/06/2017. O contribuinte deve providenciar a atualização do software básico e do aplicativo comercial para se comunique com a SEFAZ no leiaute 0.07. A não atualização pode acarretar perda do equipamento.
  44. 2 likes
    Bom dia amigos, @Juliomar Marchetti, segue em anexo as alterações nos eventos periódicos para validação dos mesmos no leiaute 2.2.01. Os arquivos referente aos eventos 1200 e 1202 estão bem diferentes dos constantes nos branches pelo fato do leiaute ter mudado bastante. Foi criado um novo evento, o 1207. No 1280, constará bastante remoção de fonte, pelo fato do indicador de desoneração ter sido removido do leiaute. No restante foi alteração simples, alguns grupos removidos (Exemplo 1300 a parte de contribuição sindical). Está em anexo 1 XSD, pois existia uma expressão regular incorreta e o arquivo acabava não sendo validado. Atualizei os exemplos também. Acredito estar tudo ok eSocial.rar
  45. 2 likes
    Esses @Cláudio - SoluçãoTi ? CriarEnviarNFe_213414.txt NFe_1683949015.ini
  46. 2 likes
    Olá Pessoal, No estado de SP, a partir de 1º de Abril, não haverá mais isenção do ICMS na saída interna de carne e demais produtos comestíveis frescos, resfriados, congelados, salgados, secos ou temperados, resultantes do abate de aves, leporídeos e gado bovino, bufalino, caprino, ovino e suíno. Assim, quem trabalha com açougues e/ou comércios varejistas que vendem esses produtos, necessitarão alterar o cadastro tanto para o ECF como para o SAT, passando esses produtos para tributado, e com alíquota de 11% (redução de 38,39%). Bom, pelo menos (em SP) arroz, feijão e ovos em estado natural continuam isentos de ICMS na venda ao consumidor final. Já é uma boa refeição... Em anexo o Decreto 62.401, de 29 de Dezembro de 2016 – (DOE/SP de 30.12.2016) Decreto 62.401-2016.Pdf
  47. 2 likes
    Isso mesmo, só assim deu certo. Importar o pfx diretamente nao dava certo nem a pau, só importando o PFX pelo aplicativo da VALID é que deu certo! Valeu!
  48. 2 likes
    Acho que não é bom manter 2 componentes ACBrPosPrinter. Eles irão competir pela Porta
  49. 2 likes
    Iniciado ACBrCTe. Para converter o INI em objetos java vou fazer conforme aqui: http://www.juliomarmarchetti.com.br/2014/05/ct-e-200-campos-para-criar-usando.html Isso para versão 2.00 Alguém tem o INI da versão 3.00? Vlw.
  50. 2 likes
    Um Projeto OpenSource é tão bom quanto a ajuda que ele recebe da sua comunidade... Você espera apenas receber correções para o seu problema... não é esse o espírito da coisa...