Ir para o conteúdo

Rankings


Conteúdo Popular

A mostrar o conteúdo com mais reputação desde 17-05-2018 em todas as áreas

  1. 3 pontos
    Realmente, o Portal da AT está tão modificado que não se consegue encontrar nada à primeira. Aqui vai o link: https://www.acesso.gov.pt/gestaoDeUtilizadores/consulta?partID=PFAP
  2. 2 pontos
    Se o seu negócio for obrigado a ter contabilidade organizada, terá de ter um contabilista certificado, que terá de ser indicado à AT. Por essa razão, terá de pagar a um contabilista, nem que seja para "assinar" as contas, pelo que não vejo qual a necessidade de se estar a preocupar em fazer a contabilidade. Se pelo contrário o seu negócio estiver abrangido pelo regime de contabilidade simplificada, não necessitará de um contabilista e poderá ser você próprio a tratar da mesma. Terá de respeitar determinadas regras e ter os livros que são indicados pelo código fiscal, nomeadamente no código do IRS. Ver um resumo das diferenças: https://www.e-konomista.pt/artigo/contabilidade-organizada-ou-regime-simplificado/ https://www.economias.pt/vantagens-e-desvantagens-da-contabilidade-organizada/ Não esqueçer, o regime do IVA, se beneficia do regime de isenção ou não, ver https://www.economias.pt/isencao-de-iva-ao-abrigo-do-artigo-53/ Se beneficiar desse regime, facilita-lhe ainda mais a vida, porque não tem de fazer apuramento do mesmo, o que lhe pode dar algum trabalho A contabilidade das empresas é regulada pelo SNC (sistema de normalização contabilística), que apresenta o plano das contas que deve adoptar, pode recolher mais informação em http://www.cnc.min-financas.pt/snc.html
  3. 2 pontos
    não és obrigado, no entanto torna tudo mais simples.... o teu problema actual é que estás a executar o código de processamento do envio do formulário quando ainda estás a apresentar-lo
  4. 2 pontos
    Olá! É possível sim! Coloque os dados dentro de divs e no css estilize para que fiquem lado a lado.
  5. 1 ponto
    Ok, então vamos lá novamente à pergunta colocada inicialmente: a resposta é «não, a maioria das empresas não utiliza Slackware, e não é preciso aprender a utilizá-lo para se conseguir emprego, de longe!». Não só não é comum falar-se de Slackware no ambiente empresarial como nem sequer faz sentido falar-se de Slackware no ambiente empresarial precisamente pelas características que a distro apresenta. É um sistema pensado para o utilizador singular que quer personalizar o seu sistema na sua máquina para si e apenas para si. Exige muito tempo e trabalho em termos de configuração e não é completamente claro se a relação custo/benefício é favorável a longo prazo. Posto isto, há muitas razões para utilizar Slackware noutros contextos, nem que seja para aprender um pouco mais sobre «as entranhas» de um dos GNU/Linux mais antigos ainda utilizados.
  6. 1 ponto
    read e write serve para escrever dados binários, e sendo str um objecto tendo internamente ponteiros, o que estás a guardar no ficheiro são referências de memória. o que nunca deve ser feito. a razão porque nunca deve ser feito, é que referências de memória só tem significado num contexto reduzido (tempo de execução, escopro de execução, etc), e quando estás a dizer ao teu objecto que agora aponta para uma zona de memória desconhecida (o que podes fazer sem problemas), resulta que quando vais ler essa memória "do jeitinho que a string gosta", vai correr mal ...
  7. 1 ponto
    Assim de repente, não podes ter um if ... then end; sem nada entre o then e o end Mais, isso que tu fizeste não é programação é simplesmente usar uma linguagem de programação para escrever no ecra. Não desanimes, um dos meus primeiros programas foi a triângulo de pascal e caí exactamente no mesmo erro que tu. Se quizeres fazer isso como deve de ser, tenho a certeza que o pessoal aqui te vai ajudar. Há pessoal muito porreiro aqui.
  8. 1 ponto
    as funções fread e fwrite são para escrita e leitura em binário, logo o que está a acontecer é o esperado o que deverias fazer seria usar as funções fprint e fscan
  9. 1 ponto
    Bom, tens um problema de dados sujos que deve ser resolvido na origem (o sistema de origem está a fazer porcaria e o problema deve ser resolvido aí). Quanto à tua questão, diria que podes fazer uma coisa relativamente simples que deve funcionar: Carregas os dados em forma de date/time Se Arrival <= Departure, tens um erro, somas um dia ao Departure e ficas com um intervalo de datas correto Tens de ter em mente que estás admitir que a distância entre o Arrival e o Departure é sempre, no máximo, de 1 dia. Por exemplo, a tua linha 2, o Departure Date podia bem ser 2017/01/03, mas isso é algo que tu não sabes (daí ter começado por dizer que o problema tem de ser resolvido na origem).
  10. 1 ponto
    Já tentaste o validador / analisador da CentralGest ? É muito mais completo (gratuito) e talvez te diga mais informação sobre isso. http://www.centralgest.com/files/SAFTAnalyzer/setup.exe
  11. 1 ponto
    Isso é problemático... Primeiro a condição de paragem continua errada Segundo, isto é igual seja no php ou c#
  12. 1 ponto
    novamente, já vimos que se não haver registos, não serão executados ciclos, mas se houver ? quantos ciclos são efectuados ?
  13. 1 ponto
    Olá! O que é PAP? Conecte-se assim: <?php // variáveis para conexão em localhost $host = 'localhost'; // define o host do banco de dados $user = 'root'; // user do banco de dados $password = ''; // senha do banco de dados $database = 'scriptbrasil'; // nome do banco de dados // estabelecer conexão com o mysql $sqli = new mysqli($host, $user, $password); // verificar se houve erro na conexão if ($sqli->connect_error) { // se houve erro, mostra erro na tela echo "<p>Erro ao Conectar: $sqli->connect_error</p>"; } // alterar o tipo de codificação da conexão com o banco de dados, para utf8 if (!$sqli->set_charset('utf8')) { echo "<p class='error'>O charset não é utf8: $sqli->error</p>"; } // selecionar/abrir o banco de dados para trabalhar if (!$sqli->select_db($database)) { // se o banco de dados não for encontrado echo "<p class='error'>Banco de dados não encontrado, chefe!</p>"; } Proceda com a busca assim: <?php // monte sua query de busca, selecionando apenas as informações necessárias: $query = "SELECT id_type, type_name FROM hardware_types"; // execute a query $result = $sqli->query($query); // verifique se houve algum erro na execução da query if ($sqli->error) { // se houve, mostre o erro na tela echo '<p class="error">Falha ao executar query, chefe!</p>' . $sqli->error; // se não houve erro algum e algum resultado foi encontrado } elseif ($result->num_rows) { // busca os dados em formato de array associativo $dados = $result->fetch_all(MYSQLI_ASSOC); } else { // se nenhum resultado foi encontrado echo '<p class="warning">Nenhum tipo de hardware cadastrado, chefe!</p>'; } Debugar a variável $dados: echo '<pre>'; var_dump($dados); echo '<pre>';
  14. 1 ponto
    Tenho aqui um exemplo de script de login que fiz: $sqlCmd = "SELECT id,login,email FROM users WHERE login LIKE '".mysql_real_escape_string($_POST['userid'])."' AND password=PASSWORD('".mysql_real_escape_string($_POST['userpass'])."') LIMIT 1"; $sqlQry = mysql_query($sqlCmd,$sqlServ); if(mysql_num_rows($sqlQry)>0) { $getAdmin = mysql_fetch_object($sqlQry); $_SESSION['user_id'] = $getAdmin->id; $_SESSION['user_name'] = $getAdmin->login; } Substituis o user_id pelo CodClient e o user_name por, por exemplo, LoginClient, assim ficas com as duas SESSION's definidas e podes ler em qualquer script... Pelo menos foi isto que percebi que querias...
  15. 1 ponto
    no meu tempo, em vez de martelar soluções improváveis e limitadas ao SGBD, era uso normal das FOREIGN KEY's assim como as acções referenciais destas como ON DELETE CASCADE ... mas novamente ... isso era no meu tempo ...
  16. 1 ponto
    Responde a esta simples questão: Porque é que o ficheiro de php que tem a responsabilidade de apresentar o formulário é o mesmo para receber os dados do mesmo?
  17. 1 ponto
    Antes de mais, tenta indentar o código devidamente, caso contrário é difícil de ler. Adicionalmente, não uses imagens para colocar conteúdos de texto! Quanto ao problema, olhando rapidamente para o código, acho que podes ter problemas com "lixo" no buffer de leitura. Experimenta trocar scanf("%c", &opcao); por scanf(" %c", &opcao);.
  18. 1 ponto
    Antes de mais nada, não faço ideia de como você lê/insere os dados no MySql. Deixo já aqui a forma como utilizo meu próprio wrapper para ler/escrever com maior facilidade usando o MySqlConnector para a framework 4.5. A linguagem que usei foi VB.NET. Quanto ao seu problema, me parece que precisará fazer uso do comando UPDATE. Com o comando update você atualiza o valor de uma coluna numa tabela. Imports MySql.Data Imports MySql.Data.MySqlClient ''' <summary> ''' Provides MySql wrapper for basic operations in database. ''' </summary> ''' <remarks></remarks> Public Class MySqlAPI ' Implements IDisposable ' Private MySqlConn As MySqlConnection = New MySqlConnection Private MySqlAdapter As MySqlDataAdapter = New MySqlDataAdapter Private MySqlDataTable As DataTable = New DataTable Private MySqlComm As MySqlCommand = New MySqlCommand Private MySqlCommString As String = String.Empty ' Private disposedValue As Boolean ' ''' <summary> ''' Initialize the wrapper for new connection to specified database. ''' </summary> ''' <param name="sqlConnectionString"></param> ''' <param name="sqlCommandString"></param> ''' <remarks></remarks> Public Sub New(ByVal sqlConnectionString As String, ByVal sqlCommandString As String) MySqlConn = New MySqlConnection(sqlConnectionString) MySqlCommString = sqlCommandString MySqlConn.Open() MySqlComm = New MySqlCommand(sqlCommandString, MySqlConn) End Sub ''' <summary> ''' Initialize the wrapper for new connection to specified database. ''' </summary> ''' <param name="sqlConnectionString"></param> ''' <param name="sqlCommand"></param> ''' <remarks></remarks> Public Sub New(ByVal sqlConnectionString As String, ByVal sqlCommand As MySqlCommand) MySqlConn = New MySqlConnection(sqlConnectionString) MySqlConn.Open() MySqlComm = sqlCommand MySqlCommString = MySqlComm.CommandText MySqlComm.Connection = MySqlConn End Sub ''' <summary> ''' Initialize the wrapper for new connection to specified database. ''' </summary> ''' <param name="sqlConnection"></param> ''' <param name="sqlCommand"></param> ''' <remarks></remarks> Public Sub New(ByVal sqlConnection As MySqlConnection, ByVal sqlCommand As MySqlCommand) MySqlConn = sqlConnection If (MySqlConn.State <> ConnectionState.Open) Then If (MySqlConn.State = ConnectionState.Broken) Then MySqlConn.Close() MySqlConn.Open() End If If (MySqlConn.State = ConnectionState.Closed) Then MySqlConn.Open() End If End If MySqlComm = sqlCommand MySqlCommString = MySqlComm.CommandText MySqlComm.Connection = MySqlConn End Sub ''' <summary> ''' Initialize the wrapper for new connection to specified database. ''' </summary> ''' <param name="sqlConnection"></param> ''' <param name="sqlCommandString"></param> ''' <remarks></remarks> Public Sub New(ByVal sqlConnection As MySqlConnection, ByVal sqlCommandString As String) MySqlConn = sqlConnection MySqlCommString = sqlCommandString If (MySqlConn.State <> ConnectionState.Open) Then If (MySqlConn.State = ConnectionState.Broken) Then MySqlConn.Close() MySqlConn.Open() End If If (MySqlConn.State = ConnectionState.Closed) Then MySqlConn.Open() End If End If MySqlComm = New MySqlCommand(sqlCommandString, MySqlConn) End Sub ' ''' <summary> ''' Returns the data table from MySql database. ''' </summary> ''' <value></value> ''' <returns></returns> ''' <remarks></remarks> Public ReadOnly Property MySql_GetDataTable() As DataTable Get MySqlAdapter = New MySqlDataAdapter(MySqlComm) MySqlDataTable = New DataTable MySqlAdapter.Fill(MySqlDataTable) Return MySqlDataTable End Get End Property ' ''' <summary> ''' Returns the data table from MySql database. ''' </summary> ''' <value></value> ''' <returns></returns> ''' <remarks></remarks> Public ReadOnly Property MySql_GetDataTableAsync() As Task(Of Integer) Get MySqlAdapter = New MySqlDataAdapter(MySqlComm) MySqlDataTable = New DataTable Return MySqlAdapter.FillAsync(MySqlDataTable) End Get End Property ' ''' <summary> ''' Returns the loaded data table. ''' </summary> ''' <value></value> ''' <returns></returns> ''' <remarks></remarks> Public ReadOnly Property MySql_ReadDataTable() As DataTable Get Return MySqlDataTable End Get End Property ' ''' <summary> ''' Execute the specified command in MySql database. ''' </summary> ''' <value></value> ''' <returns></returns> ''' <remarks></remarks> Public ReadOnly Property MySql_ExecuteCommandAsync() As Task(Of Integer) Get Return MySqlComm.ExecuteNonQueryAsync End Get End Property ' ''' <summary> ''' Execute the specified command in MySql database. ''' </summary> ''' <value></value> ''' <returns></returns> ''' <remarks></remarks> Public ReadOnly Property MySql_ExecuteCommand() As Integer Get Return MySqlComm.ExecuteNonQuery End Get End Property ' ''' <summary> ''' Return the number of rows in datatable loaded. ''' </summary> ''' <value></value> ''' <returns></returns> ''' <remarks></remarks> Public ReadOnly Property MySql_GetRowsCount() As Integer Get If (MySqlDataTable IsNot Nothing) Then Return MySqlDataTable.Rows.Count Else Return 0 End If End Get End Property ' ''' <summary> ''' Change the MySqlConnection string. ''' </summary> ''' <value></value> ''' <remarks></remarks> Public WriteOnly Property MySql_ChangeSqlConnectionString() Set(value) If (CStr(value) <> String.Empty) Then If (MySqlConn.State = ConnectionState.Open) Then MySqlConn.Close() MySqlConn.ConnectionString = CStr(value) MySqlConn.Open() Else MySqlConn.ConnectionString = CStr(value) MySqlConn.Open() End If End If End Set End Property ' ''' <summary> ''' Change the MySqlCommand string. ''' </summary> ''' <value></value> ''' <remarks></remarks> Public WriteOnly Property MySql_ChangeSqlCommandString Set(value) If (CStr(value) <> String.Empty) Then MySqlCommString = CStr(value) If (MySqlConn.State = ConnectionState.Open) Then MySqlComm = New MySqlCommand(MySqlCommString, MySqlConn) Else MySqlConn.Open() MySqlComm = New MySqlCommand(MySqlCommString, MySqlConn) End If End If End Set End Property ' Protected Overridable Sub Dispose(disposing As Boolean) If Not Me.disposedValue Then If disposing Then MySqlConn.Dispose() MySqlAdapter.Dispose() MySqlDataTable.Dispose() MySqlConn.Close() End If End If Me.disposedValue = True End Sub ' ''' <summary> ''' Close the connection and dispose the wrapper. ''' </summary> ''' <remarks></remarks> Public Sub Dispose() Implements IDisposable.Dispose Dispose(True) GC.SuppressFinalize(Me) End Sub ' End Class
  19. 1 ponto
    Caros amigo do forum. Após muita pesquisa e ajuda consegui resolver o problema que estava tendo com o input='radio', ficou assim: <?php if(!isset($_SESSION)){ session_start(); } ?> <!-- Include_once Executa a chamada apenas uma única vez --> <?php include_once("sistema/restrito_cliente.php"); ?> <?php include_once("sistema/validar_user.php"); ?> <?php include_once("header.php"); ?> <?php include_once("menu.php");?> <div class="content-wrapper"> <section class="content-header"> <h1>Cotação nº.<?php echo $cotaNumero; ?> em Análise</h1> <ol class="breadcrumb"> <li><a href="painel.php?exe=home/home"><i class="fa fa-dashboard"></i> Home</a></li> <li class="active">Cotação em Análise</li> </ol> </section> <!-- Main content --> <section class="content"> <!-- Small boxes (Stat box) --> <div class="row"> <?php //Variável Passada da Página Anterior $cotaNumeroGet = isset($_GET['cotaNumero']) ? $_GET['cotaNumero'] : false; $cotaNumero = isset($_POST['cotaNumero']) ? $_POST['cotaNumero'] : $cotaNumeroGet; $cotaStatus = '2'; //Faço a pesquisa através do código ID $sql_pegaProd = 'SELECT * FROM cotacao WHERE cotaNumero = :cotaNumero AND cotaStatus = :cotaStatus'; try{ $query_pegaProd = $conecta->prepare($sql_pegaProd); $query_pegaProd->bindValue(':cotaNumero',$cotaNumero,PDO::PARAM_STR); $query_pegaProd->bindValue(':cotaStatus',$cotaStatus,PDO::PARAM_STR); $query_pegaProd->execute(); $resultado_pegaProd = $query_pegaProd->fetchAll(PDO::FETCH_ASSOC); }catch(PDOexception $error_pegaProd){ echo 'Erro ao pegar o Produto'.$error_pegaProd->getMessage(); } //Capturo os dados que desejo foreach($resultado_pegaProd as $resProd){ $cotaId = $resProd['cotaId']; $cotaNumero = $resProd['cotaNumero']; $edCotaDtInicio = $resProd['cotaDtInicio']; $edCotaHrsInicio = $resProd['cotaHrsInicio']; $edCotaDtFim = $resProd['cotaDtFim']; $edCotaHrsFim = $resProd['cotaHrsFim']; $edCotaTitulo = $resProd['cotaTitulo']; } ?> <div class="col-md-12"> <!-- general form elements --> <div class="box box-primary"> <div class="box-header with-border"> <h3 class="box-title">Título: <?php echo $edCotaTitulo; ?></h3> </div> <form role="form" name="frm_cota" id="frm_cota" action="" enctype="multipart/form-data" method="POST" > <div class="box-body"> <div class="row invoice-info"> <div class="col-sm-2 invoice-col"> <address> <strong>Data Abertura:</strong><br/> <?php echo date('d-m-Y', strtotime($edCotaDtInicio)); ?> </address> </div> <div class="col-sm-2 invoice-col"> <address> <strong>Hora Abertura:</strong><br/> <?php echo $edCotaHrsInicio; date('H:i:s'); ?> </address> </div> <div class="col-sm-2 invoice-col"> <address> <strong>Data de Encerramento:</strong><br/> <?php echo date('d-m-Y', strtotime($edCotaDtFim)); ?> </address> </div> <div class="col-sm-3 invoice-col"> <address> <strong>Hora de Encerramento:</strong><br/> <?php echo $edCotaHrsFim; date('H:i:s'); ?> </address> </div> <div class="col-sm-3 invoice-col"> <a href="painel.php?exe=admin-cliente/cotacao/cotacao_altDataHrs&cotaNumero=<?php echo $cotaNumero ?>" type="button" class="btn btn-warning pull-right" style="font-size: 14px;"> Alterar Data e Hora Encerramento</a> </div> </div> </div> </form> <div class="col-md-12"> <div class="box-header"><h3 class="box-title">Itens Cotados</h3></div> <form role="form" name="frm_analisar" id="frm_analisar" action="" enctype="multipart/form-data" method="POST" > <div class="box-body"> <?php //Traz o Código de Cliente logado $clientes_clienteId = "$userClientes_clienteId"; $sql_pegaAtivos = 'SELECT pro.codProdClie, pro.produtoDescr, pro.apres_unid, pro.clientes_clienteId, cota.cotacao_cotaId, cota.cotaItensId, cota.cotaNumImport, cota.cotaNumero, cota.codProdClie,cota.cotaQtde, cota.cotaComenta, cota.cotaReferencia FROM cotacaoItens cota INNER JOIN produto pro ON pro.codProdClie = cota.codProdClie WHERE pro.clientes_clienteId = :clientes_clienteId AND cota.cotaNumero = :cotaNumero ORDER BY cota.cotaItensId ASC'; try{ $query_pegaAtivos = $conecta->prepare($sql_pegaAtivos); $query_pegaAtivos->bindValue(':clientes_clienteId',$clientes_clienteId,PDO::PARAM_STR); $query_pegaAtivos->bindValue(':cotaNumero',$cotaNumero,PDO::PARAM_STR); $query_pegaAtivos->execute(); $resultado_pegaAtivos = $query_pegaAtivos->fetchAll(PDO::FETCH_ASSOC); $count_pegaAtivos = $query_pegaAtivos->rowCount(PDO::FETCH_ASSOC); }catch(PDOexception $error_pegaAtivos){ echo 'Erro ao pegar ativos'; } foreach($resultado_pegaAtivos as $resAtivos){ $cotacao_cotaId = $resAtivos['cotacao_cotaId']; $clientes_clienteId = $resAtivos['clientes_clienteId']; $cotaItensId = $resAtivos['cotaItensId']; $produtoCota = $resAtivos['codProdClie']; $cotaNumero = $resAtivos['cotaNumero']; $cotaNumImport = $resAtivos['cotaNumImport']; $produtoClie = $resAtivos['codProdClie']; $cotaQtde = $resAtivos['cotaQtde']; $cotaComenta = $resAtivos['cotaComenta']; $cotaReferencia = $resAtivos['cotaReferencia']; $descrProd = $resAtivos['produtoDescr']; $apresProd = $resAtivos['apres_unid']; ?> <fieldset> <div class="box-header with-border" style="background: #E0F2EC;"> <h3 class="box-title" style="font-size:18px;"> <?php echo '<strong>'.$produtoClie.' - '.$descrProd .'</strong> - Qtde: '.$cotaQtde; ?> </h3> </div> <?php //Traz o Código do Produto $codProdClie = $produtoClie; $sql_pegaAtivos = 'SELECT cl.clienteId, cl.razaoSocial, cl.faturaMinimo, cr.cotaRespId, cr.cotaRespQtde, cr.cotaRespVlrUnit, cr.cotaRespMarca, cr.codProdClie, cr.cotaRespObs, cr.apres_unid, cr.clientes_clienteId, cr.cotacaoItens_cotaItensId, cr.cotaNumero, ci.cotaItensId, ci.codProdClie FROM cotacaoItens ci INNER JOIN cotacaoResposta cr ON cr.cotacaoItens_cotaItensId = ci.cotaItensId INNER JOIN clientes AS cl ON cl.clienteId = cr.clientes_clienteId WHERE cr.cotaNumero = :cotaNumero AND cr.codProdClie = :codProdClie ORDER BY cr.cotaRespVlrUnit ASC '; try{ $query_pegaAtivos = $conecta->prepare($sql_pegaAtivos); $query_pegaAtivos->bindValue(':cotaNumero',$cotaNumero,PDO::PARAM_STR); $query_pegaAtivos->bindValue(':codProdClie',$codProdClie,PDO::PARAM_STR); $query_pegaAtivos->execute(); $resultado_pegaAtivos = $query_pegaAtivos->fetchAll(PDO::FETCH_ASSOC); $count_pegaAtivos = $query_pegaAtivos->rowCount(PDO::FETCH_ASSOC); }catch(PDOexception $error_pegaAtivos){ echo 'Erro ao pegar ativos'; } foreach($resultado_pegaAtivos as $resAtivos){ $cotaNumero = $resAtivos['cotaNumero']; $faturaMinimo = $resAtivos['faturaMinimo']; $cotaRespId = $resAtivos['cotaRespId']; $cotaRespQtde = $resAtivos['cotaRespQtde']; $cotaRespVlrUnit = $resAtivos['cotaRespVlrUnit']; $cotaRespMarca = $resAtivos['cotaRespMarca']; $cotaRespObs = $resAtivos['cotaRespObs']; $codProdClie = $resAtivos['codProdClie']; $apres_unid = $resAtivos['apres_unid']; $clientes_clienteId = $resAtivos['clientes_clienteId']; $razaoSocial = $resAtivos['razaoSocial']; ?> <?php //Cálculo para Multiplicar e Somar o Total Geral dos Itens Cotados $fornecedor = "$clientes_clienteId"; $vrTotal = '0';//Variável recebe a Soma Total $cnx = mysql_connect("localhost", "root", ""); mysql_select_db("siscotaweb", $cnx); $sql = "SELECT cotaRespQtde, cotaRespVlrUnit FROM cotacaoResposta WHERE clientes_clienteId = '$fornecedor' AND codProdClie = $codProdClie AND cotaNumero = '$cotaNumero' "; $result = mysql_query($sql); //Executa a consulta while($row = mysql_fetch_array($result)){ $qtde = number_format($row['cotaRespQtde']); $valor = floatval(str_replace(",",".",$row['cotaRespVlrUnit'])); $total = $qtde * $valor; } ?> <div class="box box-default"> <br/> <input id="id1" type="radio" name="<?php echo $produtoClie; ?>[1][]" class="flat-red" value="<?php echo $cotaRespId; ?>" /> <label for="razSoc" style="font-size:14px; color:#07076B;"> <?php echo '<strong>&nbsp;'.$razaoSocial.'</strong>'; ?> </label> <div class="box-body"> <div class="col-sm-3 invoice-col"> <address> Espécie: <strong><?php echo $apres_unid; ?></strong> </address> </div> <div class="col-sm-3 invoice-col"> <address> Quantidade: <strong><?php echo $cotaRespQtde; ?></strong> </address> </div> <div class="col-sm-3 invoice-col"> <address> Valor Unitário: R$ <strong><?php echo number_format($cotaRespVlrUnit, 2, ",", "."); ?></strong> </address> </div> <div class="col-sm-3 invoice-col"> <address> Valor Total: R$ <strong><?php echo number_format($total, 2, ",", "."); ?></strong> </address> </div> <?php $fornecedor = "$clientes_clienteId"; $cnx = mysql_connect("localhost", "root", ""); mysql_select_db("siscotaweb", $cnx); $sql = "SELECT faturaValor, faturaPrazoEntrega, desc_pgto FROM fatura WHERE clientes_clienteId = '$fornecedor' AND faturaCotaNumero = '$cotaNumero' "; $result = mysql_query($sql); //Executa a consulta while($row = mysql_fetch_array($result)){ $faturaPrazoEntrega = $row['faturaPrazoEntrega']; $desc_pgto = $row['desc_pgto']; $valor = floatval(str_replace(",",".",$row['faturaValor'])); $res = $valor; } if($res == $valor) { ?> <div class="col-sm-3 invoice-col"> <address> Prazo de Entrega: <strong><?php echo $faturaPrazoEntrega; ?></strong> Dia(s) </address> </div> <div class="col-sm-6 invoice-col"> <address> Condição de Pagamento: <strong><?php echo $desc_pgto; ?></strong> </address> </div> <?php } ?> <div class="col-sm-3 invoice-col"> <address> Faturamento Mínimo: R$ <strong><?php echo $faturaMinimo; ?></strong> </address> </div> <div class="col-sm-12 invoice-col"> <address> Observação: <strong><?php echo $cotaRespObs; ?></strong> </address> </div> </div> </div> </fieldset> <?php } ?><!-- 2º /.Foreach --> <fieldset> <div class="col-md-12"> <strong>Comentário Sobre a Compra:</strong> <input type="text" id='comenta' name="comenta" size="180" class="form-control" style="width:100%" onkeyup="up(this)" > </div> </fieldset> <hr/> <?php } ?><!--1º /.Foreach --> </div><!-- /.div box --> </form> </div> <div class="box-body"> <form id="frm_itensCota" name="frm_itensCota" action="" method="post" enctype="multipart/form-data"> <div style="text-align: right;"> <input class="btn btn-danger" type="submit" name="voltar" id="voltar" value="Voltar" onclick="frm_itensCota.action='painel.php?exe=admin-cliente/cotacao/cotacao_lista'; frm_itensCota.submit()" title="Voltar a Lista de Cotação." /> <input type="hidden" name="cotaId" value="<?php echo $cotaId; ?>" /> </div> </form> </div><!-- /.box button --> </div><!-- / 1ª. box --> </div><!-- /.col --> </div><!-- fim da row --> </section> </div> <?php include_once("footer.php");?> <!--Script para Validar o Formulário --> <script language="JavaScript" > function up(lstr){ //converte minusculas em maiusculas var str=lstr.value; //obtem o valor lstr.value=str.toUpperCase(); //converte as strings e retorna ao campo } //Flat red color scheme for iCheck $('input[type="checkbox"].flat-red, input[type="radio"].flat-red').iCheck({ checkboxClass: 'icheckbox_flat-green', radioClass : 'iradio_flat-green' }) </script> Grato
  20. 1 ponto
    Seria um valor dinâmico de acordo com o que tiver no banco de dados Onde está o x, troque pelo valor que vier do banco de dados. na verdade esse x, deveria ser a id da opção
  21. 1 ponto
    Boas. Desde o início desta comunicação, as credenciais que uso são as mesmas de produção, ou seja, NIF/Subutilizador válido no Portal da AT. No meu caso, com o meu NIF (pessoa singular) criei um subutilizador com as devidas permissões e sempre foi este que utilizei. As diferenças entre produção e testes são o certificado a utilizar (cert. produtor software / cert. testes) e o endereço do endpoint, tudo o resto é igual. Espero que isto ajude...
  22. 1 ponto
    Acho que não expliquei bem... não existe um SUB-utilizador de TESTES! O SUB-utilizador a usar é o mesmo da produção! Talvez eles queiram saber quem anda a fazer testes Experimentem com o SUB-user de produção e digam qq coisa. O problema desta abordagem é que, caso o programador por lapso esteja no ambiente de produção... está a comunicar documentos 😕 NOTA: Gosto muito!!! da inconsistência de descrições nesta tabela da AT... ARW - Arrendamento Webservice DA - Decl. Anual DMR - Declaração Mensal de Remunerações IMV - Imposto Municipal sobre Veículos IRC - Imp. Rendimento Colectivo M10 - Mod. 10
  23. 1 ponto
    Não... o ENDEREÇO (ENDPOINT) de testes é que é diferente... o utilizador é o que tu quiseres, e pelos vistos, a AT revogou o acesso do utilizador "universal" que tinha criado para testes... Resta a cada empresa que quiser testar CRIAR um SUB-utilizador no portal das finanças relativo aos webservices e usar essas credenciais...
  24. 1 ponto
    Acabei de testar, tanto na pagina dos Produtores de Software, como no meu software em ambiente de testes e está tudo a funcionar normalmente. No meu software faço o envio de teste com o NIF/0001 e a respetiva senha que foi dada ao sub-utilizador 1, até para confirmar que o utilizador digitou a senha corretamente.
  25. 1 ponto
    Não existe uma linguagem de programação que dê mais emprego. Mesmo dentro das áreas de desenvolvimento de software com altos índices de empregabilidade existem diferentes requisitos em termos de linguagens de programação. E muitas implicam mais do que uma linguagem.
×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.