-
Posts
665 -
Joined
-
Last visited
desconfiado's Achievements
-
Mas estás a validar na conta do fornecedor? Alguma coisa não bate certo. O SAF-T é gerado por quem emite a factura em nome do fornecedor mas tem que ser submetido pelo fornecedor através da sua conta no site da AT.
-
Tal como o iznougudpt indicou as Auto-Faturas obrigam SEMPRE a um acordo com o fornecedor e registado no portal da AT. Nem podia ser de outra forma. Por isso esse <SelfBillingIndicator>, no caso das Auto-Faturas, é sempre OBRIGATORIAMENTE 1. Os ficheiros SAF-T são emitidos individualmente para cada um dos fornecedores com essa informação ou não são SAF-T de Auto-Faturas. Só é 0 quando é o SAF-T "normal" porque esse não tem Auto-Faturas.
-
Recomendo vivamente nova série. O único documento que não inclui a hash do documento anterior é o nº 1 da série. Todos os restantes têm incluir a hash do anterior. Ora, sendo que neste caso não tens a hash anterior, tens um problema. Imagina que existe um problema qualquer nos documentos do software anterior? Como vais provar que o problema foi do software anterior e não do novo? Além disso, na minha opinião, qualquer série tem que começar obrigatoriamente no nº 1. Há por ai umas opiniões diferentes mas não é a minha. Havendo mudança de software o melhor é mesmo mudar a série. Por todos os motivos e mais algum.
-
Tenho uma aplicação simples em android que faz download do conteúdo de uma página web e envia para uma impressora portátil bluetooth. Esta aplicação estava a funcionar perfeitamente mas com as alterações da google neste momento não se consegue instalar em android a partir da versão 12. Fiz esta aplicação a partir de um exemplo de um fabricante de impressoras chines já há alguns anos e pouco mais mexi na app. Agora tenho que fazer alterações para colocar isto a funcionar mas estou com algumas dificuldades pois não sou especialista em android. Já alterei o TargetSdkVersion da app no android studio mas ao tentar fazer download do conteúdo da pagina web "estoura" e dá erro. Pelo que entendi o erro acontece porque a função que faz o download e enviar para bluetooth está na actitvity principal da app e isso agora não é permitido. Esta função é chamada a partir do evento de click num botão. public void onClick(View v) { if (v.getId() == R.id.btn_printdoc) { printdoc(); } //... } public void printdoc(){ try{ connectToPrinter(); } catch (Exception e) { e.printStackTrace(); } try{ //BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new URL(uriToPrint).openConnection().getInputStream())); URL myUrl = new URL(uriToPrint); HttpURLConnection myCon = (HttpURLConnection) myUrl.openConnection(); InputStream stream = null; try { stream = myCon.getInputStream(); } catch(Exception ex){ ex.printStackTrace(); Toast.makeText(this, ex.getMessage(), Toast.LENGTH_SHORT).show(); } InputStreamReader reader = new InputStreamReader(stream); BufferedReader bufferedReader = new BufferedReader(reader); byte[] init = {0x1b,0x74,0x03}; woosim.controlCommand(init, init.length); //StringBuilder sb = new StringBuilder(); String line = null; while( ( line = bufferedReader.readLine() ) != null) { String noHTMLString = ConverCore(line); Pattern pattern = Pattern.compile("data=\"(.*?)\""); Matcher matcher = pattern.matcher(line); if (matcher.find()){ woosim.saveSpool(UTF_8, noHTMLString + "\n", 0x11, false); //Toast.makeText(this, Integer.parseInt(matcher.group(1)), Toast.LENGTH_SHORT).show(); }else{ pattern = Pattern.compile("data-src=\"(.*?)\""); matcher = pattern.matcher(line); if(matcher.find()){ try { downloadFile(matcher.group(1), Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath() + "/sig.bmp"); int resp = this.PrintImage(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/sig.bmp", 0, 0, 0); }catch(Exception ex) { } }else { woosim.saveSpool(UTF_8, noHTMLString + "\n", 0, false); } } } bufferedReader.close(); byte[] ff ={0x0c}; woosim.controlCommand(ff, 1); woosim.printSpool(true); Toast.makeText(this, "Impressão concluida.", Toast.LENGTH_SHORT).show(); } catch (Exception e) { e.printStackTrace(); Toast.makeText(this, e.getMessage(), Toast.LENGTH_SHORT).show(); } } Agora estou com problemas a fazer o download através da InputStream e desconfio que irá acontecer também no envio vi bluetooth. Mas uma coisa de cada vez... Já li que poderia ser através de uma asyncTask mas isto parece que também já foi descontinuado. Também li qualquer coisa sobre Executors ou Threads mas ainda não entendi bem como posso fazer isto. Alguém me sabe dizer como posso fazer isto?
- 2 replies
-
- android
- concorrência
-
(and 1 more)
Tagged with:
-
Utilizar Webservices da AT
desconfiado replied to cjulio's topic in Software de Contabilidade, Finanças e Admin. Pública
A comunicação de documentos de transporte está com problemas? Alguém sabe? -
Em principio, sim. Mas isto é "abrir" a caixa de pandora, vai dar muita asneira! Há um outro ponto sobre alterações da taxa de IVA entre as 2 operações que é um "mimo" que vai dar asneiras. O software vai ter que controlar muito bem esta questão de valores negativos nas linhas ou arrisca-se a que o SAF-T não passe na entrega.
-
Utilizar Webservices da AT
desconfiado replied to cjulio's topic in Software de Contabilidade, Finanças e Admin. Pública
E o problema não é esse. Fiz uns testes sem essas tags e o erro continua. Ou seja, o contribuinte que se .... mais uma vez. Isto esteve a funcionar até finais de Setembro. A partir dai nunca mais funcionou. PS: para onde enviaste o pedido de esclarecimento á AT? -
Utilizar Webservices da AT
desconfiado replied to cjulio's topic in Software de Contabilidade, Finanças e Admin. Pública
Nem sabia que isso era enviado. Como resolveram? -
Utilizar Webservices da AT
desconfiado replied to cjulio's topic in Software de Contabilidade, Finanças e Admin. Pública
Alguém está com problemas a registar séries de Auto-Faturação com acordo? O serviço está a devolver "Erro - Pedido de Cliente" e não estou a entender porquê. -
Serviço de Assinatura de Faturas Eletrónicas (SAFE)
desconfiado replied to marcolopes's topic in Java
Acho que também existem outros limites, tipo 40 facturas por dia ou uma coisa assim. Já não me lembro onde vi isso... Este cumprimento de legislação europeia é uma grande treta. Os "nuestros irmanos" aqui ao lado, até hoje não têm nada destas assinaturas. -
AT - questões legais
desconfiado replied to marcolopes's topic in Software de Contabilidade, Finanças e Admin. Pública
Pois, mas o problema é que em alguns softwares não consegues identificar correctamente todos esses elementos. Apesar de ser obrigatório por lei. -
AT - questões legais
desconfiado replied to marcolopes's topic in Software de Contabilidade, Finanças e Admin. Pública
Eu não controlo as datas para trás excepto a verificação da data da ultima factura. Acho que isso é da responsabilidade do cliente. Tanto quanto sei a AT contacta o contribuinte que fez a factura e não a Software House. -
AT - questões legais
desconfiado replied to marcolopes's topic in Software de Contabilidade, Finanças e Admin. Pública
Contabilisticamente a NC deve ser feita á taxa de IVA que foi faturada em 2016. Em relação ao SAF-T, se a factura foi feita no mesmo software, é referenciada como todas as outras, na tag <References>, indicando a "Identificação única do documento de venda (InvoiceNo)". É assim que faço no software porque sendo um documento emitido por outra aplicação podemos não conhecer essa identificação dada pela outra aplicação. -
AT - questões legais
desconfiado replied to marcolopes's topic in Software de Contabilidade, Finanças e Admin. Pública
Penso que até 5 dias é possivel (desconheço o suporte legal disto). Sei que há uns anos atrás até se podia pedir um prazo maior mediante um requerimento á AT porque havia quem emitisse GR ou GT durante 15 dias, ou até um mês, e só depois facturava essas guias. Actualmente, e teoricamente, podes com qualquer data (desde que igual ou superior á anterior dentro da série) mas arrisca-se a ser chamado á AT como já aconteceu com alguns que fizeram isso. Porque a SystemEntryDate fica registada e vai no SAF-T, como deves saber.