Jump to content

logo_acbr_paygo.png

Chegou o TEF ACBr PayGo
Seja um revendedor e ofereça uma solução completa para seu cliente.


botao_saibamais.png

beneficios.png

Curso Dominando o ACBrMonitor
Novo Módulo Soluções de Varejo
Assine o SAC ACBr em qualquer plano e tenha acesso

Saiba Mais

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba Mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

assdias

Membros
  • Content Count

    12
  • Joined

  • Last visited

Community Reputation

3 Neutral

About assdias

  • Rank
    Novato

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Com essa configuração que esta nas imagens, consegui enviar sem precisar mexer nas Opções da Internet. A consulta de Status de Serviço, pelo jeito não leva em consideração essa nova configuração (http://www.cte.ms.gov.br/atencao-alteracao-do-protocolo-de-comunicacao-a-partir-de-02-04-2018/). Pois em todos os casos ela funciona.
  2. Boa tarde! Eu alterei o Post e anexei a unit conforme solicitado
  3. 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;
  4. Bom dia a todos! Como o default é false para a propriedade MultaValorFixo logo no IfThen o valor verdadeiro não pode ser o PercentualMulta e sim o ValorFixoEmR$, e polindo um pouco mais o código podemos simplifica-lo para algo assim já que temos o IfThen que atende as duas situações "PercentualMulta" ou ValorFixoEmR$: *** Unit ACBrBoleto.pas, linha 1609. if PercentualMulta <> 0 then begin AStringList.Add(ACBrStr('Cobrar multa de ' + ifthen(MultaValorFixo, FormatCurr('R$ #,##0.00', ValorDocumento*( 1+ PercentualMulta/100)-ValorDocumento), FloatToStr(PercentualMulta) + '%') + ' após o vencimento.')); end; ACBrBoleto.pas
  5. Bom dia a todos! Terminei agora pouco a implementação da impressão da Inutilização no Fast Report, como não quis depender de uma NFe para carregar os dados do emitente, limitei a apresentar apenas o CNPJ do Emitente, vou disponibilizar os fontes para todos, caso o Projeto ACBr queira melhorar e implementar no projeto fiquem a vontade. Segue... ** Os dados de parâmetros estão sendo carregados, coloquei algumas condições "Assigned(FNFe)" em "CarregaParametros" para evitar Access Violation. Exemplo de uso: OpenDialog1.Title := 'Selecione a Inutilização'; OpenDialog1.DefaultExt := '*.XML'; OpenDialog1.Filter := 'Arquivos XML (*.XML)|*.XML|Todos os Arquivos (*.*)|*.*'; OpenDialog1.InitialDir := ACBrNFe1.Configuracoes.Arquivos.PathInu; if OpenDialog1.Execute then begin ACBrNFeDANFEFR1.Sistema := 'ACBr'; ACBrNFe1.InutNFe.LerXML(OpenDialog1.FileName) ; ACBrNFeDANFEFR1.ImprimirInutilizacao; //ACBrNFeDANFEFR1.ImprimirInutilizacaoPDF; end; ACBrNFeDANFEFR.pas ACBrNFeDANFEFRDM.pas ACBrNFeDANFEFRReg.pas INUTILIZACAO.fr3
  6. Boa note a todos, acredito que você já deva ter resolvido, só para deixar registrado segue o caminho para sua dúvida: 1) Depois das classes prontas você precisa criar um packege, adicionar as class e compilar (No meu caso eu deixei como Designtime and runtime, não me recordo se é a regra) 2) Adicione seu AureliusDataset e no menu de contexto do componente você encontrar uma opção "Load Field Definitions..." 3) No Load Field Definitions, na caixa Adicional Packages, clique no botão "+", localize a BPL gerada pelo pacote criado no passo 1 4) No combo "Load Field from class" selecione a classe desejada 5) Voltando ao menu de contexto do AureliusDataset, na opção Fields Editor, segue os passos já conhecidos... Obs.: Para adicionar um campo de uma classe que contem relacionamento com a classe selecionada no passo 4, você edita o FieldName pelo objecto inspector adicionando um ponto ponto . Exemplo: Vamos supor que um determinado campo é uma classe (Objeto) chamado Empresa e você quer o CNPJ dela, então coloque: Empresa.CNPJ, dessa forma você terá acesso a esse conteúdo pelo DataSet. Desculpe pela demora, mais fica aqui registrado.... Abraço!
  7. Onde encontrar essa classe com as últimas atualizações?
  8. Estou utilizado o TMS Aurelius em Desenvolvimento, tenho gostado sinto falta de algumas flexibilidades que encontramos no Hibernate, acredito que irá amadurecer com o tempo. Encontrei algumas dificuldades que resolvi como help e com muito teste até achar o melhor caminho. Algumas limitações precisei resolver mexendo no fonte do próprio Framework (Veja o tópico "") Algumas situações recorri ao bom e velho SQL, até porque precisava de mais performance, e também por ser complexo. Essa parte do complexo o Aurelius deixou a desejar... mais estou tentando desvendar melhor, acredito que seja falta de domínio no framework. Hoje, tenho um PDV por finalizar usando 90% do Aurelius e uma Retaguarda sendo implementada usando 100% nos cadastros e movimentações, 20% nas pesquisas, 0% nas ferramentas de importação de dados, 0% nos Relatórios. Essa tem sido minha experiencia até o momento.
  9. Eu procurei e não encontrei essa property "MaxConstraintNameLength" só achei funções "GetMaxConstraintNameLength" e mesmo que existisse o firebird só suporta 31 caracteres para nomes de FK. Então falta uma implementação como essa que fiz ou algo mais sofisticado... para dar suporte a nomes longos de FK. *** Essa função "GetMaxConstraintNameLength " na unit: Aurelius.Sql.Firebird.pas, esta fixo o valor "MaxConstraintNameLength", eu poderia ter implementado aqui a solução (só para o Firebird). Mas, achei melhor colocar no ancestral, para não ter problemas futuros com outros bancos. Da forma que fiz estou considerando o "MaxConstraintNameLength" de cada banco: function TFirebirdSQLGenerator.GetMaxConstraintNameLength: Integer; begin Result := 31; end;
  10. Resolvi o problema acima, segue solução: Alterado no TMS Aurelius a unit: "Aurelius.Sql.AnsiSQLGenerator" function TAnsiSQLGenerator.GetForeignKeyName(ForeignKey: TForeignKeyMetadata): string; begin Result := 'FK_'; if ForeignKey.FromTable.Schema <> '' then Result := Result + ForeignKey.FromTable.Schema + '_'; Result := Result + ForeignKey.FromTable.Name + '_'; if ForeignKey.ToTable.Schema <> '' then Result := Result + ForeignKey.ToTable.Schema + '_'; Result := Result + ForeignKey.ToTable.Name + '_' + ConcatColumnNames(ForeignKey.FromColumns, '_'); // Original: Result := Copy(Result, 1, GetMaxConstraintNameLength); // Novo, quando o numero de caracteres do nome for maior que o suportado pelo banco de dados, numera as FK : if not (Length(Result) > GetMaxConstraintNameLength) then Result := Copy(Result, 1, GetMaxConstraintNameLength) else Result := Format('%s%3.3d',[Copy(Result, 1, GetMaxConstraintNameLength-3), ForeignKey.FromTable.ForeignKeys.Count]); end;
  11. Bom dia! Tenho usado o TMS Aurelius e estou tendo dificuldades em classes que faz uso de JoinColumn, na seguinte situação: [Association([TAssociationProp.Lazy], [TCascadeType.SaveUpdate])] [JoinColumn('VENDAPRAZOCONTACONTABIL_ID', [TColumnProp.Required], 'ID')] FVendaPrazoContaContabil: Proxy<TPlanoContas>; [Association([TAssociationProp.Lazy], [TCascadeType.SaveUpdate])] [JoinColumn('VENDAVISTACONTACONTABIL_ID', [TColumnProp.Required], 'ID')] FVendaVistaContaContabil: Proxy<TPlanoContas>; Nesse caso, na geração da tabela do banco de dados (Firebird) ele cria a relação do primeiro campo, mais no segundo ocorre o seguinte erro: Index FK_PDVCONFIGURACAO_PLANOCONTAS_ already exists'. *** Pelo que percebi o Aurelius gera o nome da "FK" com o nome da tabela principal + o nome da tabela FK, onde nesse caso deveria numera-las ou ter alguma forma para informar o nome da relação. Ou o firebird (2.5) suportar nome de FK com mais de 31 caracteres. Alguém já passou por essa situação?
  12. Rodrigo! Tem como você disponibilizar essa DLL estou tendo a situação da Epson não imprimir esse relatório.
×
×
  • Create New...