Ir para conteúdo
  • Cadastre-se

Isaque Pinheiro

Membros
  • Total de ítens

    2.545
  • Registro em

  • Última visita

  • Days Won

    39

Tudo que Isaque Pinheiro postou

  1. e para as informações que serão adicionadas no arquivos como o Bloco A por exemplo teríamos uma rotina chamado WriteLinhaArquivo( ... ), Não, nesse caso você usará o evento Before ou After a sua escolha e usará a chamada, como mostrado no código abaixo. Me desculpe Willians, mas na minha visão sempre foi dessa forma, por isso achei a necessidade no terceiro evento, se observar no meu ultimo post tentei explicar exatamente essa visão No evento OnWriteRegistro, você recebe a linha e pode incluir, remover mudar totalmente ela. Nos OnBeforeWrite ou OnAfterWrite, você é quem escolhe, você pode escrever registro que não existem no SPED como o registro "A". Para gerar esse novo registro "A" no evento BeforeWrite ou AfterWrite como falei a sua escolha, basta chamar ACBrSpedFiscal.Bloco_?.Add('|A100|0|'); ACBrSpedFiscal.Bloco_?.Add('|A100|...|'); ACBrSpedFiscal.Bloco_?.Add('|A170|...|'); ACBrSpedFiscal.Bloco_?.Add('|A990|...|'); [/code] "?" seria o bloco o qual esta sendo chamado o evento tipo: BeforeWrite0200, se o evento é do bloco "0" então usamos o ACBrSpedFiscal.Bloco_0.Add('') se do bloco "1" usamos ACBrSpedFiscal.Bloco_1.Add('') e assim por diante.
  2. Enviei as alterações, baixe e confira se atenderá, se atender baseado nele pode implementar nos demais que precisar, em seguida anexe aqui que baixo avalio e subo pro SVN.
  3. Acho que teremos que ter 3 eventos BeforeWrite - Antes de iniciar a escrita do registro Write - Linha a linha do registro AfterWrite - Depois de terminar a escrita de todas as linhas do registro BeforeWrite - podemos escrever registros antes Write - podemos mudar se quiser linha a linha AfterWrite - podemos escrever registros depois Vou subir essas alterações dai vc poderá baseado nela implementar nos registros que precisar, e vamos implementando aos poucos nos outros, pois são muitos. Acredito dessa forma atender a todas as necessidades em todos os pontos.
  4. Pessoal, peço desculpas a vocês por minha falha, fiz a alteração sugerida e subi para o SVN, por gentileza testem e me deem um retorno o mais rápido possível se funcionou, fico no aguardo para algum ajuste se preciso. Essas alterações foram para implementar eventos no componentes para atender a necessidade de gerar um leiaute em um formato diferente do SPED, pois alguns sistemas de contabilidade exigem um formato diferente.
  5. Olá pessoal, como todos sabem nós desenvolvedores vivemos da função de escrever códigos, e o projeto ACBr fez e esta ajudando muitos desenvolvedores a viver sem ter que escrever muitos desses códigos, então como isso é para uma gama de desenvolvedores. O ideal, e que vocês mesmo colaborassem com a implementação deste código... porem nem todos tem tempo ou capacidade tecnica para isso... Nesses casos, uma possibilidade é contratar um desenvolvedor para o desenvolvimento da mesma... Acredito que com a união dos interessados, uma tarefa como esta poderia ser ofertado o premio de R$ 2000,00 para a sua execução.
  6. Ei Willians, se do jeito que fiz atende, vou implementar desse jeito assim como vc mesmo falou fica mais completo e cada um usa o evento que mais lhe for conveniente. Blz vou começar a implementar nos demais registros então e te mando por anexo para teste antes de subir para o SVN, obrigado pelo retorno rápido, agora é comigo, te dou retorno o mais rápido possível.
  7. Ei Willians, tente implementar o que esta nas Unit que eu anexei e testar se funciona para vc, e depois me retorne, se funcionar implementarei os eventos dos demais registros e subirei para o SVN. Pelo que olhei é quase isso que vc fez, com algumas coisas poucas diferentes na implementação.
  8. Vou anexar uma Unit aqui, em alguns minutos para vc testar e vê se atende ai para vc. Bom de uma olhada nessas units e tente analisar se atende a necessidade. Obs: o registro 0208 que precisa para o G5, deve ser adicionado no evento After do 0206, pois não deve ter nada com o nome 0208, no componente, pois não existe esse registro no leiaute do SPED, então usaremos o evento que ele deve se o próximo a ele, n.esse caso 0206. ACBrSpedFiscal.pas ACBrEFDBloco_0_Class.pas
  9. Comecei a analise, e já surgiu uma coisa estranha, pois na unit ACBrEFDBloco_0_Class tem um método "WriteBloco_A", isso não deve existir no código do componente, e sim dentro do código de sistema, o qual poderá ser disparado de um dos eventos. Outro detalhe o evento TWriteRegistro0208Event, como não existe esse registro 0208 no SPED o evento deve ser TAfterWriteRegistro0206Event, e disparado do registro 0206 e não do 0200. Bom vou criar mudar aqui para que atenda as exigências do padrão do componente, em seguida anexo aqui e vocês fazem um teste e assim vamos até ficar 100% funcional para ambas as partes. Amanhã já disponibilizo algo. Por gentileza reveja isso e anexe a alteração para que eu possa continuar a analise.
  10. Sim, com todo prazer explicarei. Acontece que muitos usuário estão perdidos na hierarquia, e estavam usando o componente de forma errada gerando problemas e demanda de perguntas no fórum por não entenderem quais registros eram filhos e quais, e pela jeito que você desenvolveu, também poderia cair nesse erro e te dar trabalho para acha-lo. Bom é muito fácil você resolver seu problema, com mudanças mínimas. Ao invés de "with RegistroC100.RegistroC110.New do begin" Use : "with RegistroC100.RegistroC110New do begin" Essa última forma irá garantir que vc esteja instanciando o registro C110 como filho do C100 Abraço.
  11. Verdade somente o A170 os campo ALIQ_PIS e ALIQ_COFINS estão com 2 casas decimais, corrigido e disponibilizado no SVN, veja se não dará erro no validador agora e nos reporte. Mas no guia prático está com 2 casas decimais. O guia prático está errado? Suponho que sim, porque aliquota de Pis e Cofins é a mesma para todos o sregistros, e só esse registro pede 2 casas, todos os demais registros pedem 4 decimais. A única coisa que poderá barrar isso será o validador, caso contrário, acreditamos que há um erro no registro A170.
  12. Verdade somente o A170 os campo ALIQ_PIS e ALIQ_COFINS estão com 2 casas decimais, corrigido e disponibilizado no SVN, veja se não dará erro no validador agora e nos reporte.
  13. Veja no Guia Pratico, se pede o campo com 2 ou 3 casas decimais, temos que respeitar o guia.
  14. A pergunta é, como o .xml passou pela validação assim ?
  15. Estou bem apertado essa semana e semana que vem, implantando sistema em clientes novos a noite chego só a casca, mas prometo que assim que sobrar um tempinho vou analisa. Só posso pedir desculpas no momento.
  16. Essa para mim é nova, vou pesquisar sobre isso. Uma pergunta mas a quantidade tava a soma das duas cores né?
  17. Olá as implementações feitas pelo Willian, ainda não foram incorporadas ao fonte do SVN, por não estarem totalmente dentro dos padrões, mas prometo dar uma olhada se tiver di acordo faço o merge e subo. Abraço
  18. Vou disponibilizar aqui o que comecei, se alguém se propor a ajudar, agradeço. Observem a unit "ACBrEPCBlocos.pas", como foi feito. Uma observação, estou mudando o nome dos tipo para o mesmo nome da propriedade, assim não temos que ficar invetando nome e nem colocando nomes enormes, fiquem atentos nesse detalhe. Se alguém se propor a ajudar a terminar os que restam depois anexe aqui que vou pegar e fazer um merge geral, com a versão da pasta trunk. ACBr_SPEDPisCofins.zip
  19. É porque vc pegou uma IE nova, a qual mudou o cálculo, pois as IEs antigas tinha o tipo como passado o link pelo Elton, e no link que vc passou foi retirado os tipos, já subi pro SVN.
  20. O algorítimo de validação do site do sintegra deve estar errado para Alagoas, pois lá não existe o campo tipo de empresa, segue abaixo um link do site da fazenda de Alagoas, com a validação de sua inscrição estadual. http://www.sefaz.al.gov.br/sintegra/cad_AL.asp Mude "24BNNNNNX.14.00" para "24NNNNNNX.14.00" e faça o teste, o "B" quer dizer que o terceiro carácter só poderá ser "03578" se mudar para "N" o terceiro carácter poderá ser "0123456789", isso deve resolver, confirme se funcionou, caso não funcione me informe o IE, que irei testar.
  21. Descobri esse erro, é que ao clicar no botão Bloco_1 ele internamente dispara antes o Bloco A que por sua vez dispara antes o Bloco C e assim por diante, por que a ordem correta o Bloco 1 tem que ser gerado depois do Bloco M e antes o Bloco 9. Para que fique certo ao clicar no botão Gravar Bloco 9, ai sim irá gerar o Bloco 1 corretamente. Ou Seja por estar fora da ordem, quando gerar concomitantemente o bloco 1, não será gerado até ser clicado no botão do Bloco 9. Elton, pode mudar isso no demo ? Mude a ordem do botão Bloco 1 para depois do botão Bloco M, e no código do botão Todos os Blocos mude para que o click do botão Bloco 1 seja disparado depois do click do botão Bloco M. Abs.
  22. Reveja seu código, em algum lugar essa data deve esta sendo informada, pois gerei pelo demo e a data informada é a que foi gravada. veja: |0000|002|0|0|00000000000000000000000000000000000000000|01022012|29022012|NOME DA EMPRESA|11111111000191|ES|3200607|000000000|00|0|
  23. Exatamente onde ou qual registro ele não ta gravando essa data informada por vc?
  24. Nesse caso o ultimo parâmetro deve estar True.
×
×
  • 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.

The popup will be closed in 10 segundos...