private void btgenerar_Click(object sender, EventArgs e)
        {
            string   CodigoDelVendorMasLaFecha = "R";
            DateTime FECHAACTUAL = DateTime.Now;

            if (Convert.ToDateTime(dtmpickerHasta.Text).Subtract(Convert.ToDateTime(dtmpickerDesde.Text)).TotalDays >= 0)
            {
                if (Microsoft.VisualBasic.CompilerServices.Operators.ConditionalCompareObjectNotEqual(this.cbvendedor.SelectedValue, (object)"-1", false))
                {
                    if (!(cbpalm.SelectedValue == null))
                    {
                        if (cbvendedor.SelectedValue.ToString() != "0" && cbpalm.SelectedValue.ToString() != "0")
                        {
                            vendor.FechaDesde = Convert.ToDateTime(dtmpickerDesde.Text);
                            vendor.FechaHasta = Convert.ToDateTime(dtmpickerHasta.Text);
                            vendor.PalmID     = Convert.ToString(cbpalm.Text.Trim());


                            if (palmresponse.CountDocumentList(vendor) > 0)
                            {
                                DateTime fechah = Convert.ToDateTime(dtmpickerHasta.Text);
                                //CAMBIAR ESTE CODIGO POR EL VERDADERO
                                CodigoDelVendorMasLaFecha =
                                    Conversions.ToString(Microsoft.VisualBasic.CompilerServices.Operators.ConcatenateObject
                                                             (Microsoft.VisualBasic.CompilerServices.Operators.ConcatenateObject(this.cbvendedor.SelectedValue,
                                                                                                                                 (object)"-"), fechah.ToString("yyyyMMdd")));



                                ViewModelCagraIntegracionTransacionVenta      transactventa = new ViewModelCagraIntegracionTransacionVenta();
                                ViewModelCagraIntegracionTransacionVenta_Item itemsdeventa  = new ViewModelCagraIntegracionTransacionVenta_Item();
                                ControllerCuadredeCaja    gpdb           = new ControllerCuadredeCaja();
                                ControlerPalm             PALMDB         = new ControlerPalm();
                                ViewModelCargaIntegration VALORESDECARGA = new ViewModelCargaIntegration();
                                ControllerSitIntegration  SITINTEGRATION = new ControllerSitIntegration();

                                VALORESDECARGA.IDCarga     = 0;
                                VALORESDECARGA.Descripcion = CodigoDelVendorMasLaFecha;
                                VALORESDECARGA.Estado      = "S";
                                //REVIZAR IDCARGA
                                int IDcargas = SITINTEGRATION.InsertCargaGP(VALORESDECARGA);

                                foreach (var result in palmresponse.GetDocumenList(vendor))
                                {
                                    string tipos  = "";
                                    int    IDTIPO = 0;


                                    switch (result.Tipo)
                                    {
                                    case "FACTURA":
                                        tipos  = "PALMFACTURA";
                                        IDTIPO = 3;

                                        break;

                                    case "CONDUCE":
                                        tipos  = "PALMCONDUCE";
                                        IDTIPO = 2;
                                        break;

                                    case "PEDIDOS":
                                        tipos  = "PALMPEDIDOS";
                                        IDTIPO = 2;
                                        break;

                                    default:
                                        tipos  = "PALMSINTIPO";
                                        IDTIPO = 0;
                                        break;
                                    }

                                    //Bien
                                    transactventa.IDCarga = IDcargas;
                                    //REVIZAR QUE HACER CUANDO HAY VALORES REPETIDOS
                                    transactventa.IDVenta = 0;
                                    //Bien
                                    transactventa.IDTipo = tipos;
                                    //Bien
                                    transactventa.Tipo = IDTIPO;
                                    //Bien
                                    transactventa.NoDocumento = result.DocumentNumber.Trim();
                                    //BIen
                                    transactventa.Fecha = result.Date ?? FECHAACTUAL;
                                    //bien
                                    transactventa.AlmacenDefault = dynamicsconfig.GetuserLocation("sa");
                                    //bien
                                    transactventa.IDLote = CodigoDelVendorMasLaFecha;
                                    //bien
                                    transactventa.IDCliente = result.CodigodeCliente.Trim();
                                    //bien
                                    transactventa.NombreCliente = "";
                                    //bien
                                    transactventa.NoOrden = "";
                                    //bien
                                    transactventa.IDMoneda = "DOP";
                                    //BIEN
                                    transactventa.DescuentoComercial = result.Descuento ?? 0;
                                    //BIEN
                                    transactventa.DescuentoRetornado = 0;
                                    //BIEN
                                    transactventa.Flete = 0;
                                    //BIEN
                                    transactventa.Miscelaneo = 0;
                                    //BIEN
                                    transactventa.MontoRecibido = result.MontoPago;

                                    transactventa.Impuestos = result.Impuesto ?? 0;
                                    //BIEN
                                    transactventa.Status = "N";
                                    //BIEN
                                    transactventa.IDVendedor = cbvendedor.SelectedValue.ToString().Trim();
                                    //BIEN
                                    transactventa.IDAyudante = cbayudante.SelectedValue.ToString().Trim() == "BLANK" ? "" : cbayudante.SelectedValue.ToString().Trim();
                                    //BIEN
                                    transactventa.IDayudante2 = cbayudante2.SelectedValue.ToString().Trim() == "BLANK" ? "" : cbayudante2.SelectedValue.ToString().Trim();
                                    //BIEN
                                    transactventa.NCF = result.NCF;
                                    //BIEN
                                    transactventa.MontoEfectivo = result.MontoeEfectivo ?? 0;
                                    //BIEN
                                    transactventa.MontoCheque = result.MontoCheque ?? 0;
                                    //BIEN
                                    transactventa.NumeroCheque = result.NumeroDeChecke;
                                    //BIEN
                                    SITINTEGRATION.insertarventaconsqlconexion(transactventa);

                                    foreach (var resultitem in palmresponse.GetDocumentDetail(vendor.PalmID, transactventa.Fecha, transactventa.NoDocumento))
                                    {
                                        //REVIZAR QUE HACER CUANDO HAY VALORES REPETIDOS
                                        itemsdeventa.IDventa = IDcargas;
                                        //BIEN
                                        itemsdeventa.NoProducto = resultitem.CodigoProducto;
                                        //BIEN
                                        itemsdeventa.UnidadDeMedida = gpdb.GetUnitmeasurementItem(resultitem.CodigoProducto);
                                        //BIEN
                                        itemsdeventa.Cantidad = Convert.ToDouble(resultitem.Cantidad);
                                        //BIEN
                                        itemsdeventa.PrecioUnitario = resultitem.Precio;
                                        //BIEN
                                        itemsdeventa.Cantidad = Convert.ToDouble(resultitem.Cantidad);
                                        //BIEN DE MOMENTO
                                        itemsdeventa.DescripcionDeProducto = "N";

                                        //BIEN
                                        itemsdeventa.PrecioExtendido = Convert.ToDecimal(resultitem.Cantidad * resultitem.Precio);
                                        //BIEN
                                        itemsdeventa.CantidadFacturada = IDTIPO == 2 ? 0 : Convert.ToDouble(resultitem.Cantidad ?? 0);
                                        //BIEN
                                        itemsdeventa.CantidadCompletada = IDTIPO == 2 ? 0 : Convert.ToDouble(resultitem.Cantidad ?? 0);


                                        //BIEN
                                        itemsdeventa.CantidadBO = 0;
                                        //BIEN
                                        itemsdeventa.CantidadOrdenada = 0;
                                        //BIEN
                                        itemsdeventa.CantidadCancelada = 0;
                                        //BIEN
                                        itemsdeventa.CostoUnitario = 0;
                                        //BIEN
                                        itemsdeventa.EntregaDirecta = false;
                                        //BIEN
                                        itemsdeventa.ListaPrecio = gpdb.GetPriceLevel(resultitem.CodigoProducto);
                                        //BIEN
                                        itemsdeventa.Almacen = cbpalm.Text;


                                        //REVIZAR
                                        SITINTEGRATION.InsertarTransacsion_Venta_Itemsqlconexion(itemsdeventa);

                                        //TOMAR ENCUENTA


                                        /* PALMDB.DeleteDocumentDetail(transactventa.NoDocumento, cbpalm.Text, tipos);
                                         * PALMDB.DeleteDocumntHeader(transactventa.NoDocumento, cbpalm.Text, tipos);*/
                                        IntregrationGP gpintegration = new IntregrationGP();


                                        ControllerSitIntegration sitint = new ControllerSitIntegration();
                                        sitint.UpdateIdCarga(IDcargas);

                                        this.ExportToGP(gpintegration, Conversions.ToInteger(SITINTEGRATION.GETCOMPANYID("GPHN")), IDcargas, GetRMDefaultCheckBookID());
                                    }
                                }
                            }
                            else
                            {
                                MessageBox.Show("La palm no tiene documentos  para ingresar en el sistema", "Microsoft Dynamics GP",
                                                MessageBoxButtons.OK,
                                                MessageBoxIcon.Exclamation);
                            }
                        }
                        else
                        {
                            MessageBox.Show("Debe seleccionar un vendedor que tenga una palm asignada", "Microsoft Dynamics GP",
                                            MessageBoxButtons.OK,
                                            MessageBoxIcon.Exclamation);
                        }
                    }
                    else
                    {
                        MessageBox.Show("Debe seleccionar un vendedor que tenga una palm asignada", "Microsoft Dynamics GP",
                                        MessageBoxButtons.OK,
                                        MessageBoxIcon.Exclamation);
                    }
                }
                else
                {
                    MessageBox.Show("El vendedor tiene que tener una palm asignada", "Microsoft Dynamics GP",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Information);
                }
            }
            else
            {
                MessageBox.Show("La fecha de inicio no puede sobrepasar a la fecha final", "Microsoft Dynamics GP",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Exclamation);
            }
        }