Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 03/25/2021 in all areas

  1. 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 refletir eventuais retenções na fonte constantes na estrutura 4.1.4.21. - Retenção na fonte (WithholdingTax):" Obrigado.
    1 point
  2. 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 isto em mente, seguimos para o ponto seguinte: Ponto 2: Código Segundo o que disponibilizaste e agora indentado tens: #include <stdio.h> int main() { int n; // inicialização de inteiro n sem valor while(n < 2) { // Enquanto n for menor que 2 vais executar o seguinte bloco de codigo: printf("Quantos numeros pretende somar?: "); // imprimes "Quantos numeros pretende somar?: " scanf("%i", &n); // pedes um inteiro e associas à variavel n if(n < 2) { // Caso n for menor que 2 vais: printf("\nERRO\n"); // imprimir "\nERRO\n" } // Fim do IF } // Repetes o WHILE for(int op = 0; op <= n; op++){ // Para um int op que começa em 0; repete até op ser menor ou igual a n; incrementa op printf("Insira o numero: \t"); // imprime "Insira o numero: \t" } // Repete o FOR return 0; } O bloco de instruções que tens dentro do while não vai ser executada porque n não tem nenhum valor inicialmente. Para isto aponto para 2 soluções: Inicializar n com 0. int n = 0; while (n < 2) {...} ... ou Usar o loop do { } while (); funciona exatamente igual ao while que tens com a diferença que executa primeiro o bloco de instruções e só depois verifica a condição. int n; do { // Faz: printf("Quantos numeros pretende somar?: "); // imprimes "Quantos numeros pretende somar?: "; scanf("%i", &n); // pedes um inteiro e associas à variavel n; if (n < 2) { // Caso n for menor que 2 vais: printf("\nERRO\n"); // imprimir "\nERRO\n"; } // Fim do IF } while (n < 2); // Enquanto n for menor que 2; Tendo a entrada de valores tratada podemos tratar agora da soma de valores. Só precisas de uma variavel para armazenares a soma e pedires o input para uma variavel auxiliar dentro do ciclo FOR de 0 até ao valor de n: int soma = 0; // Inicializa um inteiro soma com o valor 0; int aux; // Inicializa um inteiro aux sem valor; for (int op = 0; op < n; op++) { // Para um int op que começa em 0; repete até op ser menor ou igual a n; incrementa op printf("Insira o numero: \t"); // imprime "Insira o numero: \t"; scanf("%i", &aux); // pede um inteiro e associa à variavel aux; soma += aux; // o mesmo que soma = soma + aux; } // Repete o FOR printf("Resultado: %d", soma); // imprime o resultado; Acredito que com isto já sejas capaz de entender ao certo o problema e como o resolver. Espero ter ajudado!
    1 point
  3. 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 criados para o efeito e nunca como linhas de produtos ou serviços. A informação relativa a retenções na fonte é exportada na estrutura “Retenção na fonte” (WithholdingTax). As franquias e valores de garantia não são exportáveis por inexistência de campo específico no SAF-T (PT).
    1 point
  4. 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 os pés pelas mãos. Tem boas ideias, do ponto de vista da administração (outras nem tanto), mas depois na hora de implementar, são falhas atrás de falhas. Avanços e recuos, sem pés nem cabeça, avanços a meio de uma pandemia, para depois recuar porque estamos a meio de uma pandemia... Incertezas e caprichos, como se do lado de cá estivessem autómatos que cumprem ordens sem pestanejar, sem ter de dar apoio familiar, sem ter vida social, sem no fundo poder viver. Enfim, é o que todos sabemos. Neste cenário, o Portugal@Programar, com todos os seus muitos defeitos, tem sido uma espécie de porto seguro para boa parte dos envolvidos. Programadores, vendedores, certificadores da AT, utilizadores, etc., todos temos passado por aqui. A informação presente nestes tópicos relacionados com a AT, se fosse compilada, dava provavelmente o manual técnico mais completo que existe para esta área. Todos nós bebemos daqui, praticamente todos terão contribuído também. Por tudo isto, as regras do fórum nem sempre são aplicadas rigidamente nestes tópicos. O volume de mensagens em dadas alturas é tal que quase era preciso um moderador só para isto, algo que é impossível acontecer pelos motivos óbvios. Também é verdade que geralmente não é preciso grande rigidez, os membros tendem a auto-moderar-se na maior parte dos casos. Alguns de nós já falámos tanto uns com os outros que parece que nos conhecemos há anos. Qualquer dia tenho de começar a deixar aqui os convites para a festa de natal. Este à-vontade gera por vezes uma maior despreocupação com as palavras usadas. Afinal, 'somos todos amigos'. Ainda assim, é natural que por vezes hajam informações contraditórias - pois se nem a AT se entende - e é também natural que hajam desentendimentos entre os membros. O que não pode nunca, e aqui quero ser bem claro, NUNCA haver, é falta de respeito entre os membros. Somos todos crescidinhos aqui. Tanto quanto sei, os miúdos da escola vêm ao P@P, mas noutros tópicos mais adequados à sua idade. Não deve haver nenhum nestes tópicos da AT, era capaz de apostar. Neste sentido, apelo ao bom senso de todos para controlarem as suas palavras quando se dirigem a outros membros. Tudo o que não precisamos é fechar os tópicos por falta de condições de bom convívio cá dentro, ou que membros valiosos* deixem de cá vir por não se sentirem bem a navegar na 'confusão causada por desentendimentos' que em nada contribuem para o objetivo dos tópicos. Se houver desentendimentos, que os vai haver, esgrimam os vossos argumentos em mensagem privada, deixando nos tópicos a informação que interesse a todos. * Todos os membros são valiosos, obviamente, mas a partilha de informação é o objetivo dos tópicos, pelo que partilhar informação bem corroborada é sempre preferível, e dá uma mais valia tanto ao tópico como ao membro em si. Desculpem o testamento, mas volta e meia faz-se necessário dar uma perspetiva rumo à convivência saudável. Espero que todos entendam, e que a interiorização destas palavras faça cada um ponderar as suas próprias quando estiverem quase a clicar no botão 'Enviar'. Obrigado a todos pelos contributos que têm dado à comunidade ao longo destes anos, e acima de tudo, obrigado pela compreensão, que certamente terão.
    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.