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. Daniel , o problema é na minha estrutura de banco de dados mesmo e os componentes estão perfeitos . Muito obrigado cara pela ajuda .
  2. Então Daniel , No metodo ACBrECF.VendeItem em Aliquota informamos o Indice que pode ser T01 , FF etc... ou o percentual da Alíquota , certo ? No meu caso eu utilizo por indice e para ECF's funciona porque ele não edita nada porque ja esta cadastrado no ECF o padrão da Aliquota T01 , T02 etc... , mas no caso do ACBrECFVirtualSat ele modifica os indices no ini . Não quis modificar o componente para sugestão porque o pessoal deve ter um formato diferente de utilizar , eu criei uma solução na AC que somente quando for ECFVirtual informo no ACBrECF.VendeItem a Aliquota em % e não o índice que pega no ini , porque no meu caso usando Virtual e buscando o indice da Aliquota que vem do ini ele da "Alíquota 'XX' não encontrada" em algumas alíquotas ! , fica divergente o meu índice informado do meu banco com o do ini . Obrigado Daniel
  3. Bom dia Daniel , Então , como o componente reposiciona os índices no .Ini eu perco a minha sequencia do meu cadastro , as alíquotas estão cadastradas só que a sequencia dos índices das alíquotas se alteram , por exemplo : O meu indice = 05=6|03|18,00|T|0| altera para 08=9|09|18|T|0| e não há mais oque programar em alíquotas . Utilizo ACBrECF.VendeItem e na Aliquota coloco o indice e não Aliquota . ACBrECF.VendeItem( Prod_Atual.Prod_cEAN , // Código de Barras Prod_Atual.Prod_xProd_Redusida , // Descrição Prod_Atual.Imposto_ICMS_ECF , // Indice da Aliquota = FF , II , T01 , T02 .... ====>>> Aqui Prod_Atual.Prod_qCom , // Quantidade Prod_Atual.Prod_vUnCom , // Valor Unitário Prod_Atual.Prod_vDesc , // Valor Desconto / Acréscimo Prod_Atual.Prod_uCom , // Unidade de Medida Prod_Atual.Prod_Tipo_Desc_Acresc , // Tipo do Desconto/Acréscimo se '%' ou '$' Prod_Atual.Prod_Desc_Ou_Acresc) ; // 'D' ou 'A' Obrigado Daniel
  4. Boa noite , Utilizo o ACBrECFVirtualSat e tenho o cadastro de Alíquotas de Icms normal , F1 , T18 , etc... na retaguarda . Quando carrego a AC carrego tambem em ACBrSat.ini reescrevendo estas configurações do meu cadastro de índices da minha retaguarda que fica assim : [Aliquotas] // Meus indices 00=1|FF|0,00|T|0| 01=2|II|0,00|T|0| 02=3|NN|0,00|T|0| 03=4|01|7,00|T|0| 04=5|02|12,00|T|0| 05=6|03|18,00|T|0| 06=7|04|25,00|T|0| 07=8|05|18,00|T|0| 08=9|06|18,00|T|0| 09=10|07|12,00|T|0| 10=11|08|11,00|T|0| ...quando ativo o ACBrECFVirtualSat ele tem um método interno que é procedure TACBrECFVirtualClass.AtualizarAliquotasMemoria; que reposiciona todos os meus indices rescrevendo o arquivo ACBrSat.ini e não consigo ter o controle destes índices modificando e deixando como abaixo : [Aliquotas] // Indices que o componente reposiciona 00=1|F1|0|T|0| 01=2|I1|0|T|0| 02=3|N1|0|T|0| 03=4|FS1|0|S|0| 04=5|IS1|0|S|0| 05=6|NS1|0|S|0| 06=7|07|7|T|0| 07=8|08|12|T|0| 08=9|09|18|T|0| 09=10|10|25|T|0| 10=11|11|18|T|0| 11=12|12|18|T|0| 12=13|13|12|T|0| 13=14|14|11|T|0| Gostaria por gentileza saber dos colegas como estão lidando com este caso ? Obrigado
  5. Bom dia @Daniel Simoes e demais colegas , Tenho utilizado este recurso em minha AC com o ACBrTEFD e alguns clientes estão acostumado a este recurso , alias é comum hj nos Softwares Comerciais a captura do Cpf e Cnpj pelo PinPad . Em se falando do recurso implementado no ACBrTEFD , tivemos um problema "AV" em locais distintos no Delphi ao debugar quando capturado "Somente o CNPJ" utilizando a chamada ObtemDadoPinPadDiretoEx . A correção veio na alteração da chamada a DLL para ObtemDadoPinPadEx , a diferença entre as duas chamadas é que ObtemDadoPinPadEx retorna o solicitado em ContinuaFuncaoSiTefInterativo no campo 670 . Resolvi então criar uma unit separada de acesso a DLL CliSitef , ou seja , trabalho o TEF com o ACBrTEFD e utilizo a chamada separado somente para captura de Cpf e Cnpj fora do componente , neste caso desativo o ACBrTEFD antes da captura e esta funcionando bem . Vou postar aqui a unit pra quem quiser utilizar . Obrigado Daniel . Unit_TEF_Util_Sitef.pas
  6. Bom dia @Daniel Simoes , tudo bem ?! Atualizei hj os fontes e percebi que ainda não foi implementado ao componente este recurso , por gentileza , teria como verificar por favor ? Grato .
  7. for i := 0 to Arquivo_List.count -1 do showmessage('Conteudo Linha = ' + inttostr(i) + ' = ' + Arquivo_List.Strings);
  8. procedure Cria_Arquivo ; var Arquivo : TStrings ; begin Arquivo :=TStringList.create ; try Arquivo.Clear ; Arquivo.add('A;12024;389141;FULANO ;RUA TESTE;S/N;CIDADE TESTE;(77)9999-9999;'); Arquivo.add('B;12024;389141;2113060;MSL;3;20160610;20160910;2500;'); Arquivo.SaveToFile('c:\Meu_Arquivo.txt'); finally Arquivo.Free ; end; end;
  9. Como assim ? Criar oque ? Acima é somente uma chamada para quebrar os campos delimitados , vc usa o procedimento da maneira que quiser , não tem que criar nada . Isso acima é só um exemplo .
  10. Use este procedimento para leitura : procedure Split(const Delimiter: Char; Value: string; const Strings: TStrings) ; begin Assert(Assigned(Strings)) ; Strings.Clear ; Strings.Delimiter := Delimiter ; Strings.StrictDelimiter := True ; Strings.DelimitedText := Value ; end; Exemplo de Uso : procedure Cadastra_COOs ; var Arquivo_COO : TStrings ; Data_Doc : String ; ECF_Modelo : String ; ECF_Numero_Serie : String ; ECF_Numero : String ; Numero_Pdv : String ; COO : String ; Valor : String ; begin Arquivo_COO:=TStringList.create ; Arquivo_COO.Clear ; try Split(';' , 'B;12024;389141;2029465;ALG;9;20151214;20160915;2500' , Arquivo_COO) ; // Delimeter pode ser '|' ou outro utilizado no seu arquivo Data_Doc := Arquivo_COO.Strings[0] ; ECF_Modelo := Arquivo_COO.Strings[1] ; ECF_Numero_Serie := Arquivo_COO.Strings[2] ; ECF_Numero := Arquivo_COO.Strings[3] ; Numero_Pdv := Arquivo_COO.Strings[4] ; COO := Arquivo_COO.Strings[5] ; Valor := Arquivo_COO.Strings[6] ; with Qry_Avulsa_Temp do begin close ; sql.clear ; sql.text := 'insert into #'+ FrmPrincipal.SysInfo.ComputerName + 'COOS_Vinculados' + ' ( CodigoReferenciaNF ,' + 'Data_Doc ,' + 'ECF_Modelo ,' + 'ECF_Numero_Serie ,' + 'ECF_Numero ,' + 'Numero_Pdv ,' + 'COO ,' + 'Valor )' + 'values(' + ':CodigoReferenciaNF ,' + ':Data_Doc ,' + ':ECF_Modelo , ' + ':ECF_Numero_Serie ,' + ':ECF_Numero ,' + ':Numero_Pdv ,' + ':COO ,' + ':Valor )' ; ParamByName('CodigoReferenciaNF').asinteger := CodigoReferenciaNF ; ParamByName('Data_Doc').AsDate := StrToDate(Data_Doc) ; ParamByName('ECF_Modelo').asstring := ECF_Modelo ; ParamByName('ECF_Numero_Serie').asstring := ECF_Numero_Serie ; ParamByName('ECF_Numero').asstring := ECF_Numero ; ParamByName('Numero_Pdv').asstring := Numero_Pdv ; ParamByName('COO').asstring := COO ; ParamByName('Valor').AsFloat := StrToFloat(Valor) ; ExecSQL ; end; finally Arquivo_COO.Free ; end; end;
  11. Obrigado @Daniel Simoes , Deus abençoe !
  12. Boa tarde @Andrade., Então amigo quem faz essa avaliação e subir ao SVN são os Administradores e Moderadores aqui do fórum .
  13. Boa tarde a todos , @Daniel Simoes , Fiz uma implementação na Unit ACBrTEFDCliSiTef para captura de Cpf/Cnpj e gostaria que se possível verificasse se esta compatível para utilizar no componente ACBrTEFD . Observações para utilização do recurso : 1 - Entrar em contato com a Software Express para solicitação da documentação para permissão e responsabilidades da Software House para utilizar o recurso . 2 - Após aprovação junto a Software Express da documentação será fornecido pela Software Express "Identificador" e "Chave personalizada" da sua Software House que serão utilizados na sua AC em cada solicitação de CPF ou CNPJ . 3 - Para este recurso de captura de Cpf / Cnpj não é nescessario nenhuma outra DLL ou configuração no componente para que funcione apenas as DLLs Clisitef32 versão 6 (não testei com versões inferiores) . edit1.text := ACBrTEFD1.TEFCliSiTef.ObtemDadoPinPadDiretoEx_CpfCnpj( docCpf {ou docCnpj} , 'fvdsfdfdsfdsfdsfdsfdsfdsfdsfdsfdsfdsfdsa'+ 'fdsfdsfdsfdsfdsfdsfdsfdsfdsfdsfdsfdsfdsfdsfdsf'+ 'fdsfsadfsdfdsfdsfsdfdsfdsfdsfdsds'+ 'gfdgfdgfdgfdgfgfdggdgdgfdgfdg'+ 'gdfgdgfdgfggggdgfdgdg' , '00.000.000/0000-00' ) ; Parte do código implementado no componente foi copiado aqui mesmo do forum em : Obrigado . ACBrTEFDCliSiTef.pas
  14. Sim consegui anexar no SGRSAT em um teste efetuado hj a tarde solicitado por email da Sefaz SP , mas como mencionei acima continua um problema de "NIRE não encontrado" 1 - O problema do certificado G5 parece estar solucionado . 2 - Para novo cadastro para não aguardar a correção referente ao NIRE , eles pediram para anexar Cópia simplificada assinada pelo certificado do Cadastro junto a JUCESP , mas resolvi aguardar até dia 26/02/2017 , data em que expira meu certificado modelo G4 .
  15. Pessoal , Já esta funcionando o add do novo modelo de Certificado porem o erro da validação do NIRE persiste .
  16. Veja , não é o leitor , a sua AC que vai controlar o procedimento que o leitor capturar . A maioria dos leitores finaliza a leitura com Enter = #13 , Se vc programar o evento keypress ou keyDown ou até keyUp do edit pra que seja executado o seu procedimento de busca na primeira leitura "primeiros 22 caracteres" obviamente não ira funcionar , pois se trava de 44 caracteres . Em resumo uma forma simples vc poderia implementar assim : evento keypress do edit da chave : procedure Tform1.edit1keypress(Sender); begin if not (key in ['0'..'9' , #13 , #8]) then begin if (key = #13) and (Length(edit1.text) = 44) then begin showmessage(edit1.text) ; end; end; end; ... o #13 para o keypress ou vk_return para keydown é oque vc precisa para manipular isso , vc pode utilizar diversos métodos dessa busca com Timers com variaveis etc...
  17. Na sua AC só execute o método de busca quando 44 posições preenchidas .
  18. marcelo_sp

    NFe avulsa

    Como assim NFe Avulsa ? Vc quer dizer NF para consumidor como as NFs antigas ? Se sim , isto não existe mais , para emissão de NFe vc precisa dos dados cadastrados do Emitente e Destinatário e a definição do enquadramento correto do regime tributário do emitente . Produtos com suas NCM's e operação CFOP devidamente informadas .
  19. Mas tem como fixar a configuração de rede no Sat Sweda ai não perde mais , vc faz isso no próprio Software utilitário do Sat Sweda "InfSat" muito simples . Se deixar dinâmico a configuração de fabrica perde mesmo . http://sweda.com.br/tecnologia-fiscal/sat/ ...Driver Windows ...Driver Sat (Inf de Instalação)
  20. Em relação a armazenamento de dados em banco são acrescentados alguns dados a mais aos que ja se armazena para ECF , como : Chave CFe , XML , Códigos da comunicação com o Sat no momento da venda , os demais dados provavelmente vc ja grava que são Impostos etc...
  21. Ja chegou a verificar e testar o comportamento do componente ACBrECFVirtualNFCe ? Ele faz exatamente esta integração !!
  22. Bom dia , A gravação do item no Log esta sendo duplicada em ACBrECFVirtual.pas linha 1836 , a function TACBrECFVirtualClass.AchaICMSAliquota(..... Linha 3221 . faz a mesma gravação do item trazendo duplicado no log . Comentei a linha 1836 de ACBrECFVirtual.pas . Obrigado . ACBrECFVirtual.rar
  23. CFe's emitidos por Sat Dimep (produção) já aparecem hoje 18/07/2016 com cupons em Alerta no SRG-SAT devido a incompatibilidade de versão !!!!
  24. Dimep tbm não tem nada disponível em relação a versão 0.07(Homologação) , em contato que tivemos disseram estar ainda em Homologação com a Sefaz .
  25. Voltou a enviar na versão 0.06 (Teste com Sat Dimep) .
×
×
  • 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.