Ir para o conteúdo
  1. Re: SAFT-PT: debate de dúvidas e ideias

    bugFree
    Por bugFree,

    Estou a receber o seguinte erro de validação com o validador da AT:

    [Line: 18795, Column: 14] cvc-assertion: Assertion evaluation ('if ( (ns:Tax/ns:TaxType and ns:PaymentType eq 'RC') or (ns:PaymentType eq 'RG')) then true() else false()') for element 'Payment' on schema type '#AnonType_PaymentPaymentsSourceDocuments' did not succeed.

    Só me dá nos Recibos RC -- já verifiquei e estou a indicar as taxas -- aparentemente está Ok.

    Alguém tem este erro?

    --------

    PS: aparentemente é problema no validador, se validar no site e-Factura -- onde se faz o envio dos ficheiros mensais -- não dá erro.

    Sabem se existe algum modo de validar localmente e sem erros? 

    Tenho a versão recente do validador...jar

     

    • 5964 respostas
  2. Re: SAFT-PT: debate de dúvidas e ideias

    bugFree
    Por bugFree,
    37 minutos atrás, Manuel Souto disse:

    Boa tarde,

    Tem toda a razão nos RG o TaxPayable será sempre 0.00 e o NetTotal será igual ao GrossTotal, em Portugal ainda não se paga IVA sobre o pagamento, pelo menos nos sectores de actividade onde tenho experiência.

    Exemplo:

    (...)  <DocumentTotals>
              <TaxPayable>0</TaxPayable>
              <NetTotal>100</NetTotal>
              <GrossTotal>100</GrossTotal>
            </DocumentTotals>
          </Payment>

    Na minha opinião, que requer confirmação, na versão actual do SAFT (1.04_01) é obrigatório incluir os RG na tabela 4.4.

    As faturas já pagas (independentemente se têm recibo ou não) são referenciadas no ponto 4.1.4.20.6. o seu pagamento ; IN, Diário da República, 1.ª série — N.º 231 — 2 de dezembro de 2016

    Cumps

    Obrigado pela resposta.

    Já estou a exportar os RG -- sei que nem todos o fazem, mas...

    Sobre o ponto 4.1.4.20.6, só exporto essa informação nos documentos que são liquidados no acto (tipo FR), os restantes exporto o pagamento no Recibo respectivo.

     

    • 5964 respostas
  3. Empregabilidade TGPSI

    Retsu9
    Por Retsu9,

    Boas,

    Eu tenho de momento o curso profissional em técnico de gestão e programação de sistemas informáticos, apesar de o ter completado já a caminho de 3 anos, ainda não me candidatei a nenhum posto de trabalho, tenho visto algumas ofertas, mas por estar empregado há sempre aquele dilema do trocar o certo pelo incerto... No entanto não estou satisfeito com o emprego atual (orçamentista de construção civil) e gostaria de exercer algo mais na minha área, contudo todas as ofertas que vejo pedem engenharias, ou 2anos+ de experiência, ou são fora de zona enfim nem dá vontade de concorrer sequer.

    Gostaria de saber alguém com este curso (ou semelhante) se conseguiu alguma vaga na área? Ou se recomendam fazer alguma formação/especialização primeiro.

    Os meus maiores conhecimentos estão em Vb.net, pois foi onde desenvolvi grande parte das aplicações (e ainda continuo a desenvolver), no entanto tenho alguns conhecimentos noutras linguagens e facilidade em aprender.

     

    Enfim, deixem ai opiniões em como ingressar nesta área ;)

    Cumpts

    • 0 respostas
  4. Re: Base Dados Local para Cloud

    informaster
    Por informaster,
    Just now, informaster said:

    Boas

     

    Estou a fazer assim M6...

    
     Private Sub btQUERYExecute_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btQUERYExecute.Click
    
            DeleteTable("Adiantamento")
            InsertTable16FieldsP1("Adiantamento", "Adiantamento_Nr", "Adiantamento_Data", "Cliente", "Valor", "TaxaIVA", "ValorIVA", "TipoPagamento", "Filial", "DataUltModificacao", "Hash", "HashControl", "SystemEntryDate", "Anulado", "AnuladoMotivo", "FilialOriginal", "Posto")
    
            DeleteTable("Aniversarios")
            InsertTable4Fields("Aniversarios", "Cliente", "Ano", "DataNasc", "DataAviso")
    
            DeleteTable("Armazens")
            InsertTable4FieldsP1("Armazens", "Codigo", "Descricao", "Filial", "DataUltModificacao")
    
            DeleteTable("Artigo")
            InsertTable85FieldsP1("Artigo", "Artigo_codigo", "Artigo_CodigoInterno", "Artigo_Descricao", "Artigo_Iva", "Artigo_MargemNormal", "Artigo_PontosCliente", "Marca_Codigo", "Familia_codigo", "Seccao_Codigo", "TipoArtigo_Codigo", "Cor_Codigo", "Artigo_Preco", "Artigo_PrecoPromocao", "Artigo_PrecoFuncionario", "Artigo_Consumo", "Artigo_Venda", "Artigo_Devolucoes", "Artigo_Perdas", "Artigo_PromocaoSN", "Artigo_DesCliSN", "Artigo_UltimaVenda", "Artigo_UltimaCompra", "Artigo_PMCompra", "Artigo_UltPvenda1", "Artigo_UltPvenda2", "Artigo_UltPvenda3", "Artigo_UltPcompra1", "Artigo_UltPcompra2", "Artigo_UltPcompra3", "Artigo_MargemPromo", "Artigo_MargemFunc", "Artigo_EntradasDiversas", "Artigo_EntradasFactura", "Artigo_PontosFuncionario", "Artigo_StockInicial", "Artigo_StockActual", "Artigo_StockMinimo", "Artigo_Grupo", "Desc_Abreviada", "Cod_Barras", "Def_Venda", "Def_ConsumoInterno", "Fornecedor", "INACTIVO", "PrecoIVA1", "PrecoIVA2", "PrecoIVA3", "UltPrecoCompraSDesc", "Cod_Fornecedor", "QuantidadeUnit", "Unidade", "StockConsumo", "Filial", "DataUltModificacao", "Pontos_Activo", "DescricaoPesquisa", "ConsumoAplicacao", "ConsAplic_CodFixoControlo", "ConsAplic_CodigoFixo", "ConsAplic_MaxUnidades", "Desc_Embalagem", "Desc_Quantidade", "ConsAplic_GrupoServ", "ConsAplic_Seccao", "StockMaximo", "DataInicial", "DataFinal", "HoraInicial", "HoraFinal", "Desconto", "Promocao", "Segunda", "Terca", "Quarta", "Quinta", "Sexta", "Sabado", "Domingo", "Sexo", "FaixaEtaria", "GruposCodigo", "Artigo_DescontaPontos", "Artigo_Editavel", "Artigo_Stock", "Artigo_Faturado")
    
            DeleteTable("Artigo_Info")
            InsertTable4FieldsP2("Artigo_Info", "Artigo", "Preco_Medio", "Preco_Ultimo", "Data_Ultimo", "Filial")
    
            DeleteTable("Artigo_QuantidadesEncomendar")
            InsertTable4FieldsP1("Artigo_QuantidadesEncomendar", "Artigo", "Quantidade", "Filial", "DataUltModificacao")
    
    
        End Sub
    
    
        Private Sub DeleteTable(ByVal tablename As String)
            Dim strSQL As String
            OpenMYSQL()
            strSQL = "TRUNCATE TABLE " + tablename
            Dim cmd As New MySql.Data.MySqlClient.MySqlCommand(strSQL, ConnMYSQL)
            cmd.ExecuteNonQuery()
            CloseMYSQL()
        End Sub
    
    
    Private Sub InsertTable4Fields(ByVal tablename As String, ByVal Field1 As String, ByVal Field2 As String, ByVal Field3 As String, ByVal Field4 As String)
            OpenMDB()
            OpenMYSQL()
    
            Dim CmdSelect = New OleDbCommand("SELECT * FROM " + tablename, ConnMDB)
            Dim DR As OleDbDataReader
            DR = CmdSelect.ExecuteReader()
    
    
            While (DR.Read())
    
                Dim CmdInsert = New MySqlCommand("INSERT INTO " + tablename + " (" + Field1 + "," + Field2 + "," + Field3 + "," + Field4 + ") VALUES (@f1, @f2, @f3, @f4)", ConnMYSQL)
                CmdInsert.Parameters.AddWithValue("@f1", DR(0).ToString())
                CmdInsert.Parameters.AddWithValue("@f2", DR(1).ToString())
                CmdInsert.Parameters.AddWithValue("@f3", CDate(DR(2).ToString()))
                CmdInsert.Parameters.AddWithValue("@f4", CDate(DR(3).ToString()))
                CmdInsert.ExecuteNonQuery()
            End While
    
            CloseMDB()
            CloseMYSQL()
    
        End Sub
    
        Private Sub InsertTable4FieldsP1(ByVal tablename As String, ByVal Field1 As String, ByVal Field2 As String, ByVal Field3 As String, ByVal Field4 As String)
            OpenMDB()
            OpenMYSQL()
    
            Dim CmdSelect = New OleDbCommand("SELECT * FROM " + tablename, ConnMDB)
            Dim DR As OleDbDataReader
            DR = CmdSelect.ExecuteReader()
    
    
            While (DR.Read())
    
                Dim CmdInsert = New MySqlCommand("INSERT INTO " + tablename + " (" + Field1 + "," + Field2 + "," + Field3 + "," + Field4 + ") VALUES (@f1, @f2, @f3, @f4)", ConnMYSQL)
                CmdInsert.Parameters.AddWithValue("@f1", DR(0).ToString())
                CmdInsert.Parameters.AddWithValue("@f2", DR(1).ToString())
                CmdInsert.Parameters.AddWithValue("@f3", DR(2).ToString())
                CmdInsert.Parameters.AddWithValue("@f4", CDate(DR(3).ToString()))
                CmdInsert.ExecuteNonQuery()
    
            End While
    
            CloseMDB()
            CloseMYSQL()
    
        End Sub

    A minha questão é como é que eu agora faço um IF (condição) para as duas CONNECTIONS STRINGS diferentes que tenho...

    Por exemplo:

    IF ("Select Database1.MDB Table Adiantamento Collumn Adiantamento_Nr" , CONNMDB) < ("Select Database1.MDB Table Adiantamento Collumn Adiantamento_Nr" , CONNMYSQL)

    DeleteTable("Adiantamento") 
            InsertTable16FieldsP1("Adiantamento", "Adiantamento_Nr", "Adiantamento_Data", "Cliente", "Valor", "TaxaIVA", "ValorIVA", "TipoPagamento", "Filial", "DataUltModificacao", "Hash", "HashControl", "SystemEntryDate", "Anulado", "AnuladoMotivo", "FilialOriginal", "Posto")

    ELSE

     

    NAO FAZ

     

     

    Preciso mesmo de ajuda para seguir com isto para a frente....

    Eu tou a apagar e a fazer novo insert porque nao consegui encontrar um metodo de descobrir quando tenho que fazer insert ou update ou delete...

    E para resolver faço apago no mysql a coisa e volto a colocar mas só pode acontecer caso já exista novos registos no MDB(acess)

    • 9 respostas
  5. Re: Base Dados Local para Cloud

    informaster
    Por informaster,
    On 10/19/2017 at 5:40 PM, M6 said:

    Pois, esse é o trabalhinho que tens de fazer: o código que implementa o algoritmo que te dei.

    Boas

     

    Estou a fazer assim M6...

     Private Sub btQUERYExecute_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btQUERYExecute.Click
    
            DeleteTable("Adiantamento")
            InsertTable16FieldsP1("Adiantamento", "Adiantamento_Nr", "Adiantamento_Data", "Cliente", "Valor", "TaxaIVA", "ValorIVA", "TipoPagamento", "Filial", "DataUltModificacao", "Hash", "HashControl", "SystemEntryDate", "Anulado", "AnuladoMotivo", "FilialOriginal", "Posto")
    
            DeleteTable("Aniversarios")
            InsertTable4Fields("Aniversarios", "Cliente", "Ano", "DataNasc", "DataAviso")
    
            DeleteTable("Armazens")
            InsertTable4FieldsP1("Armazens", "Codigo", "Descricao", "Filial", "DataUltModificacao")
    
            DeleteTable("Artigo")
            InsertTable85FieldsP1("Artigo", "Artigo_codigo", "Artigo_CodigoInterno", "Artigo_Descricao", "Artigo_Iva", "Artigo_MargemNormal", "Artigo_PontosCliente", "Marca_Codigo", "Familia_codigo", "Seccao_Codigo", "TipoArtigo_Codigo", "Cor_Codigo", "Artigo_Preco", "Artigo_PrecoPromocao", "Artigo_PrecoFuncionario", "Artigo_Consumo", "Artigo_Venda", "Artigo_Devolucoes", "Artigo_Perdas", "Artigo_PromocaoSN", "Artigo_DesCliSN", "Artigo_UltimaVenda", "Artigo_UltimaCompra", "Artigo_PMCompra", "Artigo_UltPvenda1", "Artigo_UltPvenda2", "Artigo_UltPvenda3", "Artigo_UltPcompra1", "Artigo_UltPcompra2", "Artigo_UltPcompra3", "Artigo_MargemPromo", "Artigo_MargemFunc", "Artigo_EntradasDiversas", "Artigo_EntradasFactura", "Artigo_PontosFuncionario", "Artigo_StockInicial", "Artigo_StockActual", "Artigo_StockMinimo", "Artigo_Grupo", "Desc_Abreviada", "Cod_Barras", "Def_Venda", "Def_ConsumoInterno", "Fornecedor", "INACTIVO", "PrecoIVA1", "PrecoIVA2", "PrecoIVA3", "UltPrecoCompraSDesc", "Cod_Fornecedor", "QuantidadeUnit", "Unidade", "StockConsumo", "Filial", "DataUltModificacao", "Pontos_Activo", "DescricaoPesquisa", "ConsumoAplicacao", "ConsAplic_CodFixoControlo", "ConsAplic_CodigoFixo", "ConsAplic_MaxUnidades", "Desc_Embalagem", "Desc_Quantidade", "ConsAplic_GrupoServ", "ConsAplic_Seccao", "StockMaximo", "DataInicial", "DataFinal", "HoraInicial", "HoraFinal", "Desconto", "Promocao", "Segunda", "Terca", "Quarta", "Quinta", "Sexta", "Sabado", "Domingo", "Sexo", "FaixaEtaria", "GruposCodigo", "Artigo_DescontaPontos", "Artigo_Editavel", "Artigo_Stock", "Artigo_Faturado")
    
            DeleteTable("Artigo_Info")
            InsertTable4FieldsP2("Artigo_Info", "Artigo", "Preco_Medio", "Preco_Ultimo", "Data_Ultimo", "Filial")
    
            DeleteTable("Artigo_QuantidadesEncomendar")
            InsertTable4FieldsP1("Artigo_QuantidadesEncomendar", "Artigo", "Quantidade", "Filial", "DataUltModificacao")
    
    
        End Sub
    
    
        Private Sub DeleteTable(ByVal tablename As String)
            Dim strSQL As String
            OpenMYSQL()
            strSQL = "TRUNCATE TABLE " + tablename
            Dim cmd As New MySql.Data.MySqlClient.MySqlCommand(strSQL, ConnMYSQL)
            cmd.ExecuteNonQuery()
            CloseMYSQL()
        End Sub
    
    
    Private Sub InsertTable4Fields(ByVal tablename As String, ByVal Field1 As String, ByVal Field2 As String, ByVal Field3 As String, ByVal Field4 As String)
            OpenMDB()
            OpenMYSQL()
    
            Dim CmdSelect = New OleDbCommand("SELECT * FROM " + tablename, ConnMDB)
            Dim DR As OleDbDataReader
            DR = CmdSelect.ExecuteReader()
    
    
            While (DR.Read())
    
                Dim CmdInsert = New MySqlCommand("INSERT INTO " + tablename + " (" + Field1 + "," + Field2 + "," + Field3 + "," + Field4 + ") VALUES (@f1, @f2, @f3, @f4)", ConnMYSQL)
                CmdInsert.Parameters.AddWithValue("@f1", DR(0).ToString())
                CmdInsert.Parameters.AddWithValue("@f2", DR(1).ToString())
                CmdInsert.Parameters.AddWithValue("@f3", CDate(DR(2).ToString()))
                CmdInsert.Parameters.AddWithValue("@f4", CDate(DR(3).ToString()))
                CmdInsert.ExecuteNonQuery()
            End While
    
            CloseMDB()
            CloseMYSQL()
    
        End Sub
    
        Private Sub InsertTable4FieldsP1(ByVal tablename As String, ByVal Field1 As String, ByVal Field2 As String, ByVal Field3 As String, ByVal Field4 As String)
            OpenMDB()
            OpenMYSQL()
    
            Dim CmdSelect = New OleDbCommand("SELECT * FROM " + tablename, ConnMDB)
            Dim DR As OleDbDataReader
            DR = CmdSelect.ExecuteReader()
    
    
            While (DR.Read())
    
                Dim CmdInsert = New MySqlCommand("INSERT INTO " + tablename + " (" + Field1 + "," + Field2 + "," + Field3 + "," + Field4 + ") VALUES (@f1, @f2, @f3, @f4)", ConnMYSQL)
                CmdInsert.Parameters.AddWithValue("@f1", DR(0).ToString())
                CmdInsert.Parameters.AddWithValue("@f2", DR(1).ToString())
                CmdInsert.Parameters.AddWithValue("@f3", DR(2).ToString())
                CmdInsert.Parameters.AddWithValue("@f4", CDate(DR(3).ToString()))
                CmdInsert.ExecuteNonQuery()
    
            End While
    
            CloseMDB()
            CloseMYSQL()
    
        End Sub

    A minha questão é como é que eu agora faço um IF (condição) para as duas CONNECTIONS STRINGS diferentes que tenho...

    Por exemplo:

    IF ("Select Database1.MDB Table Adiantamento Collumn Adiantamento_Nr" , CONNMDB) < ("Select Database1.MDB Table Adiantamento Collumn Adiantamento_Nr" , CONNMYSQL)

    DeleteTable("Adiantamento") 
            InsertTable16FieldsP1("Adiantamento", "Adiantamento_Nr", "Adiantamento_Data", "Cliente", "Valor", "TaxaIVA", "ValorIVA", "TipoPagamento", "Filial", "DataUltModificacao", "Hash", "HashControl", "SystemEntryDate", "Anulado", "AnuladoMotivo", "FilialOriginal", "Posto")

    ELSE

     

    NAO FAZ

     

     

    • 9 respostas
  6. Re: O que devo fazer???

    moedas
    Por moedas,

    @apocsantos Agradeço a tua opinião. Eu acho que só faz sentido fazer o CCNA se depois fazer o CET, ficaria bem mais preparado e qualificado.

    A minha grande dúvida e preocupação é mesmo a aceitação do mercado de trabalho. Se existe oferta e procura com estas qualificações.

    • 2 respostas
  7. Re: SAFT-PT: debate de dúvidas e ideias

    Manuel Souto
    Por Manuel Souto,
    1 hora atrás, bugFree disse:

    Boas,

    Como exportam nos Recibos do Regime Geral, os campos dos totais (TaxPayable, NetTotal) -- se este tipo de Recibos não calcula o IVA ?

    Nos RIC tem sentido, mas nos RG, o TaxPayable será sempre 0.00 e o NetTotal será igual ao GrossTotal, certo?

    Ou fazem doutra maneira -- sei que nem todos exportam os RG, mas tirando essa discussão...

    Obrigado.

    Boa tarde,

    Tem toda a razão nos RG o TaxPayable será sempre 0.00 e o NetTotal será igual ao GrossTotal, em Portugal ainda não se paga IVA sobre o pagamento, pelo menos nos sectores de actividade onde tenho experiência.

    Exemplo:

    (...)  <DocumentTotals>
              <TaxPayable>0</TaxPayable>
              <NetTotal>100</NetTotal>
              <GrossTotal>100</GrossTotal>
            </DocumentTotals>
          </Payment>

    Na minha opinião, que requer confirmação, na versão actual do SAFT (1.04_01) é obrigatório incluir os RG na tabela 4.4.

    As faturas já pagas (independentemente se têm recibo ou não) são referenciadas no ponto 4.1.4.20.6. o seu pagamento ; IN, Diário da República, 1.ª série — N.º 231 — 2 de dezembro de 2016

    Cumps

    • 5964 respostas
  8. Re: O que devo fazer???

    apocsantos
    Por apocsantos,

    Boa tarde,

    Sinceramente creio que o CET seja "indispensável", até porque sempre dá uma qualificação de nível 5. Não obstante a certificação CCNA é uma mais valia! Podendo, recomendo vivamente que aproveite a oportunidade!.

    Sobre o mercado de trabalho, para alguém com 40, lamento não poder informar concretamente, porque ainda não cheguei aos 40, ainda estou pelos 38, mas tanto quanto tenho observado, não está nada mau! Não tenho a percepção da idade ser um problema nesta área.

    Cordiais cumprimentos,

    Apocsantos

    • 2 respostas
  9. Re: O que devo fazer???

    moedas
    Por moedas,

    Olá a todos,

    Gostaria de ouvir umas opiniões vossas.

    Eu estou com 38 anos e, apesar de gostar muito das TI, eu não trabalho na área e os meus conhecimentos são muito poucos, no entanto, quero mudar de vida profissional e fazer algo que me cativa e seduz.

    Tenho a possibilidade de fazer um curso de 120 horas com certificação CCNA e no inicio do ano fazer um CET de gestão de redes e sistemas informáticos, ambos no CINEL.

    Acham que só o CCNA vai-me abrir portas para eu entrar no mercado de trabalho nesta área? Ou devo mesmo depois fazer o CET e ficar com o CET e o CCNA? Ou fazer só certificações e esquecer o CET? Como está o mercado de emprego nesta área, existe procura por estes profissionais mesmo com 40 anos?

    Fico muito agradecido pelas vossas opiniões.

    • 2 respostas
  10. Re: SAFT-PT: debate de dúvidas e ideias

    bugFree
    Por bugFree,

    Boas,

    Como exportam nos Recibos do Regime Geral, os campos dos totais (TaxPayable, NetTotal) -- se este tipo de Recibos não calcula o IVA ?

    Nos RIC tem sentido, mas nos RG, o TaxPayable será sempre 0.00 e o NetTotal será igual ao GrossTotal, certo?

    Ou fazem doutra maneira -- sei que nem todos exportam os RG, mas tirando essa discussão...

    Obrigado.

    • 5964 respostas
  11. Re: Utilizar Webservices da AT

    hbarbosa
    Por hbarbosa,

    Bom dia

     

    Alguém com problemas hoje no regime de bens em circulação? Esta a dar erro

    • 7237 respostas
  12. Re: Importar Excel para base de dados JSP

    M6
    Por M6,

    Vamos lá com calma.

    O JSP é server-side, o que quer dizer que é executado no servidor e, como tal, "funciona no Edge mas não funciona no Chrome" é algo que não existe.

    O que queres dizer precisamente com "FileInputStream" não reconhece? Importaste a biblioteca onde se encontra?

    Para já encontro um bug de caras no código: savedFile é uma variável que contém apenas e só o nome do ficheiro quando devia conter também o caminho físico e total para o ficheiro Excel que queres ler.

    • 3 respostas
  13. Re: O passado no presente

    M6
    Por M6,

    Boas.

    O projeto não é algo do meu interesse, obrigado.

    Já percebi o que pretendes fazer, mas não compreendo em que queres ajuda. Tu até tens tudo controlado e sabes o que fazer.
    Procuras "apenas" um técnico para o fazer, é isso?

    • 3 respostas
  14. Re: Obter os elementos de uma table que não se encontram na outra

    M6
    Por M6,

    Fazes um

    select *
    from XPTO
    where not exists (select 1 
                      from OTPX 
                      where xpto.chave1 = otpx.chave1 
                      and xpto.chave2 = otpx.chave2)

    Ou seja, vais buscar todos os registos da XPTO que não existam na chave de ligação entre ambas as tabelas.

    • 2 respostas
  15. Re: Obter os elementos de uma table que não se encontram na outra

    Retsu9
    Por Retsu9,

    Boas,

     

    Secalhar é mais fácil se mostrares a estrutura das tabelas e as ligações.

    • 2 respostas
  16. Re: PHC - Programação em XBASE

    FGuedes
    Por FGuedes,

    Bom dia,

    Sou novo por aqui, e no phc também, não sei se me conseguem ajudar, pois isto é mais uma duvida do que programação no phc.

    Temos a versão 22 com o último update e o nossos recibos a clientes, na partes dos documentos a regularizar as n/ crédito aparecem com valor final a zero não sendo possível ajustar com as faturas. No entanto na parte dos fornecedores funciona sem qualquer problema.

    phc.png

    • 113 respostas
  17. Re: Obter os elementos de uma table que não se encontram na outra

    danielfpaiva
    Por danielfpaiva,

    Boa Noite,

    Precisava da vossa ajuda porque não sei como conseguir obter o resultado que necessito.

    O problema é o seguinte:

    Existe uma tabela XPTO e uma tabela OPTX que está ligadas por um foreign key.

    Eu necessitava de obter os elementos da tabela XPTO que não se encontram na tabela OPTX.

    Será que alguém me pode ajudar?

    • 2 respostas
  18. Re: Login e-fatura via cURL

    camafeu
    Por camafeu,

    Ja consigo fazer login corrigindo isto:

    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData1));

    No entanto, o portal das financas faz um redirect após login com sucesso. Já usei o parametro a baixo mas nada feito... não faz o redirect.

    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

     

    Alguma ideia?

    • 1 resposta
  19. Problema em Haskell! parse error

    bmorais25
    Por bmorais25,

    Estou com um problema no programa:

    (Há mais código para trás)

                           | snd points - fst points < 0 = error "Coordernadas invalidas..."
                           | fst points == snd points = 0
                           | otherwise = recursiv 2
                           where recursiv h e
                                 | aGrande - aPequena < e = aPequena    <------ LINHA DE ERRO
                                 | otherwise recusiv (2*h)
                                 where aGrande = (1/2)*((snd points) - (fst points))*(f (fst points) + f(snd points))
                                       aPequena = areaTrapeziosFixos f points 

    ERRO: parse error (possibly incorrect indentation or mismatched brackets)

     

    Alguém me consegue explicar porquê? :confused:

    • 0 respostas
  20. Re: Login e-fatura via cURL

    camafeu
    Por camafeu,

    Boas.

    Alguem sabe se existe forma de efectuar login no portal das finanças através do cURL? A ideia é fazer login e posteriormente fazer o get das faturas através do JSON (https://faturas.portaldasfinancas.gov.pt/json/obterDocumentosAdquirente.action). O código que tenho é o seguinte:

    		//set the directory for the cookie using defined document root var
    		$dir = "/home/conta/web/cookies";
    		//build a unique path with every request to store 
    		//the info per user with custom func. 
    		$path = $dir;
    		
    		$cookie_file_path = $path."/cookie.txt";
    		
    		//login data
    		$postData1 = array(
    			'path' => 'painelAdquirente.action',
    			'partID' => 'EFPF',
    			'authVersion' => '1',
    			'_csrf' => '9555c9e9-a5a6-41a2-8241-e02aa4a6db1c',
    			'selectedAuthMethod' => 'N',
    			'username' => 'USER_NAME',
    			'password' => 'PASSWORD'
    		);	
    
    		
    		$url = 'https://www.acesso.gov.pt/jsp/loginRedirectForm.jsp';
    		
    		$ch = curl_init();
    		curl_setopt($ch, CURLOPT_URL, $url);
    		curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/32.0.1700.107 Chrome/32.0.1700.107 Safari/537.36');
    		curl_setopt($ch, CURLOPT_POST, true);
    		curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
    		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    		curl_setopt($ch, CURLOPT_COOKIESESSION, true);
    		curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);  //could be empty, but cause problems on some hosts
    		curl_setopt($ch, CURLOPT_COOKIEFILE, $path);  //could be empty, but cause problems on some hosts
    		
    		$answer = curl_exec($ch);
    		if (curl_error($ch)) {
    		    echo curl_error($ch);
    		}

    Obtenho o erro: Por motivos de ordem técnica não nos é possível responder ao seu pedido. Por favor tente mais tarde.

    • 1 resposta
  1. Ver Mais Actividade
×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade