Jump to content

Leaderboard

  1. americob

    americob

    Member


    • Points

      3

    • Content Count

      602


  2. iznougudpt

    iznougudpt

    Member


    • Points

      2

    • Content Count

      26


  3. Vitor Pereira

    Vitor Pereira

    Member


    • Points

      2

    • Content Count

      121


  4. Jose Silva - Portugal

    Jose Silva - Portugal

    New Member


    • Points

      2

    • Content Count

      4



Popular Content

Showing content with the highest reputation since 06/20/2019 in Posts

  1. 2 points
    Para SAFTs maiores criei um ficheiro batch para executar na mesma pasta do validador_v1_04.exe java.exe -Xms8184m -Xmx8184m -classpath "validador_v1_04.exe;xml-apis-1.4.01.jar;commons-csv-1.3.jar;commons-cli-1.3.1.jar;xercesImpl-xsd11-2.12-beta-r1667115.jar;org.eclipse.wst.xml.xpath2.processor-1.1.5-738bb7b85d.jar;java-cup-10k.jar;java-cup-0.11a.jar" com.saft.execution.Saft104ValidatorMinimum
  2. 2 points
    Boas pessoal, Houve alterações, https://www.occ.pt/pt/noticias/decreto-lei-n-28-2019-prorrogacao-de-prazos-para-cumprimento-de-obrigacoes/ http://info.portaldasfinancas.gov.pt/pt/informacao_fiscal/legislacao/Despachos_SEAF/Documents/Despacho_254_2019_XXI_SEAF.pdf
  3. 2 points
    Boas, Tanto quanto sei, e segundo a resposta da AT, ainda não existe nada no seu portal que permita essa comunicação, conforme transcrição da resposta da mesma "A Autoridade Tributária e Aduaneira (AT) agradece o seu contacto. Nos termos do art.º 34 do DL 28/2019 de 15 de Fevereiro, a comunicação deverá ser efetuada através do Portal das Finanças. De acordo com o n.º 4 do art.º 43 do DL 28/2019, a comunicação a efetuar nos termos do art.º 34 do referido DL deve ser efetuada até ao dia 30 de Junho ou nos 30 dias posteriores ao inicio de actividade. Nesta data a aplicação no portal das finanças, ainda não está disponível. Deverá estar atento ao portal das finanças. Com os melhores cumprimentos AT- Autoridade Tributária e Aduaneira" Quanto ao resto das questões, também não tenho conhecimento que tenha saído alguma informação dos procedimentos, tirando o decreto-lei 28/2019. A única coisa que saiu, foi a portaria 144/2019, que define os procedimentos para a dispensa da emissão de faturas em papel. Vamos Aguardar
  4. 2 points
    Não vale a pena stressar, a AT não costuma enviar coimas por atraso na entrega do SAFT. Só costuma enviar coimas por detectar que um saft não foi enviado.
  5. 1 point
    O Servidor da AT estev momentaneamente indisponível mas já está a funcionar, guia enviado corretamente agora mesmo
  6. 1 point
    O DL 28/2019, cuja entrada "efetiva" em vigor, dada pelo Despacho 254/2019 SEAF, foi prorrogada para 01/01/2020. Por alteração ao DL 198/2012 passou a incluir no artigo 3º, nos documentos a comunicar, os recibos. No entanto, o artigo 1º (Objeto) desse mesmo DL, em relação a recibos, apenas fala em recibos do Regime IVA de Caixa. Quem comunica os documentos por Webservice ainda não tem wsdl para comunicar recibos. Certo?
  7. 1 point
    Por acaso recebi um mail na forma de newsletter genérica, onde a Saphety fazia referencia á facilidade de ligar todos os ERP's ao novo sistema e-invoincing Falei inicialmente como uma comercial e mais tarde com a parte técnica, já me enviaram os manuais técnicos, mas ainda não tive tem de ver em pormenor Basicamente os ERP's que pretenderem trabalhar com a saphety só tem de enviar um XML muito idêntico ao SAFT via Webservice, SFTP ou AS2 e depois é a Saphety a converter o mesmo no ficheiro UBL final que vai ser enviado ao Organismo do Estado ( neste caso, os clientes dos nossos cliente ) Os nosso clientes, utilizadores do nosso ERP é que vão fazer um contrato com a Saphety e o preço está baseado no tamanho da empresa, numero de documentos a enviar, etc, etc O cliente utilizador do software tem um Consola de acesso onde controla a situação em tempo real das suas faturas ( inseridas corretamente ou não, parou pagas, aguardam Nª de Crédito, etc, etc ) Como resumo, nós donos dos ERP´s nada temos a pagar a Saphety e ainda existem mais algumas especificações interessantes a nosso favor, mas aconselho a contatarem a Saphety para mais pormenores detalhados.
  8. 1 point
    @Earendil010102, sim, agora o teu código funciona como pretendias, mas permite-me deixar alguns comentários sobre o código em si: Declaras a função main() com os parâmetros argc e argv, mas nunca são utilizados. O mais correcto seria declarares simplesmente int main(void) { ... }. fflush(stdin) é uma expressão cujo comportamento não está definido pelo standard da linguagem C; em suma, não é uma forma correcta de limpar o buffer de input. O fluxo do teu programa aparenta funcionar correctamente, mas não é a forma mais lógica de o definir. Experimenta rever bem os ciclos que tens lá (p ex. não faz sentido uma operação que se executa apenas uma vez -- mostrar que a lista está vazia -- esteja dentro de um ciclo while). Acabas por utilizar ciclos while onde podias simplificar e simplesmente utilizar condições. Podias tentar separar a lógica do teu programa e criar uma função para as duas opções principais do menu, em vez de teres tudo dentro da main().
  9. 1 point
    Agradeço imenso a sua ajuda! Foi bastante eficaz! @Rechousa
  10. 1 point
    Obrigado CrominhO. Só é pena terem esperado para o dia 28 de Junho para esclarecer que iam prolongar o prazo. Tenho uma questão no e-balcão a perguntar isso mesmo há mais de mês e meio e ainda continuo sem resposta. Adiar o prazo era de esperar, mas podiam ter esclarecido isto há muito mais tempo. Era realmente importante que esclarecessem mesmo todas as dúvidas até dia 1 de Outubro, porque para tudo estar a funcionar nos clientes, como previsto, a 1 de Janeiro de 2020, vamos ter muito que trabalhar. Se se atrasarem, mais uma vez não vão ter de adiar os prazos. O ponto 4 do Despacho do Secretário de Estado é um assunto que já aqui falamos algumas vezes. Vamos lá ver o que os srs da AT vão desenvolver, agora que foram instados a intensificar os trabalhos para que, com a maior brevidade possível, disponibilizem a tal aplicação gratuita.
  11. 1 point
    Boa explicação @Rechousa +1
  12. 1 point
    Viva Francisco, boa noite, Antes de mais, bem vindo à Comunidade Portugal a Programar! Para mim, o operator is é mais fácil de explicar, pelo que vamos começar por aí: A sintaxe básica é: expr is type O operator is retorna true quando uma expressão (expr) é do tipo indicado (type). Para isso construí o seguinte exemplo: https://dotnetfiddle.net/0Q2Gq5 O exemplo contém: class Animal, abstrata; class Dog que herda de Animal; class Cat que herda de Animal; class Elephant que herda de Animal; class Tree que não herda de nenhuma class; Contém também três animais (objetos / instâncias de classes): Cão pluto; Gato garfield; Elefante Dumbo Ao executares o exemplo, irás ver que: os três animais são do tipo object (porque uma class herda implicitamente de object); os três animais são do tipo Animal (porque as classes Dog, Cat e Elephant herdam de Animal); O pluto é do tipo Dog mas não é nem Cat nem Elephant, o que faz sentido; O garfield é do tipo Cat mas não é nem Dog nem Elephant, o que também faz sentido; O dumbo é do tipo Elephant mas não é nem Dog nem Cat, o que também faz sentido; Nenhum dos três animais é do tipo Tree - são animais e não são árvores e como Tree não herda de nenhum animal (Cat, Dog, etc.) nem da class Animal, não é possível dizer que pluto, garfield ou dumbo sejam do tipo Tree, porque não são Espero ter esclarecido o operator is. Quanto ao operator as: A sintaxe básica é: expr as type O operator as tenta converter a expressão (expr) no tipo indicado (type). Se a conversão for válida, então é retornada uma instância do tipo indicado, senão, é retornado null. Para demonstrar melhor construí outro exemplo: https://dotnetfiddle.net/1uJPtf O exemplo contém: class Animal, abstrata com uma propriedade também abstrata (int) que indica o número de patas; class Dog que herda de Animal, com 4 patas; class Cat que herda de Animal, com 4 patas; class Spider que herda de Animal, com 8 patas; class Bee que herda de Animal, com 6 patas e com 2 asas (nova propriedade, NumberOfWings) Contém também quatro animais (objetos / instâncias de classes): Cão pluto; Gato garfield; Aranha aragog; Abelha maya; Ao executares o exemplo, irás ver que: consegues converter todos os animais para o tipo Animal e obter o seu número de patas; consegues converter todos os animais para o seu próprio tipo (pluto para Dog, etc) e obter o seu número de patas - repara que o método ShowAsOperatorResults recebe a instância do animal como object; No caso da maya, além de conseguires obter o número de patas, irás conseguir obter também o número de asas, isto porque maya é do tipo Bee Nos casos em que não aparecem o número de patas ou de asas, tal acontece porque não é possível converter a expressão para o tipo indicado, exemplo, não é possível converter o pluto num gato ou numa aranha Com isto, espero ter esclarecido o operator as. Qualquer dúvida, diz. Espero ter ajudado,
  13. 1 point
    @Nandinho, A tua função converter() não devia ser responsável por imprimir o resultado do cálculo que faz. Regra geral, as operações de input/output (através das funções input() e print(), neste caso), devem ficar fora da função propriamente dita. Assim sendo, a tua função deveria ser reduzida a algo como: def converter(miles): return 1.6 * miles Podes então utilizar da seguinte forma: milhas = int(input('entre as milhas a converter: ')) km = converter(milhas) print('{} milhas, são {} kilometros'.format(milhas, km)) Repara na utilização da função format() para mostrar o resultado final; é mais flexível que a forma que utilizaste no teu código. E por fim, um pormenor: o teu código não funciona quando introduzes um número de milhas com casas decimais (experimenta). Facilmente consegues contornar isso substituindo int() por float() na obtenção do valor do utilizador. No entanto, a apresentação de resultados sofre de um problema de arredondamentos: entre as milhas a converter: 6 6 milhas, são 9.600000000000001 kilometros Investiga um pouco sobre a função format() para conseguires chegar ao pretendido: entre as milhas a converter: 6 6 milhas, são 9.6 kilometros
  14. 1 point
    <script> function processar1 (botao) { alert( botao.value ) } function processar2 (arg) { alert( arg ) } </script> <body> <input type="image" id="submit" class="grupos" src="imgs/t.png" name="p1" value="1" onclick="processar1(this)"> <input type="image" id="submit" class="grupos" src="imgs/t.png" name="p1" value="1" onclick="processar2(1)"> </body> </html>
  15. 1 point
    Esse erro acontece porque miles não está definido no scope que chama a função convert. O que devias fazer é colocar o input de dados fora da função convert: esta função deveria ter única e exclusivamente o objectivo de fazer a conversão, e não de lidar com o input do utilizador. Exemplo: # Função só com o objectivo de cálculo def dobro(x): return 2*x # Scope onde a função é chamada: aqui deve decorrer o input e a chamada do cálculo a = int(input()) b = dobro(a) print("O dobro de {0} é {1}.".format(a, b)) Cumprimentos.
×
×
  • 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.