Ir para conteúdo
  • Cadastre-se

marcelo_sp

Membros
  • Total de ítens

    579
  • Registro em

  • Última visita

  • Days Won

    7

Tudo que marcelo_sp postou

  1. marcelo_sp

    Xml Vazio Após Lerxml...

    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 ?
  2. 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 .
  3. 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 .
  4. Paulo Henrique , veja : http://www.flexdocs.com.br/guiaNFe/gerarNFe.ref.refECF.html
  5. 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 .
  6. 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
  7. 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 .
  8. Minha opinião parece Egoísta mas jamais estou desmerecendo os colegas da classe , não é essa a minha mensagem , mas vejam que nós que temos uma Empresa pagamos impostos e outros para mantela e temos enfrentando uma desigualdade na concorrência para nos mantermos no mercado de Software House e na minha opinião acho injusto pagarmos impostos e uma estrutura pra isso concorrendo com pessoas que não fazem o mesmo ! Não chega ser um "choro" não viu galera , mas a Receita esta completamente correta com a atitude em afunilar o desenvolvimento de Software Houses no Mercado de Softwares exigindo de certa forma pelo menos ser uma Empresa pra isso , e falo mais , São Paulo é uma verdadeira Mãe em ainda não impor a homologação da AC visto que outros Estados é uma chatice a questão do PAF que ainda gera custos constantes em atualizações . Essa é minha opinião e desculpe se ofendi algum colega , realmente não foi essa a intenção .
  9. Graca , não é com a impressão Sim ou Não do danfe que vc testa isso , isso não vale como uma instrução booleana para esse caso ! Inclusive a nível de teste acabei de mandar uma NFe para um cliente denegado e tudo ocorre 100% ! Vou anexar um trecho de código que vc deve implementar no envio de suas NFs . 1 - ...Rotinas anteriores que vc deve ter do ACBrNFe 2 - ACBrNFe1.WebServices.Retorno.Executar ; for i := 0 to ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Count - 1 do begin // Verificando Código da Situação do Documento Fiscal e se esta Autorizado o uso if ACBrNFe1.NotasFiscais.Items.Confirmada then begin Autorizada := 'SIM' ; COD_SIT := '00' ; end else begin Autorizada := 'NAO' ; case (ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items.cStat) of 110 : COD_SIT := '04' ; // Uso Denegado 301 : COD_SIT := '04' ; // Uso Denegado: Irregularidade fiscal do emitente 302 : COD_SIT := '04' ; // Uso Denegado: Irregularidade fiscal do destinatário else COD_SIT := '00' ; end ; end ; end ; Outra coisa importantíssima , no Sped vc deve declarar as NFs Denegadas informando o COD_SIT = 04 . O trecho de código é somente ilustrativo , trate da forma que quiser dentro da condição booleana de retorno .
  10. Daniel bom dia , não tinha observado a informação na unit , obrigado pela dica .
  11. Fiz 2 testes assim : Passei 3 Itens . Cancelei o Item 1 e o item 3 , deixando apenas o item 2 e tentei fechar o cupom , fechou ok mas com o item ficando assim <det nItem="2"> , mesmo tendo apenas 1 item na operação . Passei 3 Itens . Cancelei o Item 2 , deixando o item 1 e o item 3 , tentei fechar o cupom , deu rejeição no Emulador = ERRO NA EMISSAO: 1019: Rejeicao: numeracao dos itens nao e sequencial crescente . ...ou seja , a operação ficou assim : <det nItem="1"> <det nItem="3"> Versão 2.8.3 do Emulador . com o ACBrEcfVirtualSat . Vcs estão com o mesmo erro ? se sim teremos que recriar a sequencia dos itens !
  12. Declare a unit pcnCFe .
  13. Como sabe , não se identifica a localidade do cliente neste tipo de documento Fiscal ( Sat / ECF ) , informações como Endereço , etc..etc... e vc trata Cfop e Impostos como se fosse local . ECF e Sat são dispositivos para vendas local e não interestadual , no caso de cliente interestadual vc devera emitir uma nota fiscal em substituição ao cupom . Cfop's da Nota Fiscal : 5929 - cliente estadual 6929 - cliente interestadual
  14. Elton e Juliomar tive acompanhando estes dias este caso e hoje com um tempinho extra que sobrou fiz o seguinte : - Retirei do ACBrSat.dcr os demais componentes ACBrSat's... que havia acumulado todos neste único Resource . - Criei novos Resources para cada componente ACBrSat's... separadamente em respectivo DCR independentes para cada um . - Mapeei aos componentes as diretivas .res de cada componente que estava gerando a duplicação com erros vindos exatamente destas Diretivas . - Show , resolvido o problema . Peço que implementem se possivel o ACBrECFVirtualSat para junto do ACBrInstal . Obs : No merge que vc efetuar de ACBrSATExtratoFortesFr vai ver que comento 2 linhas referente a incompatibilidade de versão do FortesReport , como sabes nada em particular com o Sat . Forte abraço .
  15. http://www1.receita.fazenda.gov.br/noticias/2014/setembro/noticia-17092014.htm
  16. Bacana , mas NFCe sem o Sat pode ser um tiro no pé se o País não avançar em conectividade ! Imaginando um cenário quando centenas de milhares de PDV's em todo o Estado conectados simultaneamente e freneticamente enviando e recebendo dados , com a internet precária que temos em muitas regiões , se preparem muito bem porque a contingencia vai ser muito acionada após os desastres que iram ocorrer nas AC's muitas vezes no decorrer do dia e talvez isso pode vir a gerar ainda mais trabalho ao varejista do que o nosso velho ECF .
  17. A sugestão do Isaque é bacana e de fácil entendimento , mas se quiser mais uma sugestão no caso de Detalhes de Tributação Estadual , ao invés de se ter uma tabela detalhe de tributação estadual por Filial é se ter uma tabela de detalhe de tributação estadual por UF da Filial , ou seja , mesmo que a Empresa monte novas Filiais naquela Uf = XX o sincronismo já atende a tributação corrente daquele estado que caso já tenha uma Filial atuando , não se necessita de clonagens de registros para nova Filial que tbm não é uma tarefa difícil . O parcial do Sql para quando a aplicação sobe a tributação estadual dos produtos : ...Cad_Filial.Cod_UF = Cad_Trib_Estadual.Cod_UF...
  18. Eu tenho , add vc no Skype
  19. Ta na mão : http://depositfiles.org/files/3vsygrekd
  20. te mandei um email !
  21. Fabiane , é bem provável que o instalador esta buscando arquivos em locais diferentes , existem tópicos com este problema resolvido. Para Windows XP vc vai copiar os arquivos abaixo para : C:\Arquivos de programas\Embarcadero\RAD Studio\12.0\Quickrep505 QR5RunDXE4.bpl QR5RunDXE4.dcp QR5DesignDXE4.bpl QR5DesignDXE4.dcp
  22. sossystem , utilizamos o Wilbor em porta Serial COM1... não temos clientes utilizando em TCP ainda
  23. Delphi morrer ? ouço isso há anos ! , oque morreu foi a Borland que vendeu o seu produto e não o Delphi !!! , postei recentemente em outro tópico onde falo de uma aquisição que nossa empresa fez do Rad Studio XE5 e agora estamos nos preparando para o XE6 que já saiu , apesar de estarmos migrando parte de nossos projetos do Delphi 7 para o XE5 , adquirimos o mesmo viabilizando o desenvolvimento Mobile de forma rápida que tbm como desenvolvedor do Visual Studio e tbm gostar desta ferramenta da Microsoft estamos migrando todos os nossos projetos Windows Mobile e Windows Phone para Android/IOS onde temos uma unica IDE que faz tudo isso e este é o Rad Studio XE5 , simples assim , sem contar que a microsoft fodeu nós descontinuando suas ferramentas de desenvolvimento de Aplicações para Windows Mobile , tenho hj 2 versões do VS para fazer a mesma coisa ,Horrivel isso , enfim... foi um tiro no alvo da Embarcadero o investimento pesado nesta nova IDE/Tecnologia que apesar de ser nova viu , não velha ! tem um futuro muito promissor . veja a tadinha da microsoft quase nem aparece no grafico : http://corporate.canaltech.com.br/analise/mobile/Os-numeros-nao-mentem-Android-ou-iOS-qual-e-o-melhor/
  24. Sérgio veja : Oque utilizo é identico ao ChunkVNC ( http://www.chunkvnc.com ) , a unica diferença é que criamos um Client próprio onde cadastramos os ID's dos Clientes com seus Nomes e Cidades , etc etc ... , KingHost DB Firebird , seque a imagem abaixo do nosso navegador :
  25. Fladimir , O projeto UltraVNC com Repeter é open souce , todo código fonte é disponibilizado em C , vc pode baixar e mudar oque quizer , foi oque fizemos : 1- Criamos um navegador próprio com ID's tudo e melhoramos algumas coisas . 2- Assinamos um pacote KingHost para hospedarmos um servidor Firebird . 3- Montamos um Servidor somente para repetir as conexões , como vc vai ver se aprofundado no assunto . Veja isso que é o principio : http://www.uvnc.com/products/uvnc-repeater.html
×
×
  • 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.