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

    Acbrecf

    A atribuição não é o inverso não manu ? Vc está novamente atribuindo valores para as variaveis , somente o baud vc fez correto . faz assim : procedure TForm1.Button2Click(Sender: TObject); begin ateconfig; acbrecf1.Porta := P ; acbrecf1.ModeloStr := M ; ACBRECF1.Device.Baud :=StrToInt( ; end ;
  2. Vc atualizou a cadeia de Certificados no WinXp SP3 ? Se não atualizou , estou disponibilizando ! Após instalação reinicie o Computador !
  3. O Isaque , com certeza , estamos juntos ! Abraço .
  4. Qual UF ? Em SP tbm estava com esse problema , acabei de testar neste instante em Homologação e no momento está normal o horário atual do PC com o horário do Sefaz , não retornou erro algum pra CAn ! Mas ha 1 ou 2 meses atraz tive que adaptar uma função para ajustar o horário em 2 horas de atrazo e funcionava normal para poder estar enviando Eventos CAn , CCe "Em SP"... , fiz uma função porque ficava mais facil de corrigir na aplicação tá ! Segue exemplo : uses DateUtils ; Function TFrmPrincipal.Pega_Horario_Verao : TDateTime ; var Data_Hora_Evento : TDateTime ; begin Data_Hora_Evento := Now ; Data_Hora_Evento := IncHour( Data_Hora_Evento , - 2 ) ; Result := Data_Hora_Evento ; end ; pra utilizar : .... infEvento.dhEvento := FrmPrincipal.Pega_Horario_Verao ;
  5. Sequência Hierárquica Registros de ECF do Sped Fiscal : C400 = Hierárquia - 2 - Filho do C001 C405 = Hierárquia - 3 - Filho do C400 C410 = Hierárquia - 4 - Filho do C405 C420 = Hierárquia - 4 - Filho do C405 C425 = Hierárquia - 5 - Filho do C420 C460 = Hierárquia - 4 - Filho do C405 C470 = Hierárquia - 5 - Filho do C460 C490 = Hierárquia - 4 - Filho do C405 C495 = Hierárquia - 2 - Filho do C001
  6. Daniel e demais colegas , estou dando o feed back aqui e comunicando que o problema acima reportado no inicio do tópico "Out Of Memory" "Não foi gerado pelo Componente ACBRSpedFiscal" por coincidencia foi um erro semelhante que tbm era gerado no componente mas que vós tratou com a concomitancia . Como estamos trabalhando tbm para geração de arquivos para Contimatic G5 , Folhamatic e Mastermaq , com alguns TStringList... dinamicos dentro da aplicação e algumas treeds... e tal , depois de inumeros testes verificamos que um desses componentes era alimentado e chegava ao resultado "Out Of Memory" . Pedimos desculpas pelo transtorno e grato pela atenção dispensada .
  7. Daniel , em uma das tentativas aqui efetuadas eu comentei o RegC001.RegistroC400.Clear; e o componente gerou mais de Dois milhões de linhas rapidinho sem nenhum erro e eu anexei o comando ACBrSPEDFiscal1.WriteBloco_C(False) ao termino do C470 onde eu quero o comando , rodou blz , é claro que duplicando registros , pois sem o clear o componente só agrega itens ao C400 e nunca limpa , mas acho que pode ser o caminho .
  8. Estou sim Jeferson , a sequencia esta correta como no manual de integração e tbm Demo ; oque acontece com os registros C400 ... é que eu não consigo concomitar como nos Registros C170 com o comando ACBrSPEDFiscal1.WriteBloco_C(False) , quando dou esse comando o erro "List index out of bounds" aparece ao proximo New de qualquer sequencia C405 , C460 C470 , ou seja , só consigo dar ACBrSPEDFiscal1.WriteBloco_C(False) ao iniciar o New do próximo looping do registro C400 with RegistroC400New do , isso se da porque o componente da um Clear na list inteira C400... fiz oque o Daniel pediu Write , WriteBuffer mas não deu certo , no Demo tbm não posso efetuar o comando ACBrSPEDFiscal1.WriteBloco_C(False) antes de terminar o C400 completo !
  9. Bom... Tentei colocar concomitancia = ACBrSPEDFiscal1.WriteBloco_C(False) no looping entre os registros C400 , C405 , C460 , C470 ... sem sucesso , dando o erro acima citado , amanhã estarei fazendo mais um debug pra ver se encontro onde está gerando o bug , a principio fica novamente onde está o erro que ao dar o write entre os registros C400...etc , gera-se o erro abaixo : function TBloco_C.RegistroC460New: TRegistroC460; var C400Count: integer; C405Count: integer; begin C400Count := FRegistroC001.RegistroC400.Count -1; C405Count := FRegistroC001.RegistroC400.Items[C400Count].RegistroC405.Count -1; // Erro Aqui no segundo looping após Write... // Result := FRegistroC001.RegistroC400.Items[C400Count].RegistroC405.Items[C405Count].RegistroC460.New; end; até .
  10. Não sei se eu estou fazendo coisa errada , me perdoem se for mas , vou resumir , acima ta meio zuado : 1º Nos registros C100 , C170 esta perfeito , sem nenhum erro . Estou fazendo assim para os C460 e filho C470 : while Cupons do // no segundo looping da o erro "List index out of bounds" , somente após quando ACBrSPEDFiscal1.WriteBloco_C(False) ; begin with RegistroC460New do begin ...Item do C460 with RegistroC470New do begin ...Itens do C470 , varios itens end ; end ; ACBrSPEDFiscal1.WriteBloco_C(False) ; end ; Nesta função da o erro : function TBloco_C.RegistroC460New: TRegistroC460; var C400Count: integer; C405Count: integer; begin C400Count := FRegistroC001.RegistroC400.Count -1; C405Count := FRegistroC001.RegistroC400.Items[C400Count].RegistroC405.Count -1; // Erro Aqui no segundo looping após Write... // Result := FRegistroC001.RegistroC400.Items[C400Count].RegistroC405.Items[C405Count].RegistroC460.New; end;
  11. Olhe , coloquei pra ser escrito a cada C460 após os filhos C470 anexados ele escrever , Só que o primeiro looping vai blz e no Segundo gera exceção "List index out of bounds" : // C460: DOCUMENTO FISCAL EMITIDO POR ECF (CÓDIGO 02 e 2D). if Bloco_0.Registro0000.IND_PERFIL <> pfPerfilB then begin QryRegistro_C460.Close ; QryRegistro_C460.SQL.Clear ; QryRegistro_C460.SQL.Text := 'SELECT CF.COD_CUPOM_FISCAL , '+ 'CF.NUMERO_SERIE_ECF , '+ 'CF.NUMERO_ECF , '+ 'CF.COO , '+ 'CF.DATA , '+ 'CF.NUMERO_PDV , '+ 'CF.CNPJ_CPF_CLIENTE , '+ 'CF.VALOR , '+ 'SUM(CF_ITENS.PIS_VALOR)AS VALOR_PIS , '+ 'SUM(CF_ITENS.COFINS_VALOR)AS VALOR_COFINS '+ 'FROM '+ 'CADASTRO_CF_ITENS CF_ITENS '+ 'INNER JOIN CADASTRO_CF_GERAL CF ON ( CF.COD_CUPOM_FISCAL = CF_ITENS.COD_CUPOM_FISCAL ) '+ 'Where CF.NUMERO_SERIE_ECF=:NUMERO_SERIE_ECF and CF.DATA=:DATA '+ 'GROUP BY '+ 'CF.COD_CUPOM_FISCAL, '+ 'CF.NUMERO_SERIE_ECF, '+ 'CF.NUMERO_ECF, '+ 'CF.COO , '+ 'CF.DATA , '+ 'CF.NUMERO_PDV , '+ 'CF.CNPJ_CPF_CLIENTE , '+ 'CF.VALOR '+ 'Order By CF.COO asc' ; QryRegistro_C460.ParamByName('NUMERO_SERIE_ECF').AsString := QryECFs.FieldByName('NUMERO_SERIE_ECF').AsString ; QryRegistro_C460.ParamByName('DATA').AsDate := QryECFReducao_Z.FieldByName('DATA_FECHAMENTO').AsDateTime ; QryRegistro_C460.Prepare ; QryRegistro_C460.Open ; while not QryRegistro_C460.Eof do // Aqui da o erro - "List index out of bounds" no segundo looping após o ACBrSPEDFiscal1.WriteBloco_C(False) ; begin with RegistroC460New do begin COD_MOD := QryECFReducao_Z.FieldByName('MODELO_DOC').AsString ; COD_SIT := sdRegular ; NUM_DOC := QryRegistro_C460.fieldbyname('COO').AsString ; DT_DOC := QryRegistro_C460.fieldbyname('DATA').AsDateTime ; VL_DOC := QryRegistro_C460.fieldbyname('VALOR').AsFloat ; VL_PIS := QryRegistro_C460.fieldbyname('VALOR_PIS').AsFloat ; VL_COFINS := QryRegistro_C460.fieldbyname('VALOR_COFINS').AsFloat ; if (Length(QryRegistro_C460.fieldbyname('CNPJ_CPF_CLIENTE').AsString) = 11) or (Length(QryRegistro_C460.fieldbyname('CNPJ_CPF_CLIENTE').AsString) = 14) then begin CPF_CNPJ := QryRegistro_C460.fieldbyname('CNPJ_CPF_CLIENTE').AsString ; NOM_ADQ := 'Cliente Cadastrado : '+ CPF_CNPJ ; end ; // C470: ITENS DO DOCUMENTO FISCAL EMITIDO POR ECF (CÓDIGO 02 e 2D). QryRegistro_C470.Close ; QryRegistro_C470.SQL.Clear ; QryRegistro_C470.SQL.Text := 'Select * From CADASTRO_CF_ITENS ' + 'Where NUMERO_SERIE_ECF=:NUMERO_SERIE_ECF and COO=:COO '+ 'Order By ITEM asc' ; QryRegistro_C470.ParamByName('NUMERO_SERIE_ECF').AsString := QryRegistro_C460.fieldbyname('NUMERO_SERIE_ECF').AsString ; QryRegistro_C470.ParamByName('COO').AsString := QryRegistro_C460.fieldbyname('COO').AsString ; QryRegistro_C470.Prepare ; QryRegistro_C470.Open ; while not QryRegistro_C470.Eof do begin with RegistroC470New do begin application.ProcessMessages ; COD_ITEM := QryRegistro_C470.fieldbyname('CODIGO').AsString ; QTD := QryRegistro_C470.fieldbyname('QUANTIDADE').AsFloat ; QTD_CANC := 0 ; UNID := QryRegistro_C470.fieldbyname('UNIDADE').AsString ; VL_ITEM := QryRegistro_C470.fieldbyname('TOTAL').AsFloat ; CST_ICMS := QryRegistro_C470.fieldbyname('ICMS_CST').AsString ; CFOP := QryRegistro_C470.fieldbyname('CFOP').AsString ; ALIQ_ICMS := QryRegistro_C470.fieldbyname('ICMS_PERCENTUAL').AsFloat ; VL_PIS := QryRegistro_C470.fieldbyname('PIS_VALOR').AsFloat ; VL_COFINS := QryRegistro_C470.fieldbyname('COFINS_VALOR').AsFloat ; // TAG's Adicionais para registro C470 Formato = ( Contimatic Phoenix G5 ) if Radio_Contimatic_G5.Checked = True Then begin C470_CST_PIS := QryRegistro_C470.FieldByName('PIS_CST').AsString ; C470_NAT_REC_PIS := '' ; C470_VL_BC_PIS := FormatFloat('0.00',QryRegistro_C470.FieldByName('PIS_BC').AsFloat) ; C470_ALIQ_PIS := FormatFloat('0.00',QryRegistro_C470.FieldByName('PIS_PERCENTUAL').AsFloat) ; C470_QUANT_BC_PIS := '' ; C470_ALIQ_PIS_QUANT := '' ; C470_CST_COFINS := QryRegistro_C470.FieldByName('COFINS_CST').AsString ; C470_NAT_REC_COFINS := '' ; C470_VL_BC_COFINS := FormatFloat('0.00',QryRegistro_C470.FieldByName('COFINS_BC').AsFloat) ; C470_ALIQ_COFINS := FormatFloat('0.00',QryRegistro_C470.FieldByName('COFINS_PERCENTUAL').AsFloat) ; C470_QUANT_BC_COFINS := '' ; C470_ALIQ_COFINS_QUANT := '' ; C470_COD_CTA := '' ; C470_IND_MOV := '' ; Arquivo_Temp_C470.Add( '|' + C470_CST_PIS + '|' + C470_NAT_REC_PIS + '|' + C470_VL_BC_PIS + '|' + C470_ALIQ_PIS + '|' + C470_QUANT_BC_PIS + '|' + C470_ALIQ_PIS_QUANT + '|' + C470_CST_COFINS + '|' + C470_NAT_REC_COFINS + '|' + C470_VL_BC_COFINS + '|' + C470_ALIQ_COFINS + '|' + C470_QUANT_BC_COFINS + '|' + C470_ALIQ_COFINS_QUANT + '|' + C470_COD_CTA + '|' + C470_IND_MOV ); end ; // TAG's Adicionais para registro C470 Formato = ( Contimatic Phoenix G5 ) end ; QryRegistro_C470.Next ; end ; ACBrSPEDFiscal1.WriteBloco_C(False) ; Application.ProcessMessages ; end ; // with RegistroC460New do QryRegistro_C460.Next ; end ; // while not QryRegistro_C460.Eof do
  12. Daniel . Estou debugando com o Ricardo "designerba" esse SpedFiscal e ta meio osso , o sped em questão tem umas 300 mil linhas aproximadamente , é grande , e o erro só ocorre quando muitas linhas mesmo ! Estamos Gerando os registros do bloco-0 e bloco-C... Oque se percebe é que os Registros do bloco-0 e os registros C100 e C170 , são muito rapido para gerar , coisa de segundos para 30 mil registros , agora para os registros C400... de ECF , em especial o C460 e C470 é onde ocorre o problema , começa a demora , fica parecendo amarrado e quando estão na casa dos 70 mil registros o erro é apresentado "Out of Memory" . 1-Após o C100 e Filhos... dou um = ACBrSPEDFiscal1.WriteBloco_C(False) ; 2-E a cada C400... dou um ACBrSPEDFiscal1.WriteBloco_C(False) ; 3-E por final... dou um = ACBrSPEDFiscal1.WriteBloco_C(True) ; // Fecho Só que com este movimento grande não consigo chegar a realizar a condição 3 acima citada pois fica preso no except "Out of Memory" dentro dos registro C460 e C470 , agora não sei onde em que linha ao certo , estou estudando a estrutura do componente , Daniel por gentileza , caso encontre algo que possa ajudar , ficamos muito grato ! enquanto isso vou vendo aqui pra ver se vejo algo ! no inicio da geração estamos iniciando como no Demo , assim : with ACBrSpedFiscal1 do begin DT_INI := DataInicial ; DT_FIN := DataFinal ; Path := '.\'; Arquivo := SaveDialog1.FileName ; LinhasBuffer := 1000 ; IniciaGeracao ; end ;
  13. Alem do modelo , existe tbm outras propriedades do ACBrECF que se deve parametrizar como , porta de comunicação , velocidade de porta , etc... , vc parametriza e depois ativa o componente , veja como funciona o Demo do ACBrECF que se encontra na pasta exemplo do ACBr !
  14. Daniel , este arquivo que anexei descompactado do ACBrECF.log tem 12-MB , é de um ECF Sweda ST120 com movimento até Hoje 24-01 por volta das 18 hrs , não estou tendo nenhum problema tá ! , só achei interessante postar para vc ou algum colega que quizer comparar e tbm acompanhar se consegue achar alguma situação estranha neste Log ! blz ! . Este ECF ha uma ou duas semanas atraz teve um problema na placa , ele alterava a Data para 2029 , o defeito fisico gerado no ECF foi problemas com queda de energia , nada do mencionado que segue em questão neste tópico .
  15. Um problema grave que enfrento hj foi descontinuação da Microsoft para desenvolvimento Windows Mobile do VS 2010.. em diante , tenho que ter um VS 2008 para suprir alguns clientes que tem PDA's com essa plataforma e os Clientes não querem substituir os aparelhos pra não gerar custo , e outro VS 2012 para novas versões de aplicativos para Windows Phone... ! Ai vc fala pro Cliente "Mas não tem mais desses PDA's , vc não acha pra comprar !!!" Bicho , os cara aparece com uma caixa cheia não sei da onde acha véio ! , Vai brigar com Cliente de que jeito !!! enquanto tiver essa zica tem que aguentar os cara , fazer oque ! Se o Rad Studio saisse com uma versão para tbm Deploy Nativo para Device com Windows Mobile seria mais doque um sonho ! pois mesmo com a novidade Windows 8 RT ... ainda se ve muitos PDA's em negociação no mercado com essa Plataforma ( Windows Mobile ) , não sei se importado mas existe , os Clientes acham !
  16. Então , em subtotalização , pagamento , nunca tive nenhum bug reportado por nenhum cliente , claro que tbm existe consistencias para efetuar a sequencia de cada comando antes de efetuar o Comando seguinte para o ECF para então efetuar o loop , ou seja , não deixo executar o Pagamento se o ECF não Subtotalizado , e por ai vai ... verificar sempre o Estado do ECF é sempre bacana ! algumas variaveis booleanas é uma mão na roda para alguns tipos de consistencias . Utilizo hj o ACBrECF por completo na minha AC , mas utilizei por muito tempo as Dlls sersweda e swecf e na época tbm utiliza a mesma estratégia de hj com o ACBrECF !
  17. TimeOut: 3 é muito pouco pra Sweda , aumente ! tenta colocar 30 . mas... Daniel , verificando meus fontes , talvez seja isso que não consigo detectar erros nos comandos que os cara comenta , preciso ver um log pra ver se isso acontece comigo tbm , tenho uns 30 clientes que utiliza Sweda e não consigo detectar isso ; Utilizo try except quando mando comando pro ecf esta mais ou menos assim : Tentativa : integer ; Ok : Boolean ; begin Tentativa := 1 ; Ok := False ; While Ok = False do begin try Ok := True ; AcbrECf.... // Todos os Comandos do Acbr estão assim ... except Sleep(30) ; Ok := False ; if Tentativa > 10 Then // Só se Except 10 vezes para pedir para Vazar do Sistema que bichou tudo ! begin Application.MessageBox(Problemas no ECF , Contate o Administrador do Sistema !','I N F O R M A Ç Ã O',mb_ok + mb_iconerror); // Vaza aqui ; end ; inc(Tentativa) ; end ; end ; end ; é isso .
  18. Evandro , é ai que ta o pulo do gato do VS quando vc diz " desenvolvido um aplicativo comercial nele, as chances são mínimas de uma migração futura " , discordo ! , Segundo o pluguin da Xamarin no VS existe um mecanismo de change plataform onde a sua aplicação desenvolvida em C# ou .net para Windows... , vc abre o seu fonte e da um deploy diretamente para outra plataforma móvel , parece magica , por exemplo no proprio Android ! Como disse não testei ainda por falta de tempo , a Xamarin fornece o pluguin trial para desenvolvimento , estarei testando essa parafernalha como Emuladores coisa e tal e assim que puder posto o feed back!
  19. Regis , Tbm acho tudo isso das inumeras IDE's e comigo é fato isso que acontece que vc disse , tenho soluções Delphi=Desktop e VS=Mobilidade , i é como deixei bem frizado (no momento ! , hoje !) não tem par para o VS no seguimento Mobile , seria uma Maravilha dar um deploy ou Compile 'como queira' em uma só IDE para tudo oque construimos , mas Hoje não é essa a nossa realidade , infelismente ! E a Embarcadeiro pra otimizar o Delphi para Mobilidade com todas SDK's , Drivers de DB , Emuladores , etc... como o VS 2012 esta hj , vai ter que ralar muito , quem quizer algo Mobile pronto para as próximas semanas tem que apelar pro VS , não tem outro jeito . Enquanto isso , vamos aguardando ansiosos por Mobilidade Integrado ao Delphi !
  20. Sou apaixonado pelo Pascal , mas na minha opinião em se tratando de Desevolvimento Mobile , no momento ainda não vi nada igual ao Visual Studio , desenvolvo no VS para Device Mobile (Para Plataforma Windows Mobile que hj é o Windows Phone) desde a versão VS 2003 que hj esta em sua versão VS 2012 , Microsoft com tudo muito caro mas nada igual em se tratando de produtividade (no momento !) , tive ha algumas semanas verificando algo para o Android que é a base tema do Tópico e encontrei algumas coisas para Android x Visual Studio , a Xamarim lançou um pluguin para Android no Visual Studio (Não testei ainda para Android !) , mas parece ser uma boa promessa em opções para o desenvolvimento Android . link : http://xamarin.com/monoforandroid
  21. Regys e Elton , a minha expressão não esta relacionado a este tópico e sim neste = Quando perguntamos ou questionamos algo direto ha uma pessoa , imploramos por uma resposta , ou seja , um Não ou um Corretivo como oque vcs me deram , mas queremos uma resposta , seja ela qual for , o silencio é ruim , pois não sabemos oque esta acontecendo , respondemos mesmo que odiamos a outra pessoa , mas respondemos . Em relação ao projeto em questão , no estado da Bahia estamos gerando sim o Sped Pis Cofins e tbm Sped Fiscal em produção , é um projeto pequeno ainda com poucos recursos , precisamos melhorar muito , mas esta indo , conseguimos consilhar a minha geração aqui de SP com testes no PVA com a deles na BA ja em produção . Finalizando , estaremos por esses dias disponibilizando para os colegas avaliarem . Grato pela atenção ! Regys e Elton .
  22. Demos Sim , mande um email para [email protected] aos cuidados de Ricardo ! tentamos abrir/vincular este projeto a todos aqui mas não foi aceito por um administrador do forum !
  23. marcelo_sp

    Testar Nfe

    Isso mesmo , não existe outro jeito , oque pode se fazer é vc utilizar um certificado digital A1 de um cliente seu para ser utilizado no ambiente de Homologação (teste) do Sefaz , é claro que se precisa muita responsabilidade com isso .
  24. marcelo_sp

    Testar Nfe

    Fiori , o Certificado Digital tem que ser Valido ! e tbm não pode estar vencido !
×
×
  • 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...