Ir para conteúdo
  • Cadastre-se

rodrigorodrigues

Membros
  • Total de ítens

    106
  • Registro em

  • Última visita

Tudo que rodrigorodrigues postou

  1. Pessoal, estou fazendo a homologação com o Santander e apenas houve um erro no registro Trailler do arquivo remessa. Quando gero um título que possui Instruções e as mesmas vão para o arquivo remessa, essas instruções não são levadas em consideração na hora de gerar o registro Trailler na quantidade de linhas do arquivo. Eu alterei a seguinte procedure function TACBrBancoSantander.GerarRegistroTrailler400( ARemessa:TStringList ): String; var vQtdeLinha : Integer; begin vQtdeLinha := StrToInt(copy(ARemessa.Text,Length(ARemessa.Text)-7,6));//lê a ultima linha gravada para pergar o codigo seq. Result:= '9' + // ID Registro IntToStrZero( vQtdeLinha + 1{ARemessa.Count + 1}, 6)+ // Contador de Registros Retirei ARemessa.Count + 1 e coloquei vQtdeLinha + 1 IntToStrZero( round( vTotalTitulos* 100), 13) + // Valor Total dos Titulos StringOfChar( '0', 374) + IntToStrZero( {ARemessa.Count}vQtdeLinha + 1, 6);//modifiquei Result:= UpperCase(Result); end; Agora no campo 2 ao 7 consta a quantidade correta de linhas. Se procede a alteração, se possível, subir para o SVN.
  2. André, eu irei implementar para o Companytech usando comunicação direta, irei fazer a unit e depois eu te mando para vc analisar.
  3. André, já implementei para o Companytech, usando a DLL, inclusive sexta feira fiz a homologação do PAF-ECF usando ele, caso queira, eu envio a unit para vc analisar e dando certo, poderei implementar para a vwtech, realmente o melhor seria comunicação direta, já posso ver isso, posso ajudar, já que homologuei para o PAF, tenho um tempo sobrando e pretendo deixar compatível com os principais concentradores. Não conseguir acessar o site http://www.planetconnection.com.br/
  4. Cara, vc pode criar esse registro da seguinte forma uses ACBrEFDBloco_1; procedure TForm1.Bloco1_Reg1010; var Reg1001 : TRegistro1001; begin Reg1001 := AcbrSpedFiscalObj.Bloco_1.Registro1001New; Reg1001.IND_MOV := imComDados; with Reg1001 do begin with Registro1010.New(Reg1001) do begin IND_EXP := 'n'; IND_CCRF := 'n'; IND_COMB := 'n'; IND_USINA := 'n'; IND_VA := 'n'; IND_EE := 'n'; IND_CART := 'n'; IND_FORM := 'n'; IND_AER := 'n'; end; End; end;
  5. Olá André, se vc estava querendo implementar, na verdade, eu já implementei para a Companytec, teve um rapaz que fez para o VWTech (paguei claro) mas não ficou funcionando completamente, ai eu resolvi implementar para a companytech e está funcionando tudo certinho, ler encerrantes, bicos, atualiza preço de bicos e tudo, ler abastecimentos, enxuguei a unit etc. Eu uso o delphi xe, algumas incompatibilidades ocorreram por causa do Unicode, mas eu entrei em contato com o Dennis e o mesmo acessou minha máquina via acesso remoto, identificou o erro na DLL e alterou na hora a DLL na qual está funcionando perfeito. Após a homologação do PAF, estarei implementando para a VWTech. Se for para outro propósito, me passa teu email que eu envio para vc. meu email é : [email protected] Obrigado pela atenção
  6. Eu já vi que já implementaram o registro 1010, mas o mesmo ainda não está sendo gerado, alguém já implementou a geração desse registro? vou tentar modificar para gerar esse registro.
  7. Essa eu não sabia...MD5 por exemplo pode da o mesmo valor? Eu acho que realmente seria mais interessante gravar a informação criptografada com uma chave que o PAF escolher, só que o banco todo já acho um exagero, mas só nos principais registros já acho válido sim, é mais eficiente do que permitir o cara modificar a informação e então na geração do arquivo é que va ser evidenciada a adulteração. Mas...voltando ao assunto, afinal, não tem jeito, temos que nos adequar, o que vcs acham da forma de falei?
  8. Pessoal, estou fazendo esse teste e tenho a seguinte idéia para evitar essa questão de excluir/incluir e ainda assim ficar validado. Nas tabelas, tenho um campo que recebe um inteiro ÚNICO, gerado em código Delphi, esse número nunca se repete. Ao invés de gravar o Count dos registros, poderia gravar um AVG desse campo, pois ai quando algum registro for excluído/inserido o HASH não vai bater com o comparado com o sistema. é claro que a rotina de gravar o hash no sistema, deve verificar se o atual é válido. O que acham? Segue a função de retornar um valor único inteiro function TDao.GeraChave():string; var DataInt : Integer; SecInt : Integer; NewReg : Integer; Fator : integer; begin Sleep(2); Fator := 12; Inc(Fator); NewReg := MilliSecondsBetween(0, Now) + Fator; if (NewReg < 0) then begin NewReg := (NewReg * -1); end; Result := IntToStr(NewReg); end;
  9. Ahh muito legal, então, é isso que a gente precisa, sabendo das regras, ae conseguimos implementar na classe, uma coisa muito legal é fazer como o sistema Syntaxe da fiscosoft faz, mas no caso ele nao da as regras de calculo, porém, eles dizem o dispositivo legal (A Lei) no qual se basearam a informação.
  10. Olha só, eu até alterei algumas coisas e estou usando tranquilo, tenho clientes que sao do lucro presumido e precisa calcar os impostos e tudo ta dando certo.
  11. Esqueci de mencionar que eu aumentei o campo Sacado_CNPJCPF para 18 pois quando precisamos exibir o CPF/CNPJ formatado 00.000.000/0000-00 o mesmo não aparecia completamente. Também a fonte das instruções eu mudei para arial, pois na impressão ficava um pouco estranha e também quando exporta para PDF aparecia caracteres inválidos. como mostra a figura em anexo.
  12. Pessoal, estou homologando no Santander e o mesmo solicitou que fosse adicionado o campo Avalista no boleto, notei que no arquivo de relatório BoletoFR.fr3 não consta o campo de dado avalista, então eu fiz a modificação na unit ACBrBoletoFCFR.pas e no arquivo de relatório. Também criei um layout de carnê para FastReport, no caso, fica dois boletos em uma folha A4 e o recibo do sacado no lado esquerdo, os arquivos estão em anexo, acho que seria interessante subir essa modificação. Está compactado, pois o forum não permitiu o anexo de arquivo .fr3 acbr.rar
  13. No roteiro ver. 1.7, teste 107 passo 6a. Ou seja, é obrigatório, agora se o registro for inválido, ae tem que colocar o "?", no caso do ACBrPAF ele ta colocando os "?", mas apenas quando não tem informação no campo, quando tem informação no campo ele coloca o "?" apenas nos espaços em branco, juntando com a informação do campo como mostrei, só que ao meu entender, o campo "Modelo de ECF" do registro R02 deve apresentar os cacteres "?" para indicar que o mesmo foi alterado sem ser pelo PAF, ou seja, direto pelo banco, como consta no teste do roteiro. Na verdade, isso ocorre com os demais registros, vim observando que não ficava com o cacactere "?" POR COMPLETO quando o registro era inválido, com essa alteração, agora quando o registro é inválido está preenchendo o campo todo com o "?", que no caso do R02 é o Modelo do ECF. Ou seja, nos campos que devem preencher com o caractere "?", o ACBrPAF so preenche nos espaços em brancos e não no tamanho do campo todo. Levando em considereção que deve preencher no campo todo, pois eu estou entendendo assim no roteiro, ae eu modifiquei para que o ACBrPAF preencha o campo todo com "?" quando o registro for inválido e substitua o valor que foi passado para o campo.
  14. Olá Regys, obrigado pela resposta. Certo, ele completa (Result := Value + StringOfChar(Caracter, Size - Length(Value)), mas logo depois temos "if Caracter = '?' then ", nesse caso, ele não deveria trazer somente o "?" ao invés de trazer algo como "MP-2100?TH?FI???????" no campo modelo? no R02, quando a gente diz que o registro é Invalido, ae ele preenche o campo no arquivo dessa forma acima, não deveria ser algo como "????????????????????", agora imagine se no campo modelo é preenchido com os 20 caracteres sem espaço, ae no caso ele não traria nenhum "?" no campo Modelo do ECF.
  15. Pessoal, eu alterei a função RFill na linha if Caracter = '?' then Result := FDelimitador + StringReplace(Result, ' ', Caracter, [rfReplaceAll]) else Result := FDelimitador + Result; para if Caracter = '?' then Result := FDelimitador + StringOfChar(Caracter, Size) else Result := FDelimitador + Result; ae completou os "?" corretamente, pergunto, a alteração procede? tipo, so vai influenciar quando for para colocar o caractrere "?" que é o caso.
  16. Vou reviver o tópico pq está acontecendo algo parecido comigo. Tenho a seguinte situação R01.RegistroValido := true R01.MODELO_ECF := 'MP4000 TH FI' R02.RegistroValido := False; No arquivo mostra da seguinte forma no registro R02 no campo MODELO ECF : 'MP-2100?TH?FI???????', ou seja, quando tem informação no campo Modelo ECF e o registro não é válido no R02, apenas é colocado o caractere "?" nos espaços em branco. Debugando o componente, fui até a unit ACBrPAF_R_Class na função function TPAF_R.WriteRegistroR02: String; logo vi que o registro é escrito pelo método RFill(FRegistroR01.MODELO_ECF, 20, ifThen(RegistroValido, ' ', '?')) + ou seja, essa função RFill da unit ACBrTXTClass.pas so insere o cactere passado como parametro APENAS nos espaços em branco, não deveria inserir o "?" no campo todo?. segue a função function TACBrTXTClass.RFill(Value: String; Size: Integer = 0; Caracter: Char = ' '): String; begin /// Se a propriedade TrimString = true, Result retorna sem espaços em branco /// iniciais e finais. if FTrimString then Result := Trim(Value); if (Size > 0) and (Length(Value) > Size) then Result := Copy(Value, 1, Size) else Result := Value + StringOfChar(Caracter, Size - Length(Value)); if Caracter = '?' then Result := FDelimitador + StringReplace(Result, ' ', Caracter, [rfReplaceAll]) else Result := FDelimitador + Result; end;
  17. Leandro, obrigado pela resposta. Eu também "acho" que seja assim, acredito que o seu pensamento está correto, realmente a assinatura de código é um processo distinto em relação ao propósito dos outros certificados. É, acho que é isso mesmo. Obrigado
  18. Régys, no blog que Leandro mostra http://www.ericksasse.com.br/como-assin ... licativos/, tem o motivo pelo qual eu desejo assinar os arquivos, no caso, eu também uso o Final Builder (pra mim é imprescindível, tanto para gerar o instalador quanto atualização) . Leandro, eu já tinha visto o blog que vc me indicou, só que nesse caso, eu teria que comprar esse certificado específico (http://www.comodobr.com/produtos/certif ... igning.php), eu estava achando que eu poderia usar o meu certificado, tipo e-CNPJ, que é utilizado para Nf-e, enviar folha de pagamento etc, já que o certificado nada mais é do que uma forma de dizer que vc é vc mesmo, pois eu tentei assinar usando o meu certificado e não funcionou, possa ser que eu não entendido como fazer ou realmente não da certo. Eu gostaria de saber como assinar usando o A3, que certamente MUITOS já tem esse certificado, só que ainda não conseguir. Ao meu ver é importante a assinatura dos arquivos, principalmente pelo fato de muitos antivírus indicar que seu aplicativo é um vírus, spyware etc.As vezes os antivírus simplesmente exclui o programa, principalmente os grátis.
  19. Pessoal, eu estou precisando assinar vários arquvios EXE, tenho o certificado digital A3 que uso para emitir NF-e, não acho na Web nada falando como assinar usando A3, eu vi o A1 mas o A3 nao. Vi que tem essa ferramenta (http://msdn.microsoft.com/pt-br/library ... 90%29.aspx), mas talvez eu não esteja sabendo fazer usando o A3. Se alguém puder me ajudar, creio que também é dúvida de muitos e necessidade, pois é muito melhor vc distribuir seus executáveis assinados pela sua empresa.
  20. é, realmente, na verdade, estou vendo aqui que recebi 2 XMLs da mesma nota porém diferente. Eu tinha aberto 1 que foi o trecho que postei acima e tinha importado outro(o errado) Erro meu. Vlw 42120281783912000189550020000035621000320587-procNFe.xml
  21. Segue em anexo o XML, eu tento importar mas o valor do frete que está na nota não é extraído corretamente, ele pega o valor do frete do ítem da nota e joga no valor do frete da nota. 42120281783912000189550020000035621000320587-nfe.xml
  22. Sim, está dando certo, é apenas o campo vfrete que não retorna corretamente. Por exemplo, no XML ta assim - - 9.77 0.68 0.00 0.00 630.00 54.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 684.00 O componente não pega o valor 54.00 para esse campo.
  23. Pessoal, estava fazendo uns testes e tentei importar pelo DEMO uma NFe, no campo NFe.Total.ICMSTot.vFrete ele está trazendo errado e também no campo vFrete do produto o mesmo não está trazendo corretamente. Tentei debugar para identificar mas não conseguir entender muito bem o código da Unit PncNFeR (* Grupo da TAG *****************************************************) if Leitor.rExtrai(1, 'total') <> '' then begin if Leitor.rExtrai(2, 'ICMSTot') <> '' then begin (*W03*)NFe.Total.ICMSTot.vBC := Leitor.rCampo(tcDe2, 'vBC'); (*W04*)NFe.Total.ICMSTot.vICMS := Leitor.rCampo(tcDe2, 'vICMS'); (*W05*)NFe.Total.ICMSTot.vBCST := Leitor.rCampo(tcDe2, 'vBCST'); (*W06*)NFe.Total.ICMSTot.vST := Leitor.rCampo(tcDe2, 'vST'); (*W07*)NFe.Total.ICMSTot.vProd := Leitor.rCampo(tcDe2, 'vProd'); (*W08*)NFe.Total.ICMSTot.vFrete := Leitor.rCampo(tcDe2, 'vFrete'); (*W09*)NFe.Total.ICMSTot.vSeg := Leitor.rCampo(tcDe2, 'vSeg'); (*W10*)NFe.Total.ICMSTot.vDesc := Leitor.rCampo(tcDe2, 'vDesc'); (*W11*)NFe.Total.ICMSTot.vII := Leitor.rCampo(tcDe2, 'vII'); (*W12*)NFe.Total.ICMSTot.vIPI := Leitor.rCampo(tcDe2, 'vIPI'); (*W13*)NFe.Total.ICMSTot.vPIS := Leitor.rCampo(tcDe2, 'vPIS'); (*W14*)NFe.Total.ICMSTot.vCOFINS := Leitor.rCampo(tcDe2, 'vCOFINS'); (*W15*)NFe.Total.ICMSTot.vOutro := Leitor.rCampo(tcDe2, 'vOutro'); (*W16*)NFe.Total.ICMSTot.vNF := Leitor.rCampo(tcDe2, 'vNF');
  24. Olá, sim. o Primeiro que vi viewtopic.php?f=8&t=4271 sai um pouco da questão de calcular imposto, cara praticamente cadastra a nota, está muuuuuito grande, o principal, que são os cálculos segundo a última versão, cara ficou de iniciar. Esse outro http://djsystem.com.br/acbr/forum/viewt ... f=8&t=1521 condiz com o que realmente importa, porém posta apenas um executável, pessoal pediu o fonte mas ele nao posta. Então, seguindo a proposta do amigo Jonatas, que é fazer um motor de cálculo, começei essa classe para ver se alguém tem interesse em fazer também que posto o código fonte. Até o momento, a classe está resolvendo para mim, claro que com um tempo irei implementando mais coisas, para andar mais rápido, postei aqui para ver se tem alguém interessado em ajudar.
  25. Pessoal, eu começei uma classe(Componente COM FONTE) que está muito simples e já calcula o básico do ICMS, quem quiser ajudar, fique a vontade. Quem tiver dúvidas quanto aos cálculos por CST, eu recomendo o blog do Jonatas, http://www.notafiscalfacil.com.br, é por lá que estou tirando minhas dúvidas Mais informações sobre o Projeto : http://www.resumoti.com.br/?p=519
×
×
  • 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...