Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Elizabeth1999

#1
Hola, buenos días. quisiera saber cómo puedo obtener el elemento rowIndex fuera del bucle




Código: html5
<form class="forms-custom" novalidate="novalidate" [formGroup]="formstate" (ngSubmit)="onSubmit2(formstate.value)">
        <div class="card shadow mb-4" >
            <div class="card-header py-3">
                <h6 class="m-0 font-weight-bold text-primary">Listado</h6>
            </div>
            <div class="col-md-12 d-flex flex-row-reverse align-items-baseline mt-3">
                <div class="col-md-1_5">
                    <div class="text-left">
                        <button
                        (click)="valuestateall == 1 || valuestateall == 2 || valuestateall == 3 ? updatestate(item, rowIndex, valuestateall) : false"
                        class="btn btn-primary btn"
                                [disabled]="!(!formstate.valid || !preloaderStatus)">Guardar <i
                                class="fa fa-save"
                                *ngIf="!preloaderStatus"></i>
                            <i *ngIf="preloaderStatus" class="fa fa-cog fa-1x fa-spin"
                               aria-hidden="true"
                            ></i>
                        </button>
                    </div>
                </div>
                <div class="col-md-2 form-group p-2"><!--
                    (click)="valuestateall == 1 || valuestateall == 2 || valuestateall == 3 ? updatestate(item, rowIndex, valuestateall) : false"-->
                    <select formControlName="valuestateall" name="valuestateall" id="valuestateall" class="form-control selectxt">
                        <option value="">- Elegir Estado -</option>
                        <option value="1">Atender</option>
                        <option value="2" >Atendido</option>
                        <option value="3" >Inactivo</option>
                    </select>
                </div>
                <div class="form-check col-md-1_5 p-2 d-flex">
                    <input (change)="isSelected = !isSelected" type="checkbox" class="form-check-input" id="exampleCheck1">
                    <label class="form-check-label" for="exampleCheck1">Seleccionar todo</label>
                </div>
            </div>
            <div class="card-body">
                <div class="cargando">
                    <i class="pi pi-spin pi-spinner" style="font-size: 6rem" *ngIf="!data"></i>
                </div>
                <div class="table-responsive">
                    <p-table [value]="data" *ngIf="data">
                        <ng-template pTemplate="header">
                            <tr>
                                <th *ngFor="let item of tableHeader"
                                    (click)="toggle = !toggle;orderItems(item, toggle)">{{item.name}}
                                    <i *ngIf="item.value != orderHeaderTable"
                                    class="p-sortable-column-icon pi pi-fw pi-sort-alt"></i>
                                    <i [ngClass]="{'fas' : true, 'fa-chevron-down': toggle && item.value == orderHeaderTable, 'fa-chevron-up': !toggle && item.value == orderHeaderTable}"
                                    class="fas fa-chevron-down"></i>
                                </th>
                            </tr>
                        </ng-template>
                        <ng-template pTemplate="body" let-item let-rowIndex="rowIndex" let-valuestateall>
                            <tr>
                                <td>{{ (item.vehicle) ? item.vehicle.name : '' }}</td>
                                <td>{{ item.vin }}</td>
                                <td>{{ item.year }}</td>
                                <td>{{ item.names }}</td>
                                <td>{{ item.description }}</td>
                                <td>
                                    <span *ngIf="item.state == 1" class="badge badge-success">Atender</span>
                                    <span *ngIf="item.state == 2" class="badge badge-warning">Atendido</span>
                                    <span *ngIf="item.state == 3" class="badge badge-danger">Inactivo</span>
                                    <div class="form-check float-right">
                                        <!---- [checked]="isSelected"  (change)="onChange(data.inputcheck, $event.target.checked)"
                                        *ngIf="checked ? updatestate(item, rowIndex, valuestateall) : true"-->
                                        <input type="checkbox" ng-true-value="1" ng-false-value="0"
                                        class="form-check-input"  id="check_{{rowIndex}}" name="check_{{rowIndex}}" [checked]="isSelected"
                                        (click)="updatestate(item, rowIndex, 3)">
                                    </div>
                                </td>
                                <td>{{ item.created_at | date:'dd-MM-yyyy': '+0200' : 'es-PE'}}</td>
                                <td class="no-padding">

                                    <button type="button" class="btn  btn-outline-primary btn-btn-edit-delete openModal"
                                            data-toggle="modal" (click)="openModal(item)">
                                        <i class="fa fa-edit"></i>
                                    </button>
                                    <button [disabled]="buttonDelete && itemSelected == rowIndex" id="{{rowIndex}}"
                                            (click)="delete(item, rowIndex)" label="delete" type="button" class="btn btn-danger">
                                        <i *ngIf="!buttonDelete || itemSelected != rowIndex" class="fa fa-trash"
                                            aria-hidden="true"></i> <i *ngIf="buttonDelete && itemSelected == rowIndex"
                                                                        class="fa fa-cog fa-5x fa-spin" aria-hidden="true"
                                                                        style="font-size: 16px;"></i>
                                    </button>
                                </td>
                            </tr>
                            <tr class="text-center" *ngIf="!data?.length > 0">
                                <td colspan="10">No se encontro información...</td>
                            </tr>
                        </ng-template>
                    </p-table>

                    <p-paginator *ngIf="data?.length > 0" styleClass="paginacion" [rows]="limit"
                                [totalRecords]="totalCount" [rowsPerPageOptions]="[10,20,30,50,100]"
                                (onPageChange)="paginate($event)" #pPaginator></p-paginator>
                </div>
            </div>
        </div>
    </form>


