Pesquisar na Comunidade
Showing results for tags 'Data'.
Encontrado 19 registros
-
Novo Método para Conversão de Datas Compatível com o TDateTime do Pascal
um tópico no fórum postou Júlio Cavalcanti Notícias do ACBr
Olá, pessoal. Foi disponibilizado na ACBrLibBase do pacote ACBrCommon para a linguagem Java, na Rev-34487, um novo método `convertDateToTDateTime` para tornar o objeto do tipo `Date` compatível com o `TDateTime` em Pascal. Esse método é essencial para converter o tipo `Date` do Java em um tipo `TDateTime do Pascal`, permitindo que a biblioteca interprete as datas corretamente. Exemplo de uso: Trecho da implementação: https://svn.code.sf.net/p/acbr/code/trunk2/Projetos/ACBrLib/Demos/Java/ACBr Common/src/com/acbr/ACBrLibBase.java /** * Função para converter um objeto do tipo Date em um double compatível com o TDateTime do Pascal * @param date * @return double */ public double convertDateToTDateTime(Date date) { // Obtém o timestamp Unix em milissegundos long unixMillis = date.getTime(); // Converte o timestamp para TDateTime double pascalDateTime = unixMillis / 86400000.0 + 25569.0; return pascalDateTime; } -
Consulta Protocolo e Data/Hora Autorização da NFCe
um tópico no fórum postou valterpatrick NFC-e - Nota Fiscal do Consumidor Eletrônica
Pessoal, tem como consultar a NFCe no site da receita pela chave de acesso e pegar alguns dados como protocolo e data/hora de autorização? Isto usando o componente ACBrNFe. Tem como me darem um exemplo ou um norte de como fazer isto por favor. -
Bom dia, Estou tendo alguns problemas quando mando imprimir a GNRE pelo componente através do XML da mesma. está me retornando que a data não é valida, o XML está com a data já formatada (por exemplo 28/01/2020), e na impressão ele tenta pegar essa data e formata-la novamente, o que ocasiona o erro. O XML foi gerado pelo ACBr também. A função para formatar a data se encontra na unit ACBrGNREGuiaFRDM. A data após passar pela função fica 28//0/1/20, o que impede a impressão. Alguém já teve o mesmo problema, ou poderia me ajudar? Muito obrigado desde já.
-
Bom dia CTe 3.0 Utilizo o fortes report para impressão dos relatorios Estava testando a impressão do DACTE e notei que não aparece a data de Entrega, sendo que no XML esta consta essa informação
-
Bom dia, Estou com uma dúvida que ainda não encontrei resposta, gostaria de ver se alguem tem esse conhecimento. Na NFe 4.0 o grupo I80 Rastreabilidade de produto implementa algumas informações de lote e data de validade. Nos casos de produtos sem prazo de validade (EX: instrumentos cirúrgicos), algum colega sabe como proceder, não encontrei nada na internet ainda, no manual e na NT. Obrigado pela atenção!!
-
mensagens padrão Alteração na procedure TACBrBoleto.AdicionarMensagensPadroes
um tópico no fórum postou Wellington Alamino ACBrBoleto
No arquivo atualizado em 19/04/2018 altero a procedure AdicionarMensagensPadroes da seguinte forma Implementação anterior : [line 1978] if ValorAbatimento <> 0 then begin if DataAbatimento <> 0 then AStringList.Add(ACBrStr('Conceder abatimento de ' + FormatCurr('R$ #,##0.00',ValorAbatimento) + ' para pagamento ate ' + FormatDateTime('dd/mm/yyyy',DataAbatimento))) else AStringList.Add(ACBrStr('Conceder abatimento de ' + FormatCurr('R$ #,##0.00',ValorAbatimento) + ' para pagamento ate ' + FormatDateTime('dd/mm/yyyy',Vencimento))); end; Nova Implementação: [line 1978] if ValorAbatimento <> 0 then begin if DataAbatimento <> 0 then AStringList.Add(ACBrStr('Conceder abatimento de ' + FormatCurr('R$ #,##0.00',ValorAbatimento) + ' para pagamento ate ' + FormatDateTime('dd/mm/yyyy',DataAbatimento))) else AStringList.Add(ACBrStr('Conceder abatimento de ' + FormatCurr('R$ #,##0.00',ValorAbatimento))); end; Justificativa: A data de abatimento para os bancos não existe, ou seja o banco não reconhece uma data que condicione o recebimento do boleto com abatimento, tanto é que na remessa não existe campo definido para a data de abatimento. Citação do documento http://www.bb.com.br/docs/pub/emp/empl/dwn/CbrVer04BB.pdf >>> Particularidades BB Leiaute CNAB 240 Na página 10; Então penso que se o cedente quiser reforçar uma data para o abatimento na impressão do titulo, ela pode ser preenchida, mas, se a data de abatimento estiver ausente, a data de vencimento não deve ser apresentada como condicionante a concessão do abatimento a fim de evitar transtorno para o sacado na hora do pagamento do boleto bancário. Agradeço a atenção e aguardo análise do pessoal, para melhorarmos cada vez mais este componente conceituado; ACBrBoleto.pas- 3 replies
-
- data abatimento
- valor abatimento
- (e 1 mais)
-
Olá, atualizei o repositório do acbr hoje (06/02/2018) e ao testar percebi que na impressão no dacte no campo "data prevista para entrega" está vindo vazio. No XML esta correto, inclusive testei em versões mais antigas do acbr e está funcionando
-
ola estou precisando fazer uma rotina que pegue sempre dia 1 de janeiro independe do ano que eles escolher como faço isso
-
Data e hora servidor NFC-e
um tópico no fórum postou Turbo Drive NFC-e - Nota Fiscal do Consumidor Eletrônica
Bom dia Estou usando a seguinte função para capturar a data e hora do servidor: AcbrNfe1.WebServices.StatusServico.Executar; hrserv26 := TimeToStr(AcbrNfe1.WebServices.StatusServico.dhRecbto); dtsrv26 := dateToStr(AcbrNfe1.WebServices.StatusServico.dhRecbto); Estou no RN, e aqui usamos o servidor do RS. Atrasei a hora do meu computador em 60 min, e ao invés do retorno ser 10:00 hrs, ainda está me retornando a hora atrasada. Verifiquei o XML da consulta, e este vem com a data e hora do servidor. Não tenho certeza, mas acho que o retorno com atraso esteja nessa função da unit AcbrNFeWebservices if (pos('svrs.rs.gov.br', FPURL) > 0) and (MinutesBetween(NFeRetorno.dhRecbto, Now) > 50) and (not IsHorarioDeVerao(CUFtoUF(FcUF), NFeRetorno.dhRecbto)) then FdhRecbto:= IncHour(NFeRetorno.dhRecbto,-1) else FdhRecbto := NFeRetorno.dhRecbto; Existe alguma forma configurar o componente para chamar essa função apenas no período do horário de verão ? Desde já agradeço a atenção. -
bug Correção de bug e Complemento na TACBrCaixaEconomica.LerRetorno240
um tópico no fórum postou Wellington Souza ACBrBoleto
Na correção do bug Antes > { TempData := Copy(ARetorno[1],200,2) + '/' + Copy(ARetorno[1],202,2) + '/' + Copy(ARetorno[1],204,4); <<<<< Forma anterior if TempData <> '00/00/00' then ACBrBanco.ACBrBoleto.DataCreditoLanc := StringToDateTimeDef(TempData, 0, 'DD/MM/YY');} Depois > { TempData := Copy(ARetorno[1],200,2) + '/' + Copy(ARetorno[1],202,2) + '/' + Copy(ARetorno[1],206,2); <<<<< Alteração aqui para tornar válido o teste da próxima linha if TempData <> '00/00/00' then ACBrBanco.ACBrBoleto.DataCreditoLanc := StringToDateTimeDef(TempData, 0, 'DD/MM/YY');} Na sugestão de complemento gostaria de propor a seguinte linha no Segmento "T" da mesma Unit Sacado.NomeSacado := copy(Linha,149,50); para capturarmos o nome do sacado a partir do retorno. Então, é isso que eu gostaria de contribuir com a comunidade, se me equivoquei em algo por favor me esclareça. Desde já agradeço; ACBrBancoCaixa.pas- 2 replies
-
- complemento
- nomesacado
-
(e 2 mais)
Tags:
-
Boa tarde, Pessoal estava vendo o exemplo do ACBrSpeed FCont, porque teremos que implementar aqui em nosso sistema. Alguém sabe como eu posso corrigir esse erro, ele é exibido no validador, ele diz que o formato da data deve ser ddmmaaaa no DT_FIN, sou novo em relação ao SPEED
-
Boa noite. Estou gerando este txt de nota de importação, sendo ainda em teste, pois estou implantando e dá este erro: ERRO: "2017-06-09" is not a valid date format Segue txt do acbrmonitorplus 1.1.0.15 NFe.CriarEnviarNFe(" [infNFe] versao=3.10 [Identificacao] natOp=Venda de mercadoria adquirida ou recebida de terceiros mod=55 serie=14 cNF=00345375 dEmi=20/06/2017 21:47:46 tpNF=0 indPag=0 nNF=000008202 verProc=3.10 cUF=SP cMunFG=3557105 tpImp=1 tpEmis=1 idDest=3 tpAmb=2 finNFe=1 procEmi=0 indFinal=1 indPres=0 [Emitente] CNPJ=12342787000159 IE=718002819112 xNome=EMISSOR DA NFE xFant=Emissor NFe fone=1915151515 CEP=21361131 xLgr=Rua Parana nro=4208 xCpl= xBairro=Vila Paes cMun=3557105 xMun=Votuporanga UF=SP IEST= IM= CNAE= CRT=3 cPais=1058 xPais=Brasil [Destinatario] CPF= xNome=IMPORTADORA DE R RADIAL LTDA. xLgr=R ITAPIRA nro=144 xCpl= xBairro=EXTERIOR ARGENTINA cMun=9999999 xMun=EXTERIOR UF=EX CEP= cPais=1058 xPais=Brasil fone=1132777700 indIEDest=9 [email protected] [Entrega] CPF= xLgr=R ITAPIRA nro=144 xCpl= xBairro=EXTERIOR ARGENTINA cMun=9999999 xMun=EXTERIOR UF=EX [Volume001] qVol=1 esp=TESTE marca=TESTE pesoL=0 pesoB=0 [DadosAdicionais] infAdFisco=ICMS A SER RECOLHIDO NOS TERMOS DO DECRETO 51.597/2007 DOCUMENTO NAO TRANSFERE CREDITO DE ICMS. - Pedido:170223163233 - Emissao - 2017-06-20 infCpl=Vlr. Aproximado dos Tributos (Fonte IBPT)* - [Transportador] modFrete=9 [Produto001] codigo=2165 cEAN= xProd=*MINI SYSTEM TOSHIBA MS 7825MU NCM=01019000 infAdProd= CEST=1900100 EXTIPI= CFOP=3102 uCom=UN qCom=1 vUnCom=650 vProd=650 cEANTrib= vTotTrib=0 vFrete=0 vSeg=0 vOutro=0 vDesc=0 indTot=1 [ICMS001] CST=60 orig=0 modBC=0 vBC=0 pICMS=0 vICMS=0 modBCST=0 pMVAST=0 modBCST=0 pMVAST=0 pRedBCST=0 vBCST=0 pICMSST=0 vICMSST=0 pRedBC=0 vBCSTRet=0 vICMSSTRet=0 vICMSDeson=0 motDesICMS=9 [DI001001] nDI=1 dDI=2017-06-09 xLocDesemb=aaaaa UFDesemb=AL dDesemb=2017-06-08 tpViaTransp=1 vAFRMM=8 tpIntermedio=1 cExportador=830 CNPJ=39000468000111 UFTerceiro=SP [LADI001001001] nAdicao= nSeqAdi=10 cFabricante=824 vDescDI=10 nDraw=1212 [II001] vBC=850 vDespAdu=25 vII=150 vIOF=14 [PIS001] vBC=650 pPIS=0 vPIS=0 CST=01 [COFINS001] vBC=650 pCOFINS=0 vCOFINS=0 CST=01 [Total] vBC=0 vICMS=0 vBCST= vST=0 vProd=650 vFrete=0 vSeg=0 vDesc=0 vII=150 vIPI= vPIS=0 vCOFINS=0 vOutro=0 vNF=715 vICMSDeson=0 vTotTrib=0 vICMSUFDest=0 vICMSUFRemet=0 ",,0) ERRO: "2017-06-09" is not a valid date format
-
Capturar data de emissão
um tópico no fórum postou Turbo Drive NFC-e - Nota Fiscal do Consumidor Eletrônica
Boa tarde Usando a função AcbrNFce.WebServices.Consulta.Executar, eu consigo capturar a data de autorização da NFC-e. Eu gostaria de saber se existe alguma forma de se capturar a data de emissão de uma NFC-e, informando apenas a chave de acesso ? Desde já agradeço a atenção. -
Boa tarde, pessoal! Comecei a usar recentemente o ACBrMonitorPlus e estou com um probleminha que parece ser com o formato da data. Já fiz inúmeras pesquisas, porém ainda não consegui solucioná-lo. Com o ENT.txt desta forma: dhEmi=23/12/2016 dhSaiEnt=23/12/2016 Recebo este erro: ERRO: Falha na validação dos dados da nota: 1 '1899-12-30T00:00:00-03:00' violates pattern constraint of '(((20(([02468][048])|([13579][26]))-02-29))|(20[0-9][0-9])-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1...'. The element '{http://www.portalfiscal.inf.br/nfe}dhCont' with value '1899-12-30T00:00:00-03:00' failed to parse. Alterando o formato da data o erro é assim: ERRO: "2016-12-20" is not a valid date format Desde já agradeço a ajuda.
-
Boa tarde povo. vamos la. Estou emitir uma NFe e esta indo normalmente imprimindo bonito com protocolo de autorização de uso. quando manda reimprimir no campo PROTOCOLO DE AUTORIZAÇÃO DE USO esta saindo sem a data. segue a foto das 2 impressões.
-
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.
- 11 replies
-
- 2
-
Boa tarde galera...quando eu tento puxar a data movimento do ecf, tanto pelo meu sistema, tanto pelo ecfteste...a data retornada é 30/12/1899...como proceder com esse problema??
-
Bom dia colegas, estou com um problema que está dando somente em 1 computador (o do meu chefe, heheheheheheh) No ACBRNFeMonitor utilizo o comando NFE.LerNFe para importar as informacoes de um arquivo XML. Porém no computador em questão a data e hora estão vindo no padrão americano, mm/dd/yyyy e hh:mm pm/am Já verifiquei as configuracoes do windows e está tudo certo no padrao Brasileiro... Onde mais poderia estar errado??? O mesmo executavel que roda no windows dele (é Windows 7 64bits Professional pt-BR) roda em todos os outros clientes (e no meu pc tbm) e em nenhum lugar dá esse erro... Abaixo o trecho da resposta do Monitor no pc dele e no meu:
-
Problema Com Datamovimento Ao Usar Simulador Sweda Sem Redução Z
um tópico no fórum postou gleisonpauloc ACBrSerial
Encontrei um problema ao usar o Simulador da Sweda sem redução Z ao retornar a data do movimento: Ao executar RetornaInfoECF('A2') sem Redução Z a String retornada é: #0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'28/11/2013'#0'17:28:20'#0#0'21/11/2013'#0'15:26:16'#0#0'28/11/2013'#0'17:28:30'#0#0#3'¹'#2'934+0000CA˜À’€€A2' Ao executar RetornaInfoECF('A2') Com Redução Z a String retornada é: '29/11/2013'#0'16:41:00'#0#0'29/11/2013'#0'16:42:08'#0#0'29/11/2013'#0'16:41:26'#0#0'29/11/2013'#0'16:42:16'#0#0#3#5#2'934+0000AA˜À’€€A2' No primeiro caso a função Trim esta eliminando as informações da primeira data (Redução Z). Neste caso creio que o correto seria o uso de RemoveNulos() no lugar de Trim. function TACBrECFSwedaSTX.GetDataMovimento: TDateTime; Var RetCmd : AnsiString ; OldShortDateFormat: AnsiString; sData:String; begin // RetCmd := Trim(RetornaInfoECF('A2')); RetCmd := RemoveNulos(RetornaInfoECF('A2')); OldShortDateFormat := ShortDateFormat ; try sData := Copy(RetCmd,22,10); ShortDateFormat := 'dd/mm/yyyy' ; Result := StrToDate(sData); finally ShortDateFormat := OldShortDateFormat ; end ; end;