Jump to content

All Activity

This stream auto-updates     

  1. Past hour
  2. Yamix

    Sobre filtros

    Boa tarde, Vocês conhecem alguma maneira de filtrar números entre um intervalo em uma coluna varchar? SELECT Campo FROM Tabela WHERE isNumeric(Campo) = 0 OR (Campo >= 1 AND Caixa <= 2) Tentei fazer desta forma, apelando para o uso do curto circuito, até mesmo usando a cláusula case. Resumo do problema * Se o campo caixa for string, ignora e deixa passar; * Se o campo for número, faz o filtro daqueles números que esteja entre o intervalo;
  3. Today
  4. Nas FAQs disponíveis no portal das finanças: 07-2740 É possível exportar o SAF-T (PT) por períodos inferiores ao ano fiscal? O SAF-T (PT), regra geral, abrange um exercício fiscal completo. No que concerne à geração do SAF-T (PT) com os registos contabilísticos terá, obrigatoriamente, que contemplar o exercício fiscal completo num único ficheiro. Excecionalmente, e apenas por motivos técnicos associados à dimensão das tabelas dos documentos comerciais, é possível gerar o ficheiro SAF-T (PT) de faturação por períodos mensais completos - vide alíneas c), e) e i) do n.º 1 do Anexo I à Portaria n.º 302/2016, de 02 de dezembro. 08-2741 É possível mudar de aplicação informática de contabilidade num momento não coincidente com o início do ano fiscal e iniciar a utilização do novo programa realizando apenas uma migração de saldos? O SAF-T (PT) de contabilidade tem de ser gerado num único ficheiro. A nova aplicação de contabilidade terá que assegurar a geração do SAF-T (PT) com os registos efetuados na anterior aplicação ainda que reportados às novas referências e nomenclaturas acrescidos dos registos após a sua entrada em funcionamento. A transição dos registos para um novo programa de contabilidade num momento não coincidente com o início do ano fiscal não pode efetuar-se apenas com a migração de saldos. A aplicação de contabilidade substituída também terá que assegurar a geração do SAF-T (PT) de contabilidade até ao momento da sua descontinuação - vide alíneas a), c) e e) do n.º 1 do Anexo I à Portaria n.º 302/2016, de 02 de dezembro. Ou seja, o saft da contabilidade tem de ser sempre anual (exercício económico), começando no início do ano fiscal e acabando no fim (não são 12 meses quaisquer), e quando há mudança de contabilista o novo tem de importar os lançamentos efetuados pelo anterior. De referir ainda que nos casos em que o ano fiscal não coincide com o ano civil, no campo FiscalYear deve constar o ano de início.
  5. luispaulocarlos

    Calcular XOR para balança TISA

    Perfeito, é isso mesmo! Ainda estou a ver como converter tudo para ASCII de forma a que o meu código chegue a esse resultado, mas testei direto a enviar essa cadeia e funcionou, muito obrigado
  6. antseq

    Calcular XOR para balança TISA

    Não sei se ajuda, mas fiz um cálculo rápido e o XOR da cadeia "9801785" dá "3ah" (hexadecimal) ou seja o caracter ":" Também confirmei o valor do site que indicaste. Experimenta enviar "9801785:"+CR+LF
  7. M6

    Reconhecimento de voz

    Antes de mais, isso não é reconhecimento de voz, é reconhecimento de fala, são coisas totalmente distintas. Quanto à tua questão, creio que será porque esse código não é assíncrono.
  8. Conforme Portaria 302/2016, Anexo, nº1 alínea c): Parece-me que a interpretação correta é que a geração é feita por exercício fiscal e que não podem haver 2 SAFT's para o mesmo exercício fiscal. Esse assunto tem sido muito debatido entre Contabilistas por causa da passagem de contabilidades entre eles a meio do ano. Eu não tenho nenhum caso desses, mas já tenho isso mais ou menos previsto (idealizado) e a ideia é que tenho que ter na mesma 12 meses por cada exercício, mais o mês 13 para Regularizações, 14 para apuramentos, etc... A grande diferença é que o mês 1 seria o Julho do ano n, o 2 seria o Agosto do ano n, …, e o 12 seria o Junho do ano n+1.
  9. Simei

    Reconhecimento de voz

    Estou a desenvolver um programa de reconhecimento de voz que liga e desliga luzes por voz. Estou com dificuldades no reconhecimento de voz no momento em que ele entra no while abaixo e deixa de reconhecer voz. Agradeço qualquer tipo de ajuda. public void Sre_Reconhecimento(object sender, SpeechRecognizedEventArgs e) { string frase = e.Result.Text; bool ouvir; ouvir = false; MessageBox.Show(frase); if (frase.Equals("Doctor house")) { ouvir = true; } while (ouvir == true) { if (frase.Equals("Ligar luz da sala")) { MessageBox.Show("Luz ligada"); serialPort1.Open(); serialPort1.WriteLine("on3"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes ligadas"); luz = true; ouvir = false; } if (frase.Equals("Desligar luz da sala")) { serialPort1.Open(); serialPort1.WriteLine("off3"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes des ligadas"); luz = true; } if (frase.Equals("Ligar luz do quarto")) { serialPort1.Open(); serialPort1.WriteLine("on4"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes ligadas"); luz = true; } if (frase.Equals("Desligar luz do quarto")) { serialPort1.Open(); serialPort1.WriteLine("off4"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes des ligadas"); luz = true; } if (frase.Equals("Ligar luz da garagem")) { serialPort1.Open(); serialPort1.WriteLine("on5"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes ligadas"); luz = true; } if (frase.Equals("Desligar luz da garagem")) { serialPort1.Open(); serialPort1.WriteLine("off5"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes des ligadas"); luz = true; } if (frase.Equals("Ligar luz da casa de banho")) { serialPort1.Open(); serialPort1.WriteLine("on6"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes ligadas"); luz = true; } if (frase.Equals("Desligar luz da casa de banho")) { serialPort1.Open(); serialPort1.WriteLine("off6"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes des ligadas"); luz = true; } if (frase.Equals("Ligar luz da cozinha")) { serialPort1.Open(); serialPort1.WriteLine("on7"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes ligadas"); luz = true; } if (frase.Equals("Desligar luz da cozinha")) { serialPort1.Open(); serialPort1.WriteLine("off7"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes des ligadas"); luz = false; } if (frase.Equals("Ligar luz do escritorio")) { serialPort1.Open(); serialPort1.WriteLine("on8"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes ligadas"); luz = true; } if (frase.Equals("Desligar luz do escritorio")) { serialPort1.Open(); serialPort1.WriteLine("off8"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes des ligadas"); luz = true; } if (frase.Equals("Ligar luz do corredor")) { serialPort1.Open(); serialPort1.WriteLine("on9"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes ligadas"); luz = true; } if (frase.Equals("Desligar luz do corredor")) { serialPort1.Open(); serialPort1.WriteLine("off9"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes des ligadas"); luz = true; } if (frase.Equals("Ligar luz da rua")) { serialPort1.Open(); serialPort1.WriteLine("on10"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes ligadas"); luz = true; } if (frase.Equals("Desligar luz da rua")) { serialPort1.Open(); serialPort1.WriteLine("off10"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes des ligadas"); luz = true; } } MessageBox.Show("Estou fora"); } using System.Collections.Generic; using System; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Microsoft.Speech.Recognition; using System.Speech.Synthesis; using System.Globalization; using System.Threading; using System.Diagnostics; using System.IO.Ports; namespace Reconhecimento_de_Voz { public partial class Form1 : Form { bool luz = false; static CultureInfo ci = new CultureInfo("pt-BR"); static SpeechRecognitionEngine reconhecedor; SpeechSynthesizer resposta = new SpeechSynthesizer(); public string[] ListaPalavras = { "Ligar luz da cozinha", "Desligar luz da cozinha", "Doctor house ligar luz da sala", "Ligar luz do escritorio", "Desligar luz do escritorio", "Ligar luz da sala", "Desligar luz da sala", "Ligar luz da casa de banho", "Desligar luz da casa de banho", "Ligar luz do quarto", "Desligar luz do quarto", "Ligar luz do corredor", "Desligar luz do corredor", "Ligar luz da rua", "Desligar luz da rua", "Ligar luz da garagem", "Desligar luz da garagem","Doctor house", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "20", "30", "40", "50", "60"}; public Form1() { InitializeComponent(); init(); //Data Atual var x = DateTime.Now; var date = DateTime.Now; int h = date.Hour; int m = date.Minute; //23 Setembro a 20 de Março das 7:30 ás 18:00 var inv1 = new DateTime(DateTime.Now.Year, 09, 22); var inv2 = new DateTime(DateTime.Now.Year + 1, 03, 20); bool inverno = ((x > inv1) && (x < inv2)); //21 de Março a 22 Setembro das 6:00 da manhã ás 20:30 var verao1 = new DateTime(DateTime.Now.Year, 03, 21); var verao2 = new DateTime(DateTime.Now.Year + 1, 09, 22); bool verao = ((x > verao1) && (x < verao2)); if (verao) { if (h == 6 && m == 00) { serialPort1.Open(); serialPort1.WriteLine("off"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes ligadas"); luz = true; } if (h == 20 && m == 30) { serialPort1.Open(); serialPort1.WriteLine("on"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes des ligadas"); luz = false; } } if (inverno) { if (h == 7 && m == 30) { serialPort1.Open(); serialPort1.WriteLine("off"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes ligadas"); luz = true; } if (h == 18 && m == 00) { serialPort1.Open(); serialPort1.WriteLine("on"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes des ligadas"); luz = false; } } try { PortBox.Items.AddRange(SerialPort.GetPortNames()); PortBox.SelectedIndex = 0; serialPort1.BaudRate = (9600); serialPort1.ReadTimeout = (2000); serialPort1.WriteTimeout = (2000); } catch (Exception ex) { MessageBox.Show(ex.Message); } } public void Gramatica() { try { reconhecedor = new SpeechRecognitionEngine(ci); } catch (Exception ex) { MessageBox.Show("Erro ao integrar a lingua escolhida: " + ex.Message); } var gramatica = new Choices(); gramatica.Add(ListaPalavras); var gb = new GrammarBuilder(); gb.Append(gramatica); try { var g = new Grammar(gb); try { reconhecedor.RequestRecognizerUpdate(); reconhecedor.LoadGrammarAsync(g); reconhecedor.SpeechRecognized += Sre_Reconhecimento; reconhecedor.SetInputToDefaultAudioDevice(); resposta.SetOutputToDefaultAudioDevice(); reconhecedor.RecognizeAsync(RecognizeMode.Multiple); } catch(Exception ex) { MessageBox.Show("Microfone não encontrado: " + ex.Message); } } catch(Exception ex) { MessageBox.Show("Erro ao criar gramática: " + ex.Message); } } public void tempo() { } public void init() { resposta.Volume = 100; resposta.Rate = 3; Gramatica(); } public void Sre_Reconhecimento(object sender, SpeechRecognizedEventArgs e) { string frase = e.Result.Text; bool ouvir; ouvir = false; MessageBox.Show(frase); if (frase.Equals("Doctor house")) { ouvir = true; } while (ouvir == true) { if (frase.Equals("Ligar luz da sala")) { MessageBox.Show("Luz ligada"); serialPort1.Open(); serialPort1.WriteLine("on3"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes ligadas"); luz = true; ouvir = false; } if (frase.Equals("Desligar luz da sala")) { serialPort1.Open(); serialPort1.WriteLine("off3"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes des ligadas"); luz = true; } if (frase.Equals("Ligar luz do quarto")) { serialPort1.Open(); serialPort1.WriteLine("on4"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes ligadas"); luz = true; } if (frase.Equals("Desligar luz do quarto")) { serialPort1.Open(); serialPort1.WriteLine("off4"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes des ligadas"); luz = true; } if (frase.Equals("Ligar luz da garagem")) { serialPort1.Open(); serialPort1.WriteLine("on5"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes ligadas"); luz = true; } if (frase.Equals("Desligar luz da garagem")) { serialPort1.Open(); serialPort1.WriteLine("off5"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes des ligadas"); luz = true; } if (frase.Equals("Ligar luz da casa de banho")) { serialPort1.Open(); serialPort1.WriteLine("on6"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes ligadas"); luz = true; } if (frase.Equals("Desligar luz da casa de banho")) { serialPort1.Open(); serialPort1.WriteLine("off6"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes des ligadas"); luz = true; } if (frase.Equals("Ligar luz da cozinha")) { serialPort1.Open(); serialPort1.WriteLine("on7"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes ligadas"); luz = true; } if (frase.Equals("Desligar luz da cozinha")) { serialPort1.Open(); serialPort1.WriteLine("off7"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes des ligadas"); luz = false; } if (frase.Equals("Ligar luz do escritorio")) { serialPort1.Open(); serialPort1.WriteLine("on8"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes ligadas"); luz = true; } if (frase.Equals("Desligar luz do escritorio")) { serialPort1.Open(); serialPort1.WriteLine("off8"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes des ligadas"); luz = true; } if (frase.Equals("Ligar luz do corredor")) { serialPort1.Open(); serialPort1.WriteLine("on9"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes ligadas"); luz = true; } if (frase.Equals("Desligar luz do corredor")) { serialPort1.Open(); serialPort1.WriteLine("off9"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes des ligadas"); luz = true; } if (frase.Equals("Ligar luz da rua")) { serialPort1.Open(); serialPort1.WriteLine("on10"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes ligadas"); luz = true; } if (frase.Equals("Desligar luz da rua")) { serialPort1.Open(); serialPort1.WriteLine("off10"); serialPort1.Close(); Thread.Sleep(700); resposta.Speak("Luzes des ligadas"); luz = true; } } MessageBox.Show("Estou fora"); } private void Form1_Load(object sender, EventArgs e) { } private void PortBox_SelectedIndexChanged(object sender, EventArgs e) { serialPort1.PortName = PortBox.Text; } } }
  10. luispaulocarlos

    Calcular XOR para balança TISA

    Boas! Estou a implementar no meu POS (em VB.NET) a utilização de balanças com protocolo TISA, mas esbarrei completamente com a sequência a enviar para a balança. A documentação do protocolo define que a cadeia de texto a enviar é esta: 98 + PPPPP + C + CR + LF, que trocando por miúdos, é: 98 cadeia de texto fixa PPPPP 5 dígitos para o preço C Checksum, logic add(XOR) of all previous characters e está a funcionar lindamente, para um preço de por exemplo 17,88 eu retiro a virgula, acrescento um zero no inicio para respeitar a definição de 5 dígitos para o preço, concateno a cadeia e fico com 9801788, calculo o checksum "of all previous characters" que dá 7, acrescento então o 7 à cadeia que já tinha e fico com 98017887, acrescento o CR + LF, mando para a balança e tudo funciona, a balança devolve o peso, e nos seus mostradores apresenta corretamente o peso, o preço/KG e o valor a pagar. Até que calhou eu usar um preço de 17,85. Calculando o XOR da cadeia correspondente (98 & 0 & 1785) o resultado é 10. Como é que é suposto eu colocar 10 numa única posição? o que é suposto eu fazer aqui? Eu comecei a testar diferentes valores, e o padrão repete-se sempre: se o resultado do XOR estiver entre 0 e 9, tudo funciona. Caso contrário, a balança nem pia. No exemplo que dei do preço de 17,85, comecei a enviar manualmente diferentes cadeias para a balança, sem qualquer êxito. enviei 9801785 seguido de 0,1,2,3,4,5,6,7,8,9, sempre erro. seguido de 10 (resultado do XOR em decimal), erro. Seguido de 1010, 12, A (resultados do XOR em binário, octal e hexa), erro. Validei o calculo do XOR via https://toolslick.com/math/bitwise/xor-calculator Alguém me consegue ajudar com isto? Obrigado
  11. martinho3712

    Renci SshNet

    Obrigado pela sua ajuda M6... Perfeito ! https://winscp.net/eng/docs/library Faltava isto: SshHostKeyFingerprint = "ssh-rsa 2048 xxxxxxxxxxx...=" Obrigado pela ajuda.
  12. M6

    Renci SshNet

    Diria que o erro é bastante explicativo: A autenticação falhou por não estares a usar o método de autenticação correto. Faz a ligação manualmente para confirmares e verifica se há alguma coisa adicional que te estejas a esquecer. Verifica a documentação para saberes que opções tens.
  13. Alguém me sabe dizer se o SAF-T da contabilidade pode ser exportado parcialmente ou se tem que ser na totalidade (Obrigatoriamente)? Pergunto isto porque temos uma funcionalidade no programa para contabilidades cujo ano fiscal é diferente como por exemplo clubes de futebol. Neste caso e apesar de o período fiscal ser de Julho a Julho o programa tem bases de dados diferentes para cada ano. Isto complica a geração de 1 único ficheiro SAF-T. Mas temos um cliente que insiste que o SAF-T tem que ser único. Alguém sabe onde isto está indicado se é que está?
  14. M6

    data type mismatch in criteria expression

    Pela descrição do erro, diria que estás a tentar usar uma string em vez de um inteiro (ou algo semelhante) na tua pesquisa.
  15. Yesterday
  16. HappyHippyHippo

    Sistema de apostas desportivas virtual

    existem vários elementos no cenário apresentado, é ao não apresentar a dúvida em concreto, torna tudo mais complicado
  17. HappyHippyHippo

    Não consigo resolver meu problema para o menu

    decididamente que o código apresentado não compila.
  18. sridhar

    Sistema de apostas desportivas virtual

  19. Last week
  20. Goncalo_Santos_Web

    Sistema de apostas desportivas virtual

    Boa noite, estou a realizar uma web app onde contenho uma secção de apostas desportivas virtuais por ser um projeto escolar. Estou com dificuldades na realização do script. Exemplo : Pontos do utlizador = 100 Jogo: Equipa A vs Equipa B Se a aposta do utilizador estiver correta serão multiplicados os pontos apostados com a Odd da equipa, seguidamente serão somados os pontos do utilizador. Se a aposta do utilizador estiver incorrecta serão subtraídos os pontos do utilizador pelo valor apostado. Obrigador pela atençao.
  21. há uns anos (+6 anos) fiz um "parser" que entrava pela página principal da AT/Efatura, fazia o respectivo login : - limitava o filtro de datas - aplicava o filtro - em cada página de cabeçalho: --- lia (parser) a informação dos cabeçalhos (inclusive link para o detalhe) --- passava a página seguinte - depois com a informação de (cada) link para o detalhe: --- visitava a página de detalhe --- lia (parser) o detalhe de cada documento Em poucos minutos (era muito rápido) descarregava a informação necessária. - limitava a simular um utilizador "normal" a visitar o site e a visitar a páginas - sem usar funções ou serviços (não documentadas) da AT * Em todo o caso havia um limite "hard-coded" do lado da AT de apenas mostrar 250 ou 300 documentos (máximo) * É necessário ajustar os filtros para obter dados dentro dos limites Já não trabalho na empresa onde fiz o código, mas penso que ainda funcionará. Creio que a AT, ainda não disponibiliza o tal Webservice (documentado e sem limites) A.S.
  22. martinho3712

    Renci SshNet

    Boa tarde, Estou a tentar fazer uma aplicação para enviar 6 ficheiros todos os dias por sftp. Estou a utilizar C# e a dll Renci.SshNet. static Renci.SshNet.SshClient ssh; static Renci.SshNet.ShellStream stream; ssh = new Renci.SshNet.SshClient("100.61.214.120", "WZSFPRYOUR10", "+WZSFPRYOUR1010"); ssh.Connect(); mas sempre que corro a app encontro este erro. Error while connecting : Renci.SshNet.Common.SshAuthenticationException: No suitable authentication method found to complete authentication. at Renci.SshNet.ConnectionInfo.Authenticate(Session session) at Renci.SshNet.Session.Connect() at Renci.SshNet.BaseClient.Connect() O que posso estar a fazer de errado????? Obrigado
  23. bugFree

    AT - questões legais

    Boas, Preciso e agradeço alguma informação sobre o que implica e como fazer para os casos em que a Factura é emitida por um terceiro, em nome e por conta do sujeito passivo. CIVA, artigo 29º, nº 14 – Para cumprimento do disposto na alínea b) do n.º 1, as faturas podem ser elaboradas pelo próprio adquirente dos bens ou serviços ou por um terceiro, em nome e por conta do sujeito passivo Julgo que terão que ser emitidas numa série específica, e que os dados do emitente serão os dados da empresa em nome da qual é emitida a Factura. No cabeçalho do documento iriam constar os dados da outra empresa. Assumindo que o utilizador, na mesma aplicação, emite as suas próprias Facturas, com os seus dados fiscais, pode na mesma aplicação emitir também facturas em nome e por conta doutra empresa ? Neste caso, a aplicação estaria licenciada ao utilizador, e este iria emitir as facturas com o NIF e Nome e Morada Fiscal de outra empresa ? E quanto ao SAF-T ? Teria que ser um ficheiro próprio, semelhante ao usado para auto-facturação ? Se alguém puder dar alguma informação, agradeço desde já tudo o que seja útil. Obrigado.
  24. GABRIEL REIS GARCIA

    Não consigo resolver meu problema para o menu

    Compila sim
  25. Afonso Mira

    Projecto importador Excel

    Boas enviam mensagem privada. Consegues explicar me melhor o que pretendes. Obrigado.
  26. JARCAMPOS

    Projecto importador Excel

    Boas Preciso de alguém que possa desenvolver um pequeno importador de folhas excel e enviar as colunas para uma determinada BD SQL. Alguém interessado?
  27. Só é possível importar dados de cabeçalho do documento, não temos acesso ás linhas.
  28. ftuc

    Login e-fatura via cURL

    É preciso pedir algum token?
  29. Estou com a mesma dúvida. Queria importar as faturas para um software meu mas ainda não percebi se é possível
  1. Load more activity
×
×
  • 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.