Ir para conteúdo
  • Cadastre-se

assdias

Membros
  • Total de ítens

    12
  • Registro em

  • Última visita

Tudo que assdias postou

  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.
×
×
  • 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.