-
Total de ítens
325 -
Registro em
-
Última visita
-
Days Won
1
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Rodrigo - Digibyte postou
-
Provedor NFSE (talvez) sendo identificado errado no lote RPS
um tópico no fórum postou Rodrigo - Digibyte ACBrNFSe
Estava observando em uma leitura de RPS que alguns dados não vinham corretos. Pesquisando descobri que o provedor era identificado como sendo o local onde o serviço foi prestado e não onde foi gerado o lote RPS (Curitiba no caso). Pois bem, no código abaixo dá pra ver que realmente isso acontece. Primeiro tenta o orgão gerador, depois a tag SERVICO e por último a tag PRESTADOR DE SERVICO. No meu XML ocorre primeiro a tag servico e depois prestador de servico, isso gera um erro pois identifica o municipio do cliente como "emissor" da nota no que se refere ao provedor function TNFSeR.LerNFSe: Boolean; var ok: Boolean; CM: String; DataHorBR: String; begin if FProvedor = proNenhum then begin if (Leitor.rExtrai(1, 'OrgaoGerador') <> '') then begin CM := Leitor.rCampo(tcStr, 'CodigoMunicipio'); FProvedor := CodCidadeToProvedor(CM); end; if FProvedor = proNenhum then begin if (Leitor.rExtrai(1, 'Servico') <> '') then begin CM := Leitor.rCampo(tcStr, 'CodigoMunicipio'); FProvedor := CodCidadeToProvedor(CM); end; end; if FProvedor = proNenhum then begin if (Leitor.rExtrai(1, 'PrestadorServico') <> '') then begin CM := OnlyNumber(Leitor.rCampo(tcStr, 'CodigoMunicipio')); if CM = '' then CM := Leitor.rCampo(tcStr, 'Cidade'); FProvedor := CodCidadeToProvedor(CM); end end; if FProvedor = proNenhum then FProvedor := FProvedorConf; end; -
Não reconheçe arquivo de lote RPS ao importar
Rodrigo - Digibyte replied to Rodrigo - Digibyte's tópico in ACBrNFSe
Bom dia, por conter dados de terceiros enviei o RPS em seu email -
Não reconheçe arquivo de lote RPS ao importar
Rodrigo - Digibyte replied to Rodrigo - Digibyte's tópico in ACBrNFSe
Estive pesquisando o porque de importar somente a primeira nota do rps, comparando os fontes do acbr. Na unit pnfsConversao, na função Comentando o " if AProvedor = proGoverna then " para ficar igual as versões anteriores a importação do RPS volta a funcionar. Não entrei nos detalhes para saber exatamente o motivo mas creio que pra quem conheçe bem o acbr fique fácil Abaixo parte de um arquivo rps, note que tem uma tag contendo "tc" <?xml version="1.0" encoding="utf-8"?> <ConsultarLoteRpsResponse xmlns="http://www.e-governeapps2.com.br/"> <ConsultarLoteRpsResult> <ListaNfse> <CompNfse> <tcCompNfse> <Nfse> <InfNfse> <Numero>4765</Numero> <CodigoVerificacao>1EJJW10F</CodigoVerificacao> <DataEmissao>2016-10-03T00:00:00</DataEmissao> <IdentificacaoRps> <Numero>5898</Numero> <Serie>F</Serie> <Tipo>1</Tipo> </IdentificacaoRps> <DataEmissaoRps>2016-10-03T00:00:00</DataEmissaoRps> <NaturezaOperacao>1</NaturezaOperacao> <RegimeEspecialTributacao>0</RegimeEspecialTributacao> <OptanteSimplesNacional>1</OptanteSimplesNacional> <IncentivadorCultural>2</IncentivadorCultural> <Competencia>0001-01-01T00:00:00</Competencia> <NfseSubstituida>0</NfseSubstituida> <Servico> <Valores> -
Não reconheçe arquivo de lote RPS ao importar
Rodrigo - Digibyte replied to Rodrigo - Digibyte's tópico in ACBrNFSe
Então porque será não está mais lendo após a atualização? Vou pesquisar nos fontes pra ver se acho algo ... -
Boa tarde, atualizei hoje os fontes acbr e começou a não importar todas as notas do arquivo de lote, somente a primeira. Sei que existia alguma rotina onde era feito um reconheçimento se o arquivo era de lote ou não mas como alterou os fontes não achei mais. O código abaixo achei estranho pois nem sempre um arquivo rps terá em seu nome "-rps.xml", estaria ali o erro? function TNotasFiscais.LoadFromFile(CaminhoArquivo: String; AGerarNFSe: Boolean = True): Boolean; var XMLStr: String; XMLUTF8: AnsiString; i, l: integer; MS: TMemoryStream; begin MS := TMemoryStream.Create; try MS.LoadFromFile(CaminhoArquivo); XMLUTF8 := ReadStrFromStream(MS, MS.Size); finally MS.Free; end; l := Self.Count; // Indice da última nota já existente // Converte de UTF8 para a String nativa da IDE // XMLStr := DecodeToString(XMLUTF8, True); Result := LoadFromString(XMLStr, AGerarNFSe); if Result then begin // Atribui Nome do arquivo a novas notas inseridas // for i := l to Self.Count - 1 do begin if Pos('-rps.xml', CaminhoArquivo) > 0 then Self.Items.NomeArqRps := CaminhoArquivo else Self.Items.NomeArq := CaminhoArquivo; end; end; end;
-
Piraquara/PR - erro ao ler XML
Rodrigo - Digibyte replied to Rodrigo - Digibyte's tópico in ACBrNFSe
Liguei na empresa que presta serviço para piraquara - http://www.elotech.com.br/suporte.php . Acho que é um provedor novo. Procurei no cidades.ini por algumas cidades que eles me informaram que atendem e, por exemplo Ponta Grossa/PR, tem um provedor cadastrado mas segundo eles já não seria mais esse (Provedor=fintelISS) O que fazer ? -
Estou tentando importar um xml/nfse do município de Piraquara/PR e notei que o mesmo não existe na lista de cidades. Ao ler a data de emissão ocorre um erro pois como o provedor é "proNenhum" é feita a tentativa de ler data e hora (código abaixo) porém no arquivo a informação é somente data. if FProvedor in [proFreire, proSpeedGov, proVitoria, proDBSeller] then NFSe.DataEmissao := Leitor.rCampo(tcDat, 'DataEmissao') else NFSe.DataEmissao := Leitor.rCampo(tcDatHor, 'DataEmissao'); Abaixo copiei o link da definição do xml da nfse. Com essas informações é possível inserir Piraquara na lista de cidades e atualizar o ACBR? http://shad.elotech.com.br/schemas/iss/nfse_v1_2.xsd
-
Bom dia, estou tento problema em algumas importações do XML. Tomando por base uma alíquota de 5% algumas prefeituras me perece que representam com 0.05 outras com 5.00. O Acbr tem alguma tratamento, já passaram por algo assim ?
-
Sped ECF Disponibilizado do Trunk2
Rodrigo - Digibyte replied to Isaque Pinheiro's tópico in ACBrSPEDECF
O componente já existe, é justamente isso que está no título do tópico, basta instalar pelo trunk2o o instalador acbr). Quanto ao exemplo provavelmente por enquanto não vai ter mas segue o padrão dos outros componente e em uma das páginas iniciais do tópico tem um exemplo de código em Delphi que coloquei. -
Sped ECF Disponibilizado do Trunk2
Rodrigo - Digibyte replied to Isaque Pinheiro's tópico in ACBrSPEDECF
Se está certo porque minhas units estão erradas ? -
Sped ECF Disponibilizado do Trunk2
Rodrigo - Digibyte replied to Isaque Pinheiro's tópico in ACBrSPEDECF
Acabei de atualizar os fontes (meu AcbrSped.pas está atualizado) e os memory leaks voltaram. A primeira imagem são com as minhas alterações a segunda com o que está no trunk2. Repetindo, segui exatamente o que estava numa unit do SpedPisCofins (não tem os overloads) e você disse que não é assim. Ela está errada? Realmente não sei o que estou fazendo de errado. Se puder realmente verificar e explicar como deve ser ajudaria porque pelas imagens dá pra ver que não está ok. Do que conheço de OO na classe pai está declarado como virtual para ser implementada na filha. Essa implementação seria feita utilizando a diretiva Override e não Overload (que serve para criar métodos com o mesmo nome na mesma classe). Se a lógica é outra aguardo explicação ... -
Sped ECF Disponibilizado do Trunk2
Rodrigo - Digibyte replied to Isaque Pinheiro's tópico in ACBrSPEDECF
Estou fazendo com base no que tem no SpedPisCofins que creio tem as modificações corretas para estarem no Trunk2. Esse por exemplo é o que está no ACBrEPCBloco_M_Class. " procedure CriaRegistros; procedure LiberaRegistros; public constructor Create ; /// Create destructor Destroy; override; /// Destroy procedure LimpaRegistros;" Quanto a atualização fiz antes de começar as alterações .... Talvez fosse o caso de criar uma unit template para que pudéssemos ter como referência. De qualquer forma antes, com o overload, estava dando memory leak e agora não. Como fazer então ? -
Sped ECF Disponibilizado do Trunk2
Rodrigo - Digibyte replied to Isaque Pinheiro's tópico in ACBrSPEDECF
Os blocos X e Y estavam com implementação erradas dos create / destroy e a memória não era devidamente liberada --> memory leak. Foi efetuada a correção, vou dar uma olhada nos outros blocos, tem alguns com problema também. ACBrECFBloco_X.pas ACBrECFBloco_X_Class.pas ACBrECFBloco_Y.pas ACBrECFBloco_Y_Class.pas -
Sped ECF Disponibilizado do Trunk2
Rodrigo - Digibyte replied to Isaque Pinheiro's tópico in ACBrSPEDECF
Uma pergunta, os blocos que não são informados não deveria gerar nada certo? Nem o registro de abertura nem o de fechamento certo? -
Alteração de registros importados dentro do ECF não permitido
um tópico no fórum postou Rodrigo - Digibyte ACBrSPEDECF
Eu imaginei gerar algumas informações "default" (por não ter no sistema), dando a possibilidade do usuário alterar dentro do Sped ECF. Verifiquei porém que o validador não permite alterar a maior parte dos dados importados, alguém mais viu isso também? Mais um problema pra resolver. -
Sped ECF Disponibilizado do Trunk2
Rodrigo - Digibyte replied to Isaque Pinheiro's tópico in ACBrSPEDECF
Então falta os arquivos :( agora com arquivos ... ACBrECFBloco_P.pas ACBrECFBloco_P_Class.pas -
Sped ECF Disponibilizado do Trunk2
Rodrigo - Digibyte replied to Isaque Pinheiro's tópico in ACBrSPEDECF
Segue Bloco P. 1) Criados métodos "RegistroxxxNEW" 2) Os registros P300, P400, P500 estavam como listas mas pelo manual a ocorrência é única, dessa forma, observando os outros Sped, alterei os mesmos 3) Testei e está compilando, agora creio que a classe já pode ser alimentada com dados para gerar o registro, isso ainda não testei mas irei fazer hoje -
Sped ECF Disponibilizado do Trunk2
Rodrigo - Digibyte replied to Isaque Pinheiro's tópico in ACBrSPEDECF
Se é pra mim, como pareçe, realmente não entendi essa observação -
Sped ECF Disponibilizado do Trunk2
Rodrigo - Digibyte replied to Isaque Pinheiro's tópico in ACBrSPEDECF
Pessoal estou criando o métodos RegistroXXXXNEW para o Bloco P que está sem -
Sped ECF Disponibilizado do Trunk2
Rodrigo - Digibyte replied to Isaque Pinheiro's tópico in ACBrSPEDECF
Procure nas mensagens deste tópico, tem uma unit em delphi que postei e pode servir como inspiração -
No LimpaRegistros do bloco Y tinha duas vezes o FRegistroY990.Free, gerando erro. ACBrECFBloco_Y_Class.pas
-
Pessoal, o ecf está sendo feito com base no trunk2 ou trunk? Pergunto porque os fontes do ecf estavam no trunk2 mas por necessidade (pois o trunk 2 está com alguns problemas) estavam fazendo o desenvolvimento com base no trunk e que eu saiba houveram alterações nas units e não é compatível... ou é ? Quero ver como faço pra ajudar a dar continuidade
-
Sped ECF Disponibilizado do Trunk2
Rodrigo - Digibyte replied to Isaque Pinheiro's tópico in ACBrSPEDECF
Segue bloco P, não está pronto, falta implementar a propriedades mas o grosso da classe está feito. Não vou poder mexer no projeto por uns 10 dias então se os interessados puderem contribuir seria uma boa pra todos ! ACBrECFBloco_P.pas ACBrECFBloco_P_Class.pas -
Sped ECF Disponibilizado do Trunk2
Rodrigo - Digibyte replied to Isaque Pinheiro's tópico in ACBrSPEDECF
Seguem units alteradas: Está gerando o bloco 0, já testei importação pelo ecf e deu tudo certo Alterei alguns parâmetros de inteiro para string, seguindo o padrão do sped contribuições (cep por exemplo) Implementei várias partes de código faltando ou incorretas O que vi que está faltando: limpar memória após gerar o arquivo (TStringList's) Acho que agora está mais fácil para todos que puderem contribuir pois temos um início. ACBrECFBloco_0_Class.pas ACBrECFBloco_0.pas ACBrSpedEcf.pas Vou anexar a unit do delphi que tenho e que gerou e validou o arquivo. Quem quiser usar como referência é só baixar e pegar a parte do código que gera o sped, é bem simples, tem alguns lugares que pego informações do banco de dados mas é só tirar e inserir os dados diretamente para testar. UFrmSpedEcf.pas