Painel de líderes
Conteúdo popular
Showing content with the highest reputation on 02-02-2016 em todas as áreas
-
Aqui estamos conseguindo migrar todos os sistemas do delphi 7 para o XE5+Trunk2, inclusive nosso frente PAF-ECF que já está migrado pronto para homologação.. Está sendo mais fácil que imaginava. Já deveríamos ter feito isso a tempos, mas com a correria vamos deixando sempre para depois... Obrigado ACBr por esse "empurrãozinho".... Espero que sirva de incentivo para os que ainda estão resistentes a mudança que é para melhor...3 pontos
-
Como autor do TDI, fico contente pela indicação... Hoje em dia interfaces TDI são mais amigáveis aos usuários do que a MDI Mas se você realmente quer um MDI, tenho notado nos commits da Rx da CCR, que eles estão implementando um componente para MDI2 pontos
-
RoundABNT( 4.855, 3 ); => 4.855 Não há arredondamento... você informou 3 casas, e pediu para arredondar na 3 casa... Tente com: RoundABNT( 4.855, 2 ) Conferiu os fontes da UnitTest ? Confira em: ACBr\Testes\FPCUnit\ACBrComum\acbrutiltest.pas procedure RoundABNTTest.TresParaDuasCasasDecimais; begin CheckEquals( 5.10, RoundABNT(5.101, 2)); CheckEquals( 5.10, RoundABNT(5.102, 2)); CheckEquals( 5.10, RoundABNT(5.103, 2)); CheckEquals( 5.10, RoundABNT(5.104, 2)); CheckEquals( 5.10, RoundABNT(5.105, 2)); CheckEquals( 5.11, RoundABNT(5.1050123, 2)); CheckEquals( 5.11, RoundABNT(5.106, 2)); CheckEquals( 5.11, RoundABNT(5.107, 2)); CheckEquals( 5.11, RoundABNT(5.108, 2)); CheckEquals( 5.11, RoundABNT(5.109, 2)); end;2 pontos
-
Boa tarde, pessoal! Quando tento transmitir a NFe usando Capicom está dando esse erro. Baixei a Capicom do link indicado no site do ACBR, registrou, reiniciou mas o erro permanece. Uso Delphi XE com Windows 7 64 Bits. Copiei a DLL para a pasta Windows\SysWOW64, mas não adiantou. Alguém sabe me dizer o que pode ser? Desde já agradeço, Ivan1 ponto
-
Boa tarde a todos Seguindo alguns tópicos que encontrei no fórum, fiz um resumo da conversão que fiz para quem estiver migrando para o trunk 2, espero que possa ajudar alguém: CTe ** CTe * Valida De: ACBrCTe1.Conhecimentos.Valida; Para: ACBrCTe1.Conhecimentos.Validar; * Configuracoes.Geral.PathSalvar De: ACBrCTe1.Configuracoes.Geral.PathSalvar Para: ACBrCTe1.Configuracoes.Arquivos.PathSalvar * EnviarEventoCTe De: ACBrCTe1.EnviarEventoCTe(idLote); Para: ACBrCTe1.EnviarEvento(idLote); * De: if ACBrCTe1.Conhecimentos.Items[i].Confirmada then Para: if ACBrCTe1.Conhecimentos.Items[i].Confirmado then * De: ACBrCTe1.Conhecimentos.Items[i].SaveToFile(cFileName); Para: ACBrCTe1.Conhecimentos.Items[i].GravarXML(cFileName); * De: DFEUtil.LimpaNumero(cDocumento) Para: OnlyNumber(cDocumento) * De: ACBrCTe1.Configuracoes.Certificados.DataVenc Para: ACBrCTe1.SSL.CertDataVenc NFe ** NFe * De: cNroSerieCertificado := ACBrNFe1.Configuracoes.Certificados.SelecionarCertificado; Para: cNroSerieCertificado := ACBrNFe1.SSL.SelecionarCertificado; * De: ACBrNFe1.NotasFiscais.Valida; Para: ACBrNFe1.NotasFiscais.Validar; * De: ACBrNFe1.Configuracoes.Geral.PathSalvar; Para: ACBrNFe1.Configuracoes.Arquivos.PathSalvar; * De: ACBrNFe1.EnviarEventoNFe(idLote); Para: ACBrNFe1.EnviarEvento(idLote); * De: cSituacao := SituacaoNFeToStr(AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[idx].resNFe.cSitNFe); Para: cSituacao := SituacaoDFeToStr(AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[idx].resNFe.cSitNFe); * De: ACBrNFe1.NotasFiscais.Items[i].SaveToFile(cFileName); Para: ACBrNFe1.NotasFiscais.Items[i].GravarXML(cFileName); * Removidos: ( não existe mais DPEC) ACBrNFe1.WebServices.EnviarDPEC.Executar ACBrNFe1.WebServices.ConsultaDPEC.NFeChave ACBrNFe1.WebServices.ConsultaDPEC.Executar; * De: NFe.Det[idx].Prod.nItemPed := 0; Para: NFe.Det[idx].Prod.nItemPed := ''; * Disponível NFe.Det[idx].Prod.CEST ( trunk 2 ) * Remover Componentes ACBrNFeDANFERave1 e ACBrNFeDANFERaveCB1 * De: ACBrNFe1.NotasFiscais.Items[idx].SaveToFile(cFileName ); Para: ACBrNFe1.NotasFiscais.Items[idx].GravarXML(cFileName); * De: ACBrNFe1.Configuracoes.Certificados.DataVenc Para: ACBrNFe1.SSL.CertDataVenc NFSe ** NFSe * De: ACBrNFSe1.Configuracoes.Arquivos.PastaMensal := True Para: ACBrNFSe1.Configuracoes.Arquivos.SepararPorMes := True * De: ACBrNFSe1.Configuracoes.WebServices.CodigoMunicipio := 9999 Para: ACBrNFSe1.Configuracoes.Geral.CodigoMunicipio := 9999 * De: ACBrNFSe1.Configuracoes.WebServices.SetConfigMunicipio(ACBrNFSe1.Configuracoes.Geral.PathSchemas); Para: ACBrNFSe1.Configuracoes.Geral.SetConfigMunicipio; * De: ACBrNFSe1.Configuracoes.WebServices.SenhaWeb := cSenhaWeb; Para: ACBrNFSe1.Configuracoes.Geral.SenhaWeb := cSenhaWeb; * De: ACBrNFSe1.Configuracoes.WebServices.UserWeb := cUserWeb; Para: ACBrNFSe1.Configuracoes.Geral.UserWeb := cUserWeb; * De: cProvedor := ACBrNFSe1.Configuracoes.WebServices.xProvedor; Para: cProvedor := ACBrNFSe1.Configuracoes.Geral.xProvedor; * De: ACBrNFSe1.Configuracoes.Geral.PathSalvar; Para: ACBrNFSe1.Configuracoes.Arquivos.PathSalvar; * De: ACBrNFSe1.NotasFiscais.Items[0].NFSe.NaturezaOperacao := noTributacaoNoMunicipio; ACBrNFSe1.NotasFiscais.Items[0].NFSe.NaturezaOperacao := StrToNaturezaOperacao(ok, cNaturezaOperacao); Geral * pcnConversao ( ainda existe ) - especializado para pcnConversaoNFe e pcteConversaoCTe adicionem no uses pcnConversaoNFe e pcteConversaoCTe junto com pcnConversao * ACBrDFeUtil // Unificado: ACBrNFeUtil-ACBrNFEsUtil-ACBrCTeUtil ( não existem mais ) remover ACBrNFeUtil-ACBrNFEsUtil-ACBrCTeUtil e deixem ACBrDFeUtil * Added novo uses ACBrUtil * EstaVazio De: if DFeUtil.EstaVazio(cPathSalvar) then Para: if EstaVazio(cPathSalvar) then1 ponto
-
Bom dia a todos, Nesta postagem irei listar somente os provedores que estão funcionando 100% com o componente ACBrNFSe - Trunk2. Peço a todos que realizaram testes com um determinado provedor e obteve sucesso, ou seja, todas as funcionalidades oferecidas pelo provedor estão funcionando, por favor envie um e-mail para mim informando que o provedor xyz esta funcionando 100%. Não é para enviar duvidas ou relatar problemas, o fórum serve para essa finalidade. Antes de enviar o e-mail favor verificar se na lista abaixo consta o provedor em questão, só envie se não constar. Desde já o meu muito obrigado. Provedores funcionando 100%: 4R / Ábaco / ABase / Betha / BHISS / Ciga / Conam / Coplan / DBSeller / Digifred EGoverneISS / EL / Equiplano / FISSLex / Ginfes / Governa / GovDigital / ISSCuritiba / ISSNet / NFSeBrasil Pronim / Pronimv2 / Publica / PVH / Saatri / SimplISS / SystemPro / Thema / Tiplan / WebISS. No arquivo Cidades.ini temos 699 cidades e seus respectivos provedores.1 ponto
-
Bom dia! Durante esse mês notei que em alguns clientes está salvando a data errada, aumentando um dia na data da venda. Isso em vários clientes, seguindo um padrão de dias mas não todos os dias. Imagino que tenha algo com ano bissexto. Com algumas pesquisas, no código do jACBrFramework, na class OleData.java e deixei da seguinte forma. Método setDate(double dtSrc); //<editor-fold defaultstate="collapsed" desc="OleDate Conversion Methods"> @SuppressWarnings("empty-statement") private void setDate(double dtSrc) { // source code copied from MFC 4.21 and modified long nDaysAbsolute; // Number of days since 1/1/0 long nSecsInDay; // Time in seconds since midnight long nMinutesInDay; // Minutes in day long n400Years; // Number of 400 year increments since 1/1/0 long n400Century; // Century within 400 year block (0,1,2 or 3) long n4Years; // Number of 4 year increments since 1/1/0 long n4Day; // Day within 4 year block // (0 is 1/1/yr1, 1460 is 12/31/yr4) long n4Yr; // Year within 4 year block (0,1,2 or 3) boolean bLeap4 = true; // TRUE if 4 year block includes leap year // values in terms of year month date. int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; double dblDate = dtSrc; // temporary serial date // If a valid date, then this conversion should not overflow // Round to the second dblDate += ((dtSrc > 0.0) ? HALF_SECOND : -HALF_SECOND); // Add days from 1/1/0 to 12/30/1899 nDaysAbsolute = (long) dblDate + 693959L; dblDate = Math.abs(dblDate); nSecsInDay = (long) ((dblDate - Math.floor(dblDate)) * 86400.); // Leap years every 4 yrs except centuries not multiples of 400. n400Years = nDaysAbsolute / 146097L; // Set nDaysAbsolute to day within 400-year block nDaysAbsolute %= 146097L; // -1 because first century has extra day n400Century = (nDaysAbsolute - 1) / 36524L; // Non-leap century if (n400Century != 0) { // Set nDaysAbsolute to day within centurY nDaysAbsolute = (nDaysAbsolute - 1) % 36524L; // +1 because 1st 4 year increment has 1460 days n4Years = (nDaysAbsolute + 1) / 1461L; if (n4Years != 0) { n4Day = (nDaysAbsolute + 1) % 1461L; } else { bLeap4 = false; n4Day = nDaysAbsolute; } } else { // Leap century - not special case! n4Years = nDaysAbsolute / 1461L; n4Day = nDaysAbsolute % 1461L; } if (bLeap4) { // -1 because first year has 366 days n4Yr = (n4Day - 1) / 365; if (n4Yr != 0) { n4Day = (n4Day - 1) % 365; } } else { n4Yr = n4Day / 365; n4Day %= 365; } tm_year = (int) (n400Years * 400 + n400Century * 100 + n4Years * 4 + n4Yr); // Handle leap year: before, on, and after Feb. 29. if (n4Yr == 0 && bLeap4 && n4Day == 59) { /* Feb. 29 */ tm_mon = 2; tm_mday = 29; } else { if (n4Yr == 0 && bLeap4 && n4Day >= 59) { --n4Day; } // Make n4DaY a 1-based day of non-leap year and compute // month/day for everything but Feb. 29. ++n4Day; // Month number always >= n/32, so save some loop time */ for (tm_mon = (int) ((n4Day >> 5) + 1); n4Day > rgMonthDays[tm_mon]; tm_mon++); tm_mday = (int) (n4Day - rgMonthDays[tm_mon - 1]); } if (nSecsInDay == 0) { tm_hour = tm_min = tm_sec = 0; } else { tm_sec = (int) (nSecsInDay % 60L); nMinutesInDay = nSecsInDay / 60L; tm_min = (int) (nMinutesInDay % 60); tm_hour = (int) (nMinutesInDay / 60); } Calendar c = Calendar.getInstance(); c.set(Calendar.YEAR, tm_year); c.set(Calendar.MONTH, tm_mon - 1); c.set(Calendar.DAY_OF_MONTH, tm_mday); c.set(Calendar.HOUR, tm_hour); c.set(Calendar.MINUTE, tm_min); c.set(Calendar.SECOND, tm_sec); setTime(c.getTime().getTime()); // setYear(tm_year - 1900); // setMonth(tm_mon - 1); // super.setDate(tm_mday); // resolves ambiguity // between OleDate.setDate and // java.util.Date.setDate // setHours(tm_hour); // setMinutes(tm_min); // setSeconds(tm_sec); } //</editor-fold> Método toDouble(); public double toDouble() { // source code copied from MFC 4.21 and modified. Calendar c = Calendar.getInstance(); c.setTime(this); int wYear = c.get(Calendar.YEAR); int wMonth = c.get(Calendar.MONTH); int wDay = c.get(Calendar.DAY_OF_MONTH); int wHour = c.get(Calendar.HOUR);; int wMinute = c.get(Calendar.MINUTE);; int wSecond = c.get(Calendar.SECOND);; // Check for leap year and set the number of days in the month boolean bLeapYear = ((wYear & 3) == 0) && ((wYear % 100) != 0 || (wYear % 400) == 0); // Cache the date in days and time in fractional days long nDate; double dblTime; //It is a valid date; make Jan 1, 1AD be 1 nDate = wYear * 365L + wYear / 4 - wYear / 100 + wYear / 400 + rgMonthDays[wMonth - 1] + wDay; // If leap year and it's before March, subtract 1: if (wMonth >= 2 && bLeapYear) { --nDate; } // Offset so that 12/30/1899 is 0 nDate -= 693959L; dblTime = (((long) wHour * 3600L) + // hrs in seconds ((long) wMinute * 60L) + // mins in seconds ((long) wSecond)) / 86400.; double dtDest = (double) nDate + ((nDate >= 0) ? dblTime : -dblTime); return dtDest; } No caso do toDouble foi só removido variáveis sem uso e métodos deprecated No setDate foi removido métodos deprecated e ajustado o increment do dia, esse ajuste eu tirei de "https://github.com/tbrandt77/janrufmonitor/blob/master/modules/outlook/src/de/janrufmonitor/repository/OutlookDate.java" Caso alguém tenha o mesmo problema está ai, ao menos comigo até agora resolveu, qualquer problema que eu tiver, eu posto aqui.1 ponto
-
Boa tarde Sérgio.. sua ajuda realmente foi válida pois comecei a rever algumas rotinas sobre cálculos e percebi que em um determinado momento eu estava gerando o valor total sem usar: SimpleRoundTo(valor_total,-2);. Estava apanhando pois eu esta fazendo a conta: qtde x preço unit e ao somar os três produtos (sem arredondar cada um deles) eu arredondava a soma e neste caso o valor dava 5,854 onde ele acabava arredondando para menos, onde gerava o valor de diferença... Valeu Sérgio, valeu galera... abraços1 ponto
-
Buenas, A principio 100% acredito não estar... Os métodos de substituir e inutilizar não estão prontos, como não estão sendo usados deixamos eles meio que de lado. Temos a inutilização programada no Trunk1, e ainda não conseguimos acertar para o Trunk2. Os métodos Gerar / Consultar e Cancelar, estamos conseguindo fazer com as modificações que foram passadas! Assim que conseguir programar eu lhe envio os arquivos para analise, se alguém do fórum quiser ajudar, também agradeço! Obrigado pela atenção. Moro1 ponto
-
Prezados, Lendo o Decreto 001/2016, faço algumas considerações a respeito do meu entendimento, gostaria da opinião de vocês, se de fato informo o código CEST em todas as operações ou não. Eu entendi, conforme item 1, que constando a mercadoria no Anexo, o cest deverá ser informado. Assim como esta fazendo o colega Verissimo. http://www.fazenda.mg.gov.br/empresas/legislacao_tributaria/orientacao/orientacao_001_2016.pdf 1) com relação a informar o CEST, (no decreto acima, pagina 7, questionamento 5). 5 - O contribuinte deverá preencher o CEST nas operações que destinarem mercadorias listadas nos anexos do Convênio ICMS nº 92/2015 a estabelecimentos industriais para emprego em processo de industrialização como matéria-prima, produto intermediário ou material de embalagem? R: Sim. O § 1º da cláusula terceira do Convênio ICMS nº 92/2015 determina que, nas operações com as mercadorias listadas em seus anexos e, portanto, passíveis de sujeição ao regime da substituição tributária em relação às operações subsequentes, o CEST deverá ser mencionado no documento fiscal que acobertar a operação, independentemente de estar sujeita ao regime da substituição tributária relativa às operações subsequentes, ressalvadas as operações sujeitas à substituição tributária em relação às operações antecedentes. Assim, ainda que a situação em análise esteja enquadrada dentre as hipóteses de inaplicabilidade da substituição tributária previstas no art. 18 da Parte 1 do Anexo XV do RICMS/2002, o campo CEST deverá ser preenchido quando a operação envolver mercadorias constantes nos anexos do mencionado convênio. 2) E, Graça, creio que o questionamento 6, também da pagina 7, responde sua necessidade. 6 - As mercadorias que não foram encontradas nos anexos do Convênio ICMS nº 92/2015 relativos aos segmentos a que pertencem poderão ser enquadradas nos CEST listados em outros anexos do mesmo convênio que mencionem os respectivos códigos NBM/SH no qual estão classificadas? R: Sim, desde que os produtos efetivamente se enquadrem no código NBM/SH e na descrição que correspondam ao CEST pertencente a outro segmento. Exemplo: uma mercadoria, comumente enquadrada no segmento de material de limpeza, não possui CEST no respectivo Anexo XII do Convênio ICMS nº 92/2015, mas sua classificação fiscal encontra-se listada no Anexo XXI do referido convênio, que trata dos segmentos de perfumaria, higiene pessoal e cosméticos. Neste caso, o contribuinte deverá verificar se a descrição do CEST listado neste Anexo XXI corresponde à mercadoria que se pretende enquadrar. Se a resposta for negativa, significa que a mercadoria não está sujeita ao regime da substituição tributária relativa às operações subsequentes. Caso a mercadoria se enquadre na descrição, o contribuinte deverá utilizar o CEST listado no Anexo XXI. Darlana1 ponto
-
Boa tarde Daniel, Não exite nada no componente que defini o tamanho da fonte. No que diz respeito ao DANFE o tamanho da fonte é o que esta estabelecido nos manuais e notas técnicas. A solução mais simples é não apresentar o DANFE da tela, ir direto para o papel, visto que a mesma tem que ser impressa mesmo, pois deve acompanhar a mercadoria vendida.1 ponto
-
Boa tarde Jorge, Favor atualizar todos os fontes de todas as pastas e compilar a aplicação com a opção Build.1 ponto
-
Dentro da Biblioteca CCR existe o TDI . http://sourceforge.net/p/lazarus-ccr/svn/HEAD/tree/components/tdi/ segue link acima1 ponto
-
Bom dia. Tudo certo. Muito obrigado a todos que me ajudaram.1 ponto
-
A Inscrição Estadual correta é a 535.176.216.114 e não a 535.176.212.114 que você está passando para o SAT.1 ponto
-
Nelson / Ítalo. Só para constar, já emiti 5 notas para esse provedor, enviado, consultado e cancelado.1 ponto
-
1 ponto
-
Bom dia Dercide, Você passou um numero inteiro não negativo como numero de lote?1 ponto
-
Boa noite Juliana. O problema éra na formatação no nosso numero. Quando a variável fpTamanhoMaximoNossoNum está zerada, o nosso numero ficava em branco. Tive outro problema com o Header (cnab400), nas variáveis "aAgencia e aConta" também por deslocamento de colunas. procedure TACBrBancoBrasil.GerarRegistroHeader400(NumeroRemessa: Integer; aRemessa:TStringList); var TamConvenioMaior6 :Boolean; aAgencia, aConta :String; wLinha: String; begin with ACBrBanco.ACBrBoleto.Cedente do begin TamConvenioMaior6:= Length(trim(Convenio)) > 6; //Alterado em 01/02/2016 por Edson Polonio aAgencia:= IntToStrZero(StrToIntDef(OnlyNumber(Agencia),0),4); aConta := IntToStrZero(StrToIntDef(OnlyNumber(Conta),0),8); //aAgencia:= RightStr(Agencia, 4); -> Desta forma está causando deslocamento das colunas //aConta := RightStr(Conta, 8); Outro ponto que causou problemas foi na transação (cnab400), quando é informada uma data para protesto superior a 6 dias. Não estava gerando as instruçoes: if (DataProtesto > 0) and (DataProtesto > Vencimento) then begin DiasProtesto := ' '; case (DaysBetween(DataProtesto,Vencimento)) of 3: // Protestar no 3º dia util após vencimento begin if (trim(Instrucao1) = '') or (trim(Instrucao1) = '03') then AInstrucao := '03'+ PadLeft(trim(Instrucao2),2,'0'); end; 4: // Protestar no 4º dia util após vencimento begin if (trim(Instrucao1) = '') or (trim(Instrucao1) = '04') then AInstrucao := '04'+ PadLeft(trim(Instrucao2),2,'0'); end; 5: // Protestar no 5º dia util após vencimento begin if (trim(Instrucao1) = '') or (trim(Instrucao1) = '05') then AInstrucao := '05'+ PadLeft(trim(Instrucao2),2,'0'); end; else if (trim(Instrucao1) = '') or (trim(Instrucao1) = '06') then AInstrucao := '06'+ PadLeft(trim(Instrucao2),2,'0') else //Alterado em 01/02/2016 Edson Polonio //Se informado data de protesto com mais de 6 dias e Instrucao1 não for brancos ou 06 AInstrucao := PadLeft(trim(Instrucao1),2,'0') + PadLeft(trim(Instrucao2),2,'0'); DiasProtesto:=IntToStr(DaysBetween(DataProtesto,Vencimento)); end; end else begin Instrucao1 := '07'; //Não Protestar AInstrucao := PadLeft(Trim(Instrucao1),2,'0') + PadLeft(Trim(Instrucao2),2,'0'); DiasProtesto:= ' '; end; Em anexo a unit alterada. []´s Edson. ACBrBancoBrasil.pas1 ponto
-
Instale e use o gexperts ( http://www.gexperts.org/ ), para saber onde está os componentes Rxlib na aplicação. ( Greap Search ) Abra o formulário , Clique com botão direito no componente Rxlib. Selecione Replace Components Ex. Selecione um componente Tedit Find -> Tedit Escreva em Replace with -> TJvEdit Marque -> All components on the current form Dica Evite -> All components on all in the project , quando tiver experiência NÃO FAÇA. Após as devidas alterações salve o projeto Abra o projeto no XE3 Me diga o resultado Ps : Faça os devidos ajustes , através de uma cópia do seu projeto original.1 ponto
-
Instale a biblioteca Jedi, no delphi 7 e no Xe3 . Abra a sua aplicação no D7, faça a substituição dos componentes RxLib . http://www.lazyproject.info/en/going-from-rxlib-to-jvcl-what-was-changed/ Dica importante no componente TJvValidateEdit, pois existem várias situações em que pode ser usado : - Na propriedade DisplayFormat , ele pode ser - Integer -> dfInteger - Float -> dfFloat ( configurar decimalplaces para configurar o numero de casas decimais ) - String -> dfAlphabetic e outras.1 ponto
-
1 ponto
-
@Gr@c@, esqueça rxlib. Use a biblioteca jedi. Pois não ela foi adicionada ao jedi.1 ponto
-
Basicamente não muda nada no Delphi 2010 na migração, a não ser que você utilize tratamento de strings e similares, porque ai entra o UNICODE, o HandBook do Cantú é muito bom como o Tiago já disse e tem um outro, "Recursos avançados do Delphi" também do Cantú, este tem versão em português e tem um capítulo somente sobre tratamento de strings e UNICODE.1 ponto
-
Ai galera! era essa besteirinha mesmo rs.. desmarque essa opção no horario que vai enviar!1 ponto
-
Que eu me lembre a tabela estava cheia de falhas, mesmo na versão mais recente liberada.1 ponto
-
1 ponto
-
Jorge, Eu uso o Fortes e os dados do emitente estão saindo corretamente. Acho que o problema esta no preenchimento das propriedades : ACBrNFSe1.Configuracoes.Geral.Emitente.CNPJ ACBrNFSe1.Configuracoes.Geral.Emitente.InscMun ACBrNFSe1.Configuracoes.Geral.Emitente.RazSocial Dercide.1 ponto
-
1 ponto
-
1 ponto
