diff --git a/Ventas/VentasMedicas.aspx.vb b/Ventas/VentasMedicas.aspx.vb index 36378f2aa..2fa15c65e 100644 --- a/Ventas/VentasMedicas.aspx.vb +++ b/Ventas/VentasMedicas.aspx.vb @@ -2414,7 +2414,7 @@ Partial Class VentasMedicas Me.CveEstadoCancelacion = 0 - TxtFechaOS.Text = NowADS().ToDateTime.ToString("yyyy-MM-dd HH:mm:ss").Replace(" ", "T") + 'TxtFechaOS.Text = NowADS().ToDateTime.ToString("yyyy-MM-dd HH:mm:ss").Replace(" ", "T") If UsuarioActual.TienePermisoProceso(177) Then DdlTipoComprobante.Items.Insert(4, New ListItem("Pedido de Contrato", "Ped")) @@ -2893,17 +2893,6 @@ Partial Class VentasMedicas If TipoDocto.ToUpper.Contiene("EGS", "COM", "ANT") Then TipoDocto = "Ing" - 'DdlEstatus.Items.Clear() - 'DdlEstatus.Items.Insert(0, New ListItem("Seleccione", "-1")) - 'DdlEstatus.SelectedValue = "-1" - 'DdlEstatus.DataSource = GlobalDTEstatusFactura.FiltraParametros(String.Format("TipoDocto = '{0}' {1}", TipoDocto, FiltroCompromiso)) - 'DdlEstatus.DataBind() - ''If DdlEstatus.Items.Count > 1 Then - '' DdlEstatus.SelectedIndex = 1 - ''End If - - ''permiso para poder cambiar estatus - 'If CveVenta > 0 Then DdlEstatus.Enabled = UsuarioActual.TienePermisoProceso(116) End Sub Private Sub CargaOS(CveOS As Integer) @@ -2971,11 +2960,6 @@ Partial Class VentasMedicas End Sub - - - - - Private Sub CargaTiposDocumentos() DdlTipoComprobante.DataSource = GlobalDTTiposDocumentos() DdlTipoComprobante.DataBind() @@ -3204,7 +3188,7 @@ Partial Class VentasMedicas ' Retorno = dr("CveSubProyecto").ToString().ToEntero() 'End If - 'Return Retorno + Return Retorno End Function 'Private Sub CargarAlmacenes() @@ -3424,7 +3408,6 @@ Partial Class VentasMedicas End If ViewState("Vendedor") = ObjCliente.Vendedor - ViewState("CtaContable") = ObjCliente.CuentaContable ViewState("CodCliente") = ObjCliente.Codigo ViewState("CvePrecioLista") = ObjCliente.CvePrecioLista @@ -5950,14 +5933,6 @@ Partial Class VentasMedicas End If End If - 'Paso CRM actualizar importe de acercamiento y guardar en bitacora - If DdlTipoComprobante.SelectedValue.Contiene("Cot") AndAlso CveEmpresaCRM > 0 AndAlso CveAcercamientoCRM > 0 Then - - If Not (CRMActualizaImporteBitacora(CveAcercamientoCRM, ObjFactura.SubTotal, ObjFactura.SerieFolio, ObjVentas.IniciaTransacSQL)) Then - ErrorList.Add("Error al actualizar datos Acercamiento/Oportunidad CRM.") - End If - End If - 'ContPAQ El movimiento 1 es el de Venta Dim AutoConta As Boolean = UsuarioActual.Empresa.Funcionalidad(200) = "1" AutoConta = AutocontaMatriz(AutoConta) @@ -5991,15 +5966,6 @@ Partial Class VentasMedicas ObjFactura.DtDetalle = TmpDT 'actualiza por cambios de pedimentos. ObjFactura.Timbre = PreParaTimbre(ObjFactura) - 'ENVIAR POLIZA VIRTUAL - If ErrorList.Count = 0 Then - If UsuarioActual.Empresa.Funcionalidad(576) = "1" AndAlso EsProduccion Then - GeneraPolizaVentaWS(ObjFactura) - End If - End If - - - Try ViewState("CveVenta") = ObjFactura.CveVenta @@ -6103,13 +6069,8 @@ Partial Class VentasMedicas ' Catch ex As Exception ' OnError("Ocurrió un error al timbrar la NC.", ex) ' End Try - 'End If - If SeTimbro AndAlso ObjFactura.TipoDocto.Contiene("Ing") Then - EstatusSMS = EnviarSMSTimbrado(ObjEventos) - End If - If Not SeTimbro Then Alert(MsgErrorTimbrado, TipoMensaje.MsgError) End If @@ -6247,23 +6208,11 @@ Partial Class VentasMedicas 'End If - - 'ENVIA CORREO CON DETALLE DEL CONTRATO - If DdlTipoComprobante.SelectedValue.Contiene("DPe", "Ped") Then - If Not String.IsNullOrEmpty(CorreoNotificacionPedDev) Then - EnviarCorreoDevPed() - End If - End If - 'MOVIMIENTO DE ALMACEN If ObjFactura.Inv_CveMovimiento > 0 Then MensajeAlert.AppendFormat("

Movimiento de Almacén
", ObjFactura.Inv_CveMovimiento) End If - - - - If CveVentaNCProntoPago > 0 Then MensajeAlert.AppendFormat(String.Format("
La nota de crédito {0} por descuento pronto pago se generó correctamente.

", SerieFolioNCProntoPago)) End If @@ -6395,35 +6344,6 @@ Partial Class VentasMedicas Return Respuesta End Function - Private Function CRMActualizaImporteBitacora(CveAcercamientoCRMActualizar As Integer, ImporteCRM As Decimal, SerieFolioVenta As String, ByRef ObjTRansaccion As SqlTransaction) As Boolean - - Dim cRMService As ICRMService = New CRMService(System.Configuration.ConfigurationManager.ConnectionStrings("Conexion").ConnectionString) - Dim AcercamientoModel As RequestAcercamiento = New RequestAcercamiento(UsuarioActual.CveEmpresa, CveAcercamientoCRMActualizar) - Dim objAcercamiento = cRMService.GetAceracamientoCRM(AcercamientoModel) - Dim ImporteAcercamiento As Decimal = objAcercamiento.Result(0).Importe.ToDecimal - Dim CveEtapaProcesoCRM As Integer = objAcercamiento.Result(0).CveEtapaProcesoActual.ToEntero - Dim CveTipoProcesoCRM As Integer = objAcercamiento.Result(0).CveTipoProceso.ToEntero - - Dim Respuesta As Boolean = False - Dim ObjCRM As New ClsCRM(ObjTRansaccion) - Dim ObjEventoBitacora As New ClsOIEventos(ObjTRansaccion) - - If objAcercamiento.Result.Count > 0 Then - If ObjCRM.UpdateAcercamientoCotizacion(CveAcercamientoCRMActualizar, ImporteCRM, UsuarioActual.CveEmpresa) Then - If ObjEventoBitacora.AddEventoBitacora($"Se actualiza Importe de {ImporteAcercamiento.ToString("###,###,###.00") } a {ImporteCRM.ToString("###,###,###.00")} por cotización {SerieFolioVenta}", "", - UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveAcercamientoCRM:=CveAcercamientoCRMActualizar, CveEtapaProcesoCRM:=CveEtapaProcesoCRM, - CveTipoProcesoCRM:=CveTipoProcesoCRM) Then - Respuesta = True - End If - End If - End If - - Return Respuesta - - End Function - - - Private Sub CreaObjetosVenta(Optional VistaPrevia As Boolean = False, Optional EsCancelacion As Boolean = False, Optional TipoDoctoViejo As String = "") @@ -6539,16 +6459,6 @@ Partial Class VentasMedicas ObjFactura.TipoDocumento = "" End Select - 'ObjFactura.Fech1 = TxtFech1.Text.Trim.ToDate - 'ObjFactura.Fech2 = TxtFech2.Text.Trim.ToDate - 'ObjFactura.Fech3 = TxtFech3.Text.Trim.ToDate - 'ObjFactura.Alfa1 = TxtAlfa1.Text.Trim - 'ObjFactura.Alfa2 = TxtAlfa2.Text.Trim - 'ObjFactura.Alfa3 = TxtAlfa3.Text.Trim - 'ObjFactura.Num1 = TxtNum1.Text.Trim.ToDouble - 'ObjFactura.Num2 = TxtNum2.Text.Trim.ToDouble - 'ObjFactura.Num3 = If(ObjFactura.TipoDocto = "OP", DdlOrdenPago.SelectedValue.ToDouble, TxtNum3.Text.Trim.ToDouble) - ObjFactura.Fech1 = NowADS() ObjFactura.Fech2 = NowADS() @@ -7074,8 +6984,6 @@ Partial Class VentasMedicas ObjFactura.EsGarantia = Me.EsGarantia - - 'ASIGNAR RFC RECEPTOR If ObjFactura.Timbre IsNot Nothing Then If ObjFactura.Timbre.Receptor IsNot Nothing Then @@ -7086,314 +6994,6 @@ Partial Class VentasMedicas ObjFactura.DtMercancias = DtMercancias End Sub - 'Private Sub CreaObjetosVentaDevolucion() - ' ObjFacturaDevolucion = New Modelos.Factura - - ' ObjFacturaDevolucion.CveUsuario = UsuarioActual.CveUsuario - ' ObjFacturaDevolucion.CveEmpresa = UsuarioActual.CveEmpresa - ' ObjFacturaDevolucion.TipoCambio = If(DdlMoneda.SelectedValue.ToEntero() = 1, 1, TxtTipoCambio.Text.Trim.ToDecimal) - ' ObjFacturaDevolucion.ConvertirPesos = ChkConvertirDoctoPesos.Checked - ' ObjFacturaDevolucion.CveMoneda = DdlMoneda.SelectedValue.ToEntero() - ' ObjFacturaDevolucion.Moneda = DdlMoneda.SelectedItem.Text - ' ObjFacturaDevolucion.MonedaSAT = GlobalDTMonedas.FiltroPrimeroValor("AbreviaturaSAT", $"CveMoneda = {DdlMoneda.SelectedValue}") - ' 'ObjFacturaDevolucion.RefDocto = TxtDocto.Text.Trim - ' 'ObjFacturaDevolucion.Folio = If(ExFolioFactura, FolioXML.ToEntero(), -1) - ' ObjFacturaDevolucion.Serie = LblSerie.Text - - ' ObjFacturaDevolucion.Fecha = New Date(NowADS.Year, NowADS.Month, NowADS.Day, NowADS().Hour, NowADS().Minute, NowADS().Second) - ' ObjFacturaDevolucion.CvePrePoliza = -1 - ' ObjFacturaDevolucion.CveMetodoPago = 0 'DdlMetodoPago.SelectedValue.ToEntero() - ' ObjFacturaDevolucion.MetodoPago = "" 'DdlMetodoPago.SelectedItem.Text - ' ObjFacturaDevolucion.ClaveMetodoPagoSAT = GlobalDTMetodosPago.FiltroPrimeroValor("ClaveSAT", $"CveMetodoPago = {DdlMetodoPago33.SelectedValue}") - ' ObjFacturaDevolucion.UsuarioCreo = LblUsuario.Text.Trim - ' ObjFacturaDevolucion.CveCondicionEntrega = If(DdlFormaEntrega.SelectedItem IsNot Nothing, DdlFormaEntrega.SelectedValue.ToEntero(), -1) - ' ObjFacturaDevolucion.CondicionEntrega = If(DdlFormaEntrega.SelectedItem IsNot Nothing, DdlFormaEntrega.SelectedItem.Text, "") - ' 'ObjFacturaDevolucion.NumeroCuenta = TxtNumCtaPago.Text.Trim - ' 'ObjFacturaDevolucion.Cliente.NumCtaPago = TxtNumCtaPago.Text.Trim - ' ObjFacturaDevolucion.CondicionesPago = If(RBLPago.SelectedValue = "2", 0, 1) ' 0 - Contado, 1 - Credito - ' ObjFacturaDevolucion.FormaPago = 0 - ' 'ObjFacturaDevolucion.SerieFolio = String.Format("{0}-{1}", LblSerie.Text, TxtFolio.Text) - ' ObjFacturaDevolucion.TipoDocto = "Egs" - - ' If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then - ' Dim ObjFolios As New ClsGralFolios() - ' Dim TipoDoctoConsulta As String = If(ObjFacturaDevolucion.TipoDocto = "Ant", "Ing", If(ObjFacturaDevolucion.TipoDocto = "PA", "Rem", ObjFacturaDevolucion.TipoDocto)) - - ' If ObjFolios.GetFolios(TipoDoctoConsulta, UsuarioActual.CveEmpresa) Then - ' Dim DT As DataTable = ObjFolios.DtResultados.FiltraParametros(String.Format(" CveSubProyecto = {0} And Estado = 'Activo'", DdlSubProyectoDatos.SelectedValue)) - ' If DT.Rows.Count > 0 Then - ' ObjFacturaDevolucion.Serie = DT.Rows(0)("Serie").ToString() - ' End If - ' DT.Dispose() - ' End If - ' ObjFolios.Dispose() - - ' End If - - ' ObjFacturaDevolucion.Fecha = NowADS() - - - ' 'VALORES DEFAULT DE NC-DEV - ' Dim CveUsoCFDIOld As String = DdlUsoCFDI.SelectedValue - ' Dim MetodoPago33Old As String = DdlMetodoPago33.SelectedValue - ' Dim FormaPago33Old As String = DdlFormaPago33.SelectedValue - - ' DdlUsoCFDI.SelectedValueExist("2") - ' DdlMetodoPago33.SelectedValueExist("1") - ' DdlFormaPago33.SelectedValueExist("20") - - ' ObjFacturaDevolucion.SerieFolioPadre = HdnFolioFiscalNC.Value.ToString() - - ' ObjFacturaDevolucion.Version = "4.0" - - ' If ObjFacturaDevolucion.Cliente Is Nothing Then - ' ObjFacturaDevolucion.Cliente = New Modelos.ClienteModel - ' End If - - ' ObjFacturaDevolucion.Cliente.CodigoRegimenFiscal = ClienteCodigoRegimenFiscal - ' ObjFacturaDevolucion.Cliente.RegimenFiscal = ClienteRegimenFiscal - - ' ObjFacturaDevolucion.CveMetodoPago33 = DdlMetodoPago33.SelectedValue.ToEntero() - ' ObjFacturaDevolucion.MetodoPago33 = If(DdlMetodoPago33.SelectedValue.ToEntero() > 0, DdlMetodoPago33.SelectedItem.Text, "") - ' ObjFacturaDevolucion.ClaveMetodoPagoSAT = GlobalDTVtaMetodoPago.FiltroPrimeroValor("ClaveMetodoPagoSAT", $"CveMetodoPago = {DdlMetodoPago33.SelectedValue}") - - ' ObjFacturaDevolucion.CveFormaPago33 = DdlFormaPago33.SelectedValue.ToEntero() - ' ObjFacturaDevolucion.FormaPago33 = If(DdlFormaPago33.SelectedValue.ToEntero() > 0, DdlFormaPago33.SelectedItem.Text, "") - ' ObjFacturaDevolucion.FormaPagoSAT33 = GlobalDTVtaFormaPago.FiltroPrimeroValor("ClaveFormaPagoSAT", $"CveFormaPago = {DdlFormaPago33.SelectedValue}") - - ' ObjFacturaDevolucion.CveUsoCFDI = DdlUsoCFDI.SelectedValue.ToEntero() - ' ObjFacturaDevolucion.UsoCFDI = If(DdlUsoCFDI.SelectedValue.ToEntero() > 0, DdlUsoCFDI.SelectedItem.Text, "") - ' ObjFacturaDevolucion.ClaveUsoCFDI = GlobalDTSATUsosCFDI.FiltroPrimeroValor("UsoCFDI", $"CveUsoCFDI = {DdlUsoCFDI.SelectedValue}") - - ' DdlUsoCFDI.SelectedValueExist(CveUsoCFDIOld) - ' DdlMetodoPago33.SelectedValueExist(MetodoPago33Old) - ' DdlFormaPago33.SelectedValueExist(FormaPago33Old) - - - ' Select Case ObjFacturaDevolucion.TipoDocto - ' Case "Ing" - ' ObjFacturaDevolucion.TipoDocumento = "Factura" - ' Case "Rem" - ' ObjFacturaDevolucion.TipoDocumento = "Remision" - ' Case "Cot" - ' ObjFacturaDevolucion.TipoDocumento = "Cotizacion" - ' Case "Egs" - ' ObjFacturaDevolucion.TipoDocumento = "Nota de Crédito" - ' Case "Dev" - ' ObjFacturaDevolucion.TipoDocumento = "Nota de Devolución" - ' Case Else - ' ObjFacturaDevolucion.TipoDocumento = "" - ' End Select - - ' If ObjFacturaDevolucion.TipoDocto IsNot Nothing Then - ' ViewState("TipoDoctoDevolucion") = ObjFacturaDevolucion.TipoDocto - ' End If - - ' ObjFacturaDevolucion.CveTipoRelacion = DdlTiposRelacion.SelectedValue.ToEntero() - ' ObjFacturaDevolucion.Fech1 = TxtFech1.Text.Trim.ToDate - ' ObjFacturaDevolucion.Fech2 = TxtFech2.Text.Trim.ToDate - ' ObjFacturaDevolucion.Fech3 = TxtFech3.Text.Trim.ToDate - ' ObjFacturaDevolucion.Alfa1 = TxtAlfa1.Text.Trim - ' ObjFacturaDevolucion.Alfa2 = TxtAlfa2.Text.Trim - ' ObjFacturaDevolucion.Alfa3 = TxtAlfa3.Text.Trim - ' ObjFacturaDevolucion.Num1 = TxtNum1.Text.Trim.ToDouble - ' ObjFacturaDevolucion.Num2 = TxtNum2.Text.Trim.ToDouble - ' ObjFacturaDevolucion.Num3 = If(ObjFacturaDevolucion.TipoDocto = "OP", DdlOrdenPago.SelectedValue.ToDouble, TxtNum3.Text.Trim.ToDouble) - - ' ObjFacturaDevolucion.FechaPago = TxtFechaPago.Text.ToDate - - ' ObjFacturaDevolucion.CveCorte = CveCorte - ' 'ObjFacturaDevolucion.CveMesa = -1 - ' ObjFacturaDevolucion.NumeroPersonas = 0 - ' ObjFacturaDevolucion.CveContrato = If(CveContrato > 0, CveContrato, CvePresupuesto) - ' ObjFacturaDevolucion.DescripcionContrato = If(DdlContratosModal.SelectedItem IsNot Nothing, DdlContratosModal.SelectedItem.Text, "") - ' ObjFacturaDevolucion.CveClienteSucursal = DdlSucursalCliente.SelectedValue.ToEntero() - ' ObjFacturaDevolucion.Entrega = Entrega - ' ObjFacturaDevolucion.Vigencia = TxtFechaVencimientoCotizacion.Text.ToDate - - ' ObjFacturaDevolucion.CveVentaPadre = If(CveDevolucion > 0, CveDevolucion, CvePedido) - ' ObjFacturaDevolucion.CveVendedor = -1 - ' If -1 > 0 AndAlso Not UsuarioActual.TienePermisoProceso(161) Then - ' DdlVendedor.Enabled = False - ' End If - - ' ObjFacturaDevolucion.FechaEjecucion = TxtFechaEjecucion.Text.Trim.ToDate - ' 'ObjFacturaDevolucion.CveSucursalEjecucion = DdlSucursalEjecucion.SelectedValue.ToEntero() - ' 'ObjFacturaDevolucion.CveSucursalCobranza = DdlSucursalCobranza.SelectedValue.ToEntero() - ' ObjFacturaDevolucion.CveSubProyecto = DdlSubProyectoDatos.SelectedValue.ToEntero() - ' ObjFacturaDevolucion.CveSubProyectoCobranza = DdlSubProyectoCobranza.SelectedValue.ToEntero() - ' ObjFacturaDevolucion.CveSubProyectoEjecucion = DdlSubProyectoEjecucion.SelectedValue.ToEntero() - ' ObjFacturaDevolucion.AtencionA = If(ObjFacturaDevolucion.TipoDocto = "Cot" Or (ObjFacturaDevolucion.TipoDocto.Contiene("Ing", "Rem") AndAlso LblRFC.Text = "XAXX010101000"), TxtAtencionA.Text, "-1") - ' ObjFacturaDevolucion.MotivoDescuento = TxtMotivoDescuento.Text.Trim - ' ObjFacturaDevolucion.Observaciones = TxtObsFact.Text.Trim - ' ObjFacturaDevolucion.Det_OrdenCompra = TxtDet_OrdenCompra.Text.Trim - ' ObjFacturaDevolucion.Det_FechaOrdenCompra = TxtDet_FechaOrdenCompra.Text.Trim - ' ObjFacturaDevolucion.MonedaAbreviatura = "" - - ' 'Totales, Y se llena TmpDTImpuestos - ' ObjFacturaDevolucion.SubTotal = TxtSubTotal.Text.ToDecimal - ' ObjFacturaDevolucion.Descuento = LblDescuentos.Text.Trim.ToDecimal - ' ObjFacturaDevolucion.Amortizacion = LblAmortizacion.Text.Trim.ToDecimal - ' ObjFacturaDevolucion.IVA = TxtIVA.Text.ToDecimal - ' ObjFacturaDevolucion.RetIVA = TxtRetIVA.Text.ToDecimal - ' ObjFacturaDevolucion.RetISR = TxtRetISR.Text.ToDecimal - ' ObjFacturaDevolucion.IEPS = TxtIEPS.Text.ToDecimal - ' ObjFacturaDevolucion.Total = TxtTotal.Text.ToDecimal - - ' If TmpDTImpuestos Is Nothing Then - ' CreaDTImpuestos() - ' End If - ' Dim TmpDTImpuestosVista As DataTable = TmpDTImpuestos.Clone() - - ' Dim DR As DataRow = TmpDTImpuestosVista.NewRow() - - ' If TxtSubTotal.Text.ToDecimal <> 0 Then DR("ImpuestoLocal") = "SubTotal" : DR("Importe") = TxtSubTotal.Text.ToDecimal : DR("Orden") = 10 : DR("TipoImpuesto") = "0" : TmpDTImpuestosVista.Rows.Add(DR) - ' DR = TmpDTImpuestosVista.NewRow() - ' If LblDescuentos.Text.Trim.ToDecimal <> 0 Then DR("ImpuestoLocal") = "Descuentos" : DR("Importe") = LblDescuentos.Text.Trim.ToDecimal : DR("Orden") = 20 : DR("TipoImpuesto") = "0" : TmpDTImpuestosVista.Rows.Add(DR) - ' DR = TmpDTImpuestosVista.NewRow() - ' If LblAmortizacion.Text.Trim.ToDecimal <> 0 Then DR("ImpuestoLocal") = "Amort.Ant" : DR("Importe") = LblAmortizacion.Text.Trim.ToDecimal : DR("Orden") = 30 : DR("TipoImpuesto") = "0" : TmpDTImpuestosVista.Rows.Add(DR) - ' DR = TmpDTImpuestosVista.NewRow() - ' If TxtSubTotal2.Text.ToDecimal <> TxtSubTotal.Text.ToDecimal Then DR("ImpuestoLocal") = "SubTotal 2" : DR("Importe") = TxtSubTotal2.Text.ToDecimal : DR("Orden") = 40 : DR("TipoImpuesto") = "0" : TmpDTImpuestosVista.Rows.Add(DR) - ' DR = TmpDTImpuestosVista.NewRow() - ' If TxtIVA.Text.ToDecimal <> 0 Then DR("ImpuestoLocal") = "IVA" : DR("Importe") = TxtIVA.Text.ToDecimal : DR("Orden") = 50 : DR("TipoImpuesto") = "0" : TmpDTImpuestosVista.Rows.Add(DR) - ' DR = TmpDTImpuestosVista.NewRow() - ' If TxtRetIVA.Text.ToDecimal <> 0 Then DR("ImpuestoLocal") = "Ret.IVA" : DR("Importe") = TxtRetIVA.Text.ToDecimal : DR("Orden") = 60 : DR("TipoImpuesto") = "0" : TmpDTImpuestosVista.Rows.Add(DR) - ' DR = TmpDTImpuestosVista.NewRow() - ' If TxtRetISR.Text.ToDecimal <> 0 Then DR("ImpuestoLocal") = "Ret.ISR" : DR("Importe") = TxtRetISR.Text.ToDecimal : DR("Orden") = 70 : DR("TipoImpuesto") = "0" : TmpDTImpuestosVista.Rows.Add(DR) - ' DR = TmpDTImpuestosVista.NewRow() - - - ' For Each gvr As GridViewRow In GvImpuestosLocales2.Rows - ' If gvr.RowType = DataControlRowType.DataRow Then - ' Dim Orden As Integer = 80 - ' If gvr.FCTextBox("TxtImpuestoLocalPS").Text.ToDouble > 0 Then - ' DR("ImpuestoLocal") = gvr.DataKey("ImpuestoLocal").ToString() : DR("Importe") = gvr.FCTextBox("TxtImpuestoLocalPS").Text.ToDouble : DR("Orden") = Orden : DR("Porcentaje") = gvr.DataKey("Porcentaje").ToString() : DR("TipoImpuesto") = gvr.DataKey("TipoImpuesto").ToString() : TmpDTImpuestosVista.Rows.Add(DR) - ' DR = TmpDTImpuestosVista.NewRow() - ' Orden = Orden + 1 - ' End If - ' End If - ' Next - - - ' If TxtTotal.Text.ToDecimal <> 0 Then DR("ImpuestoLocal") = "Total" : DR("Importe") = TxtTotal.Text.ToDecimal : DR("Orden") = 100 : DR("TipoImpuesto") = "0" : TmpDTImpuestosVista.Rows.Add(DR) - - ' ObjFacturaDevolucion.DtDeduccion = TmpDTImpuestosVista.FiltraParametros("", Orderby:="Orden ASC") - - - ' CreaDTImpuestosIVAIEPS() - - ' For Each DrImpuestos33 As DataRow In TmpDT.Rows - ' Dim DrIVA As DataRow = Nothing - ' Dim DrIEPS As DataRow = Nothing - - ' Try - ' DrIVA = TmpDTImpuestosIVAIEPS.Select("Impuesto = 'IVA'")(0) - ' Catch ex As Exception - ' DrIVA = Nothing - ' End Try - - ' If DrIVA IsNot Nothing Then - ' DrIVA("Importe") = DrIVA("Importe").ToString().ToDouble + DrImpuestos33("ImporteIVA").ToString().ToDouble - ' TmpDTImpuestosIVAIEPS.AcceptChanges() - ' Else - ' Dim DR2 As DataRow = TmpDTImpuestosIVAIEPS.NewRow() - ' If DrImpuestos33("PorcentajeIVA").ToString().ToDouble >= 0 Then - ' DR2("Impuesto") = "IVA" : DR2("tasa") = "16 %" : DR2("Importe") = DrImpuestos33("ImporteIVA").ToString().ToDouble : DR2("Orden") = "1" - ' TmpDTImpuestosIVAIEPS.Rows.Add(DR2) - ' TmpDTImpuestosIVAIEPS.AcceptChanges() - ' End If - ' End If - - ' Try - ' DrIEPS = TmpDTImpuestosIVAIEPS.Select($"Impuesto = 'IEPS' AND tasa = '{DrImpuestos33("PorcentajeIEPS").ToString().ToDouble * 100} %'")(0) - ' Catch ex As Exception - ' DrIEPS = Nothing - ' End Try - - ' If DrIEPS IsNot Nothing Then - ' DrIEPS("Importe") = DrIEPS("Importe").ToString().ToDouble + DrImpuestos33("ImporteIEPS").ToString().ToDouble - ' TmpDTImpuestosIVAIEPS.AcceptChanges() - ' Else - ' Dim DR2 As DataRow = TmpDTImpuestosIVAIEPS.NewRow() - ' If DrImpuestos33("PorcentajeIEPS").ToString().ToDouble > 0 Then - ' DR2("Impuesto") = "IEPS" : DR2("tasa") = String.Format("{0} {1}", DrImpuestos33("PorcentajeIEPS").ToString().ToDouble * 100, "%") : DR2("Importe") = DrImpuestos33("ImporteIEPS").ToString().ToDouble : DR2("Orden") = If(DrImpuestos33("PorcentajeIEPS").ToString() = "0.03", "2", If(DrImpuestos33("PorcentajeIEPS").ToString() = "0.06", "3", If(DrImpuestos33("PorcentajeIEPS").ToString() = "0.07", "4", If(DrImpuestos33("PorcentajeIEPS").ToString() = "0.09", "5", "")))) - ' TmpDTImpuestosIVAIEPS.Rows.Add(DR2) - ' TmpDTImpuestosIVAIEPS.AcceptChanges() - ' End If - ' End If - - ' Next - - ' ObjFacturaDevolucion.DtDesgloseImpuestos = TmpDTImpuestosIVAIEPS.FiltraParametros("", Orderby:="Orden ASC") - - ' 'otros - ' ObjFacturaDevolucion.Det_FechaOrdenCompra = TxtDet_FechaOrdenCompra.Text.Trim - ' ObjFacturaDevolucion.Det_OrdenCompra = TxtDet_OrdenCompra.Text.Trim - - ' ObjFacturaDevolucion.CveNCaVincular = DdlNCFactura.SelectedValue.ToEntero() - - ' If ObjFacturaDevolucion.CveMoneda <> 1 AndAlso ChkConvertirDoctoPesos.Checked Then - ' ObjFacturaDevolucion.TipoCambio = 1 - ' ObjFacturaDevolucion.CveMoneda = 1 - ' End If - - ' 'DETALLES - ' ObjFacturaDevolucion.DtDetalle = TmpDT - ' ObjFacturaDevolucion.DtFirmas = DTmpF - - ' 'CLIENTE - ' ObjFacturaDevolucion.CveCliente = CveCliente - ' ObjFacturaDevolucion.SetCliente() - - ' 'SUCURSAL - ' ObjFacturaDevolucion.CveSubProyecto = DdlSubProyectoDatos.SelectedValue.ToEntero() - ' ObjFacturaDevolucion.SetSubProyectoMatriz(Me) - ' ObjFacturaDevolucion.SetSubProyecto(Me) - - ' ObjFacturaDevolucion.ClienteSucursal = New Modelos.SucursalModel - ' If Me.ClienteSucursal IsNot Nothing Then - ' ObjFacturaDevolucion.ClienteSucursal.RFC = Me.ClienteSucursal.RFC - ' ObjFacturaDevolucion.ClienteSucursal.Nombre = Me.ClienteSucursal.Nombre - ' End If - ' ObjFacturaDevolucion.ClienteSucursal.NoExt = CliNoExt - ' ObjFacturaDevolucion.ClienteSucursal.NoInt = CliNoInt - ' ObjFacturaDevolucion.ClienteSucursal.Localidad = CliLocalidad - ' ObjFacturaDevolucion.ClienteSucursal.Direccion = LblDireccion.Text - ' ObjFacturaDevolucion.ClienteSucursal.Colonia = LblColonia.Text - ' ObjFacturaDevolucion.ClienteSucursal.Municipio = LblCiudad.Text - ' ObjFacturaDevolucion.ClienteSucursal.Estado = LblEstado.Text - ' ObjFacturaDevolucion.ClienteSucursal.CP = LblCP.Text - ' ObjFacturaDevolucion.ClienteSucursal.Pais = CliPais - ' ObjFacturaDevolucion.ClienteSucursal.CorreoSucursal = CliCorreoCot.ToString() - ' ObjFacturaDevolucion.ClienteSucursal.TelefonoSucursal = LblTelefono.Text - ' ObjFacturaDevolucion.ClienteSucursal.Sucursal = If(DdlSucursalCliente.SelectedValue.ToEntero() > 0, DdlSucursalCliente.SelectedItem.Text, "") - ' ObjFacturaDevolucion.ClienteSucursal.ImprimeNombreSucursal = ImprimeNombreSucursal.ToString() - - ' 'ENVIO DIRECCION - ' ObjFacturaDevolucion.EnviarA = New Modelos.EnviarAModel - ' If ChkDireccionEnvio.Checked Then - ' If TmpDTEnvioDireccion IsNot Nothing AndAlso TmpDTEnvioDireccion.FiltraParametros(String.Format("CveDireccionEnvio = {0}", DdlDireccionEnvio.SelectedValue.ToEntero())).Rows.Count > 0 Then - ' For Each Row As DataRow In TmpDTEnvioDireccion.FiltraParametros(String.Format("CveDireccionEnvio = {0}", DdlDireccionEnvio.SelectedValue.ToEntero())).Rows - ' ObjFacturaDevolucion.EnviarA.CveDireccionEnvio = Row("CveDireccionEnvio").ToString().ToEntero() - ' ObjFacturaDevolucion.EnviarA.EnvioDireccion = Row("EnvioDireccion").ToString() - ' ObjFacturaDevolucion.EnviarA.EnvioColonia = Row("EnvioColonia").ToString() - ' ObjFacturaDevolucion.EnviarA.EnvioCiudad = Row("EnvioCiudad").ToString() - ' ObjFacturaDevolucion.EnviarA.EnvioEstado = Row("EnvioEstado").ToString() - ' ObjFacturaDevolucion.EnviarA.EnvioCP = Row("EnvioCP").ToString() - ' Next - ' End If - ' End If - - ' ObjFacturaDevolucion.Timbre = PreParaTimbre(ObjFacturaDevolucion) - - ' 'ASIGNAR RFC RECEPTOR - ' If ObjFacturaDevolucion.Timbre IsNot Nothing Then - ' If ObjFacturaDevolucion.Timbre.Receptor IsNot Nothing Then - ' ObjFacturaDevolucion.RFCReceptor = ObjFacturaDevolucion.Timbre.Receptor.RFC - ' End If - ' End If - 'End Sub - Private Function PreParaTimbre(Obj As Modelos.Factura) As CFDITimbre Dim Timbre As New CFDITimbre Timbre.Comprobante.Version = "4.0" @@ -8581,7 +8181,7 @@ Partial Class VentasMedicas Next - If Not ErrorPrepoliza AndAlso ObjConta.ValidacionPrePolizaCuadre(ObjFactura.CvePrePoliza, 5, AutoConta:=AutoConta) Then + If Not ErrorPrepoliza AndAlso ObjConta.ValidacionesPrePoliza(ObjFactura.CvePrePoliza, UsuarioActual, Opcion:=5, AutoConta:=AutoConta) Then If ObjConta.ValorPolizaDescuadre > 0 Then 'ErrorPrepoliza = True GuardaLogAD($"Ventas/Ventas-ProcesoPrePolizas | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{ObjFactura.CvePrePoliza}", "LogPrePolizas") @@ -8654,7 +8254,7 @@ Partial Class VentasMedicas End If End If - If ObjConta.ValidacionPrePolizaCuadre(ObjFactura.CvePrePoliza, 2, AutoConta:=AutoConta) Then + If ObjConta.ValidacionesPrePoliza(ObjFactura.CvePrePoliza, UsuarioActual, Opcion:=2, AutoConta:=AutoConta) Then If ObjConta.ValorPolizaDescuadre > 0 Then GuardaLogAD($"Ventas/Ventas-ProcesoPrePolizas | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{ObjFactura.CvePrePoliza}", "LogPrePolizas") End If @@ -9330,7 +8930,7 @@ Partial Class VentasMedicas End If End If - If ObjConta.ValidacionPrePolizaCuadre(ObjFactura.CvePrePoliza, 2, AutoConta:=AutoConta) Then + If ObjConta.ValidacionesPrePoliza(ObjFactura.CvePrePoliza, UsuarioActual, Opcion:=2, AutoConta:=AutoConta) Then If ObjConta.ValorPolizaDescuadre > 0 Then If ObjConta.ValorPolizaDescuadre = 2 Then ErrorPrepoliza = True @@ -9355,353 +8955,7 @@ Partial Class VentasMedicas End Try End Function - 'Private Function GuardarVentaInventarios(ObjInventario As ClsInventarios, ObjVentas As ClsVentas, ObjConta As ClsContabilidad, factura As Modelos.Factura, TmpDTDetalle As DataTable) As Boolean - ' Dim OcurrioError As Boolean = False - ' Try - ' If UsuarioActual.Empresa.UsaInventarios AndAlso factura.TipoDocto.Contiene("Ing", "Egs", "Rem", "Dev") Then - - ' If RemisionesLista.Count > 0 AndAlso factura.TipoDocto.Contiene("Ing", "Rem") Then - ' For Each CveRemision As Integer In RemisionesLista - ' 'El almacen general es el Primer Almacen de Material en la Sucursal - ' If Not TraspasoAlmacen(ObjInventario, ObjVentas, CveRemision, ObjConta, True, 9, TmpDTDetalle) Then - ' OcurrioError = True - ' ErrorList.Add("Ocurrió un error al verificar inventario de remisiones.
Revise su factura y cualquier detalle comuníquese a Soporte Técnico") - ' ModExtensiones.GuardaLog("Ocurrió un error al verificar inventario de remisiones.Revise su factura y cualquier detalle comuníquese a Soporte Técnico") - ' Exit For - ' End If - ' Next - ' End If - - ' 'EN ECONOLLANTAS DEBE REALIZAR SIEMPRE LA SALIDA DE ALMACEN - ' If UsuarioActual.Empresa.Funcionalidad(558) = "1" AndAlso UsuarioActual.Empresa.Funcionalidad(567) = "1" AndAlso factura.TipoDocto.Contiene("Ing", "Egs", "Rem") Then - ' For Each GvRow As GridViewRow In GvInv.Rows - ' If GvRow.RowType = DataControlRowType.DataRow Then - ' GvRow.FCCheckBox("cbInv").Checked = True - ' End If - ' Next - ' End If - - ' If UsuarioActual.Empresa.Funcionalidad(567) = "1" AndAlso factura.TipoDocto.Contiene("Ing", "Dev") AndAlso DivAlmacen.Visible AndAlso GvInv.Rows.Cast(Of GridViewRow)().Count(Function(gvr) gvr.FCCheckBox("cbInv").Checked) > 0 Then - - ' Dim Filtro As String = "" - ' Select Case factura.TipoDocto - ' Case "Ing" - ' Filtro = "CveConcepto IN (3,40)" - ' Case "Dev" - ' Filtro = "CveConcepto IN (3,40)" - ' End Select - - ' Dim CveConceptoAlmacen As Integer = 3 - ' If factura.TipoDocto = "Dev" Then - ' CveConceptoAlmacen = 18 - ' End If - - ' Dim CveAlmacen As Integer = -1 'ddlAlmacen.SelectedValue.ToEntero() - - ' If CveAlmacen <= 0 Then - ' OcurrioError = True - ' ErrorList.Add("Ocurrió un error al agregar los Movimientos de salida al Inventario.
No ha seleccionado ningun almacen o no tiene permiso para el almacen de esta sucursal.") - ' End If - - ' Dim CveMovimientoInventario As Integer = ObjInventario.AddMovimiento(CveAlmacen, CveConceptoAlmacen, factura.CveMoneda, factura.Fecha, -1, factura.CveUsuario, factura.CveEmpresa, -1, factura.CveVenta, -1, -1, Modulo:="Vta/E1") - - ' If CveMovimientoInventario <= 0 Then - ' OcurrioError = True - ' ErrorList.Add("Ocurrió un error al agregar los Movimientos de salida al Inventario.
Revise su factura y cualquier detalle comuníquese a Soporte Técnico") - ' Else - ' Dim Mensaje As String = "" - ' Dim i As Integer = 0 - ' Dim Cantidad As Decimal - ' Dim CveUnidad As Integer - ' Dim CveProducto As Integer - ' Dim Existencia As Double - ' Dim PU As Decimal = 0 - - ' Dim DtEquivalencias As DataTable - - ' For Each Dr As DataRow In DtInv.Rows - ' If GvInv.Rows(i).FCCheckBox("cbInv").Checked Then - - ' CveProducto = Dr("CvePS").ToString().ToEntero() - ' CveUnidad = Dr("CveUM").ToString().ToEntero() - ' Cantidad = Dr("Cantidad").ToString().ToDecimal - ' Dim AplicaSeccion As Boolean = CBool(GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CveProducto).FiltroPrimeroValor("AplicaSeccion")) - - ' If Dr("CveTipoInvPS").ToString().ToEntero() = 5 And Dr("Serie").ToString() = "" Then - ' OcurrioError = True - ' ErrorList.Add("Se deben especificar las Series de los productos de almacén") - ' Exit For - ' End If - - ' If CveConceptoAlmacen = 3 AndAlso UsuarioActual.CveEmpresa.Contiene({72, 80, 119, 140}) AndAlso DdlTipoComprobante.SelectedValue.Contiene("Rem", "Ing") AndAlso Dr("EntregaDirecta").ToString().ToEntero() < 1 Then - ' Existencia = ObjInventario.GetExistenciasPS(CveProducto, CveUnidad, UsuarioActual.CveEmpresa, CveAlmacen, FechaMovto:=DateTime.Today.AddDays(1).ToString("yyyy/MM/dd HH:mm"), CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero(), CveVendedor:=-1 , CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeAdelantado:=1, RestringirAlmacenes:=1, ExcluyeApartados:=1) - ' If Existencia < Cantidad Then - ' OcurrioError = True - ' ErrorList.Add($"No cuenta con la cantidad suficiente en inventario del producto {Dr("CodigoPS")} .Cuenta con {Existencia.FormatoNumero(2)}.") - ' Exit For - ' End If - ' End If - - ' If UsuarioActual.CveEmpresa = 1 Then - ' DtEquivalencias = New DataTable - ' DtEquivalencias = GlobalDTProductosServiciosEquivalencias(CveProducto, -1, UsuarioActual.CveEmpresa) - ' Dim CveUnidadBase As Integer = DtEquivalencias.FiltroPrimeroValor("CveUM", "UnidadBase = 'True'").ToEntero() - ' Dim drUMBase As DataRow = DtEquivalencias.FiltroPrimero("UnidadBase = 'True'") - - ' 'SI LA UNIDAD ACTUAL NO ES LA BASE SACA PROPORCION (EQUIVALENTE) - ' If CveUnidadBase <> CveUnidad Then - ' ' LO QUE PUSE LO QUE VALE UNIDAD BASE LO QUE VALE UNIDAD SELECCIONADA - ' Cantidad = Dr("Cantidad").ToString().ToDecimal * drUMBase("Cantidad").ToString().ToDecimal / DtEquivalencias.FiltraParametros(String.Format("CveUM = {0}", CveUnidad)).Rows(0)("Cantidad").ToString().ToDecimal - ' CveUnidad = CveUnidadBase - ' End If - ' End If - - ' If CveProducto > 0 Then - ' 'SI ES ENTRADA DEBE TENER EL COSTO DE LA SALIDA - ' If CveConceptoAlmacen.Contiene(18) Then - ' Dim DtExistencias As DataTable = Nothing - ' If ObjInventario.GetInv_Mov(Me.CveVentaDevolucion, UsuarioActual.CveEmpresa) Then - ' DtExistencias = ObjInventario.DtResultados.FiltraParametros($"CvePS Is Not NULL AND {Filtro}") - ' End If - - ' PU = DtExistencias.FiltroPrimeroValor("PU", $"CvePS = {Dr("CvePS")} AND CveUM = {Dr("CveUM").ToString().ToEntero()}").ToString().ToDecimal - ' If PU <= 0 Then - ' ErrorList.Add("Ocurrió un error al obtener el costo.
") - ' OcurrioError = True - ' Exit For - ' End If - ' End If - ' Dim CveSeccionAlmacen As Integer = -3 - ' 'If AplicaSeccion Then CveSeccionAlmacen = GlobalDTInvPSSeccionesAlmacen(UsuarioActual.CveEmpresa, CveAlmacen, CveProducto).FiltroPrimeroValor("CveSeccionAlmacen", "").ToEntero - - ' If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, Cantidad, CveUnidad, CveProducto, PU, -1, Serie:=Dr("Serie").ToString(), CveSeccionAlmacen:=CveSeccionAlmacen, CveVentaDetalle:=Dr("CveVentaDetalle").ToString().ToEntero()) Then - ' OcurrioError = True - ' ErrorList.Add("Ocurrió un error al agregar los Movimientos de salida al Inventario.
") - ' Exit For - ' End If - ' Else - ' OcurrioError = True - ' ErrorList.Add("Ocurrió un error al agregar los Movimientos de salida al Inventario.
") - ' Exit For - ' End If - - ' End If - ' PU = 0 - ' i = i + 1 - ' Next - - ' 'REGISTRO LA PREPOLIZA DE COSTO VS ALMACEN - ' If Not OcurrioError Then - ' Dim DtCostos As DataTable = Nothing - ' Dim ValorInventario As Decimal = 0 - ' Dim TotalCosto As Decimal = 0 - - ' Dim TipoMovto68 As Boolean = True - ' Dim TipoMovto69 As Boolean = False - - ' If CveConceptoAlmacen.Contiene(18) Then - ' TipoMovto68 = False - ' TipoMovto69 = True - ' End If - - ' If ObjInventario.GetMovimientosDetalle(CveMovimientoInventario, UsuarioActual.CveEmpresa) Then - ' DtCostos = ObjInventario.DtResultados - ' TotalCosto = DtCostos.SUMD("Total").RoundSQL - ' Dim tmpCostos As DataTable = DtCostos.FiltraParametros("", "", {"CveClasificacion"}) - ' If tmpCostos.Rows.Count > 0 Then - ' Dim TotalCostoAcumulado As Decimal = 0 - ' Dim cont As Integer = 1 - ' 'Se agrega movimiento separado por la cuenta de ventas (ER) - ' For Each RowInv As DataRow In tmpCostos.Rows - ' ValorInventario = DtCostos.SUMD("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").RoundSQL - ' TotalCostoAcumulado += ValorInventario - - ' 'cuando es el último movimiento y hay diferencias en los importes - ' If cont = tmpCostos.Rows.Count AndAlso TotalCosto <> TotalCostoAcumulado Then - ' ValorInventario = ValorInventario + (TotalCosto - TotalCostoAcumulado) - ' End If - - ' If Not ObjConta.AddPrePolizasDetalle(factura.CvePrePoliza, TipoMovto69, ValorInventario, ValorInventario, 69, factura.SerieFolio, factura.SerieFolio, CveVenta:=factura.CveVenta, CveCliente:=factura.CveCliente, CveSubProyecto:=factura.CveSubProyecto, CveClasificacion:=RowInv("CveClasificacion").ToString().ToEntero(), CveMovimientoAlmacen:=CveMovimientoInventario) Then - ' OcurrioError = True - ' End If - - ' cont += 1 - ' Next - ' End If - ' 'If TotalCosto <> 0 Then - ' If Not ObjConta.AddPrePolizasDetalle(factura.CvePrePoliza, TipoMovto68, TotalCosto, TotalCosto, 68, factura.SerieFolio, factura.SerieFolio, CveVenta:=factura.CveVenta, CveCliente:=factura.CveCliente, CveMovimientoAlmacen:=CveMovimientoInventario, CveSubProyecto:=factura.CveSubProyecto) Then - ' OcurrioError = True - ' ErrorList.Add("Ocurrió un error al guardar movimiento de almacen.
Revise su factura y cualquier detalle comuníquese a Soporte Técnico") - ' End If - - ' 'E119, verifica si la salida está con ps de importación para que se guarde el pedimento - ' If UsuarioActual.CveEmpresa = 119 AndAlso factura.TipoDocto.Contiene("Ing") Then - - ' 'If ObjInventario.GetVentasPedimento(CveVenta, UsuarioActual.CveEmpresa) Then - ' ' Dim dttped As DataTable = ObjInventario.DtResultados - - ' ' For Each drt As DataRow In dttped.FiltraParametros("NumeroPedimento <> ''").Rows - - ' ' ObjVentas.UpdateVentasDetalleNumeroPedimento(factura.CveVenta, drt("CveVentaDetalle").ToString.ToEntero, drt("NumeroPedimento").ToString) - ' ' Next - ' 'End If - ' End If - ' Else - ' OcurrioError = True - ' ErrorList.Add("Ocurrió un error al consultar los movimientos de almacen.
Revise su factura y cualquier detalle comuníquese a Soporte Técnico") - ' End If - ' factura.Inv_CveMovimiento = CveMovimientoInventario - ' factura.Inv_ValorInventario = ValorInventario - ' End If - - ' End If - - ' 'DEBE GENERAR MOVIMIENTO SI SE FACTURARON PRODUCTOS, O NO SE REALIZA UNA REFACTURACION - ' Dim DebeGenerarMovimiento As Boolean = TmpDT.COUNT("CvePS", "CveTipoPS = 2") > 0 AndAlso (NuevaFactura <> 1) - ' 'VERIFICA QUE SE REALIZO EL MOVIMIENTO DE ALMACEN - ' If Not OcurrioError AndAlso DebeGenerarMovimiento AndAlso UsuarioActual.Empresa.Funcionalidad(558) = "1" AndAlso UsuarioActual.Empresa.Funcionalidad(567) = "1" AndAlso factura.TipoDocto.Contiene("Ing", "Rem") Then - ' If Not (ObjInventario.GetInv_Mov(factura.CveVenta, UsuarioActual.CveEmpresa) AndAlso ObjInventario.DtResultados.Rows.Count > 0) Then - ' OcurrioError = True - ' ErrorList.Add("Ocurrió un error al verificar inventario.
Revise su factura y cualquier detalle comuníquese a Soporte Técnico") - ' End If - ' End If - - ' End If - - ' 'If UsuarioActual.Empresa.Funcionalidad(567) = "1" AndAlso factura.TipoDocto.Contiene("Rem") AndAlso DivAlmacen.Visible AndAlso GvInv.Rows.Cast(Of GridViewRow)().Count(Function(gvr) gvr.FCCheckBox("cbInv").Checked) > 0 Then - - ' ' Dim DebeGenerarMovimiento As Boolean = TmpDTDetalle.COUNT("CvePS", "CveTipoPS = 2") > 0 - - ' ' If DebeGenerarMovimiento Then - - ' ' Dim CveAlmacenSalida As Integer = -1 ddlAlmacen.SelectedValue.ToEntero() - ' ' Dim CveAlmacenExA As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveTipoAlmacen:=10).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={DdlSubProyectoDatos.SelectedValue}").ToEntero() - - ' ' Dim CveRemision As Integer = factura.CveVenta - ' ' Dim CveMoneda As Integer = DdlMoneda.SelectedValue.ToEntero() - - ' ' Dim DtProductos As DataTable = TmpDTDetalle.FiltraParametros("CveTipoPS = 2") - - ' ' Dim MovDetalle As DataTable = New DataTable() - ' ' MovDetalle.Columns.Add(New DataColumn("Cantidad", GetType(Decimal))) - ' ' MovDetalle.Columns.Add(New DataColumn("CveUM", GetType(Integer))) - ' ' MovDetalle.Columns.Add(New DataColumn("CvePS", GetType(Integer))) - ' ' MovDetalle.Columns.Add(New DataColumn("PU", GetType(Decimal))) - ' ' MovDetalle.Columns.Add(New DataColumn("Serie", GetType(String))) - ' ' MovDetalle.Columns.Add(New DataColumn("Lote", GetType(String))) - ' ' MovDetalle.Columns.Add(New DataColumn("FechaCaducidad", GetType(DateTime))) - ' ' MovDetalle.Columns.Add(New DataColumn("CveVentaDetalle", GetType(Integer))) - - ' ' For Each RowPS As DataRow In DtProductos.Rows - ' ' Dim RowInv As DataRow = MovDetalle.NewRow - - ' ' RowInv("Cantidad") = RowPS("Cantidad").ToString().ToDecimal() - ' ' RowInv("CveUM") = RowPS("CveUM").ToString().ToEntero() - ' ' RowInv("CvePS") = RowPS("CvePS").ToString().ToEntero() - ' ' RowInv("PU") = 0 - ' ' RowInv("Serie") = "" - ' ' RowInv("Lote") = "" - ' ' RowInv("FechaCaducidad") = MinFecha - ' ' RowInv("CveVentaDetalle") = RowPS("CveVentaDetalle").ToString().ToEntero() - - ' ' MovDetalle.Rows.Add(RowInv) - ' ' Next - - ' ' 'Le damos salida de apartado por traspaso - ' ' Dim CveMovimientoSalidaPorTraspaso As Integer = GenerarMovimientoAlmacen(ObjInventario, MovDetalle, CveAlmacenSalida, 8, CveMoneda, CveRemision, AplicaMovimientoDetalleEntrada:=False, ObjConta:=ObjConta, CveAlmacenDestino:=CveAlmacenExA, MovimientoPrePoliza:=False) - - ' ' If Not CveMovimientoSalidaPorTraspaso > 0 Then - ' ' OcurrioError = True - ' ' End If - - ' ' Dim CveMovimientoEntrada As Integer = -1 - - ' ' Dim TotalPrePoliza As Decimal = 0 - - ' ' 'Le damos entrada al general por traspaso - ' ' If Not OcurrioError Then - - ' ' If ObjInventario.GetMovimientosDetalle(CveMovimientoSalidaPorTraspaso, UsuarioActual.CveEmpresa) Then - ' ' MovDetalle = ObjInventario.DtResultados.Copy() - ' ' TotalPrePoliza = MovDetalle.SUMD("Total").RoundSQL(2) - ' ' End If - - ' ' If Not OcurrioError Then - ' ' CveMovimientoEntrada = GenerarMovimientoAlmacen(ObjInventario, MovDetalle, CveAlmacenExA, 9, CveMoneda, CveRemision, CveMovimientoRelacionado:=CveMovimientoSalidaPorTraspaso, AplicaMovimientoDetalleEntrada:=False, ObjConta:=ObjConta, MovimientoPrePoliza:=False) - - ' ' If CveMovimientoEntrada <= 0 Then - ' ' OcurrioError = True - ' ' End If - ' ' End If - - ' ' End If - - ' ' 'VERIFICA QUE SE REALIZO EL MOVIMIENTO DE ALMACEN - ' ' If Not OcurrioError Then - ' ' If Not (ObjInventario.GetInv_Mov(factura.CveVenta, UsuarioActual.CveEmpresa) AndAlso ObjInventario.DtResultados.Rows.Count > 0) Then - ' ' OcurrioError = True - ' ' ErrorList.Add("Ocurrió un error al verificar inventario.
Revise su factura y cualquier detalle comuníquese a Soporte Técnico") - ' ' End If - ' ' End If - - ' ' If Not OcurrioError Then - ' ' If ContabilizaMovimientoAlmacen(ObjConta, NowADS(), ObjFactura.SerieFolio, "Ventas/Rem", CveMovimientoSalidaPorTraspaso, CveMovimientoEntrada, TotalPrePoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False) <= 0 Then - ' ' OcurrioError = True - ' ' End If - ' ' End If - - ' ' End If - - ' 'End If - - ' End If - - ' Catch ex As Exception - ' OcurrioError = True - ' OnError("Ocurrió un error al guardar el inventario", ex) - ' End Try - - ' Return OcurrioError - 'End Function - 'Private Sub GuardarVentaEstimaciones(ObjContr As ClsContratos, factura As Modelos.Factura) - ' Dim Str As New StringBuilder - ' For Each gvr As GridViewRow In GvEst.Rows - ' If gvr.FCCheckBox("Chk").Checked Then - ' Str.AppendFormat("{0},", gvr.DataKey("CveContratoAvance")) - ' End If - ' Next - ' 'debe de ser por contrato el movimiento - ' If Str.Length > 0 Then - ' If Not ObjContr.AddEstimaciones(CveContrato, factura.Fecha, -1, factura.CveVenta, Str.ToString(), factura.CveUsuario, factura.CveEmpresa) Then - ' ErrorList.Add("Ocurrió un error al agregar la estimación a la Factura.
Revise su factura y cualquier detalle comuníquese a Soporte Técnico") - ' End If - ' End If - 'End Sub - 'Private Sub GuardarVentaAC(ObjVentas As ClsVentas, factura As Modelos.Factura, Msgok As StringBuilder) - ' If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso UsuarioActual.Empresa.UsaAC Then - - ' If factura.TipoDocto.Contiene("Ing", "Egs", "OP", "Com") Then - - ' Dim IDPoliza As Modelos.RetornoPolizaConta = GenerarPolizaAC(ObjAC, factura) - - ' If IDPoliza.IdPoliza > 0 Then - - ' If ObjVentas.UpdateVentaPrePoliza(IDPoliza.IdPoliza, IDPoliza.FolioPoliza, factura.CvePrePoliza, factura.CveVenta, factura.CveEmpresa) Then - - ' 'Si se facturó la cotización hay que vincular la venta - ' Msgok.AppendFormat("Abono Registrado Correctamente.