Acualmente la función onclick está dentro de cada input check para poder obtener la posición rowIndex y de esta forma obtener el id para el update.
Otro problema que tengo es que dentro de este bucle tampoco puedo obtener el valor del estado del  select.

Código: java
updatestate(item: any, index: number, valuestateall: number){
        console.log('id', item.id);
        console.log("index", index);
        console.log(valuestateall);
        this.confirmationService.confirm({
            message: '¿Deseas actualizar todos los estados?',
            header: 'Cambiar estado',
            icon: 'pi pi-info-circle',
            accept: () => {
                console.log('updatestate', ('idcheck_'+index));
                this.buttonSaveState = true;
                this.itemCheckSelected = index;
                this.service.edit(item).subscribe((res: any) => {
                    if (res.code === 200) {
                        this.messageService.add({
                            severity: CMSConstants.MESSAGE_INFO_TYPE,
                            summary: 'Actualizado',
                            detail: 'Se actualizó!!'
                        });
                        if (this.totalPage - 1 === 0) {
                            this.params._page = this.params._page - 1;
                        }
                        this.getAllData(this.params);
                    } else {
                        console.log('error');
                        this.messageService.add({
                            severity: CMSConstants.MESSAGE_ERROR_TYPE,
                            summary: 'Error',
                            detail: 'No se ha podido actualizar'
                        });
                    }
                    this.resetAll();
                }, error => {
                    console.log('error');
                    this.messageService.add({
                        severity: CMSConstants.MESSAGE_ERROR_TYPE,
                        summary: 'Error',
                        detail: 'No se pudo actualizar'
                    });
                    this.resetAll();
                });
            },
            reject: (type) => {
            }
        });
    }


La funcionalidad sería esta:
1.- Seleccionar todos los elementos
2.- Seleccionar el nuevo estado
3.- Guardar el nuevo estado para todos los elementos seleccionados




Mi duda es cómo obtener el row index fuera del bucle (let-item let-rowIndex="rowIndex") y/o cómo obtener el valor del select (valuestateall)
fuera del bucle, el llamado está dentro del input check dentro del bucle. Le puse por defecto 3, ya que tampoco obtiene el value (<input type="checkbox" ng-true-value="1" ng-false-value="0"  class="form-check-input"  id="check_{{rowIndex}}" name="check_{{rowIndex}}" [checked]="isSelected"
                                        (click)="updatestate(item, rowIndex, 3)">)


