Jump to content

Leaderboard

  1. JorgeRocha

    JorgeRocha

    Member


    • Points

      13

    • Content Count

      72


  2. desconfiado

    desconfiado

    Member


    • Points

      6

    • Content Count

      334


  3. antseq

    antseq

    Member


    • Points

      6

    • Content Count

      213


  4. CFreitas

    CFreitas

    Member


    • Points

      3

    • Content Count

      205


Popular Content

Showing content with the highest reputation since 03/11/2021 in all areas

  1. Obrigado a todos, se o objetivo e colaborar eu estou aqui para isso para aprender e dar ideias e participar. Embora a minha reputação seja miserável Perdi muito tempo neste tópico, nem sempre o que se diz corresponde a realidade, mas com o tempo aprendesse a filtrar. Respostas (vê se expliquei tudo se não volta a carga) 1- Pode ser o SELO ELETRONICO, mas eu uso os gerais (também, remotos, e optei por remotos para não teres uma PEN ou um SMARTSCARD) que permitem também assinar documentos. Por isso é que gosto mais desta solução. fiz testes com eles e alem de pdf tambem assino XML
    4 points
  2. Boas. Se alguém tiver interesser, criei uma demo online: https://github.com/luisabreu/AmaCmdSigning
    3 points
  3. Boas, é isso mesmo, primeiro era em JAN/21 depois, ABR/21 agora JUL/21. Mas são faturas eletrónicas com selo eletrónico. nada tem a ver com FE-AP. Chama-se Certificado Qualificado com Selo Eletrónico. Este sim é o nome pomposo !!! Eu tenho clientes que literalmente "cagaram" para os brokers, e enviam o CIUS por mail para a entidade do estado e muitos aceitam. Mas dentro do CIUS PT envio no campo attach... não me lembro agora o nome do campo, um PDF assinado digitalmente em base64. Ou seja é exatamente isso que tu queres, é o PDF assinado com a nova norma europeia. Como e
    3 points
  4. Se fosse só aqui ....que bem que estávamos. vi por acaso num debate da tvi 24 (aqueles programas das 11h da noite) um fiscalista de renome (eu já o vi varias vezes, mas neste momento não me lembro) a dizer qq coisa como "eu tenho certas dificuldades em acompanhar a quantidade de alterações produzidas de um ano para o outro. O nosso sistema fiscal é extremamente complexo!". A SERIO !!! FOD#$&%$& o pessoal de informática são heróis CARAL#$&$%& (desculpem sou do norte carago!)
    2 points
  5. De acordo com o decreto-lei 123/2018, no artigo 3º alinea 2a., As restantes entidades, camaras municipais, hospitais e outros, bem como empresas privadas tipo GALPs que também estão a aderir á factura electrónica contratam o broker que quiserem. O problema reside no facto de os brokers não comunicarem uns com os outros, a Saphety aparentemente não comunica com nenhum apenas espap. Alguns comunicam entre eles mas não todos nem com todos. Quem faz estas leis não tem noção da realidade.
    2 points
  6. No SAFT vão 90€ no GrossTotal e 10 no SettlementAmount. O recibo, afirma que foram recebidos 90€. Os 10€ são um abatimento extra feito por via de um desconto financeiro. Para mais informação (e complicação) ver FAQ 60-2796 Como mencionar descontos em recibos?
    2 points
  7. Boas @fortunecat, Ponto 1: Indentação Eu acredito que possas ser novo na área de programação, mas é bom começar logo de inicio com a perna direita. Uma boa indentação é meio caminho andado para futuramente descobrires possíveis bugs ou até erros simples de sintaxe. Portanto, em C eu aconselho seriamente a dares um tab sempre que abrires chavetas { } ao que é chamado de Scope. Por exemplo: #include <stdio.h> int main() { int x = 1; while (x < 5) { if (x == 2) { x = 3; } else { printf("%d", x); } } return 0; } Tendo is
    2 points
  8. Vamos lá ver uma coisa, os novos certificados qualificados de selo eletrónico, atenção qualificados de selo eletrónico, os tais que são os únicos validos a partir de JUN ou JUL deste ano tens de ter obrigatoriamente um token. É uma cagada mas é assim. Eu tenho por exemplo para a empresa um certificado que comprei num ficheiro simples. Quando preciso assino com esse certificado e pronto, não dou cavaco a ninguém. O problema é quando tens o conceito de certificado qualificado de selo eletrónico, os tais novos que necessitas de um token. Como pode ser esse token ? Pode ser: uma pen, um
    2 points
  9. Partilho abaixo o código completo para comunicar com os serviços Saphety para quem precisar. A documentação é publica por isso não deve haver problema e com certeza muito pessoal agradece. Visto que existem vários brokers, para já estou a desenvolver para 2, saphety e espap, eu optei por criar uma interface com o essencial e derivar a partir dai para qualquer broker. No entanto quem quiser pode retirar a interface e usar apenas a classe. using System; using System.Collections.Generic; using System.Diagnostics; using System.Globalization; using System.IO; using System.Linq; using Syste
    2 points
  10. Segundo esta explicação: https://stackoverflow.com/questions/40016305/phpmailer-exceptionsendasdeniedexception-mapiexceptionsendasdenied "Since july 2017 office 365 smtp does not allow using a "from" address other than your own (or what you're authenticated with), probably as an anti-spam measure" Geralmente o "From" não costuma ser arbitrário... e deveria ser o mesmo utilizado na autenticação. (nem sei porque o gmail o está a deixar fazer de outra forma... totalmente livre, sem restrições de que autentica e de quem envia..)
    2 points
  11. Sim, é isso que eu percebi. Os nossos clientes, além de nos pagarem para fazermos a ligação do nosso software ao sistema da Saphety (ninguem vai fazer isso de borla), ainda lhes vão ter de lhes pagar, no mínimo, esse valor mensal. Acho que muitos deles não têm rentabilidade para isso, nomeadamente, padarias, etc. Por este andar, muitos refeitórios de escolas vão ficar sem pão.
    2 points
  12. Pois de facto está a funcionar. Não percebo
    1 point
  13. A função fscanf() devolve o número de elementos lidos correctamente. EOF é um caracter e seria utilizado, por exemplo, para comparar com o retorno de um fgetc(). Se queres ler 4 elementos de uma vez, então deverás verificar que, a cada iteração, foram lidos 4 elementos correctamente. Assim que falhar, deverás ter chegado ao fim do ficheiro ou a uma parte dele que não está devidamente formatada. Por outro lado, tal como no scanf(), tens de passar os endereços das variáveis. Neste caso, falta o operador &. Por fim, diria que a forma mais eficaz de desconsiderar os whitespaces é usa
    1 point
  14. Não sou expert, mas, segundo o que percebi, assinar tem de ser feito com um certificado normal, mas reconhecido pela União Europeia (daí ser qualificado). Este certificado pode ser um ficheiro, geralmente ou está na cloud ou dão uma pen ou um cartão com esse certificado. Com este certificado (normalmente) assina-se um hash de um documento. Outra coisa completamente diferente são os selos temporais. Os selos temporais apenas podem ser feitos remotamente, num servidor reconhecido (a hora é verificada pela união europeia). Para usar um serviço destes temos que enviar a hash do documento e o
    1 point
  15. Vou vender o peixe ao mesmo preço que me venderam, Se usar a PEN ou o SMARTCARD o utilizador tem que introduzir a password por cada documento (não existe forma de ultrapassar isto para ser automático), logo isto não tem aplicabilidade prática para a maioria das empresas. Existe 2 outras formas, ambas implica contactar a empresa certificadora. (acho que é este o termo) Opção A - Com os dados de autenticação solicitar um TOKEN e depois assinar o PDF Opção B - Enviar o PDF e o email do destinatário, a empresa assina e envia. Esta opção ainda tem a Sub-Opção de se poder guardar
    1 point
  16. Sim, sim, isso eu já sabia, desculpe pois eu não fui muito claro na minha pergunta, na verdade o que eu estava com mais dificuldade era na hora de fazer o layout, mas eu consegui: Eu consegui achar algo na internet que me desse um caminho para fazer o layout, esse algo foram dois comandos do css: grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); grid-gap: 15px; Foram esses dois comando que me salvaram, não conhecia eles mas depois que eu tive esse problema eu passei a estuda-los um pouco mais. Deixarei o código da aplicação que eu fiz em ReactJs como tam
    1 point
  17. Já experimentaste evt.from.id ?
    1 point
  18. A Landing.Jobs publicou recentemente os resultados de um inquérito relativo ao mercado de trabalho nas áreas IT em Portugal, com dados muito úteis para o planeamento da carreira profissional: Tech Careers Report 2021 (Dados do ano anterior aqui.)
    1 point
  19. Tal como eu tinha indicado.
    1 point
  20. Eu utilizaria a versão A: - faz mais sentido... o desconto no pagamento ("financeiro") não vai regularizar o IVA nem alterar o valor do documento que está a ser pago - na documentação (payments) temos campos específicos para estes casos: 4.4.4.14. (Line) 4.4.4.14.3. (SettlementAmount) Descontos concedidos aquando do pagamento deste documento. 4.4.4.15. (DocumentTotals) 4.4.4.15.4.1. (SettlementAmount) Total dos descontos concedidos aquando deste pagamento. - há um exemplo "semelhante" no exemplo https://info.portaldasfinancas.gov.pt/apps/saft-pt01/local/saft
    1 point
  21. Já percebi, pelo exemplo no site das especificações da AT que o erro é no QR Code. Olhando para o exemplo inicial, no link: https://info.portaldasfinancas.gov.pt/pt/apoio_contribuinte/Novas_regras_faturacao/Documents/Especificacoes_Tecnicas_Codigo_QR.pdf "O" Total do documento com impostos (O:513600.58) "P" Retenções na fonte (P:100.00) "S" Outras informações (S:TB;PT00000000000000000000000;513500.58) Fiquei com dúvidas face à descrição: "Na Portaria 302/2016, campo: 4.1.4.20.3. - Total do documento com impostos (GrossTotal) Este campo não deve refl
    1 point
  22. Atenção que o GrossTotal não deve subtrair a retenção na fonte! Sempre foi assim. Não houve qualquer alteração. Ver FAQ: 48-2784 Como exportar os valores relativos a retenção na fonte que devam constar numa fatura? E as franquias? A menção de franquias, valores de garantia ou retenções na fonte não terão qualquer influência nos totais do documento emitido, devendo ser referidos após o apuramento do campo “Total do documento com impostos” (GrossTotal) das tabelas existentes na estrutura Documentos comerciais (SourceDocuments). Estes valores devem constar em campos próprios cria
    1 point
  23. public class ExternalEmptySignatureContainer : IExternalSignatureContainer { public void ModifySigningDictionary(PdfDictionary signDic) { signDic.Put(PdfName.Filter, PdfName.Adobe_PPKLite); signDic.Put(PdfName.SubFilter, PdfName.Adbe_pkcs7_detached); } public byte[] Sign(Stream data) { // Store the data to sign and return an empty array Data = DigestAlgorithms.Digest(data, DigestAlgorithms.SHA256); return new byte[0]; } public byte[] Data; } No metodo sign tens de adicionar aqui o prefixo de bytes que ama indica na documentação.
    1 point
  24. Eu já estive a fazer uns testes com isso porque realmente parece-me uma boa ideia centralizar os serviços e o preço também me parece atrativo. Entretanto parei e dei prioridade ao assunto FE-AP mas aqui fica o código para download do PDF do serviço da Saphety. Suponho que a tua dificuldade estará em "retirar" o PDF da resposta obtida do serviço. private void GetPDF() { var resp = AS2Helpers.AS2Saphety.GetPDF(token, null, null, ID); if (!resp == System.Net.HttpStatusCode.OK) return; txtResposta.Text = AS2Helpers.AS2Saphety.responseText; var resposta = JObject.P
    1 point
  25. Certo, manda-me um pm que eu mando-te a class, agora não consigo. Quando a preços, fica por volta dos 0,1 € por documentos assinado, mas isso pode variar com muitos fatores.
    1 point
  26. Também não achei grande piada a isto do 707, mas depois falei com eles e foram espetaculares. Eles também fazem a assinatura de documentos, mas eu queria uma solução mais transversal, como o @davdew05, para poder enviar faturas eletrónicas por isso optei pela multicert, alem de que ja era cliente eles antes com a possibilidade de assinar faturas. Quando compras certificados podes comprar para faturas eletrónicas ou para outras coisas. Isso foi outro fator para escolher a multicert.
    1 point
  27. @reznor basicamente tens de fazer byte[] docHash = Sha256.ComputeHash(array de bytes do doc), e juntar este bytearray ao array de bytes do prefixo Deixa lá quando andamos a implementar isto, quase que íamos chegar ao ponto de implementar o algorimto de hash que eles falam na documentação (visto que já não conseguiamos perceber o que estava mal), mas depois confirmei que o .net já tem isto. Foi muita tentativa e erro.
    1 point
  28. têm de usar o singdeferred using (PdfReader reader = new PdfReader("_nome_ficheiro")) { using (FileStream fileStream = new FileStream($"_nome_ficheiro_assinado_ouput", FileMode.Create)) { Org.BouncyCastle.X509.X509Certificate[] chain = this.getUserCertificateChain(userBasePath); PdfSigner signer = new PdfSigner(reader, fileStream, new StampingProperties()); IExternalSignatureContainer external = new MyExternalcontainer(signature, chain.ToList()); PdfSigner.SignDeferre
    1 point
  29. Diria que o melhor que podes fazer é dividir os 50M de ficheiros por uns 50 ou 100 ficheiros compactados, e fazer upload destes, possivelmente com algum nível de paralelismo no upload. Pode ser também caso para ouvir os conselhos do Tanenbaum: "Never underestimate the bandwidth of a station wagon full of tapes hurtling down the highway."
    1 point
  30. Do que já explicaram aqui, fatura eletrónica não é simplesmente enviar um pdf assinado por e-mail, tem de haver mecanismos de não repúdio na origem e na entrega, não duplicação no envio, entre outros (mais tarde quando encontrar o post em questão edito aqui com o que me responderam na altura), e sim isto é o que a AT diz, pq responderam me a essas questões há algum tempo atrás. Contudo acho que maior parte simplesmente está a enviar o pdf assinado por e-mail. EDIT: @davdew05
    1 point
  31. Viva... O único erro que estou a ver, é que removeu o(s) table(s) alias(es) ("TA A" , "TB B") e no entanto está a usar os mesmos (aliases) no select "A.xxx, B.xxxx" Sem o(s) table(s) alias(es) deveria estar "SELECT TA.Descricao AS DescricaoA, TB.Descricao AS DescricaoB". Há um espaço (não intencional) entre a tabela e o campo "TRelAB .IdA", mas já testei e o espaço apesar de não desejável, funciona na mesma e não causa o tal erro. Experimente com o TA... TB... no SELECT e remova o espaço a mais, se mesmo assim não funcionar, sugiro correr a query no SQL Management Studio, q
    1 point
  32. Bem, parece que quem mandou o 1º Email, receberam todos resposta no mesmo dia lol :D... pergunto-me se será porque perceberam que os emails eram iguais e estiveram a estruturar a resposta. Sim, os privados comunicam entre eles, menos mal. Sim os nossos clientes, não têm rentabilidade para pagar a uma Saphety. Sim, não sabemos quando irá sair o despacho a definir o valor para a eSPAP. E agora a nível pessoal. Não enquanto empresa. Fica por explicar, como foram gastos milhares, milhoes de euros em Brokers privados por entidades Publicas, sem sequer saberem quanto vai
    1 point
  33. penso que será isto: DECLARE @TA TABLE(Id INT, Descricao NVARCHAR(100)); INSERT INTO @TA VALUES (1, 'A1'), (2, 'A2'), (3, 'A3'), (4, 'A4'), (5, 'A5'),(6, 'A6'); DECLARE @TB TABLE(Id INT, Descricao NVARCHAR(100)); INSERT INTO @TB VALUES (1, 'B1'), (2, 'B2'), (3, 'B3'), (4, 'B4'), (5, 'B5'),(6, 'B6'); DECLARE @TRelAB TABLE(IdA INT, IdB INT); INSERT INTO @TRelAB VALUES (1, 4), (2, 3), (3, 2), (4, 5), (5, 6),(6, 1); SELECT A.Descricao AS DescricaoA, B.Descricao AS DescricaoB FROM @TRelAB AB LEFT JOIN @TA A ON AB.IdA = A.Id LEFT JOIN @TB B ON AB.IdB = B.Id -- ORDER BY A.Descricao -- ORDER B
    1 point
  34. Por curiosidade, alguém aqui está a pensar implementar o SAFE (cartão do cidadão) como forma de possibilitar assinatura digital? Temos recebido algumas propostas para parcerias para oferecer serviços de assinatura em bulk, ou venda de certificados qualificados (que são CARÍSSIMOS!) Um software com a implementação SAFE seria uma mais valia enorme! https://www.autenticacao.gov.pt/serviço-de-assinatura-de-faturas-eletrónicas-safe-
    1 point
  35. Eu diria que é suficiente a colocação da assinatura eletrónica qualificada e a existência de um contrato escrito de aceitação por parte do cliente e que mencione o email para onde são enviadas. Pelo menos, parece-me ser assim que "as grandes" estão a fazer, leia-se EDP, PT, VODAFONE, VIA VERDE, etc..., aceitas a fatura eletrónica e ela passa a chegar assinada por email. Por enquanto, pelo menos até ao fim do mês de Junho, os PDFs sem assinatura equivalem para todos os efeitos legais (fiscais) a faturas eletrónicas. Ver DESPACHO N.º 72/2021-XXII do SEAAF. Por mim, podia ser para sempr
    1 point
  36. Sem entrar em detalhes muito específicos.... 2 jogadores, implica 2 matrizes (1 para cada jogador), portanto bastaria acrescentar mais uma dimensão a "Matriz" que já tens algo tipo "array[1..2, 1..10, 1..10]" e depois adaptar as funções que já tens para efectuarem as operações numa "1" ou outra "2" dimensão da Matriz[10x10]. Terás também de adaptar a parte de "Contar os submarinos afundados" para se ajustar aos 2 jogadores. (mesmo agora single/player, assim a primeira vista, também não está a 100% => se o jogador, jogar 2x no mesmo sítio X,Y e afunda o submarino, afunda o mesmo 2x
    1 point
  37. Boa noite pessoal... Esta mensagem é para todos em geral, e para ninguém em particular. Andamos todos stressados, e é compreensível. Não tem sido um ano fácil para ninguém, seja pela pandemia em si, pelo stress do confinamento, pela situação económica que o país atravessa, que todos nós, de uma forma ou de outra, atravessamos. Falo por mim, não tem sido fácil conjugar a vida familiar, que necessariamente tem de ter outras preocupações, especialmente havendo filhos em idade escolar, com uma vida profissional com os altos e baixos que nós conhecemos. A AT, como de costume, mete
    1 point
  38. Tente o Ubuntu Game Pack, é uma distro Ubuntu direcionada para games, onde inclui o Wine, o Lutris, o Playolinux a Steam já pré-instalados. https://ualinux.com/en/download/category/25-ubuntu-gamepack
    1 point
  39. Para demonstrar o método do cálculo da raiz quadrada "à pata" vou calcular a raiz quadrada de 8091114. Começa-se por dividir o número em grupos de 2 algarismos, a contar da direita 8 09 11 14 Sabe-se de cor todos os quadrados até 100, e por isso sabe-se que a raiz quadrada de 8 (o primeiro número dos grupos de dois dígitos) é 2 vírgula qualquer coisa. Usa-se esse 2 para iniciar o resultado 8 09 11 14 | 2 2 ao quadrado dá 4. Mete-se o 4 em baixo do 8 e subtrai-se 8 09 11 14 | 2 -4 4 "baixa-se" o grupo seguinte à esquerda e o dobro do resultado existente à dire
    1 point
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.