示例#1
0
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                #region Transferencias de stock
                SDKDatos.SDK_DI di = new SDKDatos.SDK_DI(4);//conectar

                foreach (DataRow item in (dgvDatos.DataSource as DataTable).Rows)
                {//Recorrer todos los elementos marcados del grid
                    if (item.Field <bool>("Crear"))
                    {
                        SDKDatos.SDK_OWTR document = new SDKDatos.SDK_OWTR();
                        document         = document.Fill_Previo(Convert.ToDecimal(item[0]), false);
                        document.DocDate = DateTime.Now;
                        //identificar el numero de traspasos que se generarán
                        var qry = (from warehouse in document.Lines.AsEnumerable()
                                   where warehouse.LineStatus == "A"
                                   select new
                        {
                            Destino = warehouse.WhsCode,
                            Origen = warehouse.FromWhsCode
                        }).Distinct();

                        //para cada transferencia detectada
                        //gerar documento de traspaso
                        foreach (var tranferencias in qry)
                        {
                            SDKDatos.SDK_OWTR documentHijo = new SDKDatos.SDK_OWTR();

                            documentHijo.DocNum    = document.DocNum;
                            documentHijo.DocDate   = document.DocDate;
                            documentHijo.Filler    = tranferencias.Origen;
                            documentHijo.ToWhsCode = tranferencias.Destino;

                            ////recorrer todas las filas del documento previo para
                            ////extraer solo las correspondientes a este traspaso
                            foreach (SDKDatos.SDK_WTR1 linePreeliminar in document.Lines)
                            {
                                if (linePreeliminar.WhsCode == tranferencias.Destino &&
                                    linePreeliminar.FromWhsCode == tranferencias.Origen)
                                {
                                    documentHijo.Lines.Add(linePreeliminar);
                                }
                            }

                            decimal folio = di.CrearSolicitudTraslado(documentHijo);
                            if (folio > 0)
                            {
                                document.CambiarLineStatus(document, "G", tranferencias.Origen, tranferencias.Destino);
                            }
                        }
                    }
                }
                #endregion
            }
            catch (Exception ex)
            {
                this.SetMensaje(ex.Message, 5000, Color.Red, Color.White);
            }
        }
示例#2
0
        //pendiente
        private void cerrarLíneaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                if (DocumentMode.Equals("Nuevo"))
                {
                    return;
                }

                if (dgvDatos.ActiveRow != null && !dgvDatos.ActiveRow.IsAddRow)
                {
                    int _lineNum = -1;
                    if (dgvDatos.ActiveRow.Cells["LineNum"].Value != DBNull.Value)
                    {
                        _lineNum = Convert.ToInt32(dgvDatos.ActiveRow.Cells["LineNum"].Value);
                    }
                    else
                    {
                        this.SetMensaje("Seleccione una línea [LineNum = -1]", 5000, Color.Green, Color.Black);
                    }

                    if (_lineNum != -1)
                    {
                        SDK.SDKDatos.SDK_DI sdk = new SDKDatos.SDK_DI(1);//--Orden de compra
                        //--sdk.CerrarLineaOrdenCompra(this, Document, _lineNum);
                        this.SetMensaje("Listo", 5000, Color.Green, Color.Black);
                    }
                }
            }
            catch (Exception)
            {
            }
        }
示例#3
0
        private void toolStripEliminar_Click(object sender, EventArgs e)
        {
            deleteRow = true;

            if (dgvDatos.ActiveRow != null && !dgvDatos.ActiveRow.IsAddRow)
            {
                int    _lineNum = Convert.ToInt32(dgvDatos.ActiveRow.Cells["LineNum"].Value == DBNull.Value ? -1 : dgvDatos.ActiveRow.Cells["LineNum"].Value);
                string _status  = Convert.ToString(dgvDatos.ActiveRow.Cells["LineStatus"].Value);

                if (Convert.ToInt32(dgvDatos.ActiveRow.Cells["LineNum"].Value == DBNull.Value ? -1 : dgvDatos.ActiveRow.Cells["LineNum"].Value) < 0)
                {
                    this.dgvDatos.ActiveRow.Delete();
                }

                //else
                //    this.SetMensaje("Seleccione una línea [LineNum = -1]", 5000, Color.Green, Color.Black);
                if (_lineNum > -1 && _status.Equals("O"))
                {
                    if (this.dgvDatos.ActiveRow.Delete())
                    {
                        SDK.SDKDatos.SDK_DI sdk = new SDKDatos.SDK_DI(1);//--Orden de compra

                        sdk.EliminarLineaOrdenCompra(this, DocumentSAP, _lineNum);

                        this.SetMensaje("Listo", 5000, Color.Green, Color.Black);
                    }
                }
            }
        }