#2
Hola, buenas noches. ¿Por favor alguien me podría ayudar?
Cuando creo un nuevo proyecto en visual studio 2019 no me carga la vista de diseñador, solo código, al crear el proyecto o añadir otros form me crea archivos .cs, los pasos que estoy siguiendo son:
-abro vs2019
-lenguaje c#, windows, Escriorio
-Selecciono la opción Windows Forms      App(.Net Core) - (mi profesor indicó eso)
-le doy en siguiente
-nombre de proyecto (example)
-ubicación (E:\adfafd\sdfsf\)
-solución, me da la opción de crear nueva solución y eso no le aparece a mi profesor.
-Nombre de la solución (pone por defecto el nombre del proyecto - son todas las opciones que me brinda mi VS)
-a mi profesor le aparece Framework (.NET Framework 4.7.2)

-----Se crea el proyecto----
Me aparece por defecto:
Form1.Dsigner.cs
   Form1
        Form1()
        components : IContainer
        Dispose(bool) : void
        InitializeComponent() : void
-He dado anticlick, "ver diseñador" en cada archivo y nada; también en el menú->Ver->Diseñador y nada  :'(

No puedo ver el diseño del form vacío al recién crear el proyecto, ni poder crear forms con tan solo arrastrar y soltar.

¿Por favor alguien me puede indicar cómo puedo solucionar esto? Gracias.
imagen de como me sale ->  No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#3
Esta es mi actual función de crearCotización que está dentro de mi carpeta clases:
public function crearCotizacion(){
      $c= new conectar();
      $conexion=$c->conexion();

      date_default_timezone_set("America/Lima");
      $fecha = date("d-m-Y H:i:s");

      //$idventa = self::creaFolio();
      //$idclient= self::nombreCliente($idCliente);

      $datos=$_SESSION['tablaCotizacionTemp'] /*&& $_SESSION['tablaCotizacionCienteTemp']*/;
      //$datos2=$_SESSION['tablaCotizacionCienteTemp'];

      $idusuario=$_SESSION['iduser'];
      $id_cotizacion = "3";
      $r=0;

      /*for ($j=0; $j < count($datos2) ; $j++) {
         $e=explode("||", $datos2[$j]);*/

         for ($i=0; $i < count($datos) ; $i++) {
            $d=explode("||", $datos[$i]);
            
         /*$mysqli->query("INSERT INTO prints(
                              id_user,
                              dateOrder,
                              delivery_term,
                              delivery_method,
                              warehouse)
                           VALUES(
                              '$idusuario',
                              '$fecha',
                              '$e[5]',
                              '$e[6]',
                              '$e[7]')");

         $mysqli->query("INSERT INTO quotes(
                              id_clients,
                              id_print,
                              dateQuo,
                              way_to_pay,
                              comments,
                              type_of_currency
                           )VALUES(
                              '$e[8]',
                              '$mysqli->id_print',
                              '$e[1],
                              '$e[2]',
                              '$e[4]',
                              '$e[3]')");*/

         $sql->query("INSERT INTO detail_quo(
                              id_quotation,
                              description,
                              unit_of_measurement,
                              time_garanty,
                              quantity,
                              price_unit,
                              price_discount,
                              sub_total
                           )VALUES(
                              '$id_cotizacion',
                              '$d[0]',
                              '$d[1]',
                              '$d[2]',
                              '$d[3]',
                              '$d[4]',
                              '$d[5]',
                              '$d[6]')");
         /*$mysqli->query("INSERT INTO pay(
                              id_detail_quo,
                              quo_total,
                              igv,
                              total_igv,
                           )VALUES(
                              '$mysqli->id_detail_quo',
                              '$d[8]',
                              '$d[9]',
                              '$d[10]')");*/

            $r=$r + $result=mysqli_query($conexion,$sql)or die(mysqli_error($result));
         }   
      //}

      return $r;
      //self::descuentaCantidad($d[0], 1);
   }
