diff --git a/App_Code/ClsContPAQi.vb b/App_Code/ClsContPAQi.vb
index 8ca5c7739..6f088a049 100644
--- a/App_Code/ClsContPAQi.vb
+++ b/App_Code/ClsContPAQi.vb
@@ -7345,7 +7345,7 @@ Public Class ClsContPAQi
Return Retorno
End Function
- Public Function GetPolizasMasivo(Inicio As Date, Fin As Date, FolioI As Integer, FolioF As Integer, TipoPol As Integer, CveUsuario As Integer, CveSubProyecto As Integer, CveCuenta As Integer, CveGrupoPlantillaPoliza As Integer) As Boolean
+ Public Function GetPolizasMasivo(Inicio As Date, Fin As Date, FolioI As Integer, FolioF As Integer, TipoPol As Integer, CveUsuario As Integer, CveSubProyecto As Integer, CveCuenta As Integer, CveGrupoPlantillaPoliza As Integer, CveTipoProveedor As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
StrSQL.Clear()
@@ -7365,10 +7365,13 @@ Public Class ClsContPAQi
StrSQL.Append(" , CASE WHEN MP.TipoMovto=1 THEN MP.Importe ELSE 0 END AS Abono ")
StrSQL.Append(" FROM Polizas P ")
StrSQL.Append(" LEFT JOIN MovimientosPoliza MP ON P.Id= MP.IdPoliza ")
+ StrSQL.Append(" LEFT JOIN SERVIDOR.Ventas.dbo.Conta_PrePolizasDetalle PPD ON PPD.CvePrePolizaDetalle = MP.CvePrePolizaDetalle ")
+ StrSQL.Append(" LEFT JOIN SERVIDOR.Ventas.dbo.Conta_PrePolizas PP ON PP.CvePrePoliza = PPD.CvePrePoliza ")
StrSQL.Append(" LEFT JOIN Cuentas C ON C.Id = MP.IdCuenta ")
StrSQL.Append(" LEFT JOIN TiposPolizas T ON T.Id = P.TipoPol ")
StrSQL.Append(" LEFT JOIN SegmentosNegocio SN ON SN.Id = MP.IdSegNeg ")
StrSQL.Append(" WHERE P.Fecha >= @Inicio AND P.Fecha <= @Fin ")
+ StrSQL.Append(" AND (@CveTipoProveedor = -1 OR PPD.CveProveedor in (SELECT CveProveedor FROM SERVIDOR.Ventas.dbo.Comp_Proveedores POV WHERE POV.CveEmpresa = @CveEmpresa AND POV.CveTipoProveedor = @CveTipoProveedor)) ")
StrSQL.Append(" AND (@FolioI = -1 OR P.Folio >= @FolioI) ")
StrSQL.Append(" AND (@FolioF = -1 OR P.Folio <= @FolioF) ")
StrSQL.Append(" AND (@TipoP=-1 OR @TipoP =P.TipoPol) ")
@@ -7397,6 +7400,8 @@ Public Class ClsContPAQi
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
.Add("@cvecuenta", SqlDbType.Int).Value = CveCuenta
.Add("@CveGrupoPlantillaPoliza", SqlDbType.Int).Value = CveGrupoPlantillaPoliza
+ .Add("@CveTipoProveedor", SqlDbType.Int).Value = CveTipoProveedor
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb
index 45a5ce21f..36062ea23 100644
--- a/App_Code/ClsInventarios.vb
+++ b/App_Code/ClsInventarios.vb
@@ -3702,7 +3702,7 @@ Public Class ClsInventarios
#Region " INVENTARIOS - SOLICITUD DE TRASPASOS "
Public Function AddTrasladoSolicitud(Observaciones As String, CveAlmacenOrigen As Integer, CveAlmacenDestino As Integer, CveTrasladoEstatus As Integer, CveMovimientoAlmacen As Integer, Fecha As DateTime, CveUsuario As Integer, CveEmpresa As Integer,
- Optional CveContrato As Integer = -1, Optional Guia As String = "", Optional CvePaqueteria As Integer = -1, Optional CveDireccionEnvio As Integer = -1) As Integer
+ Optional CveContrato As Integer = -1, Optional Guia As String = "", Optional CvePaqueteria As Integer = -1, Optional CveDireccionEnvio As Integer = -1, Optional CveOS As Integer = -1) As Integer
Dim Retorno = -1
DataAdapter("PA_Inv_TraspasoSolicitudAdd")
@@ -3721,6 +3721,7 @@ Public Class ClsInventarios
.Add("@Folio", SqlDbType.Int).Direction = ParameterDirection.Output
.Add("@CvePaqueteria", SqlDbType.Int).Value = CvePaqueteria
.Add("@CveDireccionEnvio", SqlDbType.Int).Value = CveDireccionEnvio
+ .Add("@CveOS", SqlDbType.Int).Value = CveOS
End With
diff --git a/Contabilidad/PolizasImpresion.aspx b/Contabilidad/PolizasImpresion.aspx
index e2a9da75d..3c7ec186b 100644
--- a/Contabilidad/PolizasImpresion.aspx
+++ b/Contabilidad/PolizasImpresion.aspx
@@ -94,6 +94,16 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/Contabilidad/PolizasImpresion.aspx.vb b/Contabilidad/PolizasImpresion.aspx.vb
index 03f594d38..7450186f7 100644
--- a/Contabilidad/PolizasImpresion.aspx.vb
+++ b/Contabilidad/PolizasImpresion.aspx.vb
@@ -40,7 +40,7 @@ Partial Class Contabilidad_PolizasImpresion
Dim objcont As New ClsContPAQi(UsuarioActual.Empresa)
- If objcont.GetPolizasMasivo(TxtFechaInicio.Text.ToDate, TxtFechaFin.Text.ToDate, foli, folf, ddlTipoPoliza.SelectedValue.ToEntero, DdlUsuarioRegistro.SelectedValue.ToEntero, DdlSegmentoNeg.SelectedValue.ToEntero, DdlCuenta.SelectedValue.ToEntero, DdlGrupoPlantilla.SelectedValue.ToEntero) Then
+ If objcont.GetPolizasMasivo(TxtFechaInicio.Text.ToDate, TxtFechaFin.Text.ToDate, foli, folf, ddlTipoPoliza.SelectedValue.ToEntero, DdlUsuarioRegistro.SelectedValue.ToEntero, DdlSegmentoNeg.SelectedValue.ToEntero, DdlCuenta.SelectedValue.ToEntero, DdlGrupoPlantilla.SelectedValue.ToEntero, DdlTipoProveedor.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
If objcont.DtResultados.Rows.Count < 10000 Then
If objcont.DtResultados.Rows.Count > 0 Then
diff --git a/Inventarios/RecepcionAlmacen.aspx.vb b/Inventarios/RecepcionAlmacen.aspx.vb
index ed0f11905..2c0623c7f 100644
--- a/Inventarios/RecepcionAlmacen.aspx.vb
+++ b/Inventarios/RecepcionAlmacen.aspx.vb
@@ -1896,6 +1896,87 @@ Partial Class Inventarios_RecepcionAlmacen
End If
End Sub
+
+ Private Function GeneraPrePolizaSalidaEntregaDirecta(CveMovimiento As Integer, ByRef ObjInventario As ClsInventarios, ByRef ObjConta As ClsContabilidad, ByRef ObjContaContPAQ As ClsContPAQi) As Boolean
+ Dim DtCostos As DataTable = Nothing
+ Dim ValorInventario As Decimal = 0
+ Dim ValorInventarioME As Decimal = 0
+ Dim CveConcepto As Integer = 3
+ Dim Retorno As Boolean = True
+
+ ObjInventario.GetMovimientos(CveMovimiento, -1, -1, UsuarioActual.CveEmpresa)
+ Dim CveVenta As Integer = ObjInventario.CveVenta
+ Dim CveAlmacen As Integer = ObjInventario.CveAlmacen
+ Dim SerieFolio As String = ObjInventario.DtResultados.Rows(0)("SerieFolioVenta").ToString
+ Dim MovAlmacen As Boolean = True
+
+ Dim OrigenMov As Integer = GlobalDTInvConceptos.FiltroPrimeroValor("Origen", "CveConcepto = " & CveConcepto).ToEntero
+ If OrigenMov = 1 Then MovAlmacen = False Else MovAlmacen = True
+
+ If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
+ DtCostos = ObjInventario.DtResultados
+ Dim tmpCostos As DataTable = DtCostos.FiltraParametros("", "", {"CveClasificacion"})
+ Dim IdCtaContable As Integer = 0
+ Dim ConceptoPoliza As String = String.Format("{0}-{1}", "Salida de Almacen", SerieFolio)
+
+ If tmpCostos.Rows.Count > 0 Then
+ Dim Concepto As String = ConceptoPoliza
+ Dim CvePrePoliza = ObjConta.AddPrePolizas("Inv_EntradaSalida", 74, DtCostos.SUM("Total"), DtCostos.SUM("Total"), 1, TxtFecha.Text.ToDate, ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
+ Dim tCveSubProyecto = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen={CveAlmacen}").ToEntero
+ Dim tCveConcepto As Integer = 69
+
+ For Each RowInv As DataRow In tmpCostos.Rows
+ ValorInventario = DtCostos.SUM("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").ToString.ToDecimal.RoundSQL
+ If tCveConcepto = 69 Then
+ IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
+ End If
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, ValorInventario, Concepto, tCveConcepto, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=ValorInventario, CveSubProyecto:=tCveSubProyecto) Then
+ Retorno = False
+ Exit For
+ End If
+ Next
+
+ IdCtaContable = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen={CveAlmacen}").ToEntero
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, MovAlmacen, DtCostos.SUMD("Total").RoundSQL, Concepto, 68, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=DtCostos.SUMD("Total").RoundSQL) Then
+ Retorno = False
+ End If
+
+
+ If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, -1) Then
+ If ObjConta.ValorPolizaDescuadre > 0 Then
+ GuardaLogAD($"Inventarios/RecepcionAlmacen-PPCompOC | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
+ Retorno = False
+ End If
+ End If
+
+ 'CONTABILIZAR - SIMPLIFICAR
+ If Retorno Then
+ If UsuarioActual.Empresa.Funcionalidad(220) <> "" Then
+ If Not ObjConta.PrePolizaSimplificacion(CvePrePoliza, UsuarioActual.CveEmpresa) Then
+ Retorno = False
+ End If
+ End If
+
+ If UsuarioActual.Empresa.Funcionalidad(200) = "1" Then
+ If ObjContaContPAQ Is Nothing Then
+ ObjContaContPAQ = New ClsContPAQi(UsuarioActual.Empresa)
+ ObjContaContPAQ.IniciaTransacSQL()
+ End If
+
+ If Not ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjContaContPAQ) Then
+ Retorno = False
+ End If
+ End If
+
+ End If
+
+ End If
+ End If
+
+ Return Retorno
+ End Function
+
Private Sub GuardaCompraOC()
Dim CveMovimiento As Integer
Dim InvFolio As String = ""
@@ -2054,6 +2135,12 @@ Partial Class Inventarios_RecepcionAlmacen
End If
End If
+ If Not ErrorMovInv Then
+ If Not GeneraPrePolizaSalidaEntregaDirecta(CveMovtoSalidaDirecta, ObjInventario, ObjConta, ObjContaContPAQ) Then
+ ErrorMovInv = True
+ End If
+ End If
+
End If
End If
@@ -2109,8 +2196,10 @@ Partial Class Inventarios_RecepcionAlmacen
Dim TotalPorDevengar = 0.0
TotalPorDevengar += GvInv.Rows.Cast(Of GridViewRow)().Sum(Function(Gvr) Math.Round(Gvr.DataKey("PU").ToString.ToDouble, 4) * Math.Round(Gvr.DataKey("CantidadF").ToString.ToDouble, 4))
TotalPorDevengar = Math.Round(TotalPorDevengar, 4)
- ObjContaAC = New ClsContPAQi(UsuarioActual.Empresa)
- ObjContaAC.IniciaTransacSQL()
+ If ObjContaContPAQ Is Nothing Then
+ ObjContaContPAQ = New ClsContPAQi(UsuarioActual.Empresa)
+ ObjContaContPAQ.IniciaTransacSQL()
+ End If
IDPoliza = ObjContaAC.AddPoliza(4, "Devengado", TotalPorDevengar * 2, TotalPorDevengar * 2, UsuarioActual.CveUsuario, FechaMovto)
If IDPoliza > 0 AndAlso ObjContaAC.GetCuentas(-1, "-1", -1) Then
@@ -2365,8 +2454,10 @@ Partial Class Inventarios_RecepcionAlmacen
End If
If UsuarioActual.Empresa.Funcionalidad(200) = "1" Then
- ObjContaContPAQ = New ClsContPAQi(UsuarioActual.Empresa)
- ObjContaContPAQ.IniciaTransacSQL()
+ If ObjContaContPAQ Is Nothing Then
+ ObjContaContPAQ = New ClsContPAQi(UsuarioActual.Empresa)
+ ObjContaContPAQ.IniciaTransacSQL()
+ End If
If ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjContaContPAQ) Then
MensajeContabilidad = $" Movimiento contabilizado en el folio: {ObjConta.ContaFolio} "
Else
diff --git a/OS/OrdenesServicios.aspx.vb b/OS/OrdenesServicios.aspx.vb
index 3ea5c9bdb..a90790e77 100644
--- a/OS/OrdenesServicios.aspx.vb
+++ b/OS/OrdenesServicios.aspx.vb
@@ -922,31 +922,36 @@ Partial Class OS_OrdenesServicios
Dim EstatusOrdenServicio As Integer = DdlEstatusOS.SelectedValue.ToEntero
Dim DirectorioEmpresa = UsuarioActual.Empresa.Ruta
- If CveOS = -1 Then
- If ObjOrdenServicio.AddOrdenesServicios(CveCliente, DdlSubProyecto.SelectedValue.ToEntero, TxtSolicito.Text, TxtFechaRecibido.Text.ToDateTime, TxtDescripcion.Text, UsuarioActual.CveUsuario, DdlEstatusOS.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCotizacion, -1, -1, DdlTipoOrdenOS.SelectedValue.ToEntero, CveClienteSucursal:=DdlSucursalCliente.SelectedValue.ToEntero) Then
- For Each Row As DataRow In TmpDT.Rows
- If Errores = False Then
- Dim Consecutivo As Integer = Row("Consecutivo").ToString.ToEntero
- Dim CvePS As Integer = Row("CvePS").ToString.ToEntero
- Dim Observaciones As String = Row("Observaciones").ToString
- Dim SeFacturara As Boolean = CBool(Row("SeFacturara").ToString)
- Dim CveCuentaEquipo As Integer = Row("CveCuentaEquipo").ToString.ToEntero
- Dim ComentarioTecnico As String = Row("ComentarioTecnico").ToString
- Dim Cantidad As Integer = Row("Cantidad").ToString.ToEntero
- Dim Archivo As New System.IO.FileInfo(String.Format("{0}OS\Temp\{1}", UsuarioActual.Empresa.Ruta, Row("Archivo").ToString))
+ If Not CveOS > 0 Then
- CveOsDetalle = ObjOrdenServicio.AddOrdenesServiciosDetalle(ObjOrdenServicio.CveOS, CvePS, Cantidad, -1, -1, Observaciones, False, SeFacturara, False, CveCuentaEquipo, "-1", "-1", "-1", ComentarioTecnico, UsuarioActual.CveUsuario, Archivo:=Archivo.Name)
- If CveOsDetalle < 0 Then Errores = True
+ If Not ObjOrdenServicio.AddOrdenesServicios(CveCliente, DdlSubProyecto.SelectedValue.ToEntero, TxtSolicito.Text, TxtFechaRecibido.Text.ToDateTime, TxtDescripcion.Text, UsuarioActual.CveUsuario, DdlEstatusOS.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCotizacion, -1, -1, DdlTipoOrdenOS.SelectedValue.ToEntero, CveClienteSucursal:=DdlSucursalCliente.SelectedValue.ToEntero) Then
+ Errores = True
+ End If
+ For Each Row As DataRow In TmpDT.Rows
+ If Not Errores Then
+ Dim Consecutivo As Integer = Row("Consecutivo").ToString.ToEntero
+ Dim CvePS As Integer = Row("CvePS").ToString.ToEntero
+ Dim Observaciones As String = Row("Observaciones").ToString
+ Dim SeFacturara As Boolean = CBool(Row("SeFacturara").ToString)
+ Dim CveCuentaEquipo As Integer = Row("CveCuentaEquipo").ToString.ToEntero
+ Dim ComentarioTecnico As String = Row("ComentarioTecnico").ToString
+ Dim Cantidad As Integer = Row("Cantidad").ToString.ToEntero
+ Dim Archivo As New System.IO.FileInfo(String.Format("{0}OS\Temp\{1}", UsuarioActual.Empresa.Ruta, Row("Archivo").ToString))
+ CveOsDetalle = ObjOrdenServicio.AddOrdenesServiciosDetalle(ObjOrdenServicio.CveOS, CvePS, Cantidad, -1, -1, Observaciones, False, SeFacturara, False, CveCuentaEquipo, "-1", "-1", "-1", ComentarioTecnico, UsuarioActual.CveUsuario, Archivo:=Archivo.Name)
+
+ If CveOsDetalle > 0 Then
If Archivo.Name <> "-1" AndAlso Archivo.Exists Then
'Cambiar el nombre del archivo de CveUsuario-Consecutivo.ext a CveOS-Consecutivo.ext
Dim ArchivoFinal As String = String.Format("OS{0}-{1}{2}", ObjOrdenServicio.CveOS, Consecutivo, System.IO.Path.GetExtension(Archivo.Extension))
'Mover el archivo de los temporales a OS
System.IO.File.Move(UsuarioActual.Empresa.Ruta & "\OS\Temp\" & Archivo.Name, UsuarioActual.Empresa.Ruta & "\OS\Archivos\" & ArchivoFinal)
- ObjOrdenServicio.UpdateOrdenesServiciosDetalleArchivo(ArchivoFinal, ObjOrdenServicio.CveOSDetalle)
+ If Not ObjOrdenServicio.UpdateOrdenesServiciosDetalleArchivo(ArchivoFinal, ObjOrdenServicio.CveOSDetalle) Then
+ Errores = True
+ End If
End If
For Each RowE As DataRow In TmpDTCaracteristica.FiltraParametros(String.Format("CveConsecutivoDetalle = {0}", Consecutivo)).Rows
@@ -969,38 +974,40 @@ Partial Class OS_OrdenesServicios
Errores = True
End If
Next
+
+ Else
+ Errores = True
End If
- Next
-
- If Errores = False Then
- ViewState("CveOS") = ObjOrdenServicio.CveOS
- ViewState("Folio") = ObjOrdenServicio.Folio
- CveFolio = ObjOrdenServicio.Folio
- ObjOrdenServicio.Commit()
-
- 'MENSAJE PRINCIPAL
- MensajeAlert.AppendFormat(String.Format(" La Orden de Servicio: {0} se generó correctamente.
", Encripta(String.Format("OP=OS&CVEOS={0}", CveOS)))
-
-
- Dim Liga = $"document.location.href=""/OS/RepOrdenesServicios.aspx"";"
-
- Alert(MensajeAlert.ToString, TipoMensaje.MsgInformacion, Liga)
- LimpiaDatos()
- Else
- ObjOrdenServicio.RollBack()
End If
+ Next
+
+
+ If Not Errores Then
+ ViewState("CveOS") = ObjOrdenServicio.CveOS
+ ViewState("Folio") = ObjOrdenServicio.Folio
+ CveFolio = ObjOrdenServicio.Folio
+
+ 'MENSAJE PRINCIPAL
+ MensajeAlert.AppendFormat(String.Format(" La Orden de Servicio: {0} se generó correctamente.
", Encripta(String.Format("OP=OS&CVEOS={0}", ObjOrdenServicio.CveOS)))
+
+
+ Dim Liga = $"document.location.href=""/OS/RepOrdenesServicios.aspx"";"
+
+ ObjOrdenServicio.Commit()
+
+ Alert(MensajeAlert.ToString, TipoMensaje.MsgInformacion, Liga)
+ LimpiaDatos()
Else
ObjOrdenServicio.RollBack()
End If
- DdlEstatusOS.Enabled = True
Else
If ObjOrdenServicio.UpdateOrdenesServicios(TxtSolicito.Text, TxtFechaRecibido.Text, TxtDescripcion.Text, UsuarioActual.CveUsuario, DdlEstatusOS.SelectedValue.ToEntero, CveOS, UsuarioActual.CveUsuario, DdlTipoOrdenOS.SelectedValue.ToEntero, CveClienteSucursal:=DdlSucursalCliente.SelectedValue.ToEntero) Then
For Each Row As DataRow In TmpDT.Rows
- If Errores = False Then
+ If Not Errores Then
Dim CvePS As Integer = Row("CvePS").ToString.ToEntero
Dim CveOSDetalle As Integer = Row("CveOSDetalle").ToString.ToEntero
Dim Observaciones As String = Row("Observaciones").ToString
@@ -1018,10 +1025,12 @@ Partial Class OS_OrdenesServicios
CveConsecutivo = Consecutivo
If CveOSDetalle > 0 Then
- Errores = Not ObjOrdenServicio.UpdateOrdenesServiciosDetalle(CvePS, Cantidad, CveUsuarioEntrego, Observaciones, SeSuperviso, SeFacturara, Estatus, ComentarioTecnico, CveCuentaEquipo, Archivo.Name, "-1", FechaEntrega, CveOSDetalle, CveOS)
+ If Not ObjOrdenServicio.UpdateOrdenesServiciosDetalle(CvePS, Cantidad, CveUsuarioEntrego, Observaciones, SeSuperviso, SeFacturara, Estatus, ComentarioTecnico, CveCuentaEquipo, Archivo.Name, "-1", FechaEntrega, CveOSDetalle, CveOS) Then
+ Errores = True
+ End If
Else
CveOSDetalle = ObjOrdenServicio.AddOrdenesServiciosDetalle(CveOS, CvePS, Cantidad, -1, CveUsuarioEntrego, Observaciones, SeSuperviso, SeFacturara, Estatus, CveCuentaEquipo, "-1", "-1", FechaEntrega, ComentarioTecnico, UsuarioActual.CveUsuario, Archivo:=Archivo.Name)
- If CveOSDetalle < 0 Then Errores = True
+ If Not CveOSDetalle > 0 Then Errores = True
End If
@@ -1036,7 +1045,9 @@ Partial Class OS_OrdenesServicios
'Mover el archivo de los temporales a OS
System.IO.File.Move(UsuarioActual.Empresa.Ruta & "\OS\Temp\" & Archivo.Name, UsuarioActual.Empresa.Ruta & "\OS\Archivos\" & ArchivoFinal.Name)
- ObjOrdenServicio.UpdateOrdenesServiciosDetalleArchivo(ArchivoFinal.Name, ObjOrdenServicio.CveOSDetalle)
+ If Not ObjOrdenServicio.UpdateOrdenesServiciosDetalleArchivo(ArchivoFinal.Name, ObjOrdenServicio.CveOSDetalle) Then
+ Errores = True
+ End If
End If
If TmpDTCaracteristica.FiltraParametros(String.Format("CveConsecutivoDetalle = {0}", Consecutivo)).Rows.Count > 0 Then
@@ -1069,22 +1080,24 @@ Partial Class OS_OrdenesServicios
End If
End If
Next
+ Else
+ Errores = True
+ End If
- If Errores = False Then
- ObjOrdenServicio.Commit()
+ If Not Errores Then
+ ObjOrdenServicio.Commit()
- Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion)
- UpDatos.Update()
- Else
- ObjOrdenServicio.RollBack()
- End If
+ Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion)
+ UpDatos.Update()
+ CargaHistorial()
+ UpHistorial.Update()
Else
ObjOrdenServicio.RollBack()
End If
End If
- CargaHistorial()
- UpHistorial.Update()
ObjOrdenServicio.Dispose()
+ ObjGenerales.Dispose()
+
End Sub
Protected Sub BtnBuscarEspecificaciones_Click(sender As Object, e As EventArgs)
Dim btn As Button = DirectCast(sender, Button)
@@ -2103,18 +2116,10 @@ Partial Class OS_OrdenesServicios
If GvMaterialesModal.Rows.Count > 0 Then
Dim ObjInventario As New ClsInventarios
- Dim CveMovimientoSalida = 0
- Dim CveMovimientoEntrada = 0
- Dim IDPoliza As Integer = 0
- Dim FolioSalida = 0
- Dim FolioEntrada = 0
- Dim AlmacenEntrada = -1
+ Dim CveTraspasoSolicitud As Integer = 0
- Dim ErrorMovInv As Boolean = False
- Dim ErrorAC As Boolean = False
+ Dim TieneError As Boolean = False
Dim ErrorExistencia = False
-
- Dim TextoError = ""
Dim TextoExistencia As StringBuilder = New StringBuilder
'VALIDA LA EXISTENCIA DEL ALMACEN DE ORIGEN
@@ -2133,76 +2138,33 @@ Partial Class OS_OrdenesServicios
End If
Next
- 'REGISTRA LA SALIDA Y ENTRADA (TRASPASO)
- If Not ErrorExistencia Then
- ObjInventario.IniciaTransacSQL() 'Inicia la transacción
- Dim Fecha As Date = TxtFecha.Text.ToDate
+ Dim Estatus As Integer = -1
- 'AGREGAMOS LA SALIDA DEL ALMACEN ORIGEN
- CveMovimientoSalida = ObjInventario.AddMovimiento(DdlAlmacenOrigen.SelectedValue.ToEntero, 8, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveAlmacenDestino:=DdlAlmacenDestino.SelectedValue.ToEntero, CveOS:=CveOS)
- FolioSalida = ObjInventario.Folio
-
- If CveMovimientoSalida <= 0 Then
- TextoError = "No se pudo generar el movimiento de salida correctamente"
- ErrorMovInv = True
- Else
-
- For Each Dr As DataRow In TmpDTMaterialesDetalle.Rows
- If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, 0, -1, -1) Then
- ErrorMovInv = True
- TextoError = "Ocurrió un error al guardar los movimientos de salida"
- Exit For
- End If
- Next
- End If
-
- 'AGREGAMOS LA ENTRADA
- If Not ErrorMovInv Then
- AlmacenEntrada = DdlAlmacenDestino.SelectedValue.ToEntero
-
- CveMovimientoEntrada = ObjInventario.AddMovimiento(AlmacenEntrada, 9, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveAlmacenDestino:=-1, CveMovimientoRelacionado:=CveMovimientoSalida, CveOS:=CveOS)
- FolioEntrada = ObjInventario.Folio
-
- If CveMovimientoEntrada <= 0 Then
- TextoError = "No se pudo generar el movimiento de entrada correctamente"
- ErrorMovInv = True
- Else
-
- If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
-
- For Each Dr As DataRow In ObjInventario.DtResultados.Rows
- If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDouble, -1, -1) Then
- ErrorMovInv = True
- TextoError = "Ocurrió un error al guardar los movimientos de entrada"
- Exit For
- End If
- Next
-
- End If
-
- End If
- End If
-
-
- If Not ErrorMovInv Then
- ObjInventario.Commit()
- Dim Mensaje As StringBuilder = New StringBuilder
-
- Mensaje.Append("Se realizó con éxito el traspaso.")
-
- Mensaje.AppendFormat(" Folio de Salida: {0}", FolioSalida, CveMovimientoSalida)
- Mensaje.AppendFormat(" Imprimir Reporte", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoSalida)))
-
- LimpiaMovimiento()
- Alert(Mensaje.ToString, TipoMensaje.MsgInformacion)
- Else
- ObjInventario.RollBack()
- Alert(TextoError, TipoMensaje.MsgError)
- RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')")
- End If
+ If UsuarioActual.Empresa.Funcionalidad(105) <> "" Then
+ Estatus = 1
Else
- Alert(TextoExistencia.ToString, TipoMensaje.MsgError)
- RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')")
+ Estatus = 3
+ End If
+
+ Dim Folio As Integer = ObjInventario.AddTrasladoSolicitud($"Solicitud de traspaso #{LblFolio.Text}", DdlAlmacenOrigen.SelectedValue.ToEntero, DdlAlmacenDestino.SelectedValue.ToEntero, Estatus, -1, TxtFecha.Text.ToDate, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveOS:=CveOS)
+
+ If Folio > 0 Then
+ CveTraspasoSolicitud = ObjInventario.CveTraspasoSolicitud
+ Else
+ TieneError = True
+ End If
+
+ If Not TieneError Then
+ For Each Row As GridViewRow In TmpDTMaterialesDetalle.Rows
+ Dim CveUM As Integer = Row.DataKey("CveUM").ToEntero
+ Dim CvePS As Integer = Row.DataKey("CvePS").ToEntero
+ Dim Cantidad As Integer = Row.DataKey("Cantidad").ToEntero
+
+ If Not ObjInventario.AddTrasladoSolicitudDetalle(CveTraspasoSolicitud, Cantidad, CveUM, CvePS, 0, "", -1) Then
+ TieneError = True
+ Exit For
+ End If
+ Next
End If
@@ -2211,6 +2173,14 @@ Partial Class OS_OrdenesServicios
Alert("Ocurrió un error en la existencia", TipoMensaje.MsgError)
End If
+ If TieneError = False Then
+ ObjInventario.Commit()
+ Alert($"El Traspaso se guardó correctamente con el folio #: {Folio}.", TipoMensaje.MsgInformacion, $"document.location.href=""/Inventarios/TrasladoSolicitud.aspx?CveTraspasoSolicitud={CveTraspasoSolicitud}""")
+ Else
+ ObjInventario.RollBack()
+ Alert("Ocurrió un Error al guardar el traspaso.", TipoMensaje.MsgError)
+ End If
+
ObjInventario.Dispose()
End If
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivGvMateriales"))
@@ -2414,7 +2384,7 @@ Partial Class OS_OrdenesServicios
DdlAlmacenOrigen.DataBind()
DdlAlmacenOrigen.Items.Insert(0, New ListItem("Seleccione", "-1"))
- DdlAlmacenDestino.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros("CveTipoAlmacen IN (4)") 'GlobalDTAlmacen(UsuarioActual.CveEmpresa)
+ DdlAlmacenDestino.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros("CveTipoAlmacen IN (23)") 'GlobalDTAlmacen(UsuarioActual.CveEmpresa)
DdlAlmacenDestino.DataBind()
DdlAlmacenDestino.Items.Insert(0, New ListItem("Seleccione", "-1"))
End Sub
diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb
index b5b9b128c..a57d52322 100644
--- a/Ventas/Ventas.aspx.vb
+++ b/Ventas/Ventas.aspx.vb
@@ -6572,7 +6572,7 @@ Partial Class Ventas
'ContPAQ El movimiento 1 es el de Venta
Dim AutoConta As Boolean = UsuarioActual.Empresa.Funcionalidad(200) = "1"
- If UsuarioActual.CveEmpresa = 119 AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ant", "Rem", "RNC", "Cot", "Ped", "Pd2", "PA", "NC") Then
+ If UsuarioActual.CveEmpresa = 119 AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ant", "Rem", "RNC", "Cot", "Ped", "Pd2", "PA", "Egs", "Dev") Then
AutoConta = False
End If
@@ -19926,7 +19926,7 @@ Partial Class Ventas
Private Sub CargaCxC()
Dim ObjMovtos As New ClsMovimientos()
- If ObjMovtos.GetCxCClienteDetalle(ViewState("CveCliente").ToString.ToEntero, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa, DdlSucursalCliente.SelectedValue.ToEntero) Then
+ If ObjMovtos.GetCxCClienteDetalle(ViewState("CveCliente").ToString.ToEntero, "-1", "-1", DdlMoneda.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa, DdlSucursalCliente.SelectedValue.ToEntero) Then
Dim DtTemporal As DataTable = ObjMovtos.DtResultados.FiltraParametros("Tipo = 'Act' AND CveVenta > 0", "Moneda, OrdenVencimiento, FechaVencimiento")
GvCxC.DataSource = DtTemporal
End If