示例#4
0
 private void btnCerrar_Click(object sender, EventArgs e)
 {
     if (MessageBox.Show("¿Desea Cerrar esta orden de compra ?\r\n Numero de documento" + txtFolio.Text, "HalcoNET", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
         == System.Windows.Forms.DialogResult.Yes)
     {
         SDK.SDKDatos.SDK_DI sdk = new SDKDatos.SDK_DI(1);//--Orden de compra
         sdk.CerrarOrdenCompra(this, DocumentSAP);
         this.SetMensaje("Listo", 5000, Color.Green, Color.Black);
     }
 }
示例#5
0
        private void btnCrear_Click(object sender, EventArgs e)
        {
            if (btnCrear.Text == "Crear")
            {
                #region Orden de compra

                if (string.IsNullOrEmpty(txtMoneda.Text))
                {
                    this.SetMensaje("Campo MONEDA obligatorio", 5000, Color.Red, Color.White);
                    return;
                }

                #region Crear
                try
                {
                    #region Encabezado
                    DocumentSAP          = new SDK_SAP.Clases.Document();
                    Cursor.Current       = Cursors.WaitCursor;
                    DocumentSAP.CardCode = txtCardCode.Text;
                    DocumentSAP.Series   = 15;
                    if (!String.IsNullOrWhiteSpace(txtFolio.Text))
                    {
                        DocumentSAP.DocNum = Convert.ToInt32(txtFolio.Text);
                    }
                    else
                    {
                        DocumentSAP.DocNum = 0;
                    }
                    DocumentSAP.DocRate     = (double)Rate;
                    DocumentSAP.DocDate     = dtpDocDate.Value;
                    DocumentSAP.DocDueDate  = dtpDocDueDate.Value;
                    DocumentSAP.DocType     = "dDocument_Items";
                    DocumentSAP.DocCurrency = txtMoneda.Text;

                    if (!string.IsNullOrEmpty(txtNumAtCard.Text))
                    {
                        DocumentSAP.NumAtCard = txtNumAtCard.Text;
                    }
                    if (!string.IsNullOrEmpty(txtComments.Text))
                    {
                        DocumentSAP.Comments = txtComments.Text;
                    }

                    DocumentSAP.DocTotal = Convert.ToDouble(txtTotal.Text);
                    DocumentSAP.VatSum   = Convert.ToDouble(txtIVA.Text);

                    #endregion
                    foreach (var item in dgvDatos.Rows)
                    {
                        #region Detalles
                        SDK_SAP.Clases.DocumentLines line = new SDK_SAP.Clases.DocumentLines();

                        line.ItemCode        = Convert.ToString(item.Cells["ItemCode"].Value);
                        line.ItemDescription = Convert.ToString(item.Cells["ItemName"].Value);
                        line.Quantity        = Convert.ToDouble(item.Cells["Quantity"].Value);
                        line.Currency        = Convert.ToString(item.Cells["Currency"].Value);
                        line.WarehouseCode   = Convert.ToString(item.Cells["WhsCode"].Value);

                        if (item.Cells["ShipDate"].Value != DBNull.Value)
                        {
                            line.ShipDate = Convert.ToDateTime(item.Cells["ShipDate"].Value);
                        }

                        line.U_Comentario = Convert.ToString(item.Cells["U_Comentario"].Value);
                        line.U_Vendedor   = Convert.ToString(item.Cells["U_Vendedor"].Value);

                        line.Price     = Convert.ToDouble(item.Cells["Price"].Value);
                        line.Rate      = Convert.ToDouble(item.Cells["Rate"].Value);
                        line.LineTotal = Convert.ToDouble(item.Cells["LineTotal"].Value);

                        if (item.Cells["OnHand"].Value != DBNull.Value)
                        {
                            line.OnHand = Convert.ToDouble(item.Cells["OnHand"].Value);
                        }
                        if (item.Cells["Ideal"].Value != DBNull.Value)
                        {
                            line.Ideal = Convert.ToDouble(item.Cells["Ideal"].Value);
                        }
                        if (item.Cells["VI"].Value != DBNull.Value)
                        {
                            line.VI = Convert.ToDouble(item.Cells["VI"].Value);
                        }
                        if (item.Cells["ABC"].Value != DBNull.Value)
                        {
                            line.ABC = Convert.ToString(item.Cells["ABC"].Value);
                        }

                        DocumentSAP.Lines.Add(line);
                        #endregion
                    }

                    if (!txtStatus.Text.Equals("Autorizado"))
                    {
                        #region Borrador
                        DocumentSAP.DocType = ObjType.ToString();
                        txtFolio.Text       = DocumentSAP.SaveDraft(DocumentSAP).ToString();

                        DocumentSAP   = DocumentSAP.Fill_OPOR(DocumentSAP.DocNum, ObjType, "Borrador");
                        txtFolio.Text = DocumentSAP.DocNum.ToString();

                        if (DocumentSAP.DocStatus.Equals("P"))
                        {
                            txtStatus.Text = "Pendiente";
                        }
                        else if (DocumentSAP.DocStatus.Equals("R"))
                        {
                            txtStatus.Text = "Rechazado";
                        }
                        else if (DocumentSAP.DocStatus.Equals("A"))
                        {
                            txtStatus.Text = "Autorizado";
                        }

                        typeDocument = "Borrador";

                        var kea = new KeyPressEventArgs(Convert.ToChar(13));
                        this.txtFolio_KeyPress(sender, kea);

                        this.SetMensaje("Listo", 5000, Color.Green, Color.Black);

                        #endregion
                    }

                    if (txtStatus.Text.Equals("Autorizado"))
                    {
                        SDK.SDKDatos.SDK_DI sdk = new SDKDatos.SDK_DI(1);//--Orden de compra  1
                        sdk.CrearOrdenCompra(this).ToString();
                        this.SetMensaje("Listo", 5000, Color.Green, Color.Black);

                        Object[]         valuesOut  = new Object[] { };
                        Datos.Connection connection = new Datos.Connection();

                        connection.Ejecutar("LOG",
                                            "sp_SDKDocumentosPrevios_test",
                                            new string[] { },
                                            new string[] { "@TipoConsulta", "@ObjType", "@DocNum", "@DocNumSAP" },
                                            ref valuesOut, 17, ObjType, DocumentSAP.DocNum, txtFolio.Text);

                        /*
                         #region SAP
                         * SDK_SAP.DI.Connection.InitializeConnection(9);
                         * SDK_SAP.DI.Connection.StartConnection();
                         * SDK_SAP.DI.Documents doc = new SDK_SAP.DI.Documents(9);
                         *
                         * txtFolio.Text = doc.AddDocument("ORDN", Document).ToString();
                         *
                         * var kea = new KeyPressEventArgs(Convert.ToChar(13));
                         * this.txtFolio_KeyPress(sender, kea);
                         *
                         * SDK_SAP.DI.Connection.CloseConnection();
                         * this.SetMensaje("Listo", 5000, Color.Green, Color.Black);
                         * DocumentMode = "Creado";
                         *
                         * Object[] valuesOut = new Object[] { };
                         * Datos.Connection connection = new Datos.Connection();
                         *
                         * connection.Ejecutar("LOG",
                         *                          "sp_SDKDocumentosPrevios",
                         *                          new string[] { },
                         *                          new string[] { "@TipoConsulta", "@ObjType", "@DocNum", "@DocNumSAP" },
                         *                          ref valuesOut, 17, ObjType, Document.DocNum, txtFolio.Text);
                         #endregion
                         */
                    }
                }
                catch (Exception ex)
                {
                    this.SetMensaje(ex.Message, 5000, Color.Red, Color.White);
                }
                finally
                {
                    Cursor.Current = Cursors.Arrow;
                }

                #endregion
                #endregion
            }
            if (btnCrear.Text == "Actualizar")
            {
                #region Modificar
                try
                {
                    Cursor.Current = Cursors.WaitCursor;

                    if (IdDocument == (int)SDK.Configuracion.SDK_Configuracion_Document.DocumentType.OrdenCompra)
                    {
                        SDK.SDKDatos.SDK_DI sdk = new SDKDatos.SDK_DI(1);//Orden de compra

                        sdk.ActualizarDocumento(this, DocumentSAP).ToString();
                        this.SetMensaje("OC Actualizada correctamente", 5000, Color.Green, Color.Black);
                    }
                }
                catch (Exception ex)
                {
                    this.SetMensaje(ex.Message, 5000, Color.Red, Color.White);
                }
                finally
                {
                    Cursor.Current = Cursors.Arrow;
                }
                #endregion
            }

            if (btnCrear.Text == "Autorizar")
            {
                #region Autorizar
                using (SqlConnection connection1 = new SqlConnection(Datos.Clases.Constantes.conectionLog))
                {
                    connection1.Open();
                    SqlCommand command = new SqlCommand();

                    command.CommandText = "sp_SDKDocumentosPrevios";
                    command.Connection  = connection1;
                    command.CommandType = CommandType.StoredProcedure;
                    command.Parameters.AddWithValue("@TipoConsulta", 16);
                    command.Parameters.AddWithValue("@DocNum", DocKey);
                    command.Parameters.AddWithValue("@Comments", txtComments.Text);
                    command.Parameters.AddWithValue("@WddCode", WddCode);
                    command.Parameters.AddWithValue("@userID", ClasesSGUV.Login.Id_Usuario);
                    try
                    {
                        command.ExecuteNonQuery();
                        connection1.Close();
                        MessageBox.Show("Listo", "HalcoNET", MessageBoxButtons.OK, MessageBoxIcon.Information);

                        this.SetMensaje("Listo", 5000, Color.Green, Color.Black);

                        DocumentSAP   = DocumentSAP.Fill_OPOR(Convert.ToDecimal(txtFolio.Text), 22, "Borrador");
                        txtFolio.Text = DocumentSAP.DocNum.ToString();

                        if (DocumentSAP.DocStatus.Equals("P"))
                        {
                            txtStatus.Text = "Pendiente";
                        }
                        else if (DocumentSAP.DocStatus.Equals("R"))
                        {
                            txtStatus.Text = "Rechazado";
                        }
                        else if (DocumentSAP.DocStatus.Equals("A"))
                        {
                            txtStatus.Text = "Autorizado";
                        }

                        this.SetMensaje("Listo", 5000, Color.Green, Color.Black);

                        btnCrear.Enabled = false;
                    }
                    catch (Exception ex)
                    {
                        this.SetMensaje(ex.Message, 5000, Color.Red, Color.White);
                    }
                }
                #endregion
            }
        }