#4
esta es mi función crearCotizacion, por ahora estoy intentando pasar los datos a una sola tabla, ya que actualmente no inserta a ninguna :'v
P. D. en mis tablas usuarios, clientes, almacén si inserta bien, y estoy utilizando lo mismo, solo que para este caso tengo que pasar los datos de dos formularios, pero por ahora estoy tratando de insertar los datos solo a  la tabla detail_quo
function crearCotizacion(){
      $.ajax({
         //type:"POST",
         //data:"idcotizacioncliente=" + $('#regClient').val(), /*pasar los datos de las dos tablas*/
             //"idcotizacion=" + $('#regCot').val(),
         url:"../processes/ventas/crearcotizacion.php",
         success:function(r){
            if(r > 0){
               $('#tablaCotizacionTemp').load("./cotizacion/tablaCotizacionTemp.php");
               $('#regCot')[0].reset();
               /*$('#tablaCotizacionCienteTemp').load("./cotizacion/tablaCotizacionTemp.php");
               $('#regClient')[0].reset();*/
               alertify.alert("Cotización creada con éxito. consulte la información de esta, en lista de cotizaciones.");
            }else if(r==0){
               alertify.alert("No hay lista de cotización");
            }else{
               alertify.error("No se pudo crear la cotización");
            }
         }
      });
   }
#5
este es el archivo agregaCotizacionTemp.php
<?php
   session_start();
   require_once "../../class/conexion.php";

   $c= new conectar();
   $conexion=$c->conexion();

   /*$total_producto=0;
   $calc_igv = "";
   $total_a_pagar= "";*/

   $descripcion=$_POST['descripcion'];
   $unidadMedida=$_POST['unidadMedida'];
   $tiemgaranty=$_POST['tiemgaranty'];

   $cantidadC=$_POST['cantidadC'];
   $priceunit=$_POST['priceunit'];
   $priceDes=$_POST['priceDes'];
   
   $subtotalRes=$_POST['subtotalRes'];

   /*$total_producto=$total_producto+$subtotalRes;   
   $i++;
   $calc_igv=$total_producto*0.18;
   $total_a_pagar = $calc_igv + $total_producto;*/

   $articulo =  $descripcion."||".
            $unidadMedida."||".
            $tiemgaranty."||".
            $cantidadC."||".
            $priceunit."||".
            $priceDes."||".
            $subtotalRes;
            /*$total_producto."||".
            $calc_igv."||".
            
            $total_a_pagar*/

   $_SESSION['tablaCotizacionTemp'][] = $articulo;

?>
#6
en la anterior respuesta me sale que no estoy pasando los datos, null
esta es mi función que está dentro del archivo en donde se encuentra el formulario
$('#btnAgregaCotizacion').click(function(){
         vacios=validarFormVacio('regCot');
         if(vacios > 0){
            alertify.alert("Debes llenar todos los campos");
            return false;
         }
         datos=$('#regCot').serialize();
         $.ajax({
            type:"POST",
            data:datos,
            url:"../processes/ventas/agregaCotizacionTemp.php",
            success:function(r){
               $('#tablaCotizacionTemp').load("./cotizacion/tablaCotizacionTemp.php");
            }
         });
      });
#7
este es el error que me da actualmente
Código: html5
<br />
<font size='1'><table class='xdebug-error xe-warning' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Warning: mysqli_fetch_row() expects parameter 1 to be mysqli_result, boolean given in C:\wamp64\www\1ejemplo\class\quotes.php on line <i>21</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0006</td><td bgcolor='#eeeeec' align='right'>242672</td><td bgcolor='#eeeeec'>{main}(  )</td><td title='C:\wamp64\www\1ejemplo\processes\ventas\llenarFormCotizacion.php' bgcolor='#eeeeec'>...\llenarFormCotizacion.php<b>:</b>0</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.0026</td><td bgcolor='#eeeeec' align='right'>284768</td><td bgcolor='#eeeeec'>cotizaciones->obtenDatosProducto(  )</td><td title='C:\wamp64\www\1ejemplo\processes\ventas\llenarFormCotizacion.php' bgcolor='#eeeeec'>...\llenarFormCotizacion.php<b>:</b>8</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0.0043</td><td bgcolor='#eeeeec' align='right'>294512</td><td bgcolor='#eeeeec'><a href='http://www.php.net/function.mysqli-fetch-row' target='_new'>mysqli_fetch_row</a>
(  )</td><td title='C:\wamp64\www\1ejemplo\class\quotes.php' bgcolor='#eeeeec'>...\quotes.php<b>:</b>21</td></tr>
</table></font>
{"description":null,"unit_of_measurement":null,"time_garanty":null,"quantity":null,"price_unit":null,"price_discount":null,"sub_total":null}
#8
Quisiera saber si el insert que estoy haciendo está bien