Ver Poliza", IDPoliza) - ' End If - ' Else - ' ErrorList.Add("Ocurrió un error al generar A.C. en la Factura.
Revise su factura y cualquier detalle comuníquese a Soporte Técnico") - ' End If - - ' Else - ' Msgok.Append("Movimiento Registrado Correctamente.

") - ' End If - - ' End If - 'End Sub Private Function GuardarVentaImpuestosLocales(ObjVentas As ClsVentas, ObjConta As ClsContabilidad, Factura As Modelos.Factura, Optional ValorMultiplicador As Integer = 1) As Boolean Dim ErrorPrepoliza As Boolean = False @@ -12772,42 +12026,7 @@ Partial Class VentasMedicas #Region "Metodos Viejos" - Private Sub GeneraPDF(FechaFactura As DateTime, FolioFiscal As String, NoSerieCertificado As String, FechaCertificacion As DateTime, NoSerieCertificadoContribuyente As String, - DTConceptos As DataTable, SelloCFDi As String, SelloSAT As String, CBB As String, Folio As String, RutaXML As String, EsVistaPrevia As Boolean, MuestraAlert As Boolean, Optional MR As ReportViewer = Nothing) - Alert("No se pudo generar el PDF", TipoMensaje.MsgError) - - End Sub - Private Sub GeneraPDFCBB(FechaFactura As DateTime, DTConceptos As DataTable, Folio As String, EsVistaPrevia As Boolean) - - End Sub - Private Sub GeneraPDFCot(FechaCotizacion As DateTime, DTConceptos As DataTable, Folio As String, EsVistaPrevia As Boolean, GeneraDescarga As Boolean) - - End Sub - - 'Private Sub RblComplementos_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RblComplementos.SelectedIndexChanged - ' If RblComplementos.SelectedValue.Contiene("5", "6") Then 'Directivo/Ejecutivo Estatal - ' trEntidad.Visible = True - ' trContaComplementos.Visible = True - ' trAmbito.Visible = False - ' trTipoCampaña.Visible = False - - ' ElseIf RblComplementos.SelectedValue = "7" Then 'Ejecutivo Nacional - ' trEntidad.Visible = False - ' trContaComplementos.Visible = True - ' trAmbito.Visible = False - ' trTipoCampaña.Visible = False - - ' ElseIf RblComplementos.SelectedValue = "8" Then 'Campaña/PreCampaña - ' trEntidad.Visible = True - ' trContaComplementos.Visible = True - ' trAmbito.Visible = True - ' trTipoCampaña.Visible = True - - ' End If - - ' UpDatosComplementos.Update() - 'End Sub Private Sub GvPS_RowCommand(sender As Object, e As GridViewCommandEventArgs) Handles GvPS.RowCommand If e.CommandName = "Clonar" Then Dim RowNum As Integer = Convert.ToInt32(e.CommandArgument) @@ -12849,9 +12068,6 @@ Partial Class VentasMedicas #End Region - - - #Region "DESCARGAR E IMPRIMIR LISTADO" Public Sub DescargarFormato() Dim Directorio As String = ModExtensiones.DirectorioBaseEmpresas & "Empresas\Grales\Formatos\FormatoVentas.xlsx" @@ -13049,684 +12265,6 @@ Partial Class VentasMedicas 'End Function #End Region -#Region "P E D I D O S" - Private Sub CargaNotificacionContrato() - Dim ObjContratos As New ClsContratos - If ObjContratos.GetContratos(CveContrato, UsuarioActual.CveEmpresa) Then - If ObjContratos.DtResultados IsNot Nothing AndAlso ObjContratos.DtResultados.Rows.Count > 0 Then - CorreoNotificacionPedDev = ObjContratos.DtResultados(0)("CorreoNotificacionPedDev").ToString() - End If - End If - ObjContratos.Dispose() - End Sub - Private Sub EnviarCorreoDevPed() - Try - Dim Body As String = GeneraCorreoDevPed() - Dim Asunto As String = $"SIG - Favor de surtir el siguiente {DdlTipoComprobante.SelectedItem.Text}" - Dim Hilo As New System.Threading.Thread(Sub() MandaCorreoDevPed(CorreoNotificacionPedDev, Asunto, Body)) - Hilo.Start() - Catch ex As Exception - OnError($"Ocurrió error al mandar el correo de solicitud de {DdlTipoComprobante.SelectedItem.Text}", ex) - End Try - End Sub - Private Sub MandaCorreoDevPed(Para As String, Asunto As String, Body As String) - Dim Mail As New ClsSisMail() - Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Body) - End Sub - Private Function GeneraCorreoDevPed() As String - Dim strBody As New StringBuilder - - strBody.Append(" ") - strBody.Append(" ") - strBody.Append(" ") - strBody.Append(" ") - strBody.Append(" ") - strBody.AppendFormat("
Favor de surtir el siguiente {0}

