Ir para o conteúdo
  1. Abrir ficheiro externo em diretorio variável

    GFCO
    Por GFCO,

    Caros,

    Bom dia.

    tenho a seguinte duvida:

    Tenho um campo em PHC onde coloco manualmente o caminho completo de um determinado ficheiro.

    por exemplo:

    \\meu_server\docs\meu_doc.txt

    Pretendia agora criar um botão que ao clicar, abrisse o documento do diretorio acima.

    Conseguem ajudar?

    Obrigado.

    • 0 respostas
  2. Re: Carregar dados do utilizador

    Muryllo
    Por Muryllo,

    Mas se eu não me engano, por ser um método assíncrono você devia usar Await frente ao RestoreAssync. Se ele for chamado sem o Await o método não vai rodar.

    • 5 respostas
  3. Re: Alterar Banco de Dados MySQL

    Muryllo
    Por Muryllo,

    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
    • 1 resposta
  4. Erro ao repetir função

    figboy
    Por figboy,

    Boa tarde a todos. Estou a fazer uma função em que para aceitar um utilizador copio a informação desse utilizador de um ficheiro para outro e queria fazer isso por blocos, ou seja, vejo a informação de um utilizador e respondo se quero aceitar ou não, e repito isto até não ter mais utilizadores. Mas quando vou ver a informação do segundo utilizador acontece alguma estranha que não estou a perceber o que é. Vou coloacar o link para a execução do programa, depois de imprimir a informação do segundo utilizador não sei o que acontece.

    http://i1044.photobucket.com/albums/b446/figboy98/erro_zpsbsuy9d9f.png

     

    Se alguém conseguir ajudar fico muito grato

     

    void main(){
    int j=0;
    char opcao;
    FILE *pedidos;
    pedidos=fopen("../Projeto/Login/Users/pedidos", "r");
    char leitor[100000];
     
        while(k!=1){
     
                                //listar o primeiro pedido de novo registo
        for(int i=0; i<5; i++){
            fgets(leitor,10000,pedidos);
            printf("%s", leitor);
        }
        printf("Pretende autorizar o registo deste utilizador? (y/n):");
        scanf("%c", &opcao);
       
        switch(opcao){
            case 'y':
            aceitarUtilizadores();
            break;
            case 'n':
            //rejeitarUtilizador();
            break;
        }
    }
     
       
        }
       
    int aceitarUtilizadores(){
    char leitor[100];
    FILE*ativos, *pedidos, *temp;
     
    pedidos=fopen("../Projeto/Login/Users/pedidos", "r");
    ativos=fopen("../Projeto/Login/Users/UserData", "a");
    temp=fopen("../Projeto/Login/Users/temp", "w");
        for(int i=0; i<5;i++){ //escreve os dados do utilizador para o ficheiro de UserData
            fgets(leitor,100,pedidos);
            fputs(leitor,ativos);
        }
       
        while((fgets(leitor,100,pedidos))!=NULL){ //escreve os restantes pedidos para um ficheiro temporario
            fputs(leitor,temp);
        }
        fclose(pedidos);
        fclose(ativos);
        fclose(temp);
        temp=fopen("../Projeto/Login/Users/temp","r");
        pedidos=fopen("../Projeto/Login/Users/pedidos","w"); //abre o ficheiro dos pedidos apagando o seu conteudo
       
        while((fgets(leitor,100,temp))!=NULL){ //copia os pedidos que faltam ser analisados para o ficheiro de pedidos
            fputs(leitor,pedidos);
        }
        remove("../Projeto/Login/Users/temp");
        fclose(pedidos);
        pedidos=fopen("../Projeto/Login/Users/pedidos", "r");
        rewind(pedidos);
       
        if((fgets(leitor,100,pedidos))==NULL){
            fclose(pedidos);
            return k=1;
           
        }
        fclose(pedidos);
       
    }

     

    • 0 respostas
  5. Re: Alterar Banco de Dados MySQL

    toarelli
    Por toarelli,

    Caros amigos, por favor me perdoa por recorrer novamente a vossa ajuda.

    Mas acho que sou muito burro, por não conseguir realizar tal alteração.

    Estou com o seguinte problema.

    1ª alteração na Base de Dados ficou assim:

    ..ID.... COD/DESCR......VALOR........FORNECEDOR

    id=1 - 101 - Produto X - valor: 1,05 - Fornecedor: XYZ <== 1ª escolha de opção de compra

    id=4 - 105 - Produto Z - valor: 1,00 - Fornecedor: ABC <== 1ª escolha de opção de compra

    até aqui tudo bem

     

    Infelizmente o item 101-Produto X, foi passado para outro fornecedor, ficando assim:

    ..ID.... COD/DESCR......VALOR........FORNECEDOR

    id=2 - 101 - Produto X - valor: 1,05 - Fornecedor: ABC <== 2ª escolha de opção de compra

    id=4 - 105 - Produto Z - valor: 1,00 - Fornecedor: ABC <== 1ª escolha de opção de compra - MANTIDA

     

    Como faço para alterar no MySql passando:

    o id=1 para cancelado

    o id=2 para compra

     

    Desculpa minha dúvida, mas infelizmente nessa parte estou apanhando para fazer.

    Grato,

    Toarelli

    • 1 resposta
  6. Re: PHP - Habilitar e desabilitar campo input="radio"

    toarelli
    Por toarelli,

    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

    • 7 respostas
  7. Colocar imagem corretamente na div

    Minileandro
    Por Minileandro,

    Olá pessoal, eu tenho aqui uma questão

    Sempre que crio uma div e tento colocar uma imagem, eu nunca sei como colocar no sitio que quero

    Exemplo, eu criei essa div -> http://prntscr.com/jjqzcb

    A parte azul escura é a imagem que quero colocar no sitio certo, neste caso, a imagem está muito para baixo (passa para baixo, onde não existe mais a zona redonda) e eu gostava de saber como puxar para qualquer lado, tipo para cima, para baixo (para a direita,centro,esquerda eu sei)

    Espero que tenha explicado bem, agradeço quem me ajudar.

    Aqui os códigos

    HTML:

    <html>
    <head>
    <link rel="stylesheet" href="style_test.css">
    <title>CPI Mod</title>
    </head>
    <body>
    <div class="version">
    <img width="1500" height="600" src="teste.png" align="">
    </body>
    </html>

    Css:

    .version{
    	position: absolute;
        left: 4px;
        top: 10px;
    	width:1330px;
    	height:50px;
    	overflow:hidden;
    	background: url('background.png') top no-repeat;
    	padding-top: 27px;
    	padding-left: 24px;
    	border-radius: 40px;
    	box-shadow: 3px 3px #376c93;
    	
    border: 2px;
        border-radius: 30px;
    }

     

    • 0 respostas
  8. Re: Utilizar Webservices da AT

    koakh
    Por koakh,

    @md mad

    glupt.....errrr

    confesso que tive a "marrada" com os documentos fiscais e não com as guias

    será que com as guias dá, e apontei logo no sitio que não dá, na volta é um murphyzito para alegrar a malta

    hups......da com as guias, mas obvio nao com os documentos fiscais ou seja arghhhhhhhhh

    thanks @md mad
    segunda feira continuo, por agora vou de fim de semana
    abraço a todos

    e claro o user 599999993/0037 dá também :( ou seja argh!!!!

    • 7504 respostas
  9. Re: Entire Nest ecosystem of smart home devices goes offline

    Rui Carlos
    Por Rui Carlos,

    Uma coisa que me faz confusão é a dependência dos dispositivos/serviços/aplicações IoT de servidores externos.  Não estou bem a ver por que é que os mesmos não continuam a funcionar se todos os dispositivos estiverem na mesma LAN, e esta não falhar.

    • 1 resposta
  10. Re: AT - questões legais

    Rui Carlos
    Por Rui Carlos,
    12 horas atrás, paulo brito disse:

    Alguém sabe algo a respeito da famigerada lei da proteção de dados e da sua interferência / aplicação a programas de faturação ?

    Pois - nós via SAFT estamos a comunicar os dados dos clientes à querida AT....

    Já houve alguma discussão sobre este assunto neste tópico: https://www.portugal-a-programar.pt/forums/topic/75659-gdpr-impactos-no-software/

    • 4447 respostas
  11. Re: GDPR - Impactos no software

    Rui Carlos
    Por Rui Carlos,

    [Este tópico foi dividido, no sentido de separar a discussão não técnica, que agora se encontra aqui.  Aspectos mais "políticos", ou notícias sobre o tema, devem ser lá publicados.]

    • 58 respostas
  12. Re: Utilizar Webservices da AT

    md mad
    Por md mad,
    6 hours ago, koakh said:

    boas @marcolopes

    obrigado pela explicação, isto está se a tornar confuso....

    @marcolopes > Acho que não expliquei bem... não existe um SUB-utilizador de TESTES! O SUB-utilizador a usar é o mesmo da produção!

    tal como tentei explicar nos posts em cima , já testei o user de produção, basicamente apenas troquei o endpoint e dá erro que descrevi em cima...
    Exception: [O tempo limite da operação expirou]

    testei com o código que funciona a 100% em produção e claro mesmo erro

    no sandbox deles com o use produção o mesmo erro, timeout, e só testarem, e aguardarem 1m ou mais até aparecer o erro


    bem voltei a carga outra vez....e tentei novamente com várias combinações, inclusive usando um NIF sem ser o 599999993

    log

    
    Using pathPublicKey: [Resources/Certificates/ChaveCifraPublicaAT2020.cer]
    Using pathCertificate: [Resources/Certificates/TesteWebservice.pfx]
    TaxRegistrationNumber :[508508???], AccountFiscalNumber: [508278???/2], AccountPassword: [???]
    urlWebService: https://servicos.portaldasfinancas.gov.pt:700/fews/faturas
    urlSoapAction: http://servicos.portaldasfinancas.gov.pt/faturas/RegisterInvoice
    Send Document DocumentNumber: [FS 2018A12/1]/WayBillMode: [False]
    Cert Subject: [CN=TesteWebServices, OU=ASI, O=AT - Autoridade Tributaria e Aduaneira, L=Lisboa, S=Lisboa, C=PT], NotBefore: [09/01/2018 16:07:30], NotAfter: [08/07/2018 17:07:30]
    Exception: [O tempo limite da operação expirou]

    Como se pode ver em cima uso os seguintes dados
    - PublicKey Válido [09/01/2018 16:07:30], NotAfter: [08/07/2018 17:07:30]
    - Certificado de Testes com a Pass : TESTEwebservice
    - TaxRegistrationNumber: 599999993 e outro tal como 508508???
    - urlWebService: Endpoint de Testes

    Notas os files de teste em cima são os que fiz download na página da AT apenas mudei o nome de
    Chave Cifra Publica AT (Produção).cer para ChaveCifraPublicaAT2020.cer

    - E claro com o mesmo sub user e em modo de produção que está a trabalhar a 100%!!!

    alguem me pode confirmar que dados usam no modo de testes?

    - Ficheiros dos Certificados: ex "Chave Cifra Publica AT (Produção).cer" / "TesteWebServices.pfx"
    - Sub User: ex 508278???/2
    - NIF ex 599999993
    - Endpoints: urlWebService: https://servicos.portaldasfinancas.gov.pt:700/fews/faturas / urlSoapAction: http://servicos.portaldasfinancas.gov.pt/faturas/RegisterInvoice

    Para ver se descalço este "Hirritável", na volta mando a pasta para Angola LOL rsrrrsrs

    Muito Obrigado a todos

    Update#1: Já agora alguem pode testar na sandbox da AT a ver se funciona, é que ai é "só" usar o user de produção e devia dar!!!!

    Update#2 :
    Claro que se mudar o sub user de ?????????/2 para ?????????/3 da outro erro,
    de user inválido claro, o que prova tal como na sandbox que o user é o correcto, isto mais parece dos certificados que outra coisa......
    quanto aos certificados fiz download e usei como disse em cima.....

    
    Send ProtocolError StreamResult: [<?xml version="1.0" encoding="UTF-8"?>
    
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header/>
    <SOAP-ENV:Body>
    <SOAP-ENV:Fault>
    <faultcode>99  </faultcode>
    <faultstring>Rejected:   |  Codigo: 99  |  Erro: Acesso suspenso.  |  Tentativas Restantes: 5</faultstring>
    <detail>fews.gdcontfsimpostosqua</detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>]
    

    Confirmo que nas faturas dá esse problema, contudo nos documentos de transporte funciona.

    Em todo o caso, eu aponto o meu código ou para um lado ou para o outro, não uso o java deles.

    Será problema do lado deles?

    Espero que ajude

    Cumprimentos

     

    • 7504 respostas
  13. Re: Utilizar Webservices da AT

    koakh
    Por koakh,
    5 horas atrás, md mad disse:

    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...

    boas
    já tentei isso e infelizmente não comigo dá

    podes sff tentar esse user na sandbox deles 
    https://faturas.portaldasfinancas.gov.pt/testarLigacaoWebService.action
    (usar o IE + Java)

    obrigado

    • 7504 respostas
  14. Re: PHP - Habilitar e desabilitar campo input="radio"

    toarelli
    Por toarelli,
    17 minutos atrás, washalbano disse:

    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

     

    Amigo, fiz assim:

    
    <td align="left" width="10" height="10" rowspan="5">
        <input type="radio" name="<?php echo $produtoClie; ?>" class="flat-red" value="<?php echo $cotaRespId; ?>" />
    </td>
    
    /*
    essa parte: name="<?php echo $produtoClie; ?>" - fiz assim, pois é o código do produto que está sendo cotado
    
    essa parte: value="<?php echo $cotaRespId; ?>" - fiz assim, pois é o código referente a resposta que obtive
    
    */

     

    Seria isso amigo ?

     

    Caso possa, teria como te enviar o código do sistema inteiro para que possa analisar essa parte, caso possa.

    Fiz a alteração conforme mencionado e até agora, deu certo

    • 7 respostas
  15. Re: PHP - Habilitar e desabilitar campo input="radio"

    washalbano
    Por washalbano,

    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

    • 7 respostas
  16. Re: PHP - Habilitar e desabilitar campo input="radio"

    toarelli
    Por toarelli,
    23 minutos atrás, washalbano disse:

    Olá!
    Creio que comecei a compreender. Veja se é isso:
    No produto 101 poderá ter algumas opções e apenas uma será marcada
    No produto 105 poderá ter mais de uma opção e apenas uma será marcada

    Quando vc marca uma opção do produto 105, a opção do produto 101 é desmarcada?

    Muito fácil, use essa id numérica do produto no name do input:radio.
    ex.:
    produdo 101
    <input type='radio' name='produto_101' value='x'>
    <input type='radio' name='produto_101' value='y'>
    <input type='radio' name='produto_101' value='z'>

    produdo 105
    <input type='radio' name='produto_105' value='x'>
    <input type='radio' name='produto_105' value='y'>
    <input type='radio' name='produto_105' value='z'>

     

    Caro amigo

    no seu exemplo acima foi colocado um valor FIXO no campo value.

    produdo 101
    <input type='radio' name='produto_101' value='x'>

    Como os dados vem do Banco de Dados, como posso colocar um valor dentro do campo VALUE, se não sei quantos virá.

    Como seria o valor do VALUE ?

     

    • 7 respostas
  17. Re: PHP - Habilitar e desabilitar campo input="radio"

    washalbano
    Por washalbano,

    Olá!
    Creio que comecei a compreender. Veja se é isso:
    No produto 101 poderá ter algumas opções e apenas uma será marcada
    No produto 105 poderá ter mais de uma opção e apenas uma será marcada

    Quando vc marca uma opção do produto 105, a opção do produto 101 é desmarcada?

    Muito fácil, use essa id numérica do produto no name do input:radio.
    ex.:
    produdo 101
    <input type='radio' name='produto_101' value='x'>
    <input type='radio' name='produto_101' value='y'>
    <input type='radio' name='produto_101' value='z'>

    produdo 105
    <input type='radio' name='produto_105' value='x'>
    <input type='radio' name='produto_105' value='y'>
    <input type='radio' name='produto_105' value='z'>

    • 7 respostas
  18. Re: PHP - Habilitar e desabilitar campo input="radio"

    toarelli
    Por toarelli,
    13 horas atrás, washalbano disse:

    Use input:checkbox ao invés de radio

    Caro amigo

    Foi minha segunda opção.

    Mas aí fico com um outro problema, como tenho vários ITENS vindo do MySql o checkbox fica liberado para os demais itens.

    Como faço para quando escolher um determinado ITEM os outros checkbox ficam desabilidatos ?

    Como a imagem que anexei, um determinado produto pode ter vários respostas e assim por diante.

    Grato,

    Toarelli

    • 7 respostas
  19. Re: Utilizar Webservices da AT

    md mad
    Por md mad,

    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...

    • 7504 respostas
  20. Re: Utilizar Webservices da AT

    baninho
    Por baninho,

    Endereços para a comunicação de rendas via webservice.

    Neste momento estou a desenvolver uma aplicação, em vb .net para comunicar as rendas via webservice.

    Será que alguém me podia confirmar, se os seguintes endereços estão correctos(já enviei um e-mail à ASI - Produtores de Software Web Services <asi-psws@at.gov.pt>, mas ainda não obtive resposta)

    Endereços:

    'Endereço URI:
    Dim EnderecoWebService As String = "https://servicos.portaldasfinancas.gov.pt:709/ws/arrendamento"
    'Endereço SOAPAction
    request.Headers.Add("SOAPAction", "https://servicos.portaldasfinancas.gov.pt/sicau/ws/arrendamento/emitirRecibo")
    'Endereço BODY (estrutura)
    sb.Append("<ns2:emitirReciboRequest xmlns:ns2=""https://servicos.portaldasfinancas.gov.pt/arrendamento/definitions/"">")
      

    Desde já agradeço a vossa atenção.

     

    • 7504 respostas
  1. Ver Mais Actividade
×

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.