Código: php
public function crearCotizacion(){
$c= new conectar();
$conexion=$c->conexion();

date_default_timezone_set("America/Lima");
$fecha = date("d-m-Y H:i:s");

//$idventa = self::creaFolio();
//$idclient= self::nombreCliente($idCliente);

$datos=$_SESSION['tablaCotizacionTemp'] && $_SESSION['tablaCotizacionCienteTemp'];
//$datos2=$_SESSION['tablaCotizacionCienteTemp'];

$idusuario=$_SESSION['iduser'];
$id_cotizacion = "1";
$r=0;

for ($j=0; $j < count($datos2) ; $j++) {
$e=explode("||", $datos2[$j]);

for ($i=0; $i < count($datos) ; $i++) {
$d=explode("||", $datos[$i]);

$mysqli->query("INSERT INTO prints(
id_user,
dateOrder,
delivery_term,
delivery_method,
warehouse)
VALUES(
'$idusuario',
'$fecha',
'$e[5]',
'$e[6]',
'$e[7]')");

$mysqli->query("INSERT INTO quotes(
id_clients,
id_print,
dateQuo,
way_to_pay,
comments,
type_of_currency
)VALUES(
'$e[8]',
'$mysqli->id_print',
'$e[1],
'$e[2]',
'$e[4]',
'$e[3]')");

$mysqli->query("INSERT INTO detail_quo(
id_quotation,
description,
unit_of_measurement,
time_garanty,
quantity,
price_unit,
price_discount,
sub_total
)VALUES(
'id_cotizacion',
'$d[0]',
'$d[1]',
'$d[2]',
'$d[3]',
'$d[4]',
'$d[5]',
'$d[6]')");
$mysqli->query("INSERT INTO pay(
id_detail_quo,
quo_total,
igv,
total_igv,
)VALUES(
'$mysqli->id_detail_quo',
'$d[8]',
'$d[9]',
'$d[10]')");

$r=$r + $result=mysqli_query($conexion,$mysqli)or die(mysqli_error($db));
}
}

return $r;
//self::descuentaCantidad($d[0], 1);
}public function crearCotizacion(){
$c= new conectar();
$conexion=$c->conexion();

date_default_timezone_set("America/Lima");
$fecha = date("d-m-Y H:i:s");

//$idventa = self::creaFolio();
//$idclient= self::nombreCliente($idCliente);

$datos=$_SESSION['tablaCotizacionTemp'] && $_SESSION['tablaCotizacionCienteTemp'];
//$datos2=$_SESSION['tablaCotizacionCienteTemp'];

$idusuario=$_SESSION['iduser'];
$id_cotizacion = "1";
$r=0;

for ($j=0; $j < count($datos2) ; $j++) {
$e=explode("||", $datos2[$j]);

for ($i=0; $i < count($datos) ; $i++) {
$d=explode("||", $datos[$i]);

$mysqli->query("INSERT INTO prints(
id_user,
dateOrder,
delivery_term,
delivery_method,
warehouse)
VALUES(
'$idusuario',
'$fecha',
'$e[5]',
'$e[6]',
'$e[7]')");

$mysqli->query("INSERT INTO quotes(
id_clients,
id_print,
dateQuo,
way_to_pay,
comments,
type_of_currency
)VALUES(
'$e[8]',
'$mysqli->id_print',
'$e[1],
'$e[2]',
'$e[4]',
'$e[3]')");

$mysqli->query("INSERT INTO detail_quo(
id_quotation,
description,
unit_of_measurement,
time_garanty,
quantity,
price_unit,
price_discount,
sub_total
)VALUES(
'id_cotizacion',
'$d[0]',
'$d[1]',
'$d[2]',
'$d[3]',
'$d[4]',
'$d[5]',
'$d[6]')");
$mysqli->query("INSERT INTO pay(
id_detail_quo,
quo_total,
igv,
total_igv,
)VALUES(
'$mysqli->id_detail_quo',
'$d[8]',
'$d[9]',
'$d[10]')");

$r=$r + $result=mysqli_query($conexion,$mysqli)or die(mysqli_error($db));
}
}

return $r;
//self::descuentaCantidad($d[0], 1);
}
#9
descuenta cantidad llama a otra función

