diff --git a/Inventarios/RecepcionEntrega.aspx.vb b/Inventarios/RecepcionEntrega.aspx.vb index e6ea3b001..f291d9842 100644 --- a/Inventarios/RecepcionEntrega.aspx.vb +++ b/Inventarios/RecepcionEntrega.aspx.vb @@ -1628,7 +1628,7 @@ Partial Class Inventarios_RecepcionEntrega 'Exit Sub Dim TieneErrorExistencia = False - If ObjInventario.GetExistenciasPSXML(StrXML.ToString(), DdlAlmacen.SelectedValue.ToEntero, TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), CveSubProyecto, CveVendedor, If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then + If ObjInventario.GetExistenciasPSXML(StrXML.ToString(), DdlAlmacen.SelectedValue.ToEntero, TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), CveSubProyecto, CveVendedor, If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), If(TipoEntrega = 2, 1, -1), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then If ObjInventario.DtResultados.Rows.Count > 0 Then TieneErrorExistencia = True For Each Dr As DataRow In ObjInventario.DtResultados.Rows @@ -2520,7 +2520,7 @@ Partial Class Inventarios_RecepcionEntrega StrXML.Append("") Dim TieneErrorExistencia = False - If ObjInventario.GetExistenciasPSXML(StrXML.ToString(), DdlAlmacen.SelectedValue.ToEntero, TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), CveSubProyecto, CveVendedor, If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), 1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then + If ObjInventario.GetExistenciasPSXML(StrXML.ToString(), DdlAlmacen.SelectedValue.ToEntero, TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), CveSubProyecto, CveVendedor, If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), If(TipoEntrega = 2, 1, -1), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then If ObjInventario.DtResultados.Rows.Count > 0 Then TieneErrorExistencia = True For Each Dr As DataRow In ObjInventario.DtResultados.Rows diff --git a/LogMail.txt b/LogMail.txt index 3a04a50e8..532645b71 100644 --- a/LogMail.txt +++ b/LogMail.txt @@ -4,4 +4,4 @@ en ClsSisMail.FinalSend(Mail ObjMail) en C:\inetpub\WWWSIGIT\App_Code\ClsSisMail.vb:línea 129 05/09/2019:12:31 p. m. From:'signotificaciones@adssistemas.mx' - Para:';' - Asunto:'Envío de complemento de pago' - CCP: '' - Adjuntos: 2 - Ocurrió un error al mandar correo.System.InvalidOperationException: Se debe especificar un destinatario. en System.Net.Mail.SmtpClient.Send(MailMessage message) - en ClsSisMail.FinalSend(Mail ObjMail) en C:\inetpub\WWWSIGIT\App_Code\ClsSisMail.vb:línea 129 10/09/2019:12:16 p. m. From:'signotificaciones@adssistemas.mx' - Para:'DSDDS@hotmail.com' - Asunto:'SIG - La Orden Compra #26598 cambió de estatus.' - CCP: '' - Adjuntos: 0 10/09/2019:02:58 p. m. No se especifico a remitente - SIG - La Orden Compra #28107 cambió de estatus. 11/09/2019:11:56 a. m. From:'signotificaciones@adssistemas.mx' - Para:'antonio.gonzalez@adssistemas.mx' - Asunto:'Solicitud Vacaciones ' - CCP: '' - Adjuntos: 0 11/09/2019:12:35 p. m. From:'signotificaciones@adssistemas.mx' - Para:'antonio.gonzalez@adssistemas.mx' - Asunto:'(Vacaciones:Permisos) Asistencia Técnica AD Sistemas' - CCP: '' - Adjuntos: 0 11/09/2019:01:02 p. m. From:'signotificaciones@adssistemas.mx' - Para:'antonio.gonzalez@adssistemas.mx' - Asunto:'Permiso para Asistencia Técnica AD Sistemas' - CCP: '' - Adjuntos: 0 11/09/2019:01:03 p. m. From:'signotificaciones@adssistemas.mx' - Para:'antonio.gonzalez@adssistemas.mx' - Asunto:'Vacaciones Asistencia Técnica AD Sistemas' - CCP: '' - Adjuntos: 0 11/09/2019:01:10 p. m. From:'signotificaciones@adssistemas.mx' - Para:'antonio.gonzalez@adssistemas.mx' - Asunto:'Vacaciones Asistencia Técnica AD Sistemas' - CCP: '' - Adjuntos: 0 20/09/2019:05:15 p. m. From:'ENVIOFACTURADIGITAL@COMPUPROVEEDORES.COM' - Para:'japmx95@gmail.com' - Asunto:'Entrega de Factura HMO - 29109' - CCP: '' - Adjuntos: 1 20/09/2019:05:36 p. m. No se especifico a remitente - Entrega de Factura HMO - 29110 20/09/2019:05:45 p. m. From:'ENVIOFACTURADIGITAL@COMPUPROVEEDORES.COM' - Para:'japmx95@gmail.com' - Asunto:'Entrega de Factura HMO - 29111' - CCP: '' - Adjuntos: 1 20/09/2019:05:47 p. m. From:'ENVIOFACTURADIGITAL@COMPUPROVEEDORES.COM' - Para:'japmx95@gmail.com' - Asunto:'Entrega de Factura HMO - 29112' - CCP: '' - Adjuntos: 1 23/09/2019:10:55 a. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com' - Asunto:'Solicitud de anticipo de Orden de Compra' - CCP: '' - Adjuntos: 0 23/09/2019:11:05 a. m. No se especifico a remitente - Solicitud de anticipo de Orden de Compra 23/09/2019:11:34 a. m. No se especifico a remitente - Solicitud de anticipo de Orden de Compra 25/09/2019:05:06 p. m. No se especifico a remitente - SIG - La Orden Compra #4860 cambió de estatus. 04/10/2019:12:09 p. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 83 17/10/2019:12:10 p. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com' - Asunto:'SIG - La Orden Compra #1488 cambió de estatus.' - CCP: '' - Adjuntos: 0 17/10/2019:12:10 p. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com' - Asunto:'SIG - La Orden Compra #1488 cambió de estatus.' - CCP: 'japmx95@gmail.com;;' - Adjuntos: 0 17/10/2019:12:10 p. m. No se especifico a remitente - SIG - Se Genero una Orden de Compra 17/10/2019:12:39 p. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com;' - Asunto:'Vinculación de factura de OC ' - CCP: '' - Adjuntos: 0 17/10/2019:07:07 p. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com' - Asunto:'SIG - La Orden Compra #1489 cambió de estatus.' - CCP: '' - Adjuntos: 0 17/10/2019:07:07 p. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com' - Asunto:'SIG - La Orden Compra #1489 cambió de estatus.' - CCP: 'japmx95@gmail.com;;' - Adjuntos: 0 17/10/2019:07:07 p. m. No se especifico a remitente - SIG - Se Genero una Orden de Compra 17/10/2019:07:11 p. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com;' - Asunto:'Vinculación de factura de OC ' - CCP: '' - Adjuntos: 0 17/10/2019:07:14 p. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com;' - Asunto:'Recepción de Material de OC ' - CCP: '' - Adjuntos: 0 21/10/2019:10:50 a. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 90 21/10/2019:10:53 a. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 91 21/10/2019:10:53 a. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 92 21/10/2019:10:59 a. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 93 21/10/2019:11:03 a. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 94 21/10/2019:07:01 p. m. No se especifico a remitente - SIG. Requisición #30796 Bitacora 21/10/2019:07:02 p. m. No se especifico a remitente - SIG. Requisición #30796 Bitacora 21/10/2019:07:18 p. m. No se especifico a remitente - SIG. Requisición #31573 Bitacora 21/10/2019:07:35 p. m. No se especifico a remitente - SIG - La Requisicion #31706 cambió de estatus. 21/10/2019:07:35 p. m. No se especifico a remitente - SIG - La Requisicion #31706 cambió de estatus. 21/10/2019:07:36 p. m. No se especifico a remitente - SIG - La Requisición #31706 cambió de estatus. 21/10/2019:07:36 p. m. No se especifico a remitente - SIG. Requisición #31706 Modificada 21/10/2019:07:37 p. m. No se especifico a remitente - SIG - Se Genero una Orden de Compra 21/10/2019:07:37 p. m. No se especifico a remitente - SIG - La Requisición #31706 se le ha asignado 21/10/2019:07:41 p. m. No se especifico a remitente - SIG - La Requisicion #31707 cambió de estatus. 21/10/2019:07:41 p. m. No se especifico a remitente - SIG - La Requisicion #31707 cambió de estatus. 21/10/2019:07:42 p. m. No se especifico a remitente - SIG. Requisición #31707 Bitacora 22/10/2019:09:25 a. m. No se especifico a remitente - SIG. Requisición #31697 Bitacora \ No newline at end of file + en ClsSisMail.FinalSend(Mail ObjMail) en C:\inetpub\WWWSIGIT\App_Code\ClsSisMail.vb:línea 129 10/09/2019:12:16 p. m. From:'signotificaciones@adssistemas.mx' - Para:'DSDDS@hotmail.com' - Asunto:'SIG - La Orden Compra #26598 cambió de estatus.' - CCP: '' - Adjuntos: 0 10/09/2019:02:58 p. m. No se especifico a remitente - SIG - La Orden Compra #28107 cambió de estatus. 11/09/2019:11:56 a. m. From:'signotificaciones@adssistemas.mx' - Para:'antonio.gonzalez@adssistemas.mx' - Asunto:'Solicitud Vacaciones ' - CCP: '' - Adjuntos: 0 11/09/2019:12:35 p. m. From:'signotificaciones@adssistemas.mx' - Para:'antonio.gonzalez@adssistemas.mx' - Asunto:'(Vacaciones:Permisos) Asistencia Técnica AD Sistemas' - CCP: '' - Adjuntos: 0 11/09/2019:01:02 p. m. From:'signotificaciones@adssistemas.mx' - Para:'antonio.gonzalez@adssistemas.mx' - Asunto:'Permiso para Asistencia Técnica AD Sistemas' - CCP: '' - Adjuntos: 0 11/09/2019:01:03 p. m. From:'signotificaciones@adssistemas.mx' - Para:'antonio.gonzalez@adssistemas.mx' - Asunto:'Vacaciones Asistencia Técnica AD Sistemas' - CCP: '' - Adjuntos: 0 11/09/2019:01:10 p. m. From:'signotificaciones@adssistemas.mx' - Para:'antonio.gonzalez@adssistemas.mx' - Asunto:'Vacaciones Asistencia Técnica AD Sistemas' - CCP: '' - Adjuntos: 0 20/09/2019:05:15 p. m. From:'ENVIOFACTURADIGITAL@COMPUPROVEEDORES.COM' - Para:'japmx95@gmail.com' - Asunto:'Entrega de Factura HMO - 29109' - CCP: '' - Adjuntos: 1 20/09/2019:05:36 p. m. No se especifico a remitente - Entrega de Factura HMO - 29110 20/09/2019:05:45 p. m. From:'ENVIOFACTURADIGITAL@COMPUPROVEEDORES.COM' - Para:'japmx95@gmail.com' - Asunto:'Entrega de Factura HMO - 29111' - CCP: '' - Adjuntos: 1 20/09/2019:05:47 p. m. From:'ENVIOFACTURADIGITAL@COMPUPROVEEDORES.COM' - Para:'japmx95@gmail.com' - Asunto:'Entrega de Factura HMO - 29112' - CCP: '' - Adjuntos: 1 23/09/2019:10:55 a. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com' - Asunto:'Solicitud de anticipo de Orden de Compra' - CCP: '' - Adjuntos: 0 23/09/2019:11:05 a. m. No se especifico a remitente - Solicitud de anticipo de Orden de Compra 23/09/2019:11:34 a. m. No se especifico a remitente - Solicitud de anticipo de Orden de Compra 25/09/2019:05:06 p. m. No se especifico a remitente - SIG - La Orden Compra #4860 cambió de estatus. 04/10/2019:12:09 p. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 83 17/10/2019:12:10 p. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com' - Asunto:'SIG - La Orden Compra #1488 cambió de estatus.' - CCP: '' - Adjuntos: 0 17/10/2019:12:10 p. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com' - Asunto:'SIG - La Orden Compra #1488 cambió de estatus.' - CCP: 'japmx95@gmail.com;;' - Adjuntos: 0 17/10/2019:12:10 p. m. No se especifico a remitente - SIG - Se Genero una Orden de Compra 17/10/2019:12:39 p. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com;' - Asunto:'Vinculación de factura de OC ' - CCP: '' - Adjuntos: 0 17/10/2019:07:07 p. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com' - Asunto:'SIG - La Orden Compra #1489 cambió de estatus.' - CCP: '' - Adjuntos: 0 17/10/2019:07:07 p. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com' - Asunto:'SIG - La Orden Compra #1489 cambió de estatus.' - CCP: 'japmx95@gmail.com;;' - Adjuntos: 0 17/10/2019:07:07 p. m. No se especifico a remitente - SIG - Se Genero una Orden de Compra 17/10/2019:07:11 p. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com;' - Asunto:'Vinculación de factura de OC ' - CCP: '' - Adjuntos: 0 17/10/2019:07:14 p. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com;' - Asunto:'Recepción de Material de OC ' - CCP: '' - Adjuntos: 0 21/10/2019:10:50 a. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 90 21/10/2019:10:53 a. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 91 21/10/2019:10:53 a. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 92 21/10/2019:10:59 a. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 93 21/10/2019:11:03 a. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 94 21/10/2019:07:01 p. m. No se especifico a remitente - SIG. Requisición #30796 Bitacora 21/10/2019:07:02 p. m. No se especifico a remitente - SIG. Requisición #30796 Bitacora 21/10/2019:07:18 p. m. No se especifico a remitente - SIG. Requisición #31573 Bitacora 21/10/2019:07:35 p. m. No se especifico a remitente - SIG - La Requisicion #31706 cambió de estatus. 21/10/2019:07:35 p. m. No se especifico a remitente - SIG - La Requisicion #31706 cambió de estatus. 21/10/2019:07:36 p. m. No se especifico a remitente - SIG - La Requisición #31706 cambió de estatus. 21/10/2019:07:36 p. m. No se especifico a remitente - SIG. Requisición #31706 Modificada 21/10/2019:07:37 p. m. No se especifico a remitente - SIG - Se Genero una Orden de Compra 21/10/2019:07:37 p. m. No se especifico a remitente - SIG - La Requisición #31706 se le ha asignado 21/10/2019:07:41 p. m. No se especifico a remitente - SIG - La Requisicion #31707 cambió de estatus. 21/10/2019:07:41 p. m. No se especifico a remitente - SIG - La Requisicion #31707 cambió de estatus. 21/10/2019:07:42 p. m. No se especifico a remitente - SIG. Requisición #31707 Bitacora 22/10/2019:09:25 a. m. No se especifico a remitente - SIG. Requisición #31697 Bitacora 22/10/2019:04:50 p. m. No se especifico a remitente - SIG - La Requisicion #31708 cambió de estatus. 22/10/2019:04:50 p. m. No se especifico a remitente - SIG - La Requisicion #31708 cambió de estatus. 22/10/2019:05:03 p. m. No se especifico a remitente - SIG. Requisición #31708 Modificada \ No newline at end of file diff --git a/OC/OC.aspx b/OC/OC.aspx index 18f34f485..b0716cdc0 100644 --- a/OC/OC.aspx +++ b/OC/OC.aspx @@ -855,7 +855,8 @@ - + @@ -1192,26 +1193,21 @@ -
- + +    -    - +    -
- - - @@ -1366,11 +1362,8 @@ -
-
- @@ -2548,15 +2541,63 @@ - - - - - - + <%--CARGA EXCEL--%> + - - diff --git a/OC/OC.aspx.vb b/OC/OC.aspx.vb index 4d035618e..cdbc78af1 100644 --- a/OC/OC.aspx.vb +++ b/OC/OC.aspx.vb @@ -1,5 +1,4 @@ Option Explicit On -Option Strict On Imports System.Data Imports Extensiones @@ -176,7 +175,7 @@ Partial Class OC End Property Private Property NumCotizacionesEvaluar As Integer Get - NumCotizacionesEvaluar = IfNull(ViewState("NumCotizacionesEvaluar"), "-1", ViewState("NumCotizacionesEvaluar")).ToString().ToEntero() + NumCotizacionesEvaluar = IfNull(ViewState("NumCotizacionesEvaluar"), "0", ViewState("NumCotizacionesEvaluar")).ToString().ToEntero() End Get Set(value As Integer) ViewState("NumCotizacionesEvaluar") = value @@ -1509,7 +1508,7 @@ Partial Class OC 'Si requiere cotizacion y el estatus siguiente es el final, desabilitar el combo del estatus - If ChkCotizacion.Checked AndAlso objOC.CveEstatusSiguiente = CveEstatusFinalOK AndAlso (gvCotizaciones.Rows.Count = 0 Or NumCotizacionesGanadoras < gvCotizaciones.Rows.Count - 1) Then + If UsuarioActual.Empresa.Funcionalidad(556) = "1" AndAlso ChkCotizacion.Checked AndAlso objOC.CveEstatusSiguiente = CveEstatusFinalOK AndAlso (gvCotizaciones.Rows.Count = 0 Or NumCotizacionesGanadoras < gvCotizaciones.Rows.Count - 1) Then CboE.Enabled = False LblMsgEstatus.Visible = True LblMsgEstatus.Text = "Cotización requerida para avanzar" @@ -1669,7 +1668,7 @@ Partial Class OC 'If ChkCotizacion.Checked AndAlso objOC.CveEstatusSiguiente = CveEstatusFinalOK AndAlso NumCotizacionesGanadoras < gvCotizaciones.Rows.Count - 1 Then - If ChkCotizacion.Checked AndAlso CveEstatusSiguiente = CveEstatusFinalOK AndAlso NumCotizacionesGanadoras < gvCotizaciones.Rows.Count - 1 Then + If UsuarioActual.Empresa.Funcionalidad(556) = "1" AndAlso ChkCotizacion.Checked AndAlso CveEstatusSiguiente = CveEstatusFinalOK AndAlso NumCotizacionesGanadoras < gvCotizaciones.Rows.Count - 1 Then CboE.Enabled = False LblMsgEstatus.Visible = True LblMsgEstatus.Text = "Cotización requerida para avanzar" @@ -1745,6 +1744,11 @@ Partial Class OC DdlProveedores.DataSource = GlobalDTCompProveedores(CveEmpresaActual) DdlProveedores.DataBind() DdlProveedores.Items.Insert(0, New ListItem("Seleccione", "-1")) + + DdlProveedorCot.DataSource = GlobalDTCompProveedores(CveEmpresaActual) + DdlProveedorCot.DataBind() + DdlProveedorCot.Items.Insert(0, New ListItem("Seleccione", "-1")) + UPProv.Update() : UPPEmp.Update() End Sub @@ -2766,9 +2770,9 @@ Partial Class OC If UsuarioActual.Empresa.Funcionalidad(565) = "1" Then If CveConfianzaProveedor > 0 Then - If CveConfianzaProveedor = 1 AndAlso Me.NumCotizaciones >= 1 Then + If CveConfianzaProveedor = 1 AndAlso Me.NumCotizacionesEvaluar >= 1 Then TieneError = GeneraOrdenes(OC, Conta, ObjInventarios) - ElseIf CveConfianzaProveedor = 2 AndAlso Me.NumCotizaciones >= 2 Then + ElseIf CveConfianzaProveedor = 2 AndAlso Me.NumCotizacionesEvaluar >= 2 Then TieneError = GeneraOrdenes(OC, Conta, ObjInventarios) Else TieneError = True @@ -2878,7 +2882,7 @@ Partial Class OC Promocion = TxtPromocion.Text.Trim Try - If ChkCotizacion.Checked Then + If ChkCotizacion.Checked AndAlso gvCotizaciones.Rows.Count > 0 Then Dim CveProveedor = -1 Dim TotalCot = 0.0, IVACot = 0D, RetIVA = 0.0, RetISR = 0.0, PorIVA = 0.0, Porcentaje = 0.0 Dim IdPoliza = -1 @@ -2932,6 +2936,7 @@ Partial Class OC HuboError = True Exit For End If + End If 'AGREGA DETALLES @@ -4174,7 +4179,7 @@ Partial Class OC ' uppOpciones.Update() 'End If - If ChkCotizacion.Checked AndAlso CveEstatusSiguiente = CveEstatusFinalOK AndAlso (gvCotizaciones.Rows.Count = 0 Or NumCotizacionesGanadoras < gvCotizaciones.Rows.Count - 1) Then + If UsuarioActual.Empresa.Funcionalidad(556) = "1" AndAlso ChkCotizacion.Checked AndAlso CveEstatusSiguiente = CveEstatusFinalOK AndAlso (gvCotizaciones.Rows.Count = 0 Or NumCotizacionesGanadoras < gvCotizaciones.Rows.Count - 1) Then CboE.Enabled = False LblMsgEstatus.Visible = True LblMsgEstatus.Text = "Cotización requerida para avanzar" @@ -7307,4 +7312,173 @@ Partial Class OC #End Region +#Region "C A R G A R E X C E L " + Protected Sub BtnCargaExcelCot_Click(sender As Object, e As EventArgs) + If TxtExcelCot.getfiles().Archivos.Count > 0 Then + Dim file As Archivo = TxtExcelCot.getfiles().Archivos(0) + Dim Directorio As String = AppDomain.CurrentDomain.BaseDirectory & file.patch + CargarArchivoCot(Directorio, file.filename) + + CargaCotizaciones(CveOrdenCompra) + RegistraScript("$('#DivCargaExcelCotizaciones').modal('hide');") + Else + Alert("No existe el archivo. Favor de subir un archivo excel a la plataforma.", TipoMensaje.MsgError) + End If + End Sub + + Protected Sub BtnDescargarFormatoCot_Click(sender As Object, e As EventArgs) + 'cantidad, Producto, Precio Unitario, Fecha Entrega, Observación + Dim DtPS As DataTable = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa) + + Dim DtExcel As DataTable = (From row As GridViewRow In GvD.Rows + Join rowPS In DtPS On rowPS("CvePS").ToString().ToEntero() Equals row.DataKey("CvePS").ToEntero() + Where row.RowType = DataControlRowType.DataRow + Select New With + { + .Cantidad = row.DataKey("Cantidad"), + .Codigo = rowPS("Codigo"), + .Producto = rowPS("PSCodigo"), + .PrecioUnitario = row.DataKey("Importe").ToDecimal(), + .FechaEntrega = "", + .Observacion = row.DataKey("Observacion") + }).QueryToDataTable(True) + If DtExcel.Rows.Count < 2 Then + Alert("No hay resutados en la busqueda.", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + + DtExcel.TableName = "Cotización" + 'DtExcel.Columns("Codigo").ColumnName = "Código" + 'DtExcel.Columns("PS").ColumnName = "Producto / Servicio" + SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet) + + Dim FileExcel As New ExcelFile() + + Dim worksheet = FileExcel.Worksheets.Add(DtExcel.TableName) + worksheet.InsertDataTable(DtExcel, New InsertDataTableOptions() With + { + .ColumnHeaders = True, + .StartRow = 0, + .StartColumn = 0 + }) + worksheet.Rows(0).Style.FillPattern.SetPattern(FillPatternStyle.Solid, SpreadsheetColor.FromArgb(75, 119, 190), SpreadsheetColor.FromArgb(255, 255, 255)) + worksheet.Rows(0).Style.Font.Color = SpreadsheetColor.FromArgb(255, 255, 255) + + Dim columnCount = worksheet.CalculateMaxUsedColumns() + For i = 0 To columnCount + worksheet.Columns(i).AutoFit(1, worksheet.Rows(0), worksheet.Rows(worksheet.Rows.Count - 1)) + Next + + FileExcel.Save(Response, "Cotizacion.xlsx", SaveOptions.XlsxDefault) + + End Sub + Protected Sub CargarArchivoCot(Ruta As String, FileName As String) + SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet) + + Dim dt As DataTable = Nothing + Dim ErrorArchivo = False + + Try + dt = ReadExcelFile(Ruta + FileName, True) + Catch ex As Exception + ErrorArchivo = True + OnError("Ocurrio un error al leer el archivo
" & ex.Message, ex) + End Try + + If Not ErrorArchivo AndAlso dt IsNot Nothing Then + 'cantidad, Producto, Precio Unitario, Fecha Entrega, Observación + If DdlProveedorCot.SelectedValue.ToEntero() <= 0 Then + Alert("Debe Seleccionar la lista de precios a cargar. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(0).ColumnName = "Cantidad" Then + Alert("El nombre de la tercera columna debe ser 'Cantidad'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(1).ColumnName = "Codigo" Then + Alert("El nombre de la cuarta columna debe ser 'Codigo'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(2).ColumnName = "Producto" Then + Alert("El nombre de la cuarta columna debe ser 'Producto'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(3).ColumnName = "PrecioUnitario" Then + Alert("El nombre de la sexta columna debe ser 'PrecioUnitario'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(4).ColumnName = "FechaEntrega" Then + Alert("El nombre de la sexta columna debe ser 'FechaEntrega'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(5).ColumnName = "Observacion" Then + Alert("El nombre de la sexta columna debe ser 'Observacion'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + dt.TableName = "Datos" + Dim ProductosNoCargados As New StringBuilder() + Dim RowsCargados As Integer = 0 + Dim RowsNoCargados As Integer = 0 + Dim TieneError As Boolean = False + + Dim objCotizacion As New ClsOC + objCotizacion.IniciaTransacSQL() + + Try + Dim DtPS As DataTable = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa) + + Dim DtOCDetalle As DataTable = (From row As GridViewRow In GvD.Rows + Join rowPS In DtPS On rowPS("CvePS").ToString().ToEntero() Equals row.DataKey("CvePS").ToEntero() + Where row.RowType = DataControlRowType.DataRow + Select New With + { + .CvePS = row.DataKey("CvePS").ToEntero(), + .CveUnidadMedida = rowPS("CveUnidadMedida").ToString().ToEntero(), + .CveOrdenCompraDetalle = row.DataKey("CveOrdenCompraDetalle").ToString().ToEntero(), + .Codigo = rowPS("Codigo") + }).QueryToDataTable(True) + + + + Dim Folio As String = "" + Dim CveProveedor As Integer = DdlProveedorCot.SelectedValue.ToEntero() + + If CveProveedor > 0 Then + If objCotizacion.AddCotizacion(CveOrdenCompra, CveProveedor, -1, Folio, TxtFecha.Text, "", DdlMoneda.SelectedValue.ToEntero, 0, UsuarioActual.CveUsuario) Then + For Each dr As DataRow In dt.Rows + Dim RowPS = DtOCDetalle.FiltroPrimero(String.Format("Codigo='{0}'", dr("Codigo").ToString())) + + Dim CveOrdenCompraDetalle As Integer = RowPS("CveOrdenCompraDetalle").ToString().ToEntero() + Dim CvePS As Integer = RowPS("CvePS").ToString().ToEntero() + Dim CveUnidadMedida As Integer = RowPS("CveUnidadMedida").ToString().ToEntero() + Dim Fecha As String = If(String.IsNullOrEmpty(dr("FechaEntrega").ToString()), "", If(IsDate(dr("FechaEntrega").ToString()), dr("FechaEntrega").ToString(), "")) + + TieneError = Not objCotizacion.AddCotizacionDetalle(objCotizacion.CveCotizacion, CvePS, dr("PrecioUnitario").ToString().ToDecimal(), dr("Cantidad").ToString().ToDouble, CveUnidadMedida, + dr("Cantidad").ToString().ToDouble, Fecha, dr("Observacion").ToString(), CveOrdenCompraDetalle) + If TieneError = True Then Exit For + Next + End If + Else + TieneError = False + End If + + Catch ex As Exception + TieneError = True + OnError("Ocurrió un error al cargar las cotizaciones.", ex) + Finally + If TieneError Then + objCotizacion.RollBack() + Alert("Ocurrió un error al cargar las cotizaciones.") + Else + objCotizacion.Commit() + Alert("Las cotizaciones se cargaron correctamente.") + End If + objCotizacion.Dispose() + End Try + + End If + End Sub +#End Region + End Class diff --git a/Ventas/ActualizarPrecios.aspx b/Ventas/ActualizarPrecios.aspx index 4b2761db4..e5afac7e9 100644 --- a/Ventas/ActualizarPrecios.aspx +++ b/Ventas/ActualizarPrecios.aspx @@ -229,11 +229,11 @@ + CssClass="table table-striped table-smallpadding table-advance table-hover Widthall" OnRowDataBound="gvSucursal_RowDataBound" Style="text-align: center;" GridLines="None"> - + @@ -415,6 +415,9 @@ $('.CsMCheckGvSucursal').find('input[type=checkbox]').prop('checked', false); } } + function FncSeleccionaChk(chk) { + chk.checked = true; + } diff --git a/Ventas/ActualizarPrecios.aspx.vb b/Ventas/ActualizarPrecios.aspx.vb index 4c4fe1ea9..1969944e1 100644 --- a/Ventas/ActualizarPrecios.aspx.vb +++ b/Ventas/ActualizarPrecios.aspx.vb @@ -468,7 +468,12 @@ Partial Class Ventas_ActualizarPrecios End While Return dataTable - End Function + End Function #End Region - + + Protected Sub gvSucursal_RowDataBound(sender As Object, e As GridViewRowEventArgs) + If e.Row.RowType = DataControlRowType.DataRow Then + e.Row.FCTextBox("TxtPrecioMinimo").Attributes.Add("onKeyUp", String.Format("FncSeleccionaChk({0});", e.Row.FCCheckBox("chkSucursal").ClientID)) + End If + End Sub End Class \ No newline at end of file