Ir para conteúdo
  • Cadastre-se

Atenas Soluções Softwares

Membros Pro
  • Total de ítens

    580
  • Registro em

  • Última visita

  • Days Won

    8

Tudo que Atenas Soluções Softwares postou

  1. Bom dia , Vinha utilizando uma classe ACBrECFSwedaSTX antiga no meu frente como relato tambem de outros colegas aqui no fórum utilizando a classe antiga , ou seja , a nova eu não conseguia trabalhar com ela onde a mesma em tempo aleatório gerava Acces Violation varias vezes no dia nos clientes e com debug tentei muito debug mas sem sucesso . Como migrei tudo para trunk2 e todos provavelmente vão fazer isso em breve estou passando o Log do Eureka na sequencia de comandos onde gera o Erro da Classe ACBrECFSwedaSTX .
  2. Daniel bom dia , Fiz a atualização hj SVN (estou utilizando somente trunk2) , acho que isso até o pessoal que não utiliza ACBrECFVirtualSat talvez esta com problema , ja expliquei acima , na verdade somente comentar uma linha resolve dentro do procedimento explicado no post acima : function TACBrSAT.CancelarUltimaVenda: String ; var dadosCancelamento : string; begin // if CFeCanc.infCFe.chCanc = '' then CFe2CFeCanc; // Atualiza a chave do CFe para a última atica do componente e tbm demais campos do objeto . dadosCancelamento := CFeCanc.GerarXML( true ); // True = Gera apenas as TAGs da aplicação Result := CancelarUltimaVenda( CFeCanc.infCFe.chCanc, dadosCancelamento); end ;
  3. Um outro bug utilizando Virtual SAT. Faço uma venda e cancelo blz . (Com a AC Aberta) "Lógico" , vou explicar porque do Lógico . Faço outra venda e tento cancelar novamente (Com a AC Aberta) ele pega a chave anterior ja cancelada não a do último cupom vendido . function TACBrSAT.CancelarUltimaVenda: String ; var dadosCancelamento : string; begin if CFeCanc.infCFe.chCanc = '' then CFe2CFeCanc; dadosCancelamento := CFeCanc.GerarXML( true ); // True = Gera apenas as TAGs da aplicação Result := CancelarUltimaVenda( CFeCanc.infCFe.chCanc, dadosCancelamento); end ; "Porque do Lógico" Se eu fechar fazer o procedimento fechando a AC a cada teste assim : Vendo e Cancelo e Fecho a AC , Vendo e Cancelo Fecho a AC , Vendo e Cancelo Fecho a AC , funciona , somente com a AC Aberta o componente pega a penúltima chave ja cancelada .
  4. Daniel , bacana , Uma outra coisa interessante para o Virtual seria na criação do objeto ACBrECFVirtual... ele alterasse a Flag Estado da chave [Variaveis] do ini sempre para 0 , porque quando a AC cai em um relatório gerencial ele fica o Estado = 5 por exemplo , quando sobe a aplicação em Virtual não nescessita deste Estado ao abrir a AC ja que existem testes de cancelamento de cupom , Redução-Z dependendo do Estado . Ini.WriteInteger( 'Variaveis' , 'Estado' , 0 ); // No create do objeto Virtual . Oque acha disso ?
  5. Daniel , Exemplo , 1-emito uma venda , 2-emito um relatório gerencial , 3-tento cancelar o cupom , ele me retorna um Raise impossibilitando o cancelamento . Resultado , Tive que implementar ( Estado <> estLivre ) : procedure TACBrECFVirtualClass.CancelaCupom; Var A : Integer ; begin if ((fpItensCupom.Count = 0) and (Estado <> estVenda) and (Estado <> estLivre)) and ((fpCNFCupom.Count = 0) and (Estado <> estNaoFiscal) ) then raise EACBrECFERRO.Create(ACBrStr('Último Documento não é Cupom')) ; .....
  6. Rodolfo bom dia , No meu caso rateio os desconto na propriedade vDesc dos itens , exemplo : Total da Compra = 100,00 Total do desconto= 10,00 ---> ratear nos itens na propriedade vDesc . Total a pagar=90,00 ---> independente de dinheiro cartao etc etc numero de itens do cupom=5 ----> no caso desta compra cada item tem 2,00 em sua propriedade vDesc .
  7. Funcionou Daniel , Vou poder efetuar mais testes a tarde devido a questão Sefaz , posto aqui caso algo estranho .
  8. Bom dia Italo . Ainda não resolveu veja : XML de Envio <ConsCad xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00"> <infCons> <xServ>CONS-CAD</xServ> <UF>SP</UF> <CNPJ>65611691000105</CNPJ> </infCons> </ConsCad> XML de retorno <retConsCad xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00"> <infCons> <verAplic>SP_NFE_PL_006q</verAplic> // Meus Schemas estão atualizados e ele pega a versão PL_006q <cStat>239</cStat> <xMotivo> Rejeição: Cabeçalho - Versão do arquivo XML não suportada </xMotivo> <UF/> <dhCons>2015-06-23T09:07:06</dhCons> <cUF>35</cUF> </infCons> </retConsCad>
  9. Objeto acessado não criado .
  10. Vc tem que que setar a propridade Preview = True do Componente ACBrDanfeRave antes do imprimir .
  11. ACBrNFe.WebServices.ConsultaCadastro.Executar ... Versão Xml Envio : <ConsCad xmlns="http://www.portalfiscal.inf.br/nfe" versao="3.10"> <infCons> <xServ>CONS-CAD</xServ> <UF>SP</UF> <CNPJ>65611691000105</CNPJ> </infCons> </ConsCad> Versão Xml Retorno : <retConsCad xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00"> <infCons> <verAplic>SP_NFE_PL_008f</verAplic> <cStat>238</cStat> <xMotivo> Rejeição: Cabeçalho - Versão do arquivo XML superior a versão vigente </xMotivo> <UF/> <dhCons>0001-01-01T00:00:00+00:00</dhCons> <cUF>35</cUF> </infCons> </retConsCad>
  12. Alguns componentes do Trunk2 foram remapeados para outras Abas do Delphi , por exemplo ACBrNFe , ACBrBoleto entre alguns outros componentes vai para outras Abas , eu tinha os componentes ACBr tudo em uma unica Aba = 'ACBr' , quando miguei do Trunk para o Trunk2 para que não houvesse problema eu desinstalei nativamente todo o ACBr pelo Delphi e recriei tudo do zero , a maioria dos componentes assumiram a minha antiga Aba ACBr e alguns outros componentes foram reacriadas novas abas .
  13. O meu tbm esta "bloqueio autônomo" desde sábado , e não estou conseguindo enviar as vendas pro SAT (Dimep). Quando tento enviar a venda : NumeroSessao: 412288 - Resposta:412288|06008|0000|SAT bloqueado por falta de comunicacão||| Consulta de Status Oper : -- 07:17:50:390 - numeroSessao: 743477 - Comando: ConsultarStatusOperacional NumeroSessao: 743477 - Resposta:743477|10000|Resposta com Sucesso.|||900001190|DHCP|192.168.000.100|02:01:00:00:11:90|255.255.255.000|192.168.000.001|192.168.000.001|000.000.000.000|CONECTADO|MEDIO|1 Gbyte|178 MbytesMbytes|20150622071742|01.00.00|00.06|35150661099008000141599000011900001262450488|35150661099008000141599000011900001262450488|35150661099008000141599000011900001131475916|20150619180959|20150619181130|20141128|20191126|3 NSERIE.........: 900001190 LAN_MAC........: 02:01:00:00:11:90 STATUS_LAN.....: CONECTADO NIVEL_BATERIA..: MEDIO MT_TOTAL.......: 1 Gbyte MT_USADA.......: 178 MbytesMbytes DH_ATUAL.......: 22/06/2015 07:17:42 VER_SB.........: 01.00.00 VER_LAYOUT.....: 00.06 ULTIMO_CFe.....: 35150661099008000141599000011900001262450488 LISTA_INICIAL..: 35150661099008000141599000011900001262450488 LISTA_FINAL....: 35150661099008000141599000011900001131475916 DH_CFe.........: 19/06/2015 18:09:59 DH_ULTIMA......: 19/06/2015 18:09:59 CERT_EMISSAO...: 28/11/2014 CERT_VENCIMENTO: 26/11/2019 ESTADO_OPERACAO: BLOQUEIO_AUTONOMO
  14. Bom dia galera , Não estava conseguindo emitir nada aqui hoje de manhã no Sat . Entrei no portal Sefaz e eis a ma noticia , até dia 23 parado . Eu precisando testar mais coisas que estou implementando tbm com o Virtual Sat . http://www.fazenda.sp.gov.br/sat/
  15. <infCFe versao="0.00" versaoDadosEnt="0.06" versaoSB="000000" Id=""> <ide> <tpAmb>2</tpAmb> <CNPJ>16716114000172</CNPJ> <signAC>SGR-SAT SISTEMA DE GESTAO E RETAGUARDA DO SAT</signAC> <numeroCaixa>001</numeroCaixa> </ide> <emit> <CNPJ>08723218000186</CNPJ> <enderEmit> </enderEmit> <IE>149626224113</IE> <cRegTrib>3</cRegTrib> <indRatISSQN>N</indRatISSQN> </emit> <dest> <xNome>CONSUMIDOR</xNome> </dest> <det nItem="1"> <prod> <cProd>1</cProd> <xProd>TIJOLO BAIANO 08 FUROS 9X19X19 DSFN SKFN SADF</xProd> <NCM>61034300</NCM> <CFOP>5500</CFOP> <uCom>UN</uCom> <qCom>1.0000</qCom> <vUnCom>25.00</vUnCom> <vProd>0.00</vProd> <indRegra>A</indRegra> <vItem>0.00</vItem> </prod> <imposto> <vItem12741>3.00</vItem12741> <ICMS> <ICMS00> <Orig>0</Orig> <CST>00</CST> <pICMS>18.00</pICMS> <vICMS>0.00</vICMS> </ICMS00> </ICMS> <PIS> <PISAliq> <CST>01</CST> <vBC>25.00</vBC> <pPIS>0.6500</pPIS> <vPIS>0.00</vPIS> </PISAliq> </PIS> <COFINS> <COFINSAliq> <CST>01</CST> <vBC>25.00</vBC> <pCOFINS>3.0000</pCOFINS> <vCOFINS>0.00</vCOFINS> </COFINSAliq> </COFINS> </imposto> <infAdProd>Informacoes adicionais</infAdProd> </det> <total> <vCFe>0.00</vCFe> <vCFeLei12741>0.00</vCFeLei12741> </total> <pgto> <MP> <cMP>01</cMP> <vMP>25.00</vMP> </MP> <vTroco>0.00</vTroco> </pgto> <infAdic> <infCpl>SAT Emitido pelo SAC (Sistema de Automacao Comercial)Conheca o SAC - www.sistemasnetsolutions.com.br</infCpl> </infAdic> </infCFe> </CFe>
  16. Atualizei a versão completa ACBr hoje as 14:30 , Revisão 9078 : Efetuei o teste mencionado pelo colega ITWORKS mas em meu teste tudo funcionou perfeitamente ( Acréscimo / Desconto ) ECF Sweda ST120 (Física) (SwedaSTX) . Colocarei em produção nossa AC em um Cliente na Segunda-Feira e estarei testando outras características negativas que vinha acontecendo nas últimas atualizações da SwedaSTX como se encontra em alguns posts no fórum , caso encontre posto aqui . ( Não vou prometer - Mas tem um cliente que estará repassando o ponto comercial e já pedi a ele o ECF dele Sweda ST120 , caso ele nos doar estarei doando para o projeto ) Log do teste Efetuado :
  17. Isso mesmo Italo , se não colocar esta linha a propriedade retorna vazia . Para o Ret do Xml de Inutilização tbm precisa implementar essa mesma sistêmica , mas a propriedade XML ainda não existe na colection !
  18. A Rotina : ACBrNFe.EventoNFe.Evento.Clear ; ACBrNFe.EventoNFe.LerXML( Arquivo ) ; with ACBrNFe.EventoNFe.Evento.Items[0].RetInfEvento do begin Ret_Prot := nProt ; Ret_Data := dhRegEvento ; Ret_Xml := XML ; // XML aqui retorna vazio end ; ...Não encontrei outra TAG que traz a conteuro do XML . Verificando o Fonte vi que em function TEventoNFe.LerXMLFromString(const AXML: String): Boolean; não preenche a TAG XML , vejam : function TEventoNFe.LerXMLFromString(const AXML: String): Boolean; var RetEventoNFe : TRetEventoNFe; begin RetEventoNFe := TRetEventoNFe.Create; try RetEventoNFe.Leitor.Arquivo := AXML; Result := RetEventoNFe.LerXml; with FEvento.Add do begin infEvento.ID := RetEventoNFe.InfEvento.id; infEvento.cOrgao := RetEventoNFe.InfEvento.cOrgao; infEvento.tpAmb := RetEventoNFe.InfEvento.tpAmb; infEvento.CNPJ := RetEventoNFe.InfEvento.CNPJ; infEvento.chNFe := RetEventoNFe.InfEvento.chNFe; infEvento.dhEvento := RetEventoNFe.InfEvento.dhEvento; infEvento.tpEvento := RetEventoNFe.InfEvento.tpEvento; infEvento.nSeqEvento := RetEventoNFe.InfEvento.nSeqEvento; infEvento.VersaoEvento := RetEventoNFe.InfEvento.VersaoEvento; infEvento.DetEvento.xCorrecao := RetEventoNFe.InfEvento.DetEvento.xCorrecao; infEvento.DetEvento.xCondUso := RetEventoNFe.InfEvento.DetEvento.xCondUso; infEvento.DetEvento.nProt := RetEventoNFe.InfEvento.DetEvento.nProt; infEvento.DetEvento.xJust := RetEventoNFe.InfEvento.DetEvento.xJust; infEvento.detEvento.cOrgaoAutor := RetEventoNFe.InfEvento.detEvento.cOrgaoAutor; infEvento.detEvento.tpAutor := RetEventoNFe.InfEvento.detEvento.tpAutor; infEvento.detEvento.verAplic := RetEventoNFe.InfEvento.detEvento.verAplic; infEvento.detEvento.dhEmi := RetEventoNFe.InfEvento.detEvento.dhEmi; infEvento.detEvento.tpNF := RetEventoNFe.InfEvento.detEvento.tpNF; infEvento.detEvento.IE := RetEventoNFe.InfEvento.detEvento.IE; infEvento.detEvento.dest.UF := RetEventoNFe.InfEvento.detEvento.dest.UF; infEvento.detEvento.dest.CNPJCPF := RetEventoNFe.InfEvento.detEvento.dest.CNPJCPF; infEvento.detEvento.dest.idEstrangeiro := RetEventoNFe.InfEvento.detEvento.dest.idEstrangeiro; infEvento.detEvento.dest.IE := RetEventoNFe.InfEvento.detEvento.dest.IE; infEvento.detEvento.vNF := RetEventoNFe.InfEvento.detEvento.vNF; infEvento.detEvento.vICMS := RetEventoNFe.InfEvento.detEvento.vICMS; infEvento.detEvento.vST := RetEventoNFe.InfEvento.detEvento.vST; if RetEventoNFe.retEvento.Count > 0 then begin FRetInfEvento.Id := RetEventoNFe.retEvento.Items[0].RetInfEvento.Id; FRetInfEvento.tpAmb := RetEventoNFe.retEvento.Items[0].RetInfEvento.tpAmb; FRetInfEvento.verAplic := RetEventoNFe.retEvento.Items[0].RetInfEvento.verAplic; FRetInfEvento.cOrgao := RetEventoNFe.retEvento.Items[0].RetInfEvento.cOrgao; FRetInfEvento.cStat := RetEventoNFe.retEvento.Items[0].RetInfEvento.cStat; FRetInfEvento.xMotivo := RetEventoNFe.retEvento.Items[0].RetInfEvento.xMotivo; FRetInfEvento.chNFe := RetEventoNFe.retEvento.Items[0].RetInfEvento.chNFe; FRetInfEvento.tpEvento := RetEventoNFe.retEvento.Items[0].RetInfEvento.tpEvento; FRetInfEvento.xEvento := RetEventoNFe.retEvento.Items[0].RetInfEvento.xEvento; FRetInfEvento.nSeqEvento := RetEventoNFe.retEvento.Items[0].RetInfEvento.nSeqEvento; FRetInfEvento.CNPJDest := RetEventoNFe.retEvento.Items[0].RetInfEvento.CNPJDest; FRetInfEvento.emailDest := RetEventoNFe.retEvento.Items[0].RetInfEvento.emailDest; FRetInfEvento.dhRegEvento := RetEventoNFe.retEvento.Items[0].RetInfEvento.dhRegEvento; FRetInfEvento.nProt := RetEventoNFe.retEvento.Items[0].RetInfEvento.nProt; FRetInfEvento.XML := RetEventoNFe.retEvento.Items[0].RetInfEvento.XML; // Acrescentar esta linha !! end; end; finally RetEventoNFe.Free; end; end; Estou certo ou errado ?
  19. No acompanhamento que tenho feito ao forum percebi que aqui http://www.projetoacbr.com.br/forum/index.php?/topic/20803-duvida-sem-papel-desabilitado-no-ecf/?p=133651 , e como o Daniel disse no tópico alterou muita coisa da classe SwedaStx e de acordo com o tópico mencionado as mudanças são em " Aguardar o retorno do ECF até que a impressão termine por completo..." , ou seja , somente isso , na verdade particularmente nunca tive problema na classe anterior quanto a isso . Vou tentar explicar o nosso caso aqui oque aconteceu nesta nova classe ; O ECF Sweda tem um comportamento que quando desliga-se o ECF e liga-o novamente a Aplicação perde a conexão do ECF e demora um pouco pra Estabilizar quando liga-o , ainda assim depois de ligado perde-se novamente a conexão "Escrevendo Falta de Energia no cupom" e ai sim esta Estabilizado por completo , e isto é comum na Sweda e é tranquilamente bem tratado na antiga classe SwedaStx porque ela respondia nos loop's de Try Except da aplicação e são nestas quedas de energia ou perda de conexão da porta Serial ou USB emulada que estão gerando estas violações . Na minha opinião , acho bastante valido sim a idéia do comportamento da Aplicação atuar verificando por completo a finalização do cupom mas não que a classe anterior possa ser descartada por este motivo ja que a mesma esta a bastante tempo debugada e funcionando 100% , não vejo uma necessidade de altera-la agora somente pra isso , mas é só a minha opinião .
  20. Tivemos o mesmo problema com a nova classe que esta no SVN e para o momento tivemos que também retornar a versão . Seria ate interessante voltar a classe anterior para o SVN ate que esta seja corrigida e melhorada , para outros colegas não terem o mesmo problema já mencionado .
  21. Paulo Henrique , veja : http://www.flexdocs.com.br/guiaNFe/gerarNFe.ref.refECF.html
  22. Amigos , não é critica não , longe disso , mas a pergunta que não que calar é : O comerciante tem 2 , 3 ou mais Frentes em seu estabelecimento , certo ? Ele tem apenas um SAT compartilhado para este ambiente , certo ? Se der pau neste único SAT ou outro problema na rede etc... i ai ? Veja que neste cenário que vcs engenharam , ele tem "10 pdv's" e em um único pau ele não tem nenhum . Só um alerta , cuidado para não terem surpresas desagradáveis .
  23. Luis , o bacana é que vc leia com atenção o manual de integração de ambos os Speds Icms/Ipi e Contribuições , mas mesmo assim vou te dar uma dica , Os registros 0150 (Participantes) 0190 (Unidade de Medidas) 0200 (Produtos) etc etc... do bloco-0 é pra vc declarar tudo aquilo que vc mencionou nos registros dos demais blocos etc etc , um exemplo disso : Vc mencionou/declarou em uma NF para José do Mercadinho que o seu código de cliente é 10 , neste caso vc vai ter que declarar o este Cliente no Registro 0150 do bloco-0 . Vc mencionou/declarou em um Cupom Fiscal a Unidade de Medida = KG - Kilo , neste caso vc vai ter que declarar esta Unidade de Medida no Registro 0190 do bloco-0 . Vc mencionou/declarou em uma NF o Produto Nescau que o seu código é 1000 , neste caso vc vai ter que declarar este Produto no Registro 0200 do bloco-0 . Vc não pode declarar nem mais nem menos , Participantes , Produtos etc etc tem que ser tudo amarrado e identico os Demais Blocos utilizados para o Movimento com o Bloco-0 . Uma dica que eu particularmente utilizo para isso que no caso criei algumas tabelas temporárias onde absorvo esse movimento dos dados quando dos Add ao componente os registros declarativos do movimento , e somente no final eu dou Add ao Bloco-0 pegando os dados destas tabélas Temp , é muito bacana que no caso não nescessito de nenhum Sql , após isso é onde eu escrevo o arquivo físico ; Um detalhe importante é que ainda não tive novidades com Insuficiência de Memoria na absorção destes dados sem a escrita do arquivo , caso que já foi mencionado aqui no forum para quando milhões de linhas . Boa sorte
  24. Vinicius , Todos que forem utilizar o Sat necessita de se cadastrar , se vc é uma empresa que desenvolve a AC para o próprio uso , quando vc for efetuar o cadastramento tem a opção "Uso próprio" , nesse caso não necessita do CNAE serem os exigidos pela Receita que são a sequencia 62... que são naturalmente para quando vc comercializa Softwares , mas o cadastramento tem que ser efetuado para todos .
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.