Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 18-01-2016 em todas as áreas

  1. Apesar do post ser antigo e o mesmo não esta como RESOLVIDO, seguem abaixo minha contribuição a quem interessa a solução, pois passei pelo mesmo problema porém era apenas as configurações da própria balança: Comunicação 100% com esta balança Bematech SA-110 ou a ELGIN SA-110 com o Componente ACBrBal 1 - Ligue a balança e mantenha pressionada a tecla 0 até o display PESO apresentar a opção: 00 FnC. 2 - Em seguida pressione a tecla CE até a opção 03 rS1 aparecer e em seguida pressione a tecla KG/100g. 3 - No campo Peso terá a informação rS232 e o display Total terá 1 4 1 0. Se o campo TOTAL tiver valor diferente altere para 1 4 1 0 digitando no display da balança 4 - Em seguida pressionando o batão KG/100g. Deslige e ligue a balança para finalizar a configuração. 5 - No componente ACBRBal configure: 5.1 - Baud = 9600 (Aqui a balança só funcionou nesse config) 5.2 - Modelo: FILIZOLA 5.3 - Porta: A sua porta de comunicação O cabo utilizado é o original que vem com a própria balança portanto não precisei "pinar". Bons códigos!!
    2 pontos
  2. Nós já pensamos em fazer algo nesse sentido, estamos vendo com o pessoal do FDD para tentar encaixar algo no FDD anual, em breve teremos alguma posição quanto a isso.
    2 pontos
  3. Correção no contador dos registros E300 ACBrSpedFiscal.pas
    2 pontos
  4. Obrigado pela colaboração! já está disponível no svn Everton!
    2 pontos
  5. tive que alterar a geracao do arquivo cnab 400 (RegistroTransacao400) pois na posicao 174-179 (DATA PARA CONCESSÃO DO DESCONTO) pediram pra informar em branco quando nao conceder desconto segue em anexo manual e classe modificada cobrancaeletronicabanrisul_pdr400_vrs15072015_ed06.pdf ACBrBancoBanrisul.pas
    1 ponto
  6. Necessidade: Foi necessário fazermos algumas alterações nas linhas de códigos do fonte do ACBr para que o Delphi XE5 pudesse compilá-lo em 64 bits. Deste modo é possível que o Delphi XE5 compile em 32 bits e 64 bits. ... \Fontes\ACBrCapicom\ACBrHTTPReqResp.pas Na linha 213: Antes Depois {$IFDEF WIN64}lCertContext: integer;{$ENDIF} Na linha 250: Antes CertContext.Get_CertContext(integer(PCertContext)); Depois {$IFDEF WIN32} CertContext.Get_CertContext(integer(PCertContext)); {$ELSE} lCertContext := integer(PCertContext); CertContext.Get_CertContext(lCertContext); PCertContext := Pointer(lCertContext); {$ENDIF} Na linha 256: Antes CertContext.Get_CertContext(integer(PCertContext)); Depois {$IFDEF WIN32} CertContext.Get_CertContext(integer(PCertContext)); {$ELSE} lCertContext := integer(PCertContext); CertContext.Get_CertContext(lCertContext); PCertContext := Pointer(lCertContext); {$ENDIF} ... \Fontes\ACBrCapicom\JwaWinBase.pas Nas linhas 6165 e 6165: Antes begin Result := PVOID(InterlockedExchange(LONG(Target), LONG(Value))); Depois {$IFDEF WIN64} var lTarget, lValue: integer; {$ENDIF} begin {$IFDEF WIN64} lTarget := LONG(Target); lValue := LONG(Value); Result := PVOID(InterlockedExchange(lTarget, lValue)); Target := PVOID(lTarget); Value := PVOID(lValue); {$ELSE} Result := PVOID(InterlockedExchange(LONG(Target), LONG(Value))); {$ENDIF} Nas linhas 6170 e 6171: Antes begin Result := PVOID(InterlockedCompareExchange(LONG(Destination), LONG(Exchange), LONG(Comperand))); Depois {$IFDEF WIN64} var lDestination, lExchange, lComperand: integer; {$ENDIF} begin {$IFDEF WIN64} lDestination := LONG(Destination); lExchange := LONG(Exchange); lComperand := LONG(Comperand); Result := PVOID(InterlockedCompareExchange(lDestination, lExchange, lComperand)); Destination := PVOID(lDestination); Exchange := PVOID(lExchange); Comperand := PVOID(lComperand); {$ELSE} Result := PVOID(InterlockedCompareExchange(LONG(Destination), LONG(Exchange), LONG(Comperand))); {$ENDIF} ... \Fontes\ACBrNFe2\ACBrNFeDANFEFRDM.pas Nas linhas 245 e 246: Antes iDelLen := PCardinal(Cardinal(ADelimiter) - SizeOf(Cardinal))^; iLen := PCardinal(Cardinal(AString) - SizeOf(Cardinal))^; Depois {$IFDEF WIN32} iDelLen := PCardinal(Cardinal(ADelimiter) - SizeOf(Cardinal))^; iLen := PCardinal(Cardinal(AString) - SizeOf(Cardinal))^; {$ELSE} iDelLen := PCardinal(int64(ADelimiter) - SizeOf(Cardinal))^; iLen := PCardinal(int64(AString) - SizeOf(Cardinal))^; {$ENDIF} Na linha 264: Antes for x := 1 to PCardinal(Cardinal(Step^) - SizeOf(Cardinal))^ do Depois {$IFDEF WIN32} for x := 1 to PCardinal(Cardinal(Step^) - SizeOf(Cardinal))^ do {$ELSE} for x := 1 to PCardinal(int64(Step^) - SizeOf(Cardinal))^ do {$ENDIF} Na linha 272: Antes Cardinal(Step) := Cardinal(Step) + SizeOf(Cardinal); Depois {$IFDEF WIN32} Cardinal(Step) := Cardinal(Step) + SizeOf(Cardinal); {$ELSE} int64(Step) := int64(Step) + SizeOf(Cardinal); {$ENDIF} ACBrHTTPReqResp.pas ACBrNFeDANFEFRDM.pas JwaWinBase.pas
    1 ponto
  7. Após ler com atenção a NT 2015 003 v1.60 referente a ao grupo do ICMS de destino "tag: ICMSUFDest)", na pág. 14 tem uma exceção que me chamou atenção. "Exceção 7: A regra de validação acima não se aplica se informada UF do local de entrega (tag: entrega/UF) igual à UF do emitente (tag: emit/enderEmit/UF)" Entendi que aqui seja a saída para operação de venda presencial para consumidor final onde o consumo ocorreu no próprio estado, ou seja, o local de entrega do destinatário seja o mesmo do emitente. Para ter certeza disso, resolvi fazer um teste e inclui o seguinte: if Ide.indPres = pcPresencial then begin Entrega.xLgr := Emit.EnderEmit.xLgr; Entrega.nro := Emit.EnderEmit.nro; Entrega.xCpl := Emit.EnderEmit.xCpl; Entrega.xBairro := Emit.EnderEmit.xBairro; Entrega.cMun := Emit.EnderEmit.cMun; Entrega.xMun := Emit.EnderEmit.xMun; Entrega.UF := Emit.EnderEmit.UF; end; Resultado: Nota Fiscal Autorizada! A SEFAZ aceitou a nota mesmo sendo com os dados: Ide.idDest = doInterestadual Ide.indFinal = cfConsumidorFinal Dest.indIEDest = inNaoContribuinte Ide.indPres = pcPresencial Sem preencher a partilha do ICMS
    1 ponto
  8. Boa tarde! Eu alterei o Post e anexei a unit conforme solicitado
    1 ponto
  9. Eu também meu amigo, mas infelizmente não localizei nenhum artigo fora este que tivesse alguma informação que poderíamos confrontar, de qualquer forma irei ajustar aqui este processo e caso a SEFAZ disponibilize alguma forma de tratar este caso volto a postar aqui. De qualquer forma muito obrigado pelas dicas William.
    1 ponto
  10. Oi Marcos, você conseguiu resolver seu problema? Estou com o mesmo problema no Simpliss...
    1 ponto
  11. Não seria interessante uma conferência anual do ACBr, como forma de reunir os usuário para trocar ideias e dicas, sentir como está a comunidade, conversar sobre o futuro do projeto?
    1 ponto
  12. Não precisa colocar sleep basta configurar o componente corretamente. // tempo de timeout ACBrNFe1.Configuracoes.WebServices.TimeOut := 15000; // tempo padrão que vai aguardar para consultar após enviar a NF-e ACBrNFe1.Configuracoes.WebServices.AguardarConsultaRet := 5000; // Intervalo entre as tentativas de envio ACBrNFe1.Configuracoes.WebServices.IntervaloTentativas := 5000; // quantidade de tentativas de envio ACBrNFe1.Configuracoes.WebServices.Tentativas := 10; // ajustar "AguardarConsultaRet" com o valor retornado pelo webservice (True/False) ACBrNFe1.Configuracoes.WebServices.AjustaAguardaConsultaRet := True;
    1 ponto
  13. ja que vai fazer a migracao ja migre para versao mais atual do delphi pois como ja foi dito o suporte ao delphi 7 se encerra em agosto ai tera que migra tudo novamente.
    1 ponto
  14. Descobri o motivo do erro, estava faltando setar o campo Configuracoes.Geral.Emitente.CNPJ.
    1 ponto
  15. Resolvido, acabei encontrado o problema, o campo correto é o DataMoraJuros, essa propriedade serve tanto para informar a partir de que data será cobrado juros e multa como para informar a data de cobrança da multa que o banco precisa...
    1 ponto
  16. Obrigado pela orientação Daniel, Modificações feitas e enviado ao SVN.
    1 ponto
  17. Analisando o commit, notei alguns erros na tradução, no que diz respeito as funções PAD Veja trecho do texto, extraído do documento "Bem_Vindo_ao_Trunk2.pdf"
    1 ponto
  18. 1 ponto
  19. Bom dia a todos! Ao Ler Retorno com "procedure TACBrBoleto.LerRetorno(AStream: TStream)" estava gerando "Access Violation", fiz a seguinte modificação: *** Unit: ACBrBoleto, Linha: 2171. De: if not Assigned(AStream) then begin ... end else SlRetorno.LoadFromStream(AStream); Para: if not Assigned(AStream) then begin ... end else begin AStream.Position := 0; SlRetorno.LoadFromStream(AStream); end;
    1 ponto
  20. Sim entendi, mas no meu caso também é Santander.
    1 ponto
  21. Boa tarde, Segue arquivos com modificação implementação do DescontoAcrescimoItemAnterior na ecfVirtual ACBrECFVirtual.pas ACBrECFVirtualBuffer.pas
    1 ponto
  22. Olá Edgar, basicamente no meu caso tenho 2 campos na minha tabela VENDA (N_DEVOLUCAO, VALOR_TROCA), então quando o cliente devolve um produto é aberto um documento de devolução, gerado um Número e crédito nesse valor. Quando o operador bate uma nova venda para esse mesmo cliente tenho um campo no Formulário de finalização onde é possível informar se uma devolução vai entrar como parte do pagamento dessa venda (seria uma espécie de crédito). No código simplesmente passo esse valor de crédito como cMP = Outros: if dm.cdsVendaCompleto.FieldByName('VALOR_TROCA').AsFloat > 0 then begin with Pagto.Add do begin cMP := mpOutros; vMP := dm.cdsVendaCompleto.FieldByName('VALOR_TROCA').AsFloat; end; end; Não sei se é a melhor maneira, mas foi a única que encontrei!
    1 ponto
  23. Provavelmente sua versão do delphi é trial e com isso o compilador não funciona na linha de comando que é isso que é feito! então não instala o mesmo!
    1 ponto
  24. Bom dia pessoal! Como ninguém se manifestou sobre os registros acima citados, implementei-os. Segue anexo as units para análise. Implementados os registros E300, E310, E311, E312, E313, E316; Adicionado em ACBrEFDBlocos.pas o tipo TACBrMovimentoDIFAL; []´s Everton Garcia ACBrEFDBloco_E_Class.pas ACBrEFDBlocos.pas ACBrEFDBloco_E.pas
    1 ponto
  25. Complementando o Daniel, o próprio Inno Setup possui uma configuração onde você diz que vai ser assinado ao final da geração.
    1 ponto
  26. Hoje em dia, é uma necessidade, assinar digitalemente, todos os binários gerados pela Empresa... anti-virus e o próprio Windows, "não gostam" de rodar executáveis não assinados (principalmente se baixados da Internet) Aqui na DJSystem, usamos o certificado da COMODO, para assinar os binários, eles tem um programa que permite a assinatura por linha de comando, e com isso, permite a criar BATs/Scripts para automatizar o processo de assinatura do binário final e instaladores Veja esses Links: http://codesigning.ksoftware.net/ (clique na aba "Download KSign") http://support.ksoftware.net/support/solutions/articles/17169-how-do-i-automate-code-signing-with-innosetup-and-ksign-
    1 ponto
×
×
  • 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.