Código: php
			$mysqli->query("INSERT INTO detail_quo(
id_quotation,
description,
unit_of_measurement,
time_garanty,
quantity,
price_unit,
price_discount,
sub_total
)VALUES(
'$mysqli->id_quotation',
'$d[0]',
'$d[1]',
'$d[2]',
'$d[3]',
'$d[4]',
'$d[5]',
'$d[6]')");
$mysqli->query("INSERT INTO pay(
id_detail_quo,
quo_total,
igv,
total_igv,
)VALUES(
'$mysqli->id_detail_quo',
'$d[8]',
'$d[9]',
'$d[10]')");

$r=$r + $result=mysqli_query($conexion,$sql)or die(mysqli_error($db));
}
}

return $r;
self::descuentaCantidad($d[0], 1);
}
/*
$sql="INSERT into ventas (id_venta,
id_cliente,
id_producto,
id_usuario,
precio,
fechaCompra)
values ('$idventa',
'$d[5]',
'$d[0]',
'$idusuario',
'$d[3]',
'$fecha')";
*/
public function descuentaCantidad($idproducto, $cantidad)
{
$c = new conectar();

$conexion = $c -> conexion();

$sql = "SELECT cantidad
from articulos
where id_producto = '$idproducto'";

$result = mysql_query($conexion, $sql);

$cantidad = mysql_fetch_row($result)[0];

$cantidadNueva = abs($cantidad - $cantidad1);

$sql = "UPDATE articulos set cantidad = '$cantidadNueva'
where id_producto = '$id_producto'";
mysql_query($conexion, $sql);
}

public function creaFolio()
{
$c= new conectar();
$conexion=$c->conexion();

$sql="SELECT id_print from prints group by id_print desc";

$resul=mysqli_query($conexion,$sql);
$id=mysqli_fetch_row($resul)[0];

if($id=="" or $id==null or $id==0){
return 1;
}else{
return $id + 1;
}
}
#10
Hola, buenas noches. Estoy haciendo un sistema en php. Paso los datos del formulario a otro archivo con el método Post y luego a mi archivo en donde están mis funciones para actualizar, eliminar e insertar, el problema es que no inserta los datos. Este es el código que estoy usando:
Código: php
	public function crearCotizacion(){
$c= new conectar();
$conexion=$c->conexion();

date_default_timezone_set("America/Lima");
$fecha = date("d-m-Y H:i:s");

$idventa = self::creaFolio();
$idclient= self::nombreCliente($idCliente);

$datos=$_SESSION['tablaCotizacionTemp'];
$datos2=$_SESSION['tablaCotizacionCienteTemp'];

$idusuario=$_SESSION['iduser'];
$id_cotizacion = "4";
$r=0;

for ($i=0; $i < count($datos) ; $i++) {
$d=explode("||", $datos[$i]);

for ($j=0; $j < count($datos2) ; $j++) {
$e=explode("||", $datos2[$j]);

$mysqli->query("INSERT INTO prints(
id_user,
dateOrder,
delivery_term,
delivery_method,
warehouse)
VALUES(
'$idusuario',
'$fecha',
'$e[5]',
'$e[6]',
'$e[7]')");

$mysqli->query("INSERT INTO quotes(
id_clients,
id_print,
dateQuo,
way_to_pay,
comments,
type_of_currency
)VALUES(
'$e[8]',
'$mysqli->id_print',
'$e[1],
'$e[2]',
'$e[4]',
'$e[3]')");

$mysqli->query("INSERT INTO detail_quo(
id_quotation,
description,
unit_of_measurement,
time_garanty,
quantity,
price_unit,
price_discount,
sub_total
)VALUES(
'$mysqli->id_quotation',
'$d[0]',
'$d[1]',
'$d[2]',
'$d[3]',
'$d[4]',
'$d[5]',
'$d[6]')");
$mysqli->query("INSERT INTO pay(
id_detail_quo,
quo_total,
igv,
total_igv,
)VALUES(
'$mysqli->id_detail_quo',
'$d[8]',
'$d[9]',
'$d[10]')");

$r=$r + $result=mysqli_query($conexion,$sql);
}
}

return $r;
self::descuentaCantidad($d[0], 1);
}