-
Total de ítens
1.303 -
Registro em
-
Última visita
-
Days Won
9
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que hleorj postou
-
Alterar Tamanho de Logo, Posição do Nome da Empresa, Tamanho do Endereço
hleorj replied to rodrigoogioni's tópico in ACBrNFe
Rodrigoogini , poderia informar de códigos de exemplo ? -
Segue Refatoração ACBrNFSeDANFSeRLRetrato.rar
-
Segue Refatoração Fontes.rar
-
Tive que criar uma função para remove espaços duplos para o meu caso, pois os dados que estão no xml. Os dados que estão no banco foram adicionados através de importação , onde pode haver : Tab -> chr( 9 ) ou Line Feed -> chr( 10 ) ou Carriage return-> chr( 12 ) ou Espaços duplos -> chr( 32 )+chr( 32 ). const NativeLineFeed = Char(#10); NativeCarriageReturn = Char(#13); Function RemoveDuplos( Const s : AnsiString ) : AnsiString; procedure SkipBlanks(var S: AnsiString; StringLength: Cardinal; var ReadIndex: Cardinal); begin while ReadIndex < StringLength do begin if S[ReadIndex] = NativeCarriageReturn then S[ReadIndex] := NativeLineFeed else if S[ReadIndex + 1] = NativeCarriageReturn then S[ReadIndex + 1] := NativeLineFeed; if (S[ReadIndex] < #33) and (S[ReadIndex] = S[ReadIndex + 1]) then Begin Inc(ReadIndex) End else exit; end; end; var StringLength, ReadIndex, WriteIndex: Cardinal; begin Result := S; ReadIndex := 1; WriteIndex := 1; StringLength := Length(Result); while ReadIndex <= StringLength do begin SkipBlanks( Result , StringLength, ReadIndex); Result[WriteIndex] := Result[ReadIndex]; Inc(WriteIndex); Inc(ReadIndex); end; SetLength(Result, WriteIndex - 1); end; Caso tenham este problema na importação, segue trecho de minha implementação : with Det.Items[I] do begin Nota_it_ent.Chave := 0; Nota_it_ent.situacao := ''; Fornecedor.codforn := Prod.cProd; Fornecedor.descricao := copy( RemoveDuplos( Prod.xProd) ,1,60); if Fornecedor.ManterTrans then Estoque.ObterProduto( Fornecedor.codigo ) else Estoque.ObterProduto( Prod.cProd); Ps : Implementar a função RemoveDuplos no componente requer mas testes. ( AVISADOS ? )
-
Para encontrar o fio meada : basta debugar com D7 , cada rotina do componente, .. te dou um grande apoio moral de coração aberto.
-
Qual a solução que indica ?
-
Ficar isto padrão ???? function ReverterFiltroTextoXML(aTexto: AnsiString): AnsiString; var p1,p2:Integer; vHex,vStr:String; begin aTexto := StringReplace(aTexto, '&' , '&' , [rfReplaceAll]); aTexto := StringReplace(aTexto, '<' , '<' , [rfReplaceAll]); aTexto := StringReplace(aTexto, '>' , '>' , [rfReplaceAll]); aTexto := StringReplace(aTexto, '"', '"' , [rfReplaceAll]); aTexto := StringReplace(aTexto, ''' , #39 , [rfReplaceAll]); aTexto := RemoverEspacosDuplos(aTexto); <<<==== nova linha ++ p1 := Pos('&#x',aTexto); while p1>0 do begin for p2:=p1 to Length(aTexto) do if aTexto[p2]=';' then break; vHex:=Copy(aTexto,p1,p2-p1+1); vStr:=StringReplace(vHex,'&#x','',[rfReplaceAll]); vStr:=StringReplace(vStr,';','',[rfReplaceAll]); vStr:=HexToAscii(vStr); aTexto:=StringReplace(aTexto,vHex,vStr,[rfReplaceAll]); p1:=Pos('&#x',aTexto); end; result := Trim(aTexto); end; daria problema em algum momento, pois qualquer string com Espaço duplo seria removida.
-
danfe Solução Total de Paginas Danfe FastReport
hleorj replied to Wellington Alamino's tópico in ACBrNFe
Estava no trunk, e não no trunk2! peço desculpas; Espero que você tenha feito as alterações nos seus arquivos originais e não tenha copiado os meus porque são da trunk; vou proceder meu sistemas para trunk2, alguma dica para uma troca menos turbulenta ? Agradeço a troca de informações, e desculpa qualquer coisa; Tenha : Tempo disponível..café ..não durma antes das 2 da manha ..Leia as dicas do fórum.- 11 replies
-
- impressão
- fastreport
- (e 2 mais)
-
Espaço Duplo não tratado pela função function ReverterFiltroTextoXML
um tópico no fórum postou hleorj Dúvidas Gerais sobre o ACBr
Ao fazer uma importação dos dados de produtos para uma tabela de banco de dados. Num devido item na descrição do produto, segue : me causando erro no tamanho da informação ( 62 caracteres ) No xml RPFX 0100 0 FLEXIVEL FREIO HIDR DIANT DIR 93248636 (FH02310) No banco RPFX 0100 0 FLEXIVEL FREIO HIDR DIANT DIR 93248636 (FH02310) Conclusão no texto do xml existe um espaço duplo que não foi tratado pela função Na Figura Exemplo para voltar para 60 caracteres removendo os espaços duplos aTexto := StringReplace(aTexto, ' ' , ' ' , [rfReplaceAll]); Alguma dica para solucionar e ser implantada na função ? -
danfe Solução Total de Paginas Danfe FastReport
hleorj replied to Wellington Alamino's tópico in ACBrNFe
correto.nas danfes do SVN .. existem diferenças entre elas dentro de pouco tempo poderá uma enviar para uma pasta versões obsoletas.. assim é meu pensamento. as versões _Dc são as mas compatíveis com o código do SVN. , sugiro mas um tempo para torna-las oficiais. removendo o _DC .- 11 replies
-
- 1
-
- impressão
- fastreport
- (e 2 mais)
-
danfe Solução Total de Paginas Danfe FastReport
hleorj replied to Wellington Alamino's tópico in ACBrNFe
Sim, o diretório ACBRNFe2\trunk\Exemplos\ACBrNFe2\Delphi\Report, acabei de confirmar tentando atualizar novamente e tenho apenas a resposta Concluído Na revisão: 10287. Verificar as finais com _DC.fr3 para praticar as mesmas atualizacoes- 11 replies
-
- impressão
- fastreport
- (e 2 mais)
-
Atualize a sua versão do Fast que aceite scripts ... procure no post forum as soluçôes de outros usúarios.
-
Qual danfe em fast? Use danferetratonovo.fr3 ou danferetratonovo_DC.fr3 para retrato. A paisagem possui erros que serão ajustados com o devido tempo. Vc tem atualizado o acbr ?
-
Pode abrir o projeto em Fast e aplicar as mesmas configurações .. Mesmo não usando Danfe Fast ser pode alterar o código fonte ( ACBrNFeDANFEFRDM.pas ) E de interesse que Danfe Fast e Forte.. tenham o mesmo tratamento. Com relação ao seu codigo : if fQuebraLinhaEmDetalhamentoEspecifico then begin if dm_nLote in FDetMedicamentos then Result := Result + ACBrStr('NÚMERO DO LOTE: ') + med.Items[i].nLote + sQuebraLinha; if dm_qLote in FDetMedicamentos then Result := Result + ACBrStr('QUANTIDADE DO LOTE: ' )+ FormatFloat('###,##0.000', med.Items[i].qLote) + sQuebraLinha; if dm_dFab in FDetMedicamentos then Result := Result + ACBrStr('DATA DE FABRICAÇÃO: ') + DateToStr(med.Items[i].dFab) + sQuebraLinha; if dm_dVal in FDetMedicamentos then Result := Result + ACBrStr('DATA DE VALIDADE: ') + DateToStr(med.Items[i].dVal) + sQuebraLinha; if dm_vPMC in FDetMedicamentos then Result := Result + ACBrStr('PREÇO MÁX. CONSUMIDOR: R$ ') + FormatFloat('###,##0.00', med.Items[i].vPMC) + #13#10; end else begin if dm_nLote in FDetMedicamentos then Result := Result + ACBrStr('LOTE:') + med.Items[i].nLote + ' '; if dm_qLote in FDetMedicamentos then Result := Result + ACBrStr('QTD:' )+ FormatFloat('###,##0.000', med.Items[i].qLote) + ' '; if dm_dFab in FDetMedicamentos then Result := Result + ACBrStr('FAB:') + DateToStr(med.Items[i].dFab) + ' '; if dm_dVal in FDetMedicamentos then Result := Result + ACBrStr('VAL:') + DateToStr(med.Items[i].dVal) + ' '; if dm_vPMC in FDetMedicamentos then Result := Result + ACBrStr('PREÇO MÁX. CONSUMIDOR: R$ ') + FormatFloat('###,##0.00', med.Items[i].vPMC) + #13#10; end; Poderia fornecer arquivo xml com dados de medicamentos para se fazer um estudo , pois o código acima não esta seguindo o padrão de quebralinhaDetalhamentosEspecifico de outras rotinas. Obrigado por qualquer coisa.
-
Segue refatoração da Revisão - Incluída a variavél sQuebraLinha : String; sQuebraLinha := QuebraLinha; - Incluída a Função Quebralinha. Para Fast : Function .TACBrNFeFRClass.QuebraLinha : String; begin if fQuebraLinhaEmDetalhamentoEspecifico then Result := ';' else Result := ' - '; end; Para Fortes : Function TfrlDANFeRL.QuebraLinha : String; begin if fQuebraLinhaEmDetalhamentoEspecifico then Result := #13#10 else Result := ' - '; end; == == unit === DAnfes.rar ========
-
Posso melhorar o SVN ?
- 6 replies
-
- danfe
- fortesreport
-
(e 1 mais)
Tags:
-
Muitíssimo obrigada pelas respostas. Masss, rsrsrs No xml não aparece mesmo, nem se eu colocar Imposto.ICMS.pICMS := 0; Nos meus xmls quando ocorre a situação do icms 102 estão sempre aparecendo da maneira que você descreveu acima. Está idêntico. A minha dúvida é em relação ao contador que está dizendo que quando importa o xml para o programa dele aparece que o produto é "ISENTO DE ICMS". A pergunta é a seguinte: Está certo isso? Aparece mesmo? É normal? Ou o contador está fazendo algo de errado? Vou colocar em anexo o XML para conferência. Novamente, muito obrigada AD35151011111111111111591234567890000366552201.xml Oportunidade para fazer uma auditoria / consultoria no software do contator. Ps : Cobre por hora
-
Use DanfeRetratoNovo.fr3 ou DanfeRetratoNovo_DC.fr3.
-
A empresa esta no simples nacional ???
-
Bom,..vamos chegar numa acordo. ? Sua solicitação não esta facilitando a identificação das devidas informações de crédito de icms para SN e muita gente vai que ter explicar o significado dos dados na danfe;