", DdlTipoComprobante.SelectedItem.Text) - strBody.AppendFormat("
Datos de {0} ", DdlTipoComprobante.SelectedItem.Text) - strBody.Append(" ") - strBody.Append(" ") - strBody.AppendFormat(" ", ObjFactura.SerieFolio) - strBody.Append(" ") - strBody.Append(" ") - strBody.AppendFormat(" ", UsuarioActual.Empresa.Empresa) - strBody.Append(" ") - strBody.Append(" ") - strBody.AppendFormat(" ", LblCliente.Text) - strBody.Append(" ") - strBody.Append(" ") - strBody.AppendFormat(" ", DdlSubProyectoDatos.SelectedItem.Text) - strBody.Append(" ") - strBody.Append(" ") - strBody.AppendFormat(" ", NowADS.ToString("dd/MM/yyyy")) - strBody.Append(" ") - strBody.Append("
Serie-Folio:{0}
Empresa:{0}
Cliente:{0}
Sucursal:{0}
Fecha:{0}
") - strBody.Append("
") - strBody.Append("
") - 'Cargo el detalle - - strBody.Append("
") - strBody.Append("
") - strBody.Append(" Productos/Servicios ") - strBody.Append(" ") - strBody.Append(" ") - - For Each dr As DataRow In TmpDT.Rows - strBody.AppendFormat("", - dr("Cantidad").ToString().FormatoNumero(), dr("UM").ToString(), dr("PS").ToString(), dr("Obs").ToString(), dr("SubProyecto").ToString(), dr("PU").ToString().FormatoNumero()) - - Next - - strBody.Append("
CantidadUnidadProducto/ServicioNo. SerieProyectoPrecio
{0}{1}{2}{3}{4}{5}
") - strBody.Append("
") - strBody.Append("
") - strBody.Append("") - - - Return strBody.ToString() - End Function -#End Region - -#Region " CANCELAR PEDIDO " - Protected Sub LBCancelarPedido_Click(sender As Object, e As EventArgs) - Dim ObjVentas As New ClsVentas - - If ObjVentas.CancelarPedido(CveVenta, UsuarioActual.CveEmpresa) Then - Alert("El pedido se canceló correctamente.", TipoMensaje.MsgInformacion) - - 'DdlEstatus.Items.Clear() - 'DdlEstatus.Items.Insert(0, New ListItem(GlobalDTEstatusFactura.FiltroPrimeroValor("EstatusFactura", "CveEstatusFactura = 14"), "14")) - 'DdlEstatus.SelectedValue = "14" - 'DdlEstatus.DataBind() - 'DdlEstatus.Enabled = False - CveEstatus = 14 - UpEstatus.Update() - - End If - ObjVentas.Dispose() - End Sub - -#End Region - -#Region "D E V O L U C I O N D E P E D I D O " - Private Sub CargaFacturaDevolucionPedido() - Dim CveVenta As Integer = Me.CveVenta - Dim MovInv As Integer = ViewState("MovInv").ToString().ToEntero() - - Dim ObjVentas As New ClsVentas() - Dim ObjInventarios As New ClsInventarios - - If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa, VerificaAlmacen:=False) Then - If ObjVentas.DtResultados IsNot Nothing AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then - Dim DbRowVenta As DataRow = ObjVentas.DtResultados.Rows(0) - - 'CargaCliente - Dim CveCliente As Integer = DbRowVenta("CveCliente").ToString().ToEntero() - If UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario = 77 AndAlso Not CveCliente.Contiene(10450, 10460, 10458) Then - Exit Sub - ElseIf UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario = 21 AndAlso Not CveCliente.Contiene(27448) Then - Exit Sub - End If - - HdnCveCliente.Value = CveCliente.ToString() - ViewState("CveCliente") = CveCliente - CargaCliente(CveCliente, -1) 'Estatus activo, se requiere para cargar una factura en la que el cliente a sido eliminado - CveContrato = DbRowVenta("CveContrato").ToString().ToEntero() - TxtObsFact.Text = DbRowVenta("Observaciones").ToString() - HdnIVAOriginal.Value = TxtIVA.Text - TxtOrdenCompra.Text = DbRowVenta("OrdenCompra").ToString() - TxtOrdenCompra.Enabled = False - DdlSucursalCliente.SelectedValueExist(DbRowVenta("CveClienteSucursal").ToString()) - DdlSubProyectoDatos.SelectedValueExist(DbRowVenta("CveSubProyecto").ToString()) - CargaClienteSucursal(DbRowVenta("CveClienteSucursal").ToString().ToEntero()) - DdlMetodoPago33.SelectedIndex = 1 - DdlFormaPago33.SelectedIndex = 1 - DdlUsoCFDI.SelectedIndex = 1 - - RequiereAlmacenDestino = True - - - - If ObjInventarios.GetMovimientosDetalle(MovInv, UsuarioActual.CveEmpresa) AndAlso ObjInventarios.DtResultados.Rows.Count > 0 Then - Dim Cons As Integer = 1 - TmpDT.Clear() - - Dim Cantidad As Decimal = 0, PU As Decimal = 0, Descuento As Decimal = 0 - Dim Filtro As String = "" - If ViewState("CveMovimientoDetalle").ToString().ToEntero() > 0 Then - Filtro = $"AND CveMovimientoDetalle = {ViewState("CveMovimientoDetalle").ToString().ToEntero()}" - End If - For Each dr As DataRow In ObjInventarios.DtResultados.FiltraParametros($"ExistenciaPedido > 0 {Filtro}").Rows - AgregarProductoServicio(dr("Cantidad").ToString().ToDecimal, dr("CveUM").ToString().ToEntero(), dr("UnidadMedida").ToString(), dr("CveClasificacion").ToString().ToEntero(), dr("Clasificacion").ToString(), - dr("CvePS").ToString().ToEntero(), dr("PS").ToString(), dr("Serie").ToString(), dr("PU").ToString().ToDecimal, 0.0D, - dr("CveProyecto").ToString().ToEntero(), dr("Proyecto").ToString(), dr("CveSubProyecto").ToString().ToEntero(), dr("SubProyecto").ToString(), - CveMovimientoDetallePedido:=dr("CveMovimientoDetalle").ToString().ToEntero()) - Next - CalculaTotalesVenta() - End If - - - 'Ocultamos los botones Editar, Clonar y Ordenar - GvPS.Columns(17).Visible = False - GvPS.Columns(19).Visible = False - GvPS.Columns(20).Visible = False - - DdlTipoComprobante.Enabled = False - 'DdlSucursal.Enabled = False - DdlSubProyectoDatos.Enabled = False - BtnBuscarCliente.Enabled = False - 'TxtDocto.Enabled = False - - 'DESACTIVA CAMBIO DE CLIENTE - HlCliente.Attributes.Remove("class") - HlCliente.Attributes.Add("class", "Texto disabled") - TxtCodigo.ReadOnly = True - - TxtCantidad.Enabled = False - DdlClasificacion.Enabled = False - DdlPS.Enabled = False - TxtObsPS.Enabled = False - 'DdlProyecto.Enabled = False - 'DdlSubProyecto.Enabled = False - TxtPrecio.Enabled = False - ' ImgDescPU.Attributes.Clear() - ImgDescTotal.Attributes.Clear() - 'ImgDescConcepto.Attributes.Clear() - LbAgregar.Enabled = False - divcondicionespago.Visible = False - - BtnEmitirImprimir.Text = "Guardar" - BtnEmitirImprimir.Visible = True - UpFacturar.Update() - End If - End If - ObjVentas.Dispose() - ObjInventarios.Dispose() - - UpFacturar.Update() - UpPS.Update() - UpCliente.Update() - UpEstatus.Update() - End Sub -#End Region - - - - - - -#Region " ENVIAR SMS - CONFIRMACION DE TIMBRADO " - Private Function EnviarSMSTimbrado(ByRef ObjEventos As ClsOIEventos) As Integer - 'NOTA: - '0 = NO APLICA - '1 = TODO FINO - '2 = ERROR - '3 = SIN CELULAR - PROBLEMA CON EL CELULAR - Try - Dim Mensaje As String = UsuarioActual.Empresa.Funcionalidad(152) - If Mensaje = "" Then Return 0 - - Dim Celular As String = "" - - Try - Celular = ObjFactura.Cliente.CobranzaTelefono - Catch ex As Exception - - End Try - - If Celular.Length <> 10 Then Return 3 - - 'ARMA MENSAJE - '4: VSH Monitoreo aviso de: Factura pendiente {SerieFolio} del {Fecha} por ${Importe} fecha limite de pago {FechaPago} Bancomer 0171426931-{ClienteNombreCorto} - Mensaje = Mensaje.Replace("{SerieFolio}", ObjFactura.SerieFolio) - Mensaje = Mensaje.Replace("{Fecha}", ObjFactura.Fecha.ToString("dd-MMM-yyyy").Replace(".", "")) - Mensaje = Mensaje.Replace("{Importe}", ObjFactura.Total.FormatoNumero) - Mensaje = Mensaje.Replace("{FechaPago}", ObjFactura.FechaPago.ToString("dd-MMM-yyyy").Replace(".", "")) - Mensaje = Mensaje.Replace("{ClienteNombreCorto}", ObjFactura.Cliente.NombreCorto) - If Mensaje = "" Then Return 2 - - Dim ObjMensaje As New ClsTecnoMovil - If ObjMensaje.EnviarMensajeWS(Celular, Mensaje) Then - If ObjEventos.AddEventoBitacora($"Notificación al cliente via SMS. Mensaje: {Mensaje}", "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCliente:=ObjFactura.CveCliente, CveVenta:=ObjFactura.CveVenta) Then - End If - Return 1 - Else - Return 2 - End If - Catch ex As Exception - OnError("Ocurrió un error al generar el SMS", ex) - Return 0 - End Try - - End Function -#End Region - - - -#Region " SALDAR VENTA " - Protected Sub BtnSaldarVenta_Click(sender As Object, e As EventArgs) - SaldarVenta() - End Sub - Private Sub SaldarVenta() - 'Dim ObjVenta As New ClsVentas - - 'If ObjVenta.VentasSaldar(CveVenta, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 0, -1, -1, TxtFechaSaldarVenta.Text.ToDate) Then - ' Alert("Documento Saldado") - 'End If - - 'ObjVenta.Dispose() - - 'RegistraScript("$('#ModalSaldarVenta').modal('hide')", "ModalSaldarVentaHidde") - - - - Dim ObjConta As New ClsContabilidad - ObjConta.IniciaTransacSQL() - Dim CvePrePoliza As Integer = 0 - Dim MsgError As String = "" - - 'Dim ObjIE As New ClsBancos - Dim FechaUltimaFluctuacion As Date = MinFecha - Dim TipoCambioFluctuacion As Decimal = 1 - - Dim tFecha As Date = NowADS() - Dim UltimaFluctuacion As MTipoCambioFluctuacion = GlobalTipoCambioUltimaFluctuacion(tFecha) - - If UsuarioActual.Empresa.Funcionalidad(703) = "1" AndAlso UltimaFluctuacion IsNot Nothing Then - If UltimaFluctuacion.FechaFluctuacion <= tFecha Then - FechaUltimaFluctuacion = UltimaFluctuacion.FechaFluctuacion - TipoCambioFluctuacion = UltimaFluctuacion.TCFluctuacion - End If - End If - 'If ObjIE.GetFluctuacionesBitacora(UsuarioActual.CveEmpresa) Then - ' If ObjIE.DtResultados.Rows.Count > 0 Then - ' Dim tFecha As Date = TxtFechaSaldarVenta.Text.ToDate - ' Dim Fecha As String = String.Format("{0}/{1}/{2}", tFecha.Year, tFecha.Month, tFecha.Day) - ' Dim drr As DataRow = ObjIE.DtResultados.FiltroPrimero("Fecha < #" & Fecha & "#", "Fecha DESC") - - ' If drr IsNot Nothing Then - ' FechaUltimaFluctuacion = drr("Fecha").ToString().ToDate - ' TipoCambioFluctuacion = drr("TipoCambio").ToString().ToDecimal - ' End If - - ' End If - 'End If - - ' ObjIE.Dispose() - Dim Total As Decimal = 0 - Dim Saldo As Decimal = 0 - Dim SubTotal As Decimal - Dim IVA As Decimal - Dim IEPS As Decimal - Dim Descuentos As Decimal - Dim TCVenta As Decimal - Dim FechaVenta As Date - Dim FechaPago As Date = NowADS() - Dim tCveMoneda As Integer - Dim PorcentajePago As Decimal - Dim SerieFolio As String = "" - Dim CveSubProyecto As Integer - Dim CveClasificacion As Integer - Dim PorcentajeImpuesto As Decimal = 0 - - ViewState("CveVenta") = IfNull(Request("CveVenta"), 0).ToString.ToEntero - - Dim Obj As New ClsVentas - If Obj.GetVenta(CveVenta, UsuarioActual.CveEmpresa, VerificaAlmacen:=False) Then - Dim DbRowVenta As DataRow = Obj.DtResultados.FiltroPrimero("") - ViewState("SaldoVenta") = DbRowVenta("Saldo").ToString() - Total = DbRowVenta("Total").ToString.ToDecimal - SubTotal = DbRowVenta("Saldo").ToString.ToDecimal - SerieFolio = DbRowVenta("SerieFolio").ToString - Saldo = SaldoVenta - PorcentajePago = SaldoVenta / Total - - IVA = PorcentajePago * DbRowVenta("IVA").ToString.ToDecimal - IEPS = PorcentajePago * DbRowVenta("IEPS").ToString.ToDecimal - Descuentos = PorcentajePago * DbRowVenta("Descuento").ToString.ToDecimal - TCVenta = DbRowVenta("TipoCambio").ToString.ToDecimal - FechaVenta = DbRowVenta("Fecha").ToString.ToDate - ' FechaPago = TxtFechaSaldarVenta.Text.ToDate - tCveMoneda = DbRowVenta("CveMoneda").ToString.ToEntero - ViewState("CveCliente") = DbRowVenta("CveCliente").ToString.ToEntero - CveSubProyecto = DbRowVenta("CveSubProyecto").ToString.ToEntero - PorcentajeImpuesto = DbRowVenta("PorcentajeIVA").ToString.ToDecimal - - If Obj.GetVentaDetalle(CveVenta) Then - CveClasificacion = Obj.DtResultados.MAX("CveClasificacion").ToEntero - End If - SubTotal = Saldo - IVA - IEPS - - End If - Obj.Dispose() - - Dim TCPago As Decimal = GlobalTipoCambio(FechaPago).FormatoNumero(4).ToDecimal - Dim CveConceptoDeduccion As Integer = 211 - - - 'si la fecha del documento es anterior a su ultima fluctuación. toma el Tc de la fluctuacion - If tCveMoneda = 2 Then - If FechaVenta < FechaUltimaFluctuacion Then - TCVenta = TipoCambioFluctuacion - End If - End If - - - 'condicionante - Dim ClienteMovto As Boolean = True - Dim SubtotalMovto As Boolean = False - Dim CveConceptoCliente As Integer = 2 - Dim ImpuestosMovto As Boolean = False - Dim ConceptoPartida As String = "saldado " & SerieFolio - - - 'If CveConceptoDeduccion = 255 Then IdCuentaContableNoDeducible = UsuarioActual.Empresa.Funcionalidad(266).ToEntero() - 'If CveConceptoDeduccion = 211 Then IdCuentaContableNoDeducible = UsuarioActual.Empresa.Funcionalidad(559).ToEntero() - 'If CveConceptoDeduccion = 263 Then IdCuentaContableNoDeducible = UsuarioActual.Empresa.Funcionalidad(537).ToEntero() - 'If CveConceptoDeduccion = 252 Then IdCuentaContableNoDeducible = 0 - 'If CveConceptoDeduccion = 78 Then IdCuentaContableNoDeducible = 0 - - If UsuarioActual.CveEmpresa.Contiene(4, 7, 11, 12, 122) Then - ClienteMovto = False : Saldo = Saldo * -1 - ImpuestosMovto = True : IVA = IVA * -1 - CveConceptoCliente = 1 - End If - - Dim UsaComplementaria As Boolean = True - - If MsgError = "" AndAlso Saldo > 0 Then - CvePrePoliza = ObjConta.AddPrePolizas("Ventas/Saldarr", 47, SaldoVenta, SaldoVenta, tCveMoneda, FechaPago, ConceptoPartida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) - - If UsaComplementaria AndAlso tCveMoneda = 2 Then - 'normal - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, ClienteMovto, Saldo, If(tCveMoneda = 1, Saldo, Saldo), CveConceptoCliente, SerieFolio, ConceptoPartida, CveCliente:=CveCliente, CveVenta:=CveVenta, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then - MsgError = "Ocurrio un error al saldar el movimiento" - End If - 'complementaria - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, ClienteMovto, 0, If(tCveMoneda = 1, Saldo, (Saldo * TCVenta) - Saldo), 207, SerieFolio, ConceptoPartida, CveCliente:=CveCliente, CveVenta:=CveVenta, ImporteME:=Saldo, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then - MsgError = "Ocurrio un error al saldar el movimiento" - End If - - Else - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, ClienteMovto, Saldo, If(tCveMoneda = 1, Saldo, Saldo * TCVenta), CveConceptoCliente, SerieFolio, ConceptoPartida, CveCliente:=CveCliente, CveVenta:=CveVenta, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then - MsgError = "Ocurrio un error al saldar el movimiento" - End If - - End If - - 'fluctuación. - If tCveMoneda = 2 Then - Dim ImporteFluctuacion As Decimal = 0 - ImporteFluctuacion = Saldo * (TCPago - TCVenta) - If TCPago > TCVenta Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Math.Abs(ImporteFluctuacion), Math.Abs(ImporteFluctuacion), 64, SerieFolio, ConceptoPartida, CveCliente:=CveCliente, CveVenta:=CveVenta, TipoCambio:=TCVenta, TipoCambioPago:=TCPago, CveSubProyecto:=CveSubProyecto) Then - MsgError = "Ocurrio un error al saldar el movimiento" - End If - Else - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Math.Abs(ImporteFluctuacion), Math.Abs(ImporteFluctuacion), 65, SerieFolio, ConceptoPartida, CveCliente:=CveCliente, CveVenta:=CveVenta, TipoCambio:=TCVenta, TipoCambioPago:=TCPago, CveSubProyecto:=CveSubProyecto) Then - MsgError = "Ocurrio un error al saldar el movimiento" - End If - End If - - 'cuando hay pago en dólares, se ajusta el concepto de subtotal, - SubTotal = (Saldo * TCVenta) + ImporteFluctuacion - (IVA * TCVenta) - (IEPS * TCVenta) - - End If - If IVA > 0 AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, ImpuestosMovto, IVA, If(tCveMoneda = 1, IVA, IVA * TCVenta), 13, SerieFolio, ConceptoPartida, CveCliente:=CveCliente, CveVenta:=CveVenta, PorcentajeImpuesto:=PorcentajeImpuesto, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then - MsgError = "Ocurrio un error al saldar el movimiento" - End If - - If IEPS > 0 AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, ImpuestosMovto, IEPS, If(tCveMoneda = 1, IEPS, IEPS * TCVenta), 38, SerieFolio, ConceptoPartida, CveCliente:=CveCliente, CveVenta:=CveVenta, PorcentajeImpuesto:=PorcentajeImpuesto, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then - MsgError = "Ocurrio un error al saldar el movimiento" - End If - - 'al gasto,Subtotal - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, SubtotalMovto, SubTotal, SubTotal, CveConceptoDeduccion, SerieFolio, ConceptoPartida, CveCliente:=CveCliente, CveVenta:=CveVenta, CveCuenta:=-1, TipoCambio:=TCVenta, TipoCambioPago:=TCPago, CveSubProyecto:=CveSubProyecto) Then - MsgError = "Ocurrio un error al saldar el movimiento" - End If - - 'If Descuentos > 0 AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not SubtotalMovto, Descuentos, SerieFolio, 103, ConceptoPartida, FechaPago, IdCuentaContableNoDeducible, -1, CveCliente:=CveCliente, CveVenta:=CveVenta, ImporteMX:=Descuentos, CveCuenta:=-1, TipoCambio:=TCVenta, TipoCambioPago:=TCPago, CveClasificacion:=CveClasificacion, CveSubProyecto:=CveSubProyecto) Then - ' MsgError = "Ocurrio un error al saldar el movimiento" - 'End If - - If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, 5) Then - If ObjConta.ValorPolizaDescuadre > 0 Then - MsgError = ObjConta.MensajePolizaDescuadre + " " + ObjConta.ValorDiferencia - GuardaLogAD($"Ventas/ClientesAbonar | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") - - End If - End If - Else - MsgError = "Saldo Cero" - End If - - - If MsgError = "" Then - 'ObjConta.RollBack() - ObjConta.Commit() - - RegistraScript("$('#ModalSaldarVenta').modal('hide')", "ModalSaldarVentaHidde") - Alert("Documento Saldado") - Else - ObjConta.RollBack() - Alert(MsgError, TipoMensaje.MsgError) - End If - - - ObjConta.Dispose() - - End Sub -#End Region - - - - - - - - - - - - -#Region "FORMATO CICOVISA" - Protected Sub LnkImprimirFormatoCicovisa_Click(sender As Object, e As EventArgs) - Dim ObjVentas As New ClsVentas - Dim ObjInventario As New ClsInventarios - Dim SerieFolio As String = "" - Dim PedidoContrato As String = "" - Dim EnvioContacto As String = "" - Dim EnvioDireccion As String = "" - Dim Guia As String = "" - If ObjInventario.GetPaqueteriaGuia(-1, UsuarioActual.CveEmpresa, CveVenta:=CveVenta) Then - If ObjInventario.DtResultados.Rows.Count > 0 Then - Guia = ObjInventario.DtResultados.Rows(0)("Guia").ToString() - End If - End If - If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa, VerificaAlmacen:=False) Then - If ObjVentas.DtResultados.Rows.Count > 0 Then - SerieFolio = ObjVentas.DtResultados.Rows(0)("SerieFolio").ToString() - PedidoContrato = ObjVentas.DtResultados.Rows(0)("PedidoContrato").ToString() - EnvioContacto = ObjVentas.DtResultados.Rows(0)("EnvioContacto").ToString() - EnvioDireccion = $"{ObjVentas.DtResultados.Rows(0)("EnvioDireccion").ToString()}, NO. EXT: {ObjVentas.DtResultados.Rows(0)("EnvioNoExt").ToString()}, COLONIA: {ObjVentas.DtResultados.Rows(0)("EnvioColonia").ToString()}, CP: {ObjVentas.DtResultados.Rows(0)("EnvioCP").ToString()}" - End If - End If - Dim Dt As DataTable = Nothing - If ObjVentas.GetVentaDetalle(CveVenta) Then - Dt = ObjVentas.DtResultados - End If - ObjVentas.Dispose() - ObjInventario.Dispose() - If Dt.Rows.Count > 0 Then - Dim params As New List(Of ReportParameter) - params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) - params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) - params.Add(New ReportParameter("FechaImpresion", NowADS().ToDateTime.ToShortDateString)) - params.Add(New ReportParameter("EnvioContacto", EnvioContacto)) - params.Add(New ReportParameter("SerieFolio", SerieFolio)) - params.Add(New ReportParameter("PedidoContrato", PedidoContrato)) - params.Add(New ReportParameter("EnvioDireccion", EnvioDireccion)) - params.Add(New ReportParameter("Guia", Guia)) - ImprimirPDF("Empresas/Grales/Formatos/Cicovisa.rdlc", Dt, params, String.Format("Formato Cicovisa -{0}", NowADS().ToDateTime.ToShortDateString)) - End If - End Sub - - Protected Sub LnkImprimirFormatoTelcel_Click(sender As Object, e As EventArgs) - Dim ObjVentas As New ClsVentas - Dim ObjInventario As New ClsInventarios - Dim SerieFolio As String = "" - Dim PedidoContrato As String = "" - Dim EnvioContacto As String = "" - Dim EnvioDireccion As String = "" - Dim EnviarOficina As String = "" - Dim EnviarCalle As String = "" - Dim EnviarColonia As String = "" - Dim EnvioCiudad As String = "" - Dim EnvioTel As String = "" - Dim Guia As String = "" - Dim EnvioNoExt As String = "" - Dim EnvioNoInt As String = "" - Dim EnvioEstado As String = "" - Dim Pais As String = "" - Dim CP As String = "" - If ObjInventario.GetPaqueteriaGuia(-1, UsuarioActual.CveEmpresa, CveVenta:=CveVenta) Then - If ObjInventario.DtResultados.Rows.Count > 0 Then - Guia = ObjInventario.DtResultados.Rows(0)("Guia").ToString() - End If - End If - If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa, VerificaAlmacen:=False) Then - If ObjVentas.DtResultados.Rows.Count > 0 Then - SerieFolio = ObjVentas.DtResultados.Rows(0)("SerieFolio").ToString() - PedidoContrato = ObjVentas.DtResultados.Rows(0)("PedidoContrato").ToString() - - If ObjVentas.DtResultados.Rows(0)("CveDireccionEnvio").ToString().ToEntero() > 0 Then - EnvioContacto = ObjVentas.DtResultados.Rows(0)("EnvioContacto").ToString() - EnvioDireccion = $"{ObjVentas.DtResultados.Rows(0)("EnvioDireccion").ToString()}, COLONIA: {ObjVentas.DtResultados.Rows(0)("EnvioColonia").ToString()}, CP: {ObjVentas.DtResultados.Rows(0)("EnvioCP").ToString()}" - EnviarOficina = ObjVentas.DtResultados.Rows(0)("EnvioDepartamento").ToString() - EnviarCalle = ObjVentas.DtResultados.Rows(0)("EnvioDireccion").ToString() - EnviarColonia = ObjVentas.DtResultados.Rows(0)("EnvioColonia").ToString() - EnvioCiudad = ObjVentas.DtResultados.Rows(0)("EnvioCiudad").ToString() - EnvioTel = ObjVentas.DtResultados.Rows(0)("EnvioTel").ToString() - EnvioNoExt = ObjVentas.DtResultados.Rows(0)("EnvioNoExt").ToString() - EnvioNoInt = ObjVentas.DtResultados.Rows(0)("EnvioNoInt").ToString() - EnvioEstado = ObjVentas.DtResultados.Rows(0)("EnvioEstado").ToString() - Pais = ObjVentas.DtResultados.Rows(0)("SucClientePais").ToString() - CP = ObjVentas.DtResultados.Rows(0)("EnvioCP").ToString() - 'CP = "Envio" - Else - If ObjVentas.DtResultados.Rows(0)("CveClienteSucursal").ToString().ToEntero() > 0 Then - 'EnvioContacto = ObjVentas.DtResultados.Rows(0)("EnvioContacto").ToString() - EnvioDireccion = $"{ObjVentas.DtResultados.Rows(0)("SucClienteDireccion").ToString()}, COLONIA: {ObjVentas.DtResultados.Rows(0)("SucClienteColonia").ToString()}, CP: {ObjVentas.DtResultados.Rows(0)("SucClienteCP").ToString()}" - 'EnviarOficina = ObjVentas.DtResultados.Rows(0)("EnvioDepartamento").ToString() - EnviarCalle = ObjVentas.DtResultados.Rows(0)("SucClienteDireccion").ToString() - EnviarColonia = ObjVentas.DtResultados.Rows(0)("SucClienteColonia").ToString() - EnvioCiudad = ObjVentas.DtResultados.Rows(0)("SucClienteCiudad").ToString() - EnvioTel = ObjVentas.DtResultados.Rows(0)("EnvioTel").ToString() - EnvioNoExt = ObjVentas.DtResultados.Rows(0)("SucClienteNoExt").ToString() - EnvioNoInt = ObjVentas.DtResultados.Rows(0)("SucClienteNoInt").ToString() - EnvioEstado = ObjVentas.DtResultados.Rows(0)("SucClienteEstado").ToString() - Pais = ObjVentas.DtResultados.Rows(0)("SucClientePais").ToString() - 'CP = ObjVentas.DtResultados.Rows(0)("SucClienteCP").ToString() - CP = "Sucursal" - Else - 'EnvioContacto = ObjVentas.DtResultados.Rows(0)("EnvioContacto").ToString() - EnvioDireccion = $"{ObjVentas.DtResultados.Rows(0)("ClienteDireccion").ToString()}, COLONIA: {ObjVentas.DtResultados.Rows(0)("ColoniaCliente").ToString()}, CP: {ObjVentas.DtResultados.Rows(0)("CPCliente").ToString()}" - 'EnviarOficina = ObjVentas.DtResultados.Rows(0)("EnvioDepartamento").ToString() - EnviarCalle = ObjVentas.DtResultados.Rows(0)("ClienteDireccion").ToString() - EnviarColonia = ObjVentas.DtResultados.Rows(0)("ColoniaCliente").ToString() - EnvioCiudad = ObjVentas.DtResultados.Rows(0)("ClienteCiudad").ToString() - EnvioTel = ObjVentas.DtResultados.Rows(0)("EnvioTel").ToString() - EnvioNoExt = ObjVentas.DtResultados.Rows(0)("ClienteNoExt").ToString() - EnvioNoInt = ObjVentas.DtResultados.Rows(0)("ClienteNoInt").ToString() - EnvioEstado = ObjVentas.DtResultados.Rows(0)("ClienteEstado").ToString() - Pais = ObjVentas.DtResultados.Rows(0)("ClientePais").ToString() - 'CP = ObjVentas.DtResultados.Rows(0)("CPCliente").ToString() - CP = "Cliente" - End If - EnvioContacto = "" - EnviarOficina = "" - End If - - End If - End If - Dim Dt As DataTable = Nothing - If ObjVentas.GetVentaDetalle(CveVenta) Then - Dt = ObjVentas.DtResultados - End If - ObjVentas.Dispose() - ObjInventario.Dispose() - If Dt.Rows.Count > 0 Then - Dim params As New List(Of ReportParameter) - params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) - params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) - params.Add(New ReportParameter("FechaImpresion", NowADS().ToDateTime.ToShortDateString)) - params.Add(New ReportParameter("EnvioContacto", EnvioContacto)) - params.Add(New ReportParameter("SerieFolio", SerieFolio)) - params.Add(New ReportParameter("PedidoContrato", PedidoContrato)) - params.Add(New ReportParameter("EnvioDireccion", EnvioDireccion)) - params.Add(New ReportParameter("Guia", Guia)) - params.Add(New ReportParameter("EnviarOficina", EnviarOficina)) - params.Add(New ReportParameter("EnviarCalle", EnviarCalle)) - params.Add(New ReportParameter("EnviarColonia", EnviarColonia)) - params.Add(New ReportParameter("EnvioCiudad", EnvioCiudad)) - params.Add(New ReportParameter("EnvioTel", EnvioTel)) - params.Add(New ReportParameter("NoExt", EnvioNoExt)) - params.Add(New ReportParameter("NoInt", EnvioNoInt)) - params.Add(New ReportParameter("EnvioEstado", EnvioEstado)) - params.Add(New ReportParameter("Pais", Pais)) - params.Add(New ReportParameter("CP", CP)) - ImprimirPDF("Empresas/Grales/Formatos/Telcel.rdlc", Dt, params, String.Format("Formato RADIO MOVIL DIPSA S.A DE C.V. -{0}", NowADS().ToDateTime.ToShortDateString), "PDF") - End If - End Sub -#End Region - - - - - #Region " BOTONERA - ACCIONES DE ABAJO " @@ -13891,188 +12429,6 @@ Partial Class VentasMedicas -#Region "P O L I Z A - V I R T U A L" - Private Sub CargaCodigoUnico() - If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso DdlTipoComprobante.SelectedValue.Contiene("Rem") Then - Dim ObjAcum As New ClsAcumuladores - If ObjAcum.GetPolizasVirtuales(Me.CveVenta) AndAlso ObjAcum.DtResultados.Rows.Count > 0 Then - Dim RowPoliza As DataRow = ObjAcum.DtResultados.Rows(0) - - If DdlTipoComprobante.SelectedValue.Contiene("Rem") Then - GvCodigosUnicos.DataSource = ObjAcum.DtResultados - DivCodigosUnicos.Visible = True - End If - - - - End If - ObjAcum.Dispose() - GvCodigosUnicos.DataBind() - End If - End Sub - Protected Sub GeneraPolizaVentaWS(ObjFactura As Modelos.Factura) - Try - If UsuarioActual.CveUsuario.Contiene(3491) Then - Exit Sub - End If - - 'TipoPoliza: 01 Venta, 02 Ajuste, 03 Garantía - Dim TipoPoliza As Integer = 0 - For Each Row As GridViewRow In GvCodigosUnicos.Rows - If Row.RowType = DataControlRowType.DataRow Then - Dim CvePolizaVirtual As Integer = Row.DataKey("CvePolizaVirtual").ToEntero() - - Dim obj As New Modelos.MPolizaVentaWS - 'DATOS DEL CLIENTE - obj.customer_name = ObjFactura.Cliente.Nombre - obj.customer_last_name1 = "." - obj.customer_last_name2 = "" - obj.customer_birthday = Nothing - obj.customer_phone = ObjFactura.Cliente.Telefono - obj.customer_email = ObjFactura.Cliente.Mail - obj.customer_gender = "03" 'OTRO GENERO - obj.customer_advertising = False - obj.customer_car_brand = Row.DataKey("IdMarcaAuto").ToString().Trim() - obj.customer_car_model = Row.DataKey("IdModeloAuto").ToString().Trim() - obj.customer_car_year = Row.DataKey("AnioVehiculo").ToString().ToEntero() - - 'DATOS DE VENTA - obj.sale_date = ObjFactura.Fecha - obj.sale_paidby = "01" - obj.sale_type = "01" 'PISO - obj.sale_type_service = "0" & Row.DataKey("TipoServicio").ToString().Trim() - obj.sale_total = Row.DataKey("Total").ToString().ToDecimal() - obj.sale_discount = Row.DataKey("Descuento").ToString().ToDecimal() - obj.sale_id = ObjFactura.CveVenta.ToString() - - 'DATOS DEL PRODUCTO - obj.product_code = Row.DataKey("IdProductoPolizaVirtual").ToString().Trim() - obj.product_unique_code = Row.FCTextBox("TxtCodigoUnico").Text.Trim() 'se indique el código único de la batería. (SERIE LOTE) - obj.product_sale_type = "0" & Row.DataKey("TipoPoliza").ToString().Trim() - - 'DATOS DE USADO - obj.used_product = CBool(Row.DataKey("TieneUsado").ToString()) - - If obj.used_product Then - Dim FechaUsado As DateTime = Row.DataKey("FechaUsado").ToString().ToDateTime() - - obj.used_brand = Row.DataKey("IdMarcaUsado").ToString().Trim() 'MARCAR DEL USADO - obj.used_bci = Row.DataKey("IdBCI").ToString().Trim() 'VALOR DEL BCI - obj.used_month = FechaUsado.Month - obj.used_year = FechaUsado.Year - obj.used_sale_date = FechaUsado - End If - - ObjFactura.SetSubProyecto() - EnviarPolizaVentaWS(obj, CvePolizaVirtual, ObjFactura.SubProyecto.Acum_PortalUsuario, ObjFactura.SubProyecto.Acum_PortalContrasena) - - End If - Next - Catch ex As Exception - OnError("Ocurrió un error al generar la poliza virtual", ex) - End Try - - - End Sub - - Protected Function EnviarPolizaVentaWS(obj As Modelos.MPolizaVentaWS, CvePolizaVirtual As Integer, Usuario As String, Contraseña As String) As Boolean - Dim Retorno As Boolean = False - Dim Respuesta As String = "[]" - - Dim User As String - Dim Password As String - - If UsuarioActual.Empresa.FacturaProduccion Then - User = Usuario '"cslth.2809@jcilink.com" - Password = Contraseña ' "ff31580a95f36b51ad27f970428b77a5a9245076" - Else - User = "cslth.7777@lth.com" - Password = "ff31580a95f36b51ad27f970428b77a5a9245076" - End If - - Try - Using wc As New HttpClient() - Dim Url As New Uri("http://polizavirtual.com.mx/webservice/api/Venta") - - Dim Parametros As New List(Of KeyValuePair(Of String, String)) - - Parametros.Add(New KeyValuePair(Of String, String)("User", User)) - Parametros.Add(New KeyValuePair(Of String, String)("password", Password)) - Parametros.Add(New KeyValuePair(Of String, String)("customer_name", obj.customer_name)) - Parametros.Add(New KeyValuePair(Of String, String)("customer_last_name1", obj.customer_last_name1)) - Parametros.Add(New KeyValuePair(Of String, String)("customer_last_name2", obj.customer_last_name1)) - Parametros.Add(New KeyValuePair(Of String, String)("customer_birthday", obj.customer_birthday.ToString("yyyy-MM-dd HH:mm:ss"))) - Parametros.Add(New KeyValuePair(Of String, String)("customer_phone", obj.customer_phone)) - Parametros.Add(New KeyValuePair(Of String, String)("customer_email", obj.customer_email)) - Parametros.Add(New KeyValuePair(Of String, String)("customer_gender", obj.customer_gender)) - Parametros.Add(New KeyValuePair(Of String, String)("customer_advertising", obj.customer_advertising.ToString())) - Parametros.Add(New KeyValuePair(Of String, String)("sale_date", obj.sale_date.ToString("yyyy-MM-dd HH:mm:ss"))) - Parametros.Add(New KeyValuePair(Of String, String)("sale_paidby", obj.sale_paidby)) - Parametros.Add(New KeyValuePair(Of String, String)("sale_type", obj.sale_type)) - Parametros.Add(New KeyValuePair(Of String, String)("sale_type_service", obj.sale_type_service)) - Parametros.Add(New KeyValuePair(Of String, String)("product_code", obj.product_code)) - Parametros.Add(New KeyValuePair(Of String, String)("product_unique_code", obj.product_unique_code)) - Parametros.Add(New KeyValuePair(Of String, String)("product_sale_type", obj.product_sale_type)) - Parametros.Add(New KeyValuePair(Of String, String)("sale_total", obj.sale_total.ToString())) - Parametros.Add(New KeyValuePair(Of String, String)("used_product", obj.used_product.ToString())) - Parametros.Add(New KeyValuePair(Of String, String)("used_brand", obj.used_brand)) - Parametros.Add(New KeyValuePair(Of String, String)("used_bci", obj.used_bci)) - Parametros.Add(New KeyValuePair(Of String, String)("used_month", obj.used_month.ToString())) - Parametros.Add(New KeyValuePair(Of String, String)("used_year", obj.used_year.ToString())) - Parametros.Add(New KeyValuePair(Of String, String)("used_sale_date", obj.used_sale_date.ToString("yyyy-MM-dd HH:mm:ss"))) - Parametros.Add(New KeyValuePair(Of String, String)("customer_car_brand", obj.customer_car_brand.ToString())) - Parametros.Add(New KeyValuePair(Of String, String)("customer_car_model", obj.customer_car_model.ToString())) - Parametros.Add(New KeyValuePair(Of String, String)("customer_car_year", obj.customer_car_year.ToString())) - Parametros.Add(New KeyValuePair(Of String, String)("sale_discount", obj.sale_discount.ToString())) - Parametros.Add(New KeyValuePair(Of String, String)("sale_id", obj.sale_id.ToString())) - - Dim content As New FormUrlEncodedContent(Parametros) - Dim response = wc.PostAsync(Url, content).Result - - Respuesta = response.Content.ReadAsStringAsync().Result - - Dim resp As JArray = JArray.Parse(Respuesta) - - If resp.Count > 0 Then - Dim Msg As New StringBuilder() - Msg.AppendFormat("Mensaje Póliza Virtual: {0} - Código: {1}", resp(0)("Descripcion").ToString(), resp(0)("Codigo")) - - If resp(0)("Codigo").ToString().Contiene("500", "501", "502", "503", "504", "505", "506", "507", "508", "510") Then - Retorno = True - End If - - Dim ObjAcum As New ClsAcumuladores - If ObjAcum.UpdateEnvioPolizaVirtual(CvePolizaVirtual, Retorno, NowADS(), obj.product_unique_code, resp(0)("Descripcion").ToString()) Then - Alert(Msg.ToString(), TipoMensaje.MsgInformacion) - End If - ObjAcum.Dispose() - - Dim ObjEventos As New ClsOIEventos() - If Not ObjEventos.AddEventoBitacora(Msg.ToString(), "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveVenta:=Me.CveVenta) Then - ErrorList.Add("Ocurrió un error al agregar la bitacora de Póliza Virtual.") - End If - ObjEventos.Dispose() - Msg.Clear() - Else - Alert("No se envió la poliza virtual", TipoMensaje.MsgAdvertencia) - End If - - End Using - - Catch ex As Exception - ex.GuardaLog(ex.Message) - End Try - - Return Retorno - End Function - - Protected Sub LnkEnviarPolizaVirtual_Click(sender As Object, e As EventArgs) - If UsuarioActual.Empresa.Funcionalidad(576) = "1" AndAlso DdlTipoComprobante.SelectedValue.Contains("Rem") Then - CreaObjetosVenta() - GeneraPolizaVentaWS(ObjFactura) - End If - End Sub -#End Region Protected Sub DdlTipoRetencion_SelectedIndexChanged(sender As Object, e As EventArgs) @@ -14115,35 +12471,6 @@ Partial Class VentasMedicas End Sub - 'Protected Sub TxtFecha_TextChanged(sender As Object, e As EventArgs) - ' 'SI USUARIO USA AMORTIZACIÓN CONTABLE, se carga las tablas para usarlas mas adelante - ' If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso UsuarioActual.CveEmpresa = 48 AndAlso UsuarioActual.Empresa.UsaAC Then - - ' DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Rem")) - ' DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Cot")) - ' DdlTipoComprobante.Items.Add(New ListItem("Compromisos", "Com")) - ' DdlTipoComprobante.Items.Add(New ListItem("Orden Pago", "OP")) - - ' Dim AC As New ClsAC - ' If AC.GetPresupuestoIngresos(-1, NowADS.Year, True, UsuarioActual.CveEmpresa) Then - ' DdlFuenteRecaudacion.DataSource = AC.DtResultados() - ' DTPresupuestoIngresos = AC.DtResultados() - ' ViewState("DTFuenteRecaudacion") = AC.DtResultados() - ' 'GenerarPolizasAC() - ' End If - ' AC.Dispose() - ' 'columna de Fuente de recaudacion - ' GvPS.Columns(21).Visible = True - ' nomostrar.Visible = True - ' nomostrar2.Visible = True - ' 'GvPS.Width = 1250 - ' DdlFuenteRecaudacion.DataBind() - ' Else - ' TFuenteRecaudacion.Visible = False - ' End If - - 'End Sub - Private Function DescargarFactura(CveVenta As Integer, CveEmpresa As Integer, CveUsuarioCreo As Integer, Optional GetBytes As Boolean = True, Optional Regenerar As Boolean = False, Optional strURLHOST As String = "") As Byte() If String.IsNullOrEmpty(strURLHOST) Then @@ -14170,9 +12497,7 @@ Partial Class VentasMedicas Return File End Function - Protected Sub LnkGenerarOC_Click(sender As Object, e As EventArgs) - Response.Redirect($"~/OC/OC.aspx?CveCotizacion={Me.CveVenta}&Tipo=OC") - End Sub + Protected Sub btnupEventoBitacora_Click(sender As Object, e As EventArgs) CargaEventoBitacora() @@ -14434,8 +12759,5 @@ Partial Class VentasMedicas - - - End Class