Painel de líderes
Conteúdo popular
Showing content with the highest reputation on 12-02-2019 em todas as áreas
-
Recebemos o seguinte e-mail do SEFAZ-CE Informativo MFE Novos endereços do Integrador e Validador Fiscal A Secretaria da Fazenda (Sefaz) comunica que serão utilizados novos endereços para o ambiente do Integrador e Validador Fiscal e que, até a data 14/02/2019, devem ser acrescentados, no firewall dos clientes, a saída para a lista abaixo: –https://storeintegradorsefazce.blob.core.windows.net/integrador –https://validadorsefazce.azurewebsites.net/ –https://integradorsefazce.azurewebsites.net/ –http://validadorsefazce.azurewebsites.net/ –http://integradorsefazce.azurewebsites.net/ A mudança se faz necessária para que o funcionamento do sistema de Módulo Fiscal Eletrônico (MFe) não sofra nenhuma indisponibilidade. Informamos também que será disponibilizada até a data 11/02/2019 no endereço http://cfe.sefaz.ce.gov.br/mfe/informacoes/downloads#/ uma nova versão do Driver MFe para TESTES que permitirá os Aplicativos Comerciais comunicar diretamente com o Módulo Fiscal usando a biblioteca de funções do Driver, sem a necessidade de passar pelo Integrador. O uso do Integrador continua obrigatório para o envio de informações de pagamento e emissão de NFC-e. Para utilizar a nova versão do Driver que está sendo produzido, será exigida a atualização do Integrador, com previsão de disponibilização até o dia 14/02. Para mais informações, utilize o Call Center (85) 3108-2200, opção 4 (informática). Fortaleza, 08 de fevereiro de 2019. Secretaria da Fazenda do Estado do Ceará Equipe MFe/Sefaz-CE3 pontos
-
Boa tarde Armando, Muito obrigado pela colaboração, ainda hoje estarei enviando para o repositório.2 pontos
-
Boa tarde, Claro, fico feliz em ajudar.... Vou realizar as alterações para o evento 2240 e postar aqui os fontes... Só que como é a primeira vez que estou alterando o fonte do ACBR peço que me revisem e me sinalizem os problemas encontrados, para que não ocorra em uma próxima vez, pode ser?2 pontos
-
Boa tarde Ocorreu a mesma situação comigo e resolvi setando a propriedade DANFE do ACBrNFSe. Abraço.2 pontos
-
Boa tarde Adilson, Usamos dois componentes, o ACBrNFSe e o ACBrNFSeDANFSERL (Fortes Report) ou ACBrNFSeDANFSEFR (Fast Report). No ACBrNFSe existe uma propriedade que você "linka" os dois componentes, isso esta sendo feito?2 pontos
-
Agora entendi @Felipe E. Resende Mesquita e @BigWings Obrigado pela força RESOLVIDO2 pontos
-
2 pontos
-
Você pode usar o visualizador que a Caixa disponibiliza. http://www.caixa.gov.br/empresa/pagamentos-recebimentos/recebimentos/nova-cobranca-bancaria/Paginas/default.aspx Pelo que vi esse campo não é mesmo disponibilizado no retorno. Se você quer saber a data do pagamento do boleto o correto é usar DataOcorrencia conforme o Felipe sugeriu.2 pontos
-
Então @Felipe E. Resende Mesquita a data da ocorrência já traz veja na imagem...2 pontos
-
30/12/1899 é data em branco, valor 0 no tipo TDateTime. Significa que a data da baixa não está sendo retornada ou capturada. Veja no arquivo de retorno se a informação existe.2 pontos
-
2 pontos
-
Atualizei, reinstalei e testei, está funcionando. Obrigado.2 pontos
-
Ótimo dia, Leonardo! O SAT faz o Rateio de Desconto no ST em cada item utilizando a fórmula: Desconto = Valor Item/Total CFE * Desconto ST. Feito isto, o valor é arredondado. Depois, os valores dos Rateios são somados e, caso haja saldo positivo, o mesmo é jogado no item de maior valor. E quanto ao Valor Líquido do Item estar zerado, não tem problema, pois foi aceito pela SEFAZ. Abaixo um exemplo de como é feito o cálculo: Qualquer dúvida, estou à disposição!2 pontos
-
vi uma dica do Italo, para não só atualizar mas deletar antes todo conteúdo da pasta acbr e fazer update. fiz isso, reinstalei apagando os arquivos anteriores, resolveu meu problema.2 pontos
-
Subi as alterações para o repositório. Favor atualizar os fontes e efetuar os testes.2 pontos
-
vi uma dica do Italo, para não só atualizar mas deletar antes todo conteúdo da pasta acbr. fiz isso, reinstalei apagando os arquivos anteriores, resolveu meu problema.2 pontos
-
2 pontos
-
Atualização da homologação - Rev. 1: O ACBr é um projeto vivo que recebe atualizações diárias. Essas atualizações, normalmente, envolvem correções e novas funcionalidades. Para acompanhar esta realidade, adição de novos testes e revisão dos existentes são frequentes em novas homologações. Fica evidente também, que homologações antigas necessitam de revisões. Por conta disso, adicionamos nesta postagem, informações adicionais e novos testes comumente encontrado em homologações recentes. Quando houver novas funcionalidades nos componentes ocasionando a necessidade de novos testes, serão feitas novas postagem, no mesmo tópico, informando novos testes realizados com o acréscimo da revisão. Ex.: Rev. 2, Rev. 3 … Rev X. Ambiente: Computador Desktop Sistema Operacional Windows 10 64Bit atualizado (31/01/2019) Processador Intel Core 2 Duo E5400 2.20GHz Memória 2 GB USB 2.0 Testes usando os componentes e Demos do ACBr Utilizamos a versão 3.2.1 do PosPrinterTeste.exe, demo do ACBrPosPrinter, parte do projeto ACBr, para efetuar testes na impressora. A ultima versão do PosPrinterTestes.exe está disponível neste link: https://www.projetoacbr.com.br/forum/files/file/364-posprintertesteexe/ Durante os testes deixamos as configurações desta forma: Modelo: ppEscPosEpson; Porta: COM1; Colunas: 48; Espaços: 30; Linhas Pular: 7; Pag. codigo: pc860; KC1: 1; KC2: 0; FatorX: 1; FatorY: 1; Demais configurações não alteramos; Resultados: Page Mode: Funcionou conforme o esperado, permitindo o uso de DANFCe com QRCode Lateral Suporte a impressão de imagens e gravação de logotipos: Realizamos os testes de impressão de imagens e gravação de logotipo na impressora, através de comandos Esc/Pos. Maiores detalhes destas funcionalidades podem ser conferidos neste link: Abaixo, o resultado das funcionalidades testadas: ok Impressão de imagem; ok Gravar logotipo na memória da impressora: Deve-se primeiro, apagar o logotipo presente na memória da impressora antes de gravar um novo. O motivo, deve-se à impressora travar se enviado apenas o comando de gravação. ok Apagar logotipo na memória da impressora; ok Imprimir logotipo gravado na memória da impressora; Teste de acentuação: Atualizamos o teste de acentuação para demonstrar o suporte da impressora com fontes do Tipo B. Esta funcionalidade está presente na ultima versão do PosPrinterTeste.exe: Resultados: pc860: Todos os acentos foram impressos corretamente; Impressão de extratos do SAT com QRCode e Logotipo lateral: A impressora suportou os comandos enviados. Contudo, não imprimiu corretamente o cupom. Acreditamos que o problema esteja no firmware da impressora, não imprimindo o QRCode de tipo 4 e o logotipo, usando em conjunto, os comandos de pagemode. Os testes foram realizados com o uso do SATTeste na versão 2.1. Ele é um demo do ACBrSAT, parte do projeto ACBr. Ele está disponível neste link:2 pontos
-
Bom dia José, Vou tentar levantar essa informação com o pessoal do banco. Qualquer novidade volto a comentar.2 pontos
-
Boa tarde Carlos, Sim, para contemplar a impressão dos dados referente a Retirada e Entrega.2 pontos
-
Foto por David Siglin em Unsplash. Olá pessoal, É bom quando encontramos uma ferramenta que facilita ou melhora nosso trabalho, não? Todos devem ter notado que ultimamente temos enviado vários commits ao SVN de remoção de warnings e hints, muitas vezes mencionando a ferramenta FixInsight. Para quem não conhece, essa ferramenta faz uma análise do seu código e aponta possíveis erros e sugere otimizações. Ela é uma ferramenta muito boa, tanto que foi comprada pela TMS e se tornou TMS FixInsight. Já tem um tempo que conheço a ferramenta e sempre tive o desejo de rodá-la em todo o código do ACBr. Mas devido ao tempo não tinha sido possível. Depois de um incentivo (valeu @Waldir Paim), eu resolvi baixar a versão trial e fazer isso. E que bom que fiz. Gostaríamos de compartilhar com vocês algumas coisas que encontramos no nosso código com a ajuda dessa ferramenta. Encontrando pequenos problemas num código gigante Vamos começar por um código que estava no ACBrValidador. Vejam esse código, onde a função ValidarCEP de baixo chama a função ValidarCEP de cima, e tente encontrar um problema: function ValidarCEP(const ACEP, AUF: String): String; begin Result := ValidarDocumento( docCEP, ACEP, AUF); end; function ValidarCEP(const ACEP: Integer; AUF: String): String; begin ValidarCEP( FormatarCEP(ACEP), AUF ); end; Conseguiu ver o problema? Essa função nunca retornaria que um CEP é inválido se você passasse o CEP como inteiro. Precisava de um “Result := ” no início. Simples? Nem tanto quando lembramos do tamanho do projeto ACBr. Temos mais de 200 componentes e mais de 779 mil linhas de código, contribuídos por dezenas ou talvez centenas de programadores, embora a nossa equipe de commiters seja realmente pequena. Só a unit ACBrValidador.pas em questão tem atualmente cerca de 2070 linhas. Não fica muito mais fácil quando uma ferramenta aponta pra você? [FixInsight Warning] ACBrValidador.pas(294): W521 Return value of function 'ValidarCEP' might be undefined Vamos a outro exemplo no pacote ACBrSerial, componente ACBrECF: [FixInsight Warning] ACBrECFDaruma.pas(4638): W503 Assignment right hand side is equal to its left hand side Veja o código (só a parte interessante): else if StrToIntDef(fsNumVersao, -1) >= 345 then begin RetCmd := EnviaComando( ESC + #240 ); RetCmd := Copy(RetCmd, 92, Length(RetCmd)); RetCmd := RetCmd; //<--- Viu aqui??? for A := 0 to fpAliquotas.Count-1 do begin fpAliquotas[A].Total := RoundTo( StrToFloatDef(Copy(RetCmd,(A*14)+1,14),0) / 100, -2 ); end; end; end; Uma linha que não faz absolutamente nada a não ser gastar espaço, memória e CPU. Uma linha desnecessária a menos no código. E você consegue encontrar um no seu aplicativo código que nunca será executado? Ainda no mesmo pacote, veja esse exemplo: [FixInsight Warning] ACBrECFDataRegis.pas(1838): W509 Unreachable code Nesse código: if (fsArqPrgBcoTXT <> '') and (not FileExists( fsArqPrgBcoTXT )) then begin Msg := ACBrStr( 'Arquivo '+fsArqPrgBcoTXT+' não encontrado. '+ 'Valores padrões serão utilizados.' ) ; raise EACBrECFErro.Create( Msg ); fsArqPrgBcoTXT := '' ; //Essa linha nunca vai ser executada porque tem um raise acima. end ; Mais uma vez, tente imaginar procurar esse problema num projeto tão grande. Não é facilmente percebido se você não tiver olhos treinados e estiver procurando problemas. Vamos a outro exemplo ainda no componente ACBrECF: [FixInsight Warning] ACBrECFEscECF.pas(1222): W517 Variable 'CHK' hides a class field, method or property Veja esse código: procedure TACBrECFEscECFResposta.SetResposta(const AValue: AnsiString); Var Soma, I, F, LenCmd : Integer ; CHK : Byte ; begin O problema desse código é que ele confunde uma variável local (CHK) com uma propriedade da classe (TACBrECFEscECFResposta.CHK). É preciso analisar todo código em cada lugar que isso acontece para ter certeza quando você está se referindo a propriedade e quando é a variável. Imagine se você confunde uma com a outra. Uma hora você pensa que sua variável está recebendo valores estranhos. Outra hora você pensa que sua propriedade não está sendo atualizada. Nesse caso específico, a variável foi renomeada para vCHK evitando a confusão com a propriedade CHK. O importante é que quando você for ler o código, não precise ficar pensando “Isso aqui é uma variável ou uma propriedade?”. Veja outro exemplo, agora no ACBrSMS: [FixInsight Warning] ACBrSMSClass.pas(192): W511 Object 'ListaSMS' created in TRY block begin try Self.Clear; if not FileExists(APath) then raise EACBrSMSException.CreateFmt('Arquivo "%s" não encontrado.', [APath]); ListaSMS := TStringList.Create; ListaSMS.LoadFromFile(APath); if ListaSMS.Count = 0 then Exit; //(bla bla bla...) finally FreeAndNil(ListaSMS); end; Não é apropriado esse código. O correto é mover a criação do objeto para fora do try..finally. Pense bem, se o objeto não for construído, você não quer que ele seja destruído. A mensagem ajudou a perceber também que esse bloco poderia ser escrito de outra maneira. Aquele raise não precisava estar dentro do try..finally. Evitando problemas futuros Rodando no pacote ACBrOpenSSL tivemos a seguinte mensagem no componente ACBrEAD: [FixInsight Optimization] ACBrEAD.pas(268): O804 Method parameter 'AChavePublicaOpenSSL' is declared but never used Quer dizer, parâmetro ‘AchavePublicaOpenSSL’ declarado mas não utilizado. Veja abaixo a a parte importante da função: function TACBrEAD.ConverteChavePublicaParaOpenSSH( const AChavePublicaOpenSSL: String): String; Var Buffer, Modulo, Expoente: AnsiString; {...} begin // https://www.netmeister.org/blog/ssh2pkcs8.html CalcularModuloeExpoente(Modulo, Expoente); Buffer := EncodeBufferSSH('ssh-rsa') + EncodeHexaSSH(Expoente) + EncodeHexaSSH('00'+Modulo); Result := 'ssh-rsa '+ EncodeBase64(Buffer); end; É estranho esse método ConverteChavePublicaParaOpenSSH não utilizar o parâmetro da chavePública. Qualquer pessoa que visse o método e tentasse chamar passando a chave pública não teria o resultado desejado. Analisando o código melhor vemos que o componente lê a chave pública por meio do método “LerChavePublica”. Nesse caso o correto seria remover o parâmetro para que não haja nenhuma confusão. E essa mensagem no TACBrBALToledo2090: [FixInsight Warning] ACBrBALToledo2090.pas(107): W508 Variable is assigned twice successively if (Length(wStrListDados[1]) = 16) then wDecimais := 1000; {APENAS BLOCO PROCESSADO} wResposta := wStrListDados[1]; //<---- sobreposto pela linha seguinte wResposta := Copy(wStrListDados[1], 5, 7); if (Length(wResposta) <= 0) then Exit; Veja que os dados de uma linha é sobreposta pela outra. O compilador nunca daria um aviso sobre isso. Mais dois exemplos de mensagens e o código a seguir: [FixInsight Warning] ACBrEscEpsonP2.pas(97): W514 Loop iterator could be out of range (missing -1?) [FixInsight Warning] ACBrEscEpsonP2.pas(100): W514 Loop iterator could be out of range (missing -1?) For I := 0 to Length(cTAGS_BARRAS) do TagsNaoSuportadas.Add( cTAGS_BARRAS[I] ); For I := 0 to Length(cTAGS_ALINHAMENTO) do TagsNaoSuportadas.Add( cTAGS_ALINHAMENTO[I] ); Essa eu não sei como não foi detectada antes. Por algum motivo não está sendo emitida a mensagem estouro quando o valor de I chega a 16 no primeiro caso e 3 no segundo. Encontrando erros gerados por Ctrl+C..Ctrl+V No pacote ACBrPAF veja a mensagem gerada: [FixInsight Optimization] ACBrPAF_T_Class.pas(137): O804 Method parameter 'ACampo2' is declared but never used function OrdenarT2(const ACampo1, ACampo2: Pointer): Integer; var Campo1, Campo2: String; begin Campo1 := FormatDateTime('YYYYMMDD', TRegistroT2(ACampo1).DT_MOV) + TRegistroT2(ACampo1).TP_DOCTO + TRegistroT2(ACampo1).SERIE + TRegistroT2(ACampo1).NUM_ECF; Campo2 := FormatDateTime('YYYYMMDD', TRegistroT2(ACampo1).DT_MOV) + TRegistroT2(ACampo1).TP_DOCTO + TRegistroT2(ACampo1).SERIE + TRegistroT2(ACampo1).NUM_ECF; Result := AnsiCompareText(Campo1, Campo2); end; Essa função é utilizada para ordenar os registros T2 do PAF. Mas veja que ela compara o registro “ACampo1” com ele mesmo. Suspeita: Ctrl+C e Ctrl+V... Quem nunca??... Outra situação diferente, mas relacionada com ordenação apareceu no ACBrSintegra. Na verdade 4 situações no ACBrSintegra, semelhantes entre si. Vou mostrar apenas uma, mas dessa vez a mensagem do FixInsight fica pra depois. Vamos a um jogo dos sete erros entre os ifs e else no código abaixo: function Sort60A(Item1, Item2: Pointer): Integer; var witem1, witem2 : TRegistro60A; begin witem1 := TRegistro60A(Item1); witem2 := TRegistro60A(Item2); if witem1.Emissao>witem2.Emissao then begin if witem1.NumSerie>witem2.NumSerie then Result:=1 else if witem1.NumSerie=witem2.NumSerie then Result:=0 else Result:=-1; end else if witem1.Emissao = witem2.Emissao then begin if witem1.NumSerie>witem2.NumSerie then Result:=1 else if witem1.NumSerie=witem2.NumSerie then Result:=0 else Result:=-1; end else begin if witem1.NumSerie>witem2.NumSerie then Result:=1 else if witem1.NumSerie=witem2.NumSerie then Result:=0 else Result:=-1; end; end; Conseguiu encontrar os erros? Bem, se você procurou diferenças, não deve ter encontrado nada. E não existe mesmo. Veja a mensagem da ferramenta: [FixInsight Warning] ACBrSintegra.pas(3410): W507 THEN statement is equal to ELSE statement São dois if e um else pra fazer a mesma coisa... A correção foi remover o IFs e ELSE. Agora vamos ao pacote ACBrSPED. Depois de remover muitos e muitos parâmetros desnecessários apontados pelo FixInsight, veja esse código: function CodAjToStr(const AValue: TACBrCodAj): string; begin if AValue = codAjAcaoJudicial then Result := '01' else if AValue = codAjAcaoJudicial then Result := '02' else if AValue = codAjLegTributaria then Result := '03' else if AValue = codAjEspRTI then Result := '04' else if AValue = codAjOutrasSituacaoes then Result := '05' else if AValue = codAjEstorno then Result := '06'; end; A mensagem é a seguinte: [FixInsight Warning] ACBrEPCBlocos.pas(2071): W512 Odd ELSE-IF condition (review lines 2071 and 2073) Viu lá? Os dois primeiros ifs estão comparando AValue com o mesmo valor, "codAjAcaoJudicial". O segundo deveria ser "codAjProAdministrativo". Provavelmente mais um Ctrl+C..Ctrl+V. Mensagens para otimização de código Nem todas as mensagens geradas são de erros. Algumas são mensagens de otimização. Muitos dos commits que temos feito estão relacionados a uma mensagem como estas abaixo: [FixInsight Optimization] ACBrSATClass.pas(776): O801 CONST missing for unmodified string parameter 'CNPJvalue' [FixInsight Optimization] ACBrSATClass.pas(776): O801 CONST missing for unmodified string parameter 'assinaturaCNPJs' Ela pode ser gerada numa função como essa: function TACBrSATClass.AssociarAssinatura( CNPJvalue, assinaturaCNPJs : AnsiString) : String ; begin ...// um código que não altera nenhum dos parâmetros citados end; Essas mensagens estão dizendo que os parâmetros 'CNPJvalue' e ‘assinaturaCNPJs’ do tipo string não estão sendo alterados dentro da função a que eles pertencem. Nesse caso é bem provável que os parâmetros devessem ter um prefixo CONST na sua declaração, como abaixo: function TACBrSATClass.AssociarAssinatura(const CNPJvalue, assinaturaCNPJs : AnsiString) : String ; begin ...// um código que não altera nenhum dos parâmetros citados end; Não vou entrar em muitos detalhes sobre isso, mas usar CONST tem alguns benefícios, principalmente em caso de strings: A execução é mais rápida, porque o compilador pode otimizar o código. No caso de strings, não tem contagem de referências; O compilador garante que você não vai alterar os parâmetros passados gerando um efeito colateral indesejado em quem chamou as funções; O código fica mais legível, porque você pode ler que a intenção é não alterar o parâmetro passado; Como os parâmetros são imutáveis, pode tornar o código mais ThreadSafe; Se quer saber um pouco mais sobre isso, recomendo os seguintes links: All hail the “const” parameters! Is the use of ‘const’ dogmatic or rational? Concluindo... Bom pessoal, ainda temos bastante pra fazer. Contudo, queremos dizer que o FixInsight tem nos ajudado melhorar nosso código. Ficamos tão satisfeitos que entramos em contato com a TMS e eles generosamente nos cederam uma licença da versão Pro pra continuar nosso trabalho. Muito obrigado TMS. Agora, se você quer nossa opinião, essa é uma ferramenta altamente recomendada e está disponível pra toda versão do Delphi a partir do Delphi 2006. Se você tem alguma dúvida, baixe a versão trial e comece agora mesmo a usar no seu código. A versão trial limita as mensagens a 5 por units e funciona por 30 dias. Mas é o suficiente pra se perceber como é muito útil, como aconteceu com a gente. Quer um passo a passo em como utilizá-la? Veja o próximo post logo abaixo.1 ponto
-
Boa tarde Silva, Você não esta usando o componente ACBrNFe, correto? A Descrição do evento esta errada, o correto é Ciência da Operação (sem acentos) e não existe a tag Justificativa (xJust).1 ponto
-
Boa tarde Hugo, O componente esta configurado para usar o Capicom? Os meus testes fiz usando o Capicom.1 ponto
-
Boa tarde Ítalo. Lhe agradeço muito pela disposição em ajudar. Foi enviada e aprovada em ambiente de homologação.1 ponto
-
Só para constar, no meu caso o antivirus é o Norton. Mesmo desativando ele não estava instalando. Não sei dizer se é isto, meu HD é SSD, então grava e lê muito rápido. NO meu caso para dar certo, no momento da instalação eu abri a pasta onde o arquivo de log ( log_Delphi_10.2_Tokyo.txt ) era gerado. A cada 3 segundos mais o menos eu selecionava e apertava "del " para apagar o arquivo. O Sistema de instalação então criava o arquivo novamente e depois de uns 3 a 5 segundos eu apagava novamente. Desta forma a instalação deu certo.1 ponto
-
Boa tarde Alexandro, Esse erro ocorre quando tem erro na unit: ACBrNFSeDANFSeRLRetrato. Abra a sua aplicação e abra a unit: ACBrNFSeDANFSeRL que esta na pasta: ...\Fontes\ACBrDFe\ACBrNFSe\DANFSE\Fortes Depois execute a sua aplicação e manda imprimir uma nota. Desta forma não vai ocorrer o erro acusando que o ancestor não foi encontrado e por outro lado o Delphi vai abrir a unit ACBrNFSeDANFSeRLRetrato e vai apontar onde esta o erro.1 ponto
-
Boa tarde. Por favor crie um tópico específico para sua situação. Att.1 ponto
-
1 ponto
-
1 ponto
-
Mariana, A coisa esta feia, cada dia que passa esses provedores arrumam algo para complicar.1 ponto
-
Boa tarde Júlio, Favor anexar os arquivos que você alterou para que possamos analisar. Desde já muito obrigado pela colaboração.1 ponto
-
Caros, já resolvi a questão, essa tela de solicitação de impressão existe para configurar a propriedade ACBrNFe1.DANFE.NumCopias, e no caso eu devo setar para 0 (zero). Isso está no meu software. Obrigado,1 ponto
-
Boa tarde Mariana, Tem provedor que estipula um limite máximo para envio síncrono que é o seu caso. A priori deveria aceitar um lote com até 50 RPS, mas me parece que não é o caso do provedor Betha.1 ponto
-
Boa tarde Igor, Eu consegui estabelecer um conexão com o provedor e obter o retorno. Você esta com todos os fontes de todas as pastas atualizados? No seu cliente esta com os arquivos INI atualizados?1 ponto
-
Parece haver alguma modificação no seu arquivo local. Execute um "Revert" no arquivo.1 ponto
-
Boa tarde, Filippe. Tente fazer da seguinte forma: baixe novamente os fontes, execute o instalador como administrador, marque para apagar arquivos antigos e refaça a instalação.1 ponto
-
1 ponto
-
Você tem que informar os campos de acordo com sua necessidade. Basta informar e fazer os testes.1 ponto
-
Bom dia Anderson, Acredito que são códigos da tabela 19 do eSocial - Motivos de Desligamento1 ponto
-
Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.1 ponto
-
Chegou a realizar um teste de geração utilizando o Demo do ACBrBoleto? Nele você pode encontrar os campos que você precisa, veja abaixo:1 ponto
-
Você precisa entrar em contato com a software express. Eles disponibilizam todos os arquivos necessários: documentação, dlls, etc. Até porque o SitDemo tem um prazo de validade.1 ponto
-
Bom dia Adilson, Notei que o DANFSE feito em Fortes tem as propriedades T_Email, T_Endereco, etc. Logo não é para ocorrer erro nem de compilação nem de execução. Não quanto ao DANFSE feito em Fast Report. O que pode esta ocorrendo e pela mensagem de erro apresentada o DANFSE não deve estar instanciado.1 ponto
-
Bom dia Hugo, Que maravilha, como você pode ver os caras são incapazes de seguir um padrão estabelecido por eles. E nós temos que fazer as gambiarras para poder funcionar. Vou ver o que eu consigo fazer para ajustar isso e ainda hoje estarei enviando para o repositório.1 ponto
-
Na verdade, eu vi que esse retorno é direto de dentro do sistema. Retornam isso quando a NF esta correta, porém, ainda não foi enviada ao sefaz de forma definitiva. Muito obrigado pela atenção!1 ponto
-
Bom dia Italo! Resposta da Empresa: Somente para Rio Verde. As demais segue o que está no manual!1 ponto
-
Boa tarde Luiz.. Limpe sempre o sai.txt antes de enviar o ent.txt nao precisa ser exatamente o nome ent.txt, tu pode fazer exemplo: ent_nfe.txt ent_bol.txt e ai as saidas vao vir sai.txt sai_nfe.txt sai_bol.txt Precisando tirar mais duvidas. nos avise.1 ponto
-
Boa tarde Oque diz o manual do banco? Não é possível alterar para não informar o DV Como você está passando a propriedade DataDesconto? Att.1 ponto
-
Opa Daniel, no caso, se eu fosse fazer os testes com o ERP via DLL, eu conseguiria utilizar o Emulador, correto?1 ponto