Ir para conteúdo
  • Cadastre-se

wilton_rad

Membros
  • Total de ítens

    33
  • Registro em

  • Última visita

1 Seguidor

Contact Methods

  • Website URL
    http://www.radinfo.com.br

Últimos Visitantes

1.365 visualizações

wilton_rad's Achievements

Contributor

Contributor (5/14)

  • First Post
  • Collaborator Rare
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

6

Reputação

  1. nao entendi muito bem qual a finalidade do VALORABATIMENTO nao é a mesma coisa que desconto? quando devo usa-lo no lugar do desconto?
  2. ola amigos, implementando aqui o acbrboleto, e uma duvida basica. qual melhor tipo de campo para armazenar o nosso numero. em alguns bancos o acbr, pega so a parte inteira do nossonumero e despreza outras informacoes, ex: banco do brasil, que faz um tratamento ao ler o arquivo do banco, e dependendo de varios fatores retorna so uma parte do nossonumero, para esse caso, um campo inteiro bastaria para armazenar essa informacao outros banco por ex: da caixa, usando layout 240 ele simplementes pega assim: NossoNumero := Copy(Linha,42,15); entao logo, o campo poderá retornar até 15 digitos, o que iria estourar o campo int no banco. por que alguns pega so uma parte, e outros pega o campo todo? nao existe uma padronização nisso? nesse caso teria que ter um campo nossonumero varchar de 15 outros ja pega dependendo da propriedade tamanhomaxnossonumero. estou achando bem confuso isso!
  3. usamos versao licenciada, alias temos 15 licencas da versao enterprise, e sim tive que fazer uma instalacao limpa para reinstalar os componentes de terceiros com devexpress e report builder, como ja resolvi fazendo a intalacao manual do acbr, e como logou vou ter que atualizar para a 10.2.3 ai testo novamente pelo instalador.
  4. sim, eu fiz isso, foi feito uma instalcao do zero, mas mantive as chaves do registro, nao tive problemas na instalcao de nenhum outro componente, fiz a instalacao manual aqui dos pacotes do acbr que eu uso e deu certo.
  5. atualizei para o tokyo 10.2.2 e aparetemente o acbr manteve-se na nova instalação, alguns dias depois descobri que o pacote acbr_serial não estava instalado tentei fazer a instalação manual, sempre dava erro indicando que nao foi possivel ler o pacote... acbr_serial removi o acbr, usei o apagarAcbr.bat, fiz o update do tronco, ao executar o ACBrInstall_Trunk2.exe, logo ao carregar da um erro list index out of bounds (-1), ao pressionar, ok, abrir e pressionar em proximo na tela para selecionar a versão do delphi, o instalador nao reconhece nenhum delphi instalado. me parece que esse ultimo instalador nao esta ainda preparado para essa versao do delphi, e essa semana mesmo ja vou ter que fazer outra atualizacao para o 10.2.3 que saiu esses dias. alguma orientação em relação a isso?
  6. consegui liberar o endereco, mas quando começa a baixar os arquivos da erro too many Requests em varios arquivos, ja tentei varias vezes. estou sempre limpando toda a pasta e tentanto baixar tudo novamente.. pois como deu erro no meu do processo, pode ser que nao consiga continuar de onde parou.
  7. qual endereço preciso adicionar no meu proxy para conseguir acesso ao repositorio e baixar as atualizacoes via svn pedi para o pessoal que cuida da rede aqui para liberar o endereco svn.code.sf.net mas mesmo assim nao baixa. preciso saber que endereço o svn acessa para passar para o pessoal da rede incluir nas regras de bloqueio pois aqui cada site tem que ser incluido em uma lista de sites confiaveis. ou seja tudo e bloqueado por padrao!.
  8. aqui no tocantins, cancelaram qualquer homologação do paf, tiveram a brilhante ideia de desvincular o estado do ato cotepe nacional, e vao fazer o proprio ato cotepe, segundo eles será mais simples, vão remover o bloco X e vao criar outro BLOCO CTRL+MEIA LUA+ F13, onde vai ter que gerar um arquivo e enviar não sei para onde, e veja aque aqui ja foi aprovado o uso da nfce, onde com a adoção da NFCe eles mesmo publicaram no site que não será mais exigido homologação do sistema. teve uma reunião em palmas (capital) e umum cara de uma soft house que participou quase chorou nao por isso, mas pq tinha acabado de homologar o sistema gastado uns 35 mil reais, e o laudo será jogado no lixo, simples assim. a justificativa e que o estado nao tem dinheiro para investir em infra estrutura, e que o ecf ai tem vida util de uns 5 anos. vai entender o que esse povo quer.
  9. não, aqui o homologador não vai exigir o envio, apenas a validação do arquivo, como estou no TO, aqui não tem (e nem vai ter) webservice para receber o arquivo, pois a nfc-e ja foi aprovada e ja estamos implantando, ou seja o paf aqui tambem morreu!. espero que seja a ultima homologacao de paf da minha vida! outra coisa que vi em outros post, e em relacao ao arquivo de estoque, que podera ficar enorme em ambiente de produção, e será impossivel enviar um arquivo tão grande mesmo compactado para o webservice. eles tinham que fazer igual a nfe, se criam a obrigatoriedade do sistema gerar tal informação, eles e que deveriam criar a tecnologia para o envio, e não ficar a cargo de nos desenvolvedores fazer isso. e sim, tive que alterar varios campos para gerar o arquivo e validar.. veja o anexo da funcao, e muito provavel que o acbrmonitor, use a mesma unit, ai e so recompilar ele.
  10. no final das contas e mais um requisito que so gera depesas para nos desenvolvedores, e que nunca vai ser usado. temos aqui mais de 1000 empresas com sistema rodando, em mais de 5 anos de paf, posso contar nos dedos de uma baleia, quantas vezes o menu fiscal foi acessado por um fiscal da receita. clientes como lojas de sapato tem muito mais que isso, pq praticamente todo produto adquirido e um novo cadastro, supermercado nem se fala entao, passa facil dos 100 mil.
  11. isso tambem ocorre por exemplo quando se busca dados em uma query com muitos registros, isso e alocado na memoria do windows, e a aplicacao quando chega em uns 1.5gb +- memoria da esse erro, mesmo se seu pc tiver muito mais memoria, devido a ser uma app 32 bits. isso e so para explicar que (e provavavel) que se compilar o aplicativo que gera esse arquivo em 64 bits não vai da o problema. ate que se faça uma correçao no acbr, uma alternativa e criar um exe a parte so com essa parte de gerar o arquivo e compilar em 64 bits (para nao ter que converter sua aplicação inteira em 64, obviamente no seu cliente final, so ira funcionar no win 64. na fiz esse teste, mas baseado no problema citado na query que na pratica e mesma coisa (alocar muita inf na memoria em um app 32bits) eu resolvi em uma aplicacao minha compilando em 64bits.
  12. consegui fazer os ajustes, em anexo funcao procedure TACBrBlocoX_Estoque.GerarXML(const Assinar: Boolean); na unit ACBrBlocoX_Estoque com as correções, obs: testado com o validador no link https://sathomologa.sef.sc.gov.br/tax.NET/sat.dfe.siv.web/validacao.aspx em 26-07-2017 obs: nao tem mais os campos DataReferenciaInicial e DataReferenciaFinal tem apenas o DataReferencia, no qual eu passei o ultimo dia do mes anterior. blocox gerar estoque.txt Estoque_26072017.xml
  13. o arquivo de estoque tambem esta totalmente fora do padrao que o validador verifica.. anderson, vc tem ai a sequencia correta das tags, cada hora que mexe em uma da erro em outra. o validador tambem esta recusando os valores em campos numericos. passando com virgula ex 10,000 com com pontos ex 10.000 procedure TACBrBlocoX_Estoque.GerarXML(const Assinar: Boolean); var I: Integer; begin FXMLOriginal := ''; FXMLAssinado := ''; FGerador.ArquivoFormatoXML := ''; FGerador.wGrupo(ENCODING_UTF8, '', False); FGerador.wGrupo('Estoque Versao="1.0"'); FGerador.wGrupo('Mensagem'); GerarDadosEstabelecimento; GerarDadosPafECF; FGerador.wGrupo('DadosEstoque'); FGerador.wCampo(tcStr, '', 'DataReferencia', 0, 0, 1, FORMATDATETIME('yyyy-mm-dd',DataReferenciaFinal)); //DEU PROBLEMA NESSAS 2 TAGS, o validador diz que tem que passar DATAREFERENCIA // FGerador.wCampo(tcStr, '', 'DataReferenciaInicial', 0, 0, 1, FORMATDATETIME('yyyy-mm-dd',DataReferenciaInicial)); // FGerador.wCampo(tcStr, '', 'DataReferenciaFinal', 0, 0, 1, FORMATDATETIME('yyyy-mm-dd',DataReferenciaFinal)); if Produtos.Count > 0 then begin FGerador.wGrupo('Produtos'); For I := 0 to Produtos.Count - 1 do Begin FGerador.wGrupo('Produto'); FGerador.wCampo(tcStr, '', 'Descricao', 0, 0, 1, Produtos.Descricao); Case TACBrBlocoX(FACBrBlocoX).Configuracoes.VersaoER of erv0204 : begin FGerador.wCampo(tcStr, '', 'Codigo', 0, 0, 1, Produtos.Codigo.CodigoProprio); FGerador.wCampo(tcStr, '', 'CodigoTipo', 0, 0, 1, TipoCodigoToStr(Produtos.Codigo.Tipo)); FGerador.wCampo(tcDe3, '', 'Quantidade', 1, 20, 1, formatfloat('0.000',Abs(Produtos.Quantidade))); end; erv0205 : begin with Produtos do begin // FGerador.wGrupo('Codigo'); //NAO RECONHECEU ESSA TAG !!!! FGerador.wCampo(tcStr, '', 'CodigoGTIN', 0, 0, 1, Produtos.Codigo.CodigoGTIN); FGerador.wCampo(tcStr, '', 'CodigoCEST', 0, 0, 1, Produtos.Codigo.CodigoCEST); FGerador.wCampo(tcStr, '', 'CodigoNCMSH', 0, 0, 1,Produtos.Codigo.CodigoNCMSH); FGerador.wCampo(tcStr, '', 'CodigoProprio', 0, 0, 1,Produtos.Codigo.CodigoProprio); // FGerador.wGrupo('/Codigo'); FGerador.wCampo(tcDe3, '', 'Quantidade', 1, 20, 1, formatfloat('0.000',Abs(Produtos.Quantidade))); end; end; end; // A SEQUENCIA ABAIXO DE CAMPOS NAO ESTA CORRETA, INCLUSIVE COM NOMES DE CAMPOS INVALIDOS. SEM O SCHEMA CORRETO QUE O VALIDADOR USA, FICA COMPLICADO ADVINHAR QUAL E A CORRETA. FGerador.wCampo(tcDe3, '', 'QuantidadeTotalAquisicao', 1, 1, 1, formatfloat('0.000',Produtos.QuantidadeTotalAquisicaoMercadoria)); FGerador.wCampo(tcStr, '', 'Unidade', 0, 0, 1, Produtos.Unidade); FGerador.wCampo(tcDe2, '', 'ValorUnitario', 1, 20, 1, formatfloat('0.00',Produtos.ValorUnitario)); case TACBrBlocoX(FACBrBlocoX).Configuracoes.VersaoER of erv0205 :FGerador.wCampo(tcDe2, '', 'ValorTotalAquisicao', 1, 1, 1, formatfloat('0.00',Produtos.ValorTotalAquisicaoMercadoria)); end; FGerador.wCampo(tcStr, '', 'SituacaoTributaria', 1, 1, 1, SituacaoTributariaToStr(Produtos.SituacaoTributaria)); FGerador.wCampo(tcStr, '', 'Aliquota', 4, 4, 1, FormatFloat('0.00',Produtos.Aliquota)); FGerador.wCampo(tcStr, '', 'IsArredondado', 1, 1, 1, IfThen(Produtos.IndicadorArredondamento, 'true', 'false')); FGerador.wCampo(tcStr, '', 'Ippt', 1, 1, 1, IpptToStr(Produtos.Ippt)); FGerador.wCampo(tcStr, '', 'SituacaoEstoque', 1, 1, 1, IfThen(Produtos.Quantidade >= 0, 'Positivo', 'Negativo')); case TACBrBlocoX(FACBrBlocoX).Configuracoes.VersaoER of erv0205 : begin FGerador.wCampo(tcDe2, '', 'ValorTotalAquisicaoMercadoria', 1, 1, 1, formatfloat('0.00',Produtos.ValorTotalAquisicaoMercadoria)); FGerador.wCampo(tcStr, '', 'QuantidadeTotalAquisicaoMercadoria', 1, 1, 1, formatfloat('0.000',Produtos.QuantidadeTotalAquisicaoMercadoria)); FGerador.wCampo(tcDe2, '', 'ValorTotalICMSDebitoFornecedor', 1, 1, 1, formatfloat('0.00',Produtos.ValorTotalICMSDebitoFornecedor)); FGerador.wCampo(tcDe2, '', 'ValorBaseCalculoICMSST', 1, 1, 1, formatfloat('0.00',Produtos.ValorBaseCalculoICMSST) ); FGerador.wCampo(tcDe2, '', 'ValorTotalICMSST', 1, 1, 1, formatfloat('0.00',Produtos.ValorTotalICMSST)); end; end; FGerador.wGrupo('/Produto'); end; FGerador.wGrupo('/Produtos'); end; FGerador.wGrupo('/DadosEstoque'); FGerador.wGrupo('/Mensagem'); FGerador.wGrupo('/Estoque'); FXMLOriginal := ConverteXMLtoUTF8(FGerador.ArquivoFormatoXML); if Assinar then FXMLAssinado := TACBrBlocoX(FACBrBlocoX).SSL.Assinar(FXMLOriginal, 'Estoque', 'Mensagem'); end;
  14. Olá Anderson, agora validou. portanto o componente esta gerando o arquivo errado procedure TACBrBlocoX_ReducaoZ.GerarXML(const Assinar: Boolean); var I, X: Integer; begin FXMLOriginal := ''; FXMLAssinado := ''; FGerador.ArquivoFormatoXML := ''; FGerador.wGrupo(ENCODING_UTF8, '', False); FGerador.wGrupo('ReducaoZ Versao="1.0"'); FGerador.wGrupo('Mensagem'); GerarDadosEstabelecimento; GerarDadosPafECF; FGerador.wGrupo('Ecf'); with TACBrBlocoX(FACBrBlocoX).ECF do begin FGerador.wCampo(tcStr, '', 'NumeroCredenciamento', 0, 0, 1, NumeroCredenciamento); FGerador.wCampo(tcStr, '', 'NumeroFabricacao', 0, 0, 1, NumeroFabricacao); FGerador.wCampo(tcStr, '', 'Tipo', 0, 0, 1, Tipo); FGerador.wCampo(tcStr, '', 'Marca', 0, 0, 1, Marca); FGerador.wCampo(tcStr, '', 'Modelo', 0, 0, 1, Modelo); FGerador.wCampo(tcStr, '', 'Versao', 0, 0, 1, Versao); FGerador.wCampo(tcStr, '', 'Caixa', 0, 0, 1, Caixa); end; FGerador.wGrupo('DadosReducaoZ'); FGerador.wCampo(tcStr, '', 'DataReferencia', 0, 0, 1, FORMATDATETIME('yyyy-mm-dd',DataReferencia)); case TACBrBlocoX(FACBrBlocoX).Configuracoes.VersaoER of erv0205 : begin // a data e hora e gerada em uma so tag, e nao em duas como esta no fonte!. FGerador.wCampo(tcStr, '', 'DataHoraEmissao', 0, 0, 1, FORMATDATETIME('yyyy-mm-dd',DataEmissaoReducaoZ)+'T'+HoraEmissaoReducaoZ); // FGerador.wCampo(tcStr, '', 'DataEmissaoReducaoZ', 0, 0, 1, FORMATDATETIME('yyyy-mm-dd',DataEmissaoReducaoZ)); // FGerador.wCampo(tcStr, '', 'HoraEmissaoReducaoZ', 0, 0, 1, HoraEmissaoReducaoZ); end; end; me parece que aqui no estado (TO) so vao verificar a estrutura do layout, ainda não sera obrigado o envio, visto que aqui ainda não existe webservice para isso.
  15. ja procurei em todos os topicos referente ao bloco x e nao achei algo que pudesse solucionar. estou testando o arquivo da reducao z no endereco https://sathomologa.sef.sc.gov.br/tax.NET/sat.dfe.siv.web/validacao.aspx Configurei o componente acbrbloco x para usar a ER 02.04. so que da o erro DadosREducaoZ apresenta elemetro Filho DataHoraEmissao inválido. e esperado DataReferencia. ai tentei trocar DataHoraEmissao por DataRerencia nos fontes regerei o arquivo ai da o erro o Elemetro DadosReducaoZ apresenta o elemento filho CRZ invalido, lista possiveis de elementos esperados DataHoraEmissao o site nao diz qual versao da ER e para ser usada.. esse link achado em outro post, file:///C:/Users/wilton.RADINFO/Downloads/Requisito%20LVIII%20(Redu%C3%A7%C3%A3o%20Z)%20e%20LIX%20(Estoque)%20-%20httpsdocs.google.comdocumentd1yez14gry9Mi4rTpwDRDf--bR-SLzijD81OPeJzh9FqEeditpref=2&pli=1%23heading=h.lgwkd0xm996m.pdf faz referencia a ER 04. segui a ordem e nao vai valida.. agradeço a ajuda de todos. obs: TRUNCK abr atualizadissimo!
×
×
  • 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.