This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2022-07-12 02:41:42 -07:00
17 changed files with 1025 additions and 759 deletions

View File

@@ -929,7 +929,8 @@ Public Class ClsAcumuladores
#End Region
Public Function DistribuidorMovtosAdd(CveCliente As Integer, Cantidad As Decimal, CveTamaño As Integer, CveConcepto As Integer, CveVenta As Integer, CveUsuario As Integer,
CveEmpresa As Integer, ImporteCompras As Decimal, Observaciones As String, FechaIng As DateTime, Optional CveMovimiento As Integer = -1) As Boolean
CveEmpresa As Integer, ImporteCompras As Decimal, Observaciones As String, FechaIng As DateTime, Optional CveMovimiento As Integer = -1,
Optional CveVentaBonificacion As Integer = -1, Optional FacturadoBonificacion As Boolean = False) As Boolean
Dim Retorno As Boolean = False
'Data = New DataTable
@@ -947,6 +948,8 @@ Public Class ClsAcumuladores
.Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones
.Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
.Add("@FechaIng", SqlDbType.DateTime).Value = FechaIng
.Add("@CveVentaBonificacion", SqlDbType.Int).Value = CveVentaBonificacion
.Add("@FacturadoBonificacion", SqlDbType.Bit).Value = FacturadoBonificacion
End With
Try

View File

@@ -4324,6 +4324,7 @@ Public Class ClsPaginas
PaginaDict.Add("/OC/OCPendientes.aspx".ToUpper(), -1)
PaginaDict.Add("/Sistemas/Registro.aspx".ToUpper(), -1)
PaginaDict.Add("/Sistemas/WizardRegistro.aspx".ToUpper(), -1)
PaginaDict.Add("/Sistemas/ListadoReportes.aspx".ToUpper(), 702)
PaginaDict.Add("/Ventas/VentasRene.aspx".ToUpper(), -1)
PaginaDict.Add("/Contratos/Contrato2.aspx".ToUpper(), -1)
PaginaDict.Add("/Flotillas/CatMantenimientos.aspx".ToUpper(), -1)
@@ -6962,7 +6963,8 @@ Public Class ClsPaginas
' GuardaLog(String.Format("Ocurrio un error al generar el reporte RLDC {0}", ex))
' End Try
'End Sub
Public Function PdfFactura(ByRef Vta As Modelos.Factura, Optional AplicaPagare As String = "0", Optional Guardar As Boolean = True, Optional SubReportData As Modelos.MSubReportData = Nothing) As Byte()
Public Function PdfFactura(ByRef Vta As Modelos.Factura, Optional AplicaPagare As String = "0", Optional Guardar As Boolean = True, Optional SubReportData As Modelos.MSubReportData = Nothing, Optional UsarStimulsoft As Boolean = False) As Byte()
Dim retorno As Byte() = Nothing
' Dim ObjVentas As New ClsVentas
@@ -7789,6 +7791,7 @@ Public Class ClsPaginas
Next
End If
If Not UsarStimulsoft Then
Dim Archivo As New System.IO.FileInfo(RutaFormato)
If Archivo.Exists Then
'If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then
@@ -7829,6 +7832,11 @@ Public Class ClsPaginas
'End If
retorno = StreamPDF(RutaFormatoDefault, lrds, params, NombreArchivo, "PDF", MR:=Nothing, SubReportData:=SubReportData)
End If
Else
RutaFormato = RutaFormato.Replace(".rdlc", ".mrt")
retorno = StreamBytesStimulsoft("Facturas", RutaFormato, lrds, params, NombreArchivo:=NombreArchivo, Formato:="PDF")
End If
Catch ex As Exception
GuardaLog(String.Format("Ocurrio un error al generar el reporte RLDC {0}", ex))
End Try
@@ -7864,9 +7872,12 @@ Public Class ClsPaginas
If Not RutaReporte.ToUpper().StartsWith(bdir.ToUpper()) Then
RutaReporte = String.Format("{0}{1}", bdir, RutaReporte)
End If
Dim urlHost As String = "http://localhost:2202/"
If EsProduccion Then
urlHost = "http://sig.adssistemas.mx:6599/"
End If
'SITIO DE PRUEBA EN IIS
Dim Url = New Uri(String.Format("{0}{1}", "http://localhost:2202/", Opcion))
Dim Url = New Uri(String.Format("{0}{1}", urlHost, Opcion))
Try
Dim dataSourceArray As New JArray()
@@ -7883,6 +7894,7 @@ Public Class ClsPaginas
Dim payload As New JObject(
New JProperty("formato", Formato),
New JProperty("ruta", RutaReporte),
New JProperty("UsarFormatoCompilado", false),
New JProperty("parametros", paramsArray),
New JProperty("dataSource", dataSourceArray)
)

View File

@@ -379,7 +379,7 @@ Namespace Modelos
End If
Timbre = New CFDITimbre
End Sub
Public Sub New(UsuarioActual As Usuario, CveVenta As Integer, CveEmpresa As Integer, Optional DirectorioServidor As String = "", Optional EsCancelacion As Boolean = False, Optional CargaDTDetalle As Boolean = True, Optional CargaDatosCliente As Boolean = True, Optional CargaDatosRelacionados As Boolean = True)
Public Sub New(UsuarioActual As Usuario, CveVenta As Integer, CveEmpresa As Integer, Optional DirectorioServidor As String = "", Optional EsCancelacion As Boolean = False, Optional CargaDTDetalle As Boolean = True, Optional CargaDatosCliente As Boolean = True, Optional CargaDatosRelacionados As Boolean = True, Optional VerificaAlmacen As Boolean = True)
Me.UsuarioActual = UsuarioActual
Me.CveVenta = CveVenta
Me.CveEmpresa = CveEmpresa
@@ -391,7 +391,7 @@ Namespace Modelos
IniciaValores()
Dim ObjVentas As New ClsVentas()
If ObjVentas.GetVenta(CveVenta, CveEmpresa) Then
If ObjVentas.GetVenta(CveVenta, CveEmpresa, VerificaAlmacen:=VerificaAlmacen) Then
If ObjVentas.DtResultados IsNot Nothing AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then
setValues(ObjVentas.DtResultados.Rows(0))
@@ -2101,14 +2101,23 @@ Namespace Modelos
Case "Egs"
CveConcepto = 6
End Select
'SI ES FACTURA,NC,DEV O ES RNC DE CARGO, CANCELAR MOVIMIENTOS
If factura.TipoDocto.Contiene("Ing", "Dev", "Egs") OrElse factura.TipoDocto.Contiene("RNC") AndAlso factura.Num1 = 1 Then
If ObjAcum.DistribuidorMovtosGet(factura.CveCliente, UsuarioActual.CveEmpresa, CveVentaRNCCargo:=factura.CveVenta, CveConcepto:=CveConcepto) Then
Dim DtMovimientos As DataTable = ObjAcum.DtResultados.FiltraParametros("Cantidad > 0")
If DtMovimientos IsNot Nothing AndAlso DtMovimientos.Rows.Count > 0 Then
For Each RowSalida As DataRow In DtMovimientos.Rows
Dim Cantidad As Decimal = RowSalida("Cantidad").ToString().ToDecimal() * -1
If Not ObjAcum.DistribuidorMovtosAdd(factura.CveCliente, Cantidad, RowSalida("CveTamaño").ToString.ToEntero, CveConcepto, factura.CveVenta, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 0D, "", factura.Fecha) Then
Dim FacturadoBonificacion = False
Dim CveVentaBonificacion As Integer = -1
If factura.TipoDocto = "RNC" Then
CveVentaBonificacion = RowSalida("CveVentaBonificacion").ToString().ToEntero()
FacturadoBonificacion = CBool(RowSalida("FacturadoBonificacion").ToString())
End If
If Not ObjAcum.DistribuidorMovtosAdd(factura.CveCliente, Cantidad, RowSalida("CveTamaño").ToString.ToEntero, CveConcepto, factura.CveVenta, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 0D, "", factura.Fecha, CveVentaBonificacion:=CveVentaBonificacion, FacturadoBonificacion:=FacturadoBonificacion) Then
Retorno = False
Exit For
End If
@@ -2116,6 +2125,10 @@ Namespace Modelos
DtMovimientos.Dispose()
End If
End If
Else
End If
Return Retorno
End Function
@@ -2217,7 +2230,7 @@ Namespace Modelos
End Function
Private Function CancelarInventarioUsado(factura As Modelos.Factura, CveAlmacenUsado As Integer, CveMovimientoEntrada As Integer, ByRef ObjInventario As ClsInventarios, ByRef ObjConta As ClsContabilidad) As Integer
Private Function CancelarInventarioUsado(factura As Modelos.Factura, CveAlmacenUsado As Integer, CveMovimientoEntrada As Integer, ByRef ObjInventario As ClsInventarios, ByRef ObjConta As ClsContabilidad, Optional GenerarPrePoliza As Boolean = True) As Integer
Dim CveMovimiento As Integer = -1
Try
Dim CveConceptoSalidaUsado As Integer = 45
@@ -2240,7 +2253,7 @@ Namespace Modelos
End If
Next
If CveMovimiento > 0 Then
If GenerarPrePoliza AndAlso CveMovimiento > 0 Then
Dim Concepto As String = "Cancelación Usado" & factura.SerieFolio
Dim CvePrePoliza = ObjConta.AddPrePolizas("Mod/CancSalUsados", 74, DtMovimientosEntrada.SUMD("Total"), DtMovimientosEntrada.SUMD("Total"), 1, tFecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
Dim tCveSubProyecto = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen={CveAlmacen}").ToEntero
@@ -2498,7 +2511,7 @@ Namespace Modelos
Dim TipoMovto68 = TipoMovimiento
'SI ES CANCELACION DEBE GENERAR EL MOVIMIENTO DE SALIDA DE USADOS
If ValorMultiplicador = -1 Then
CveMovimientoReferencia = CancelarInventarioUsado(ObjFactura, CveAlmacen, CveMovimiento, ObjInventario, ObjConta)
CveMovimientoReferencia = CancelarInventarioUsado(ObjFactura, CveAlmacen, CveMovimiento, ObjInventario, ObjConta, GenerarPrePoliza:=False)
Else
CveMovimientoReferencia = CveMovimiento
End If
@@ -5675,6 +5688,11 @@ Namespace Modelos
If ObjInventario.GetInv_Mov(CveVenta, UsuarioActual.CveEmpresa) Then
DtMovRemision = ObjInventario.DtResultados.FiltraParametros("CveTipoAlmacen = 10")
CveAlmacenGeneral = ObjInventario.DtResultados.FiltroPrimeroValor("CveAlmacen", "CveTipoAlmacen = 1").ToString().ToEntero()
'SI ES SERVICIO A DOMICILIO DEBE REGRESAR A ESTE TIPO DE ALMACEN
If Me.ServicioDomicilio Then
CveAlmacenGeneral = ObjInventario.DtResultados.FiltroPrimeroValor("CveAlmacen", "CveTipoAlmacen = 29").ToString().ToEntero()
End If
CveAlmacenExA = ObjInventario.DtResultados.FiltroPrimeroValor("CveAlmacen", "CveTipoAlmacen = 10").ToString().ToEntero()
CveMovimientoUsado = ObjInventario.DtResultados.FiltroPrimeroValor("CveMovimiento", "CvePS IS NULL AND CveConcepto = 42").ToEntero()

View File

@@ -3483,6 +3483,14 @@ Public Class Timbrado
End If
If ObjCFDITimbre.Comprobante.TipoComprobante = "T" Then
Dim objGrales As New ClsGenerales
If objGrales.UpdateTimbreTimbrado(Ventas.CveTimbre, FolioFiscal, ObjCFDITimbre.Comprobante.Fecha, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.CvePAC, "3.3") Then
Retorno = ""
Else
Retorno = "Error"
End If
objGrales.Dispose()
Using ObjInv As New ClsInventarios()
If ObjInv.UpdateMovimientoTimbrado(Ventas.Inv_CveMovimiento, 1, FolioFiscal, MinFecha) Then
Retorno = ""
@@ -5706,6 +5714,14 @@ Public Class Timbrado
End If
If ObjCFDITimbre.Comprobante.TipoComprobante = "T" Then
Dim objGrales As New ClsGenerales
If objGrales.UpdateTimbreTimbrado(Ventas.CveTimbre, FolioFiscal, ObjCFDITimbre.Comprobante.Fecha, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.CvePAC, "4.0") Then
Retorno = ""
Else
Retorno = "Error"
End If
objGrales.Dispose()
Using ObjInv As New ClsInventarios()
If ObjInv.UpdateMovimientoTimbrado(Ventas.Inv_CveMovimiento, 1, FolioFiscal, MinFecha) Then
Retorno = ""

View File

@@ -1082,7 +1082,9 @@ Partial Class PopUpVerFactura
Dim AplicaPagare As String = If(UrlParametros("PAG") IsNot Nothing AndAlso UrlParametros("PAG").ToString <> "", UrlParametros("PAG").ToString, "0")
Dim Guardar As Boolean = UrlParametros("GUARDAR") IsNot Nothing AndAlso UrlParametros("GUARDAR").ToString() = "1"
Dim RegenerarPDF As Boolean = UrlParametros("REGENERAR") IsNot Nothing AndAlso UrlParametros("REGENERAR").ToString() = "1"
imprimirFacturaVenta(UrlParametros("CVEVENTA").ToString.ToEntero, AplicaPagare, GuardarPDF:=Guardar, RegenerarPDF:=RegenerarPDF)
Dim STIMULSOFT As Boolean = UrlParametros("STIMULSOFT") IsNot Nothing AndAlso UrlParametros("STIMULSOFT").ToString() = "1"
imprimirFacturaVenta(UrlParametros("CVEVENTA").ToString.ToEntero, AplicaPagare, GuardarPDF:=Guardar, RegenerarPDF:=RegenerarPDF, UsarStimulsoft:=STIMULSOFT)
End If
End If
@@ -2697,7 +2699,7 @@ Partial Class PopUpVerFactura
Archivo = Nothing
End If
End Sub
Public Sub imprimirFacturaVenta(CveVenta As Integer, AplicaPagare As String, Optional GuardarPDF As Boolean = False, Optional RegenerarPDF As Boolean = False)
Public Sub imprimirFacturaVenta(CveVenta As Integer, AplicaPagare As String, Optional GuardarPDF As Boolean = False, Optional RegenerarPDF As Boolean = False, Optional UsarStimulsoft As Boolean = False)
Dim ObjVentas As New ClsVentas
Dim Vta As Modelos.Factura = Nothing
@@ -2726,7 +2728,7 @@ Partial Class PopUpVerFactura
Dim Archivo As New System.IO.FileInfo(PathArchivo)
'SI EL ARCHIVO NO EXISTE O SE VA REGENERA EL PDF, SE DEBEN LLENAR LOS DATOS
If Not Archivo.Exists OrElse RegenerarPDF Then
If Not Archivo.Exists OrElse RegenerarPDF OrElse UsarStimulsoft Then
Vta.MonedaAbreviatura = dtVentas(0)("Abreviatura").ToString
'se rellena la sucursal
'Vta.Subproyecto = ObjVentas.DtResultados.Rows(0).DataRowToObject(Of Modelos.SucursalModel)
@@ -3031,7 +3033,7 @@ Partial Class PopUpVerFactura
Dim CveTimbreCartaPorteVenta As Integer = -1
Dim CartaPorte As Modelos.MSubReportData = Nothing
'SI EL ARCHIVO NO EXISTE O SE VA REGENERA EL PDF, SE DEBEN LLENAR LOS DATOS
If Not Archivo.Exists OrElse RegenerarPDF Then
If Not Archivo.Exists OrElse RegenerarPDF OrElse UsarStimulsoft Then
If UsuarioActual.CveEmpresa = 13 AndAlso Vta.TipoDocto = "Ing" Then
Using ObjGral As New ClsGenerales
If ObjGral.GetGralTimbre(-1, "Ing", MinFecha, MaxFecha, 0, UsuarioActual.CveEmpresa, -1, CveVenta:=CveVenta) AndAlso ObjGral.DtResultados.Rows.Count > 0 Then
@@ -3049,6 +3051,9 @@ Partial Class PopUpVerFactura
End If
End If
If UsarStimulsoft Then
ImprimirbytesPDF(PdfFactura(Vta, AplicaPagare:=AplicaPagare, Guardar:=True, SubReportData:=CartaPorte, UsarStimulsoft:=UsarStimulsoft), Vta.SerieFolio, "PDF")
Else
If Archivo.Exists Then
If RegenerarPDF Then
Archivo.Delete()
@@ -3079,6 +3084,8 @@ Partial Class PopUpVerFactura
Vta = Nothing
End If
End If
End If
End If

View File

@@ -1188,7 +1188,7 @@ Partial Class ContabilidadC_RegPrePoliza
Dim Concepto As String = row.FCTextBox("TxtConcepto").Text
Dim CveSubProyecto As Integer = row.FCDropDownList("DdlSubProyecto").SelectedValue.ToEntero()
Dim CtaContable As Integer = row.FCDropDownList("DdlCtaContable").SelectedValue.ToEntero()
Dim TipoMovto As Boolean = If(row.FCTextBox("TxtCargo").Text.ToDecimal() <> 0, False, True)
Dim TipoMovto As Boolean = If(row.FCTextBox("TxtAbono").Text.ToDecimal() <> 0, True, False)
Dim TipoMovtoOld As Boolean = (row.DataKey("TipoMovto").ToString = "True")
Dim ImporteMN As Decimal = If(row.FCTextBox("TxtCargo").Text.ToDecimal() <> 0, row.FCTextBox("TxtCargo").Text.ToDecimal(), row.FCTextBox("TxtAbono").Text.ToDecimal())
Dim CveTipoGastonew As Integer = If(DdlTipoGasto.Visible, row.FCDropDownList("DdlTipoGasto").SelectedValue.ToEntero(), row.DataKey("CveTipoGasto").ToEntero())

View File

@@ -24,6 +24,24 @@ Partial Class Inventarios_Consignaciones
End Set
End Property
Public Property DtRecepcion() As DataTable
Get
If ViewState("DtRecepcion") Is Nothing Then
ViewState("DtRecepcion") = New DataTable
End If
Return CType(ViewState("DtRecepcion"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtRecepcion") = value
End Set
End Property
Public Property CveConsignacion() As Integer
Get
Return ViewState("CveConsignacion").ToString.ToEntero
@@ -1298,17 +1316,18 @@ Partial Class Inventarios_Consignaciones
End Sub
Private Sub CargaRecepcion()
Dim ObjInventarios As New ClsInventarios
Dim Dt As DataTable = Nothing
DtRecepcion = New DataTable
If ObjInventarios.GetMovimientosTransitorios(DdlAlmacenRecepcion.SelectedValue.ToEntero, 4, DdlAlmacenTransitorioRecepcion.SelectedValue.ToEntero, -1, If(TxtFolioRecepcion.Text = "", -1, TxtFolioRecepcion.Text.ToEntero), UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario) Then
Dt = ObjInventarios.DtResultados
DtRecepcion = ObjInventarios.DtResultados
Else
Alert("Ocurrió un error al consultar los movimientos transitorios. Por favor vuelva a intentar.", TipoMensaje.MsgError)
End If
ObjInventarios.Dispose()
If Dt IsNot Nothing Then
GvDatosRecepcion.DataSource = Dt
If DtRecepcion IsNot Nothing Then
GvDatosRecepcion.DataSource = DtRecepcion
GvDatosRecepcion.DataBind()
End If
@@ -1318,7 +1337,7 @@ Partial Class Inventarios_Consignaciones
BtnRecibir.Visible = True
End If
Dt.Dispose()
UpDatosRecepcion.Update()
End Sub
@@ -1458,6 +1477,40 @@ Partial Class Inventarios_Consignaciones
'End If
If Not ErrorMovInv Then
Dim ImportePrePoliza As Decimal = DtRecepcion.SUMD("Importe", "CveMovimientoDetalle > 0")
Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL)
Dim Concepto As String = "Recepcion Traspaso"
Dim CvePrePoliza = ObjConta.AddPrePolizas("Recepcion/Consignacion", 53, ImportePrePoliza, ImportePrePoliza, 1, Fecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImportePrePoliza, "Recepcion Traspaso", 68, "Recepcion Traspaso", Fecha, -1, -1, CveVenta:=-1, CveMovimientoAlmacen:=CveMovimientoEntrada, ImporteMX:=ImportePrePoliza, CveSubProyecto:=-1, Contabilizable:=False) Then
ErrorMovInv = True
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImportePrePoliza, "Recepcion Traspason", 68, "Recepcion Traspaso", Fecha, -1, -1, CveVenta:=-1, CveMovimientoAlmacen:=CveMovimientoSalida, ImporteMX:=ImportePrePoliza, Contabilizable:=False) Then
ErrorMovInv = True
End If
If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, 6) Then
If ObjConta.ValorPolizaDescuadre > 0 Then
GuardaLogAD($"Consig | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
ErrorMovInv = True
End If
End If
End If
If Not ErrorMovInv Then
ObjInventario.Commit()

View File

@@ -721,9 +721,10 @@ Partial Class Inventarios_EntradasSalidas
LbTipoCambio.Text = DtMov.Rows(0)("TipoCambio").ToString
End If
Dim TMDsTR = DtMov.Rows(0)("CveMtoRel").ToString
If DtMov.Rows(0)("CveMtoRel").ToString.Length > 0 Then
If TMDsTR.Length > 0 Then
RowMtoRel.Visible = True
lnkMtoRelacionado.NavigateUrl = "/Inventarios/EntradasSalidas.aspx?CveMovimiento=" & DtMov.Rows(0)("CveMtoRel").ToString
lnkMtoRelacionado.NavigateUrl = "/Inventarios/EntradasSalidas.aspx?CveMovimiento=" & TMDsTR
CveMovimientoRelacionado = TMDsTR.ToEntero
End If
If Mov.CveMovimientoVirtual > 0 Then
@@ -3725,6 +3726,7 @@ Partial Class Inventarios_EntradasSalidas
Dim OrigenMov As Integer = GlobalDTInvConceptos.FiltroPrimeroValor("Origen", "CveConcepto = " & DdlConcepto.SelectedValue).ToEntero
If OrigenMov = 1 Then MovAlmacen = False Else MovAlmacen = True
CveMovimientoRelacionado = ObjInventario.DtResultados.Rows(0)("CveMtoRel").ToString.ToEntero
If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
DtCostos = ObjInventario.DtResultados
@@ -3772,10 +3774,15 @@ Partial Class Inventarios_EntradasSalidas
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, DtCostos.SUMD("Total").RoundSQL, Concepto, 205, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveCompra:=CveCompra, CveMovimientoAlmacen:=CveMovimientoRelacionado, ImporteMX:=DtCostos.SUMD("Total").RoundSQL, Contabilizable:=Contabilizable) Then
ErrorMovInv = True
End If
Else
If ObjInventario.Modulo.Contiene("M/CU") Then
ElseIf ObjInventario.Modulo.Contiene("RE/G5", "EA/G5") Then
Contabilizable = True
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, DtCostos.SUMD("Total").RoundSQL, Concepto, 278, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveCompra:=CveCompra, CveMovimientoAlmacen:=CveMovimientoRelacionado, ImporteMX:=DtCostos.SUMD("Total").RoundSQL, Contabilizable:=Contabilizable) Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, DtCostos.SUMD("Total").RoundSQL, Concepto, 331, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveCompra:=CveCompra, CveMovimientoAlmacen:=CveMovimientoRelacionado, ImporteMX:=DtCostos.SUMD("Total").RoundSQL, Contabilizable:=Contabilizable) Then
ErrorMovInv = True
End If
Else
If ObjInventario.Modulo.Contiene("M/CU", "RU/G") Then
Contabilizable = True
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, DtCostos.SUMD("Total").RoundSQL, HplVenta.Text, 278, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveCompra:=CveCompra, CveMovimientoAlmacen:=CveMovimientoRelacionado, ImporteMX:=DtCostos.SUMD("Total").RoundSQL, Contabilizable:=Contabilizable) Then
ErrorMovInv = True
End If
Else
@@ -3791,7 +3798,7 @@ Partial Class Inventarios_EntradasSalidas
ErrorMovInv = True
End If
Else
If ObjInventario.Modulo = "ASA/G1" Then
If ObjInventario.Modulo.Contiene("ASA/G1", "Vta/E4", "ARMPAQ1", "RE/GSC3") Then
Contabilizable = False
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, DtCostos.SUMD("Total").RoundSQL, Concepto, 68, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimientoRelacionado, ImporteMX:=DtCostos.SUMD("Total").RoundSQL, Contabilizable:=Contabilizable) Then
ErrorMovInv = True

View File

@@ -2067,6 +2067,49 @@ Partial Class Inventarios_EntregaAlmacen
Next
End If
Dim ImportePrePoliza As Decimal = 0D
If ObjInventario.GetMovimientosDetalle(CveMovimientoEntrada, UsuarioActual.CveEmpresa) Then
ImportePrePoliza = ObjInventario.DtResultados.SUMD("Total")
End If
Dim MovAlmacen As Boolean = True
Dim OrigenMov As Integer = GlobalDTInvConceptos.FiltroPrimeroValor("Origen", "CveConcepto = " & 9).ToEntero
If OrigenMov = 1 Then
MovAlmacen = True
Else
MovAlmacen = False
End If
Dim ObjConta2 As New ClsContabilidad(ObjInventario.IniciaTransacSQL)
Dim Concepto As String = "ARMPAQ2"
Dim CvePrePoliza = ObjConta2.AddPrePolizas("RE/GSC1/GSC3/RE/G4", 74, ImportePrePoliza, ImportePrePoliza, 1, TxtFecha.Text.ToDate, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
'Dim tCveSubProyecto = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen={CveAlmacen}").ToEntero
If Not ObjConta2.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, ImportePrePoliza, "RE/G4", 68, "RE/G4", TxtFecha.Text.ToDate, -1, -1, CveVenta:=-1, CveMovimientoAlmacen:=CveMovimientoEntradaApartado, ImporteMX:=ImportePrePoliza, CveSubProyecto:=-1, Contabilizable:=False) Then
ErrorMovInv = True
End If
If Not ObjConta2.AddPrePolizasDetalle(CvePrePoliza, MovAlmacen, ImportePrePoliza, "RE/GSC1/GSC3", 68, "RE/GSC1/GSC3", TxtFecha.Text.ToDate, -1, -1, CveVenta:=-1, CveMovimientoAlmacen:=CveMovimientoSalida, ImporteMX:=ImportePrePoliza, Contabilizable:=False) Then
ErrorMovInv = True
End If
If ObjConta2.ValidacionPrePolizaCuadre(CvePrePoliza, 6) Then
If ObjConta2.ValorPolizaDescuadre > 0 Then
GuardaLogAD($"Inventarios/RecepcionAlmacen-PPCompOC | Error:{ObjConta2.MensajePolizaDescuadre} Diferencia:{ObjConta2.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
ErrorMovInv = True
End If
End If
End If
If Not ErrorMovInv Then

View File

@@ -2278,7 +2278,7 @@ Partial Class Inventarios_RecepcionUsados
Me.ObjFactura = Nothing
End If
Me.ObjFactura = New Modelos.Factura(UsuarioActual, CveRemisionRecibida, UsuarioActual.CveEmpresa, DirectorioServidor:=ModExtensiones.DirectorioBaseEmpresas, CargaDatosCliente:=False, CargaDatosRelacionados:=False)
Me.ObjFactura = New Modelos.Factura(UsuarioActual, CveRemisionRecibida, UsuarioActual.CveEmpresa, DirectorioServidor:=ModExtensiones.DirectorioBaseEmpresas, CargaDatosCliente:=False, CargaDatosRelacionados:=False, VerificaAlmacen:=False)
If Me.ObjFactura IsNot Nothing Then

View File

@@ -979,11 +979,8 @@ Partial Class Inventarios_TraspasoAlmacen
ErrorExistencia = True
dr("EstatusExistencia") = "-1"
dr("Cantidad") = Existencia
'If Existencia <= 0 Then
TextoExistencia.AppendFormat("- #{0} {1}<br/>", dr("No").ToString, dr("PS").ToString)
'Else
'Alert(String.Format("Solo hay en existencia: {0}", Existencia), TipoMensaje.MsgError)
'End If
End If
Next
Else
@@ -1016,17 +1013,9 @@ Partial Class Inventarios_TraspasoAlmacen
End If
Dim TotalCantidad As Decimal = DtMovimientos.SUMD("Cantidad")
''[IPP-1Noviembre2018] SE COMENTA PORQUE NO TIENE NI PIES NI CABEZA. LE FALTA DESARROLLO
'If (TipoAlmacenOrigen = 14 Or TipoAlmacenDestino = 14) And TipoAlmacenOrigen <> TipoAlmacenDestino Then
' ObjInventario.Dispose()
' 'es consumo interno
' ConsumoInterno(TipoAlmacenOrigen, TipoAlmacenDestino)
'End If
'Inicia la transacción
Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL())
Dim CveMovimientoSalida = 0
Dim CveMovimientoSalida As Integer = 0
Dim CveMovimientoEntrada = 0
Dim IDPoliza As Integer = 0
Dim FolioSalida = 0
@@ -1034,13 +1023,16 @@ Partial Class Inventarios_TraspasoAlmacen
Dim CveMovimientoVirtualSalida As Integer = 0
Dim FolioVirtualEntrada As Integer = 0
Dim FolioVirtualSalida As Integer = 0
Dim FolioEntrada = 0
Dim AlmacenEntrada = -1
Dim FolioEntrada As Integer = 0
Dim Fecha As Date = TxtFecha.Text.ToDate
Dim ErrorMovInv As Boolean = False
Dim ErrorAC As Boolean = False
Dim TextoError = ""
Dim TipoMovimientoSalida As Integer = 26 'If(ChkTransitorio.Checked, 26, If(TipoAlmacenOrigen = 24, 26, 26))
Dim TipoMovimientoSalida As Integer = 26
Dim CveAlmacenEntrada As Integer = If(ChkTransitorio.Checked, DdlAlmacenTransitorio.SelectedValue.ToEntero, DdlAlmacenDestino.SelectedValue.ToEntero)
Dim CveConceptoEntrada As Integer = 27
If Not ChkTransitorio.Checked Then CveConceptoEntrada = 27 Else CveConceptoEntrada = 9
'AGREGAMOS LA SALIDA DEL ALMACEN ORIGEN
CveMovimientoSalida = ObjInventario.AddMovimiento(DdlAlmacenOrigen.SelectedValue.ToEntero, TipoMovimientoSalida, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1,
@@ -1066,49 +1058,8 @@ Partial Class Inventarios_TraspasoAlmacen
Next
End If
'VIRTUAL SALIDA
If RealizarMovimientoVirtual AndAlso CveAlmacenVirtualSalida > 0 Then
'If TipoAlmacenOrigen = 27 Then
' CveAlmacenVirtual = GlobalDTAlmacen(UsuarioActual.CveEmpresa, 25).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyectoOrigen}").ToEntero()
'Else
' CveAlmacenVirtual = GlobalDTAlmacen(UsuarioActual.CveEmpresa, 24).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyectoOrigen}").ToEntero()
'End If
Dim dtvirtual As DataTable = Nothing
If ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
dtvirtual = ObjInventario.DtResultados
If dtvirtual.Rows.Count > 0 Then
CveMovimientoVirtualSalida = ObjInventario.AddMovimiento(CveAlmacenVirtualSalida, 37, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Modulo:="TA/V", CveMovimientoRelacionado:=CveMovimientoSalida, CveAlmacenDestino:=CveAlmacenVirtualEntrada)
FolioVirtualSalida = ObjInventario.Folio
For Each RowVirtual As DataRow In dtvirtual.Rows
Dim CvePS = RowVirtual("CvePS").ToString().ToEntero()
Dim CantidadUsado As Decimal = RowVirtual("Cantidad").ToString.ToDecimal
Dim PU As Decimal = RowVirtual("Cargo").ToString().ToDecimal()
Dim CveUM As Integer = RowVirtual("CveUM").ToString().ToEntero()
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtualSalida, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
ErrorMovInv = True
Exit For
End If
Next
End If
Else
ErrorMovInv = True
End If
End If
AlmacenEntrada = If(ChkTransitorio.Checked, DdlAlmacenTransitorio.SelectedValue.ToEntero, DdlAlmacenDestino.SelectedValue.ToEntero)
Dim TipoMovimientoEntrada As Integer = 27
If Not ChkTransitorio.Checked Then TipoMovimientoEntrada = 27 Else TipoMovimientoEntrada = 9
CveMovimientoEntrada = ObjInventario.AddMovimiento(AlmacenEntrada, TipoMovimientoEntrada, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, -1, -1,
'ENTRADA
CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacenEntrada, CveConceptoEntrada, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, -1, -1,
Observaciones:=TxtObservaciones.Text.Trim, Recibio:=If(ChkTransitorio.Checked, TxtResponsable.Text.Trim, "-1"),
CveAlmacenDestino:=If(ChkTransitorio.Checked, DdlAlmacenDestino.SelectedValue.ToEntero, -1), CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="TA/G3")
FolioEntrada = ObjInventario.Folio
@@ -1118,6 +1069,7 @@ Partial Class Inventarios_TraspasoAlmacen
Else
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
Dim Cont As Integer = 0
Dim dttSalida As DataTable = ObjInventario.DtResultados
For Each Dr As DataRow In ObjInventario.DtResultados.Rows
Dim CostoEntrada As Decimal = If(TipoAlmacenDestino = 26, 0, Dr("PU").ToString.ToDecimal())
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, CostoEntrada, CveAF:=Dr("CveAF").ToString.ToEntero, CveSeccionAlmacen:=DdlSeccionAlmacenDestino.SelectedValue.ToEntero, Serie:=Dr("Serie").ToString, Lote:=Dr("Lote").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero, Observaciones:=Dr("Observaciones").ToString) Then
@@ -1127,53 +1079,15 @@ Partial Class Inventarios_TraspasoAlmacen
End If
Cont += 1
Next
End If
End If
'AGREGAMOS LA ENTRADA
If Not ChkTransitorio.Checked Then 'SI NO ES TRANSITORIO SE HACE LA RECEPCION DE INMEDIATO
If Not ErrorMovInv Then
'VIRTUAL ENTRADA
If RealizarMovimientoVirtual AndAlso CveAlmacenVirtualEntrada > 0 Then
Dim dtvirtual As DataTable = Nothing
If ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoEntrada, UsuarioActual.CveEmpresa) Then
dtvirtual = ObjInventario.DtResultados
If dtvirtual.Rows.Count > 0 Then
''hay que verificar que se se tengan movimeintos por registrar
CveMovimientoVirtualEntrada = ObjInventario.AddMovimiento(CveAlmacenVirtualEntrada, 36, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, CveMovimientoRelacionado:=CveMovimientoEntrada, Modulo:="TA/S3")
FolioVirtualEntrada = ObjInventario.Folio
For Each RowVirtual As DataRow In dtvirtual.Rows
Dim CvePS = RowVirtual("CvePS").ToString().ToEntero()
Dim CantidadUsado As Double = RowVirtual("Cantidad").ToString().ToDouble()
Dim PU As Decimal = RowVirtual("Cargo").ToString().ToDecimal()
Dim CveUM As Integer = RowVirtual("CveUM").ToString().ToEntero()
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtualEntrada, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
ErrorMovInv = True
Exit For
End If
Next
End If
Else
ErrorMovInv = True
End If
End If
Dim Concepto As String = TxtObservaciones.Text
If Concepto = "" Then Concepto = "Traspaso"
'AGREGAMOS PREPOLIZAS TRASPASO DIRECTO:
If Not ErrorMovInv Then
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inventario/TraspasoAlmacen", 53, 0, 0, 1, Fecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
Dim resultado As DataTable = ObjInventario.DtResultados
Dim importe As Decimal = resultado.SUMD("Total").RoundAD
Dim importe As Decimal = dttSalida.SUMD("Total").RoundSQL
Dim Contabilizable As Boolean = False
If TipoAlmacenOrigen = 26 AndAlso TipoAlmacenDestino <> 26 Then Contabilizable = True 'IdCtaContableOrigen = IdCtaContableDestino AndAlso
@@ -1188,9 +1102,8 @@ Partial Class Inventarios_TraspasoAlmacen
Dim tCveClasificacion As Integer = DtMovimientos.MAX("CveClasificacion").ToEntero
Dim dr As DataRow = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, CveClasificacion:=tCveClasificacion).FiltroPrimero("")
Dim IdCuentaCostos As Integer = -1
If dr IsNot Nothing Then
IdCuentaCostos = dr("IdCuentaCostos").ToString.ToEntero
End If
If dr IsNot Nothing Then IdCuentaCostos = dr("IdCuentaCostos").ToString.ToEntero
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, TxtObservaciones.Text, 69, TxtObservaciones.Text, Fecha, IdCuentaCostos, -1, CveClasificacion:=tCveClasificacion, CveSubProyecto:=CveSubProyectoOrigen, CveMovimientoAlmacen:=CveMovimientoSalida, Contabilizable:=Contabilizable, ImporteMX:=importe) Then
ErrorMovInv = True
End If
@@ -1201,40 +1114,88 @@ Partial Class Inventarios_TraspasoAlmacen
If Not ErrorMovInv AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContableDestino, -1, CveMovimientoAlmacen:=CveMovimientoEntrada, Contabilizable:=Contabilizable, ImporteMX:=importe) Then
ErrorMovInv = True
End If
End If
End If
End If
'VIRTUAL SALIDA/ENTRADA
If RealizarMovimientoVirtual AndAlso CveAlmacenVirtualSalida > 0 AndAlso Not ErrorMovInv Then
Dim dtvirtual As DataTable = Nothing
If ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
dtvirtual = ObjInventario.DtResultados
If dtvirtual.Rows.Count > 0 Then
CveMovimientoVirtualSalida = ObjInventario.AddMovimiento(CveAlmacenVirtualSalida, 37, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Modulo:="TA/V", CveMovimientoRelacionado:=CveMovimientoSalida, CveAlmacenDestino:=CveAlmacenVirtualEntrada)
FolioVirtualSalida = ObjInventario.Folio
Dim Contabilizable As Boolean = False
Dim Concepto As String = TxtObservaciones.Text
If CveMovimientoVirtualSalida > 0 Then
For Each RowVirtual As DataRow In dtvirtual.Rows
Dim CvePS = RowVirtual("CvePS").ToString().ToEntero()
Dim CantidadUsado As Decimal = RowVirtual("Cantidad").ToString.ToDecimal
Dim PU As Decimal = RowVirtual("Cargo").ToString().ToDecimal()
Dim CveUM As Integer = RowVirtual("CveUM").ToString().ToEntero()
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtualSalida, CantidadUsado, CveUM, CvePS, PU, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
ErrorMovInv = True
Exit For
End If
Next
'SALIDA VIRTUAL
Dim importevirtual As Decimal = 0
CveMovimientoVirtualEntrada = ObjInventario.AddMovimiento(CveAlmacenVirtualSalida, 36, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Modulo:="TA/S3", CveMovimientoRelacionado:=CveMovimientoEntrada, CveAlmacenDestino:=CveAlmacenVirtualEntrada)
FolioVirtualEntrada = ObjInventario.Folio
If CveMovimientoVirtualEntrada > 0 Then
Dim DtCostosVirtual As DataTable
If ObjInventario.GetMovimientosDetalle(CveMovimientoVirtualSalida, UsuarioActual.CveEmpresa) Then
DtCostosVirtual = ObjInventario.DtResultados
importevirtual = DtCostosVirtual.SUMD("Total").RoundSQL
For Each RowVirtual As DataRow In DtCostosVirtual.Rows
Dim CvePS = RowVirtual("CvePS").ToString().ToEntero()
Dim CantidadUsado As Decimal = RowVirtual("Cantidad").ToString.ToDecimal
Dim PU As Decimal = RowVirtual("PU").ToString().ToDecimal()
Dim CveUM As Integer = RowVirtual("CveUM").ToString().ToEntero()
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtualEntrada, CantidadUsado, CveUM, CvePS, PU, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
ErrorMovInv = True
Exit For
End If
Next
Else
ErrorMovInv = True
End If
Else
TextoError = "Ocurrió un error al generar el movimiento de salida virtual"
ErrorMovInv = True
End If
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inventario/TAVirt", 53, 0, 0, 1, Fecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importevirtual, importevirtual, 68, TxtObservaciones.Text, TxtObservaciones.Text, IdCtaContableOrigen, CveMovimientoAlmacen:=CveMovimientoVirtualSalida, Contabilizable:=Contabilizable) Then
ErrorMovInv = True
End If
If Not ErrorMovInv AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importevirtual, importevirtual, 68, TxtObservaciones.Text, TxtObservaciones.Text, IdCtaContableDestino, CveMovimientoAlmacen:=CveMovimientoVirtualEntrada, Contabilizable:=Contabilizable) Then
ErrorMovInv = True
End If
Else
TextoError = "Ocurrió un error al generar el movimiento de salida virtual"
ErrorMovInv = True
End If
End If
Else
If Not ErrorMovInv Then
Dim Concepto As String = TxtObservaciones.Text
If Concepto = "" Then Concepto = "Traspaso"
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inventario/TraspasoAlmacen2", 53, 0, 0, 1, Fecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
Dim resultado As DataTable = ObjInventario.DtResultados
Dim importe As Decimal = resultado.SUMD("Total").RoundAD
Dim IdCtaContable As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenTransitorio.SelectedValue.ToEntero)).ToEntero
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimientoSalida, ImporteMX:=importe, Contabilizable:=False) Then
ErrorMovInv = True
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimientoEntrada, ImporteMX:=importe, Contabilizable:=False) Then
ErrorMovInv = True
End If
End If
End If
End If
''[IPP-1Noviembre2018] SE COMENTA PORQUE NO TIENE NI PIES NI CABEZA. LE FALTA DESARROLLO
''CONSUMO INTERNO
'If Not ErrorMovInv Then
' If (TipoAlmacenOrigen = 14 Or TipoAlmacenDestino = 14) And TipoAlmacenOrigen <> TipoAlmacenDestino Then
' ConsumoInterno(TipoAlmacenOrigen, TipoAlmacenDestino)
' End If
'End If
Dim SerieInsertadaTimbre As String = ""
Dim FolioInsertadoTimbre As Integer = -1
@@ -1292,18 +1253,9 @@ Partial Class Inventarios_TraspasoAlmacen
Alert(MensajeAlert.ToString, TipoMensaje.MsgInformacion, "")
If ChkTransitorio.Checked AndAlso UsuarioActual.CveEmpresa.Contiene(72, 80) Then
RegistraScript(String.Format("AbrirVentana('/General/PopUpPaqueteriasGuias.aspx?CveMovimiento={0}',800,620);", CveMovimientoSalida))
End If
'If UsuarioActual.CveEmpresa.Contiene(72, 80) Then
' Dim Correo As String = "jorgegonzalez@compuproveedores.com"
' If GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveTipoAlmacen", $"CveAlmacen = {DdlAlmacenDestino.SelectedValue.ToEntero}").ToEntero = 16 Then
' MandaCorreo(CveMovimientoSalida, Correo)
' End If
'End If
LimpiaMovimiento()
Else
@@ -1322,97 +1274,97 @@ Partial Class Inventarios_TraspasoAlmacen
ObjInventario.Dispose()
End Sub
Function ConsumoInterno(TipoAlmacenOrigen As Integer, TipoAlmacenDestino As Integer) As Boolean
Dim Retorno As Boolean = False
Dim ErrorMovInv As Boolean = False
Dim TextoError As String = ""
Dim Fecha As Date = TxtFecha.Text.ToDate
'Function ConsumoInterno(TipoAlmacenOrigen As Integer, TipoAlmacenDestino As Integer) As Boolean
' Dim Retorno As Boolean = False
' Dim ErrorMovInv As Boolean = False
' Dim TextoError As String = ""
' Dim Fecha As Date = TxtFecha.Text.ToDate
Dim ObjInventario As New ClsInventarios
Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL())
Dim CveMovimiento As Integer = 0
Dim TipoMovto = If(TipoAlmacenOrigen = 14, -1, 1)
Dim CveConceptoInventario As Integer = 8
' Dim ObjInventario As New ClsInventarios
' Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL())
' Dim CveMovimiento As Integer = 0
' Dim TipoMovto = If(TipoAlmacenOrigen = 14, -1, 1)
' Dim CveConceptoInventario As Integer = 8
Dim CveAlmacenCI = If(TipoAlmacenOrigen = 14, DdlAlmacenOrigen.SelectedValue.ToEntero, DdlAlmacenDestino.SelectedValue.ToEntero)
Dim DtCostos As DataTable = Nothing
Dim ValorInventario As Decimal = 0
' Dim CveAlmacenCI = If(TipoAlmacenOrigen = 14, DdlAlmacenOrigen.SelectedValue.ToEntero, DdlAlmacenDestino.SelectedValue.ToEntero)
' Dim DtCostos As DataTable = Nothing
' Dim ValorInventario As Decimal = 0
'AGREGAMOS LA SALIDA DEL ALMACEN ORIGEN
CveMovimiento = ObjInventario.AddMovimiento(DdlAlmacenOrigen.SelectedValue.ToEntero, CveConceptoInventario, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1,
Observaciones:=TxtObservaciones.Text.Trim, Recibio:=If(ChkTransitorio.Checked, TxtResponsable.Text.Trim, ""),
GastoIndirecto:=If(ChkTransitorio.Checked And TxtGastoIndirecto.Text.ToDouble > 0, TxtGastoIndirecto.Text, "-1").ToDouble, Modulo:="TA/G4")
Dim FolioMov As Integer = ObjInventario.Folio
' 'AGREGAMOS LA SALIDA DEL ALMACEN ORIGEN
' CveMovimiento = ObjInventario.AddMovimiento(DdlAlmacenOrigen.SelectedValue.ToEntero, CveConceptoInventario, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1,
' Observaciones:=TxtObservaciones.Text.Trim, Recibio:=If(ChkTransitorio.Checked, TxtResponsable.Text.Trim, ""),
' GastoIndirecto:=If(ChkTransitorio.Checked And TxtGastoIndirecto.Text.ToDouble > 0, TxtGastoIndirecto.Text, "-1").ToDouble, Modulo:="TA/G4")
' Dim FolioMov As Integer = ObjInventario.Folio
If CveMovimiento <= 0 Then
TextoError = "No se pudo generar el movimiento de salida correctamente"
ErrorMovInv = True
Else
' If CveMovimiento <= 0 Then
' TextoError = "No se pudo generar el movimiento de salida correctamente"
' ErrorMovInv = True
' Else
For Each Dr As DataRow In DtMovimientos.Rows
If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, 0, Dr("CveAF").ToString.ToEntero, -1, Dr("Serie").ToString, Lote:=Dr("Lote").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate) Then
ErrorMovInv = True
TextoError = "Ocurrió un error al guardar los movimientos de salida"
Exit For
End If
Next
End If
' For Each Dr As DataRow In DtMovimientos.Rows
' If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, 0, Dr("CveAF").ToString.ToEntero, -1, Dr("Serie").ToString, Lote:=Dr("Lote").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate) Then
' ErrorMovInv = True
' TextoError = "Ocurrió un error al guardar los movimientos de salida"
' Exit For
' End If
' Next
' End If
If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
DtCostos = ObjInventario.DtResultados
Dim tmpCostos As DataTable = DtCostos.FiltraParametros("", "", {"CveClasificacion"})
Dim IdCtaContable As Integer = 0
Dim CveCuenta As Integer = 0
' If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
' DtCostos = ObjInventario.DtResultados
' Dim tmpCostos As DataTable = DtCostos.FiltraParametros("", "", {"CveClasificacion"})
' Dim IdCtaContable As Integer = 0
' Dim CveCuenta As Integer = 0
If tmpCostos.Rows.Count > 0 Then
Dim Concepto As String = $"Consumo Interno: {ObjInventario.Folio} - {TxtObservaciones.Text}"
Dim CvePrePoliza = ObjConta.AddPrePolizas("Inv/ConsumoInterno", 53, DtCostos.SUM("Total") * TipoMovto, DtCostos.SUM("Total") * TipoMovto, 1, TxtFecha.Text.ToDate, $"Consumo Interno: {TxtObservaciones.Text}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
' If tmpCostos.Rows.Count > 0 Then
' Dim Concepto As String = $"Consumo Interno: {ObjInventario.Folio} - {TxtObservaciones.Text}"
' Dim CvePrePoliza = ObjConta.AddPrePolizas("Inv/ConsumoInterno", 53, DtCostos.SUM("Total") * TipoMovto, DtCostos.SUM("Total") * TipoMovto, 1, TxtFecha.Text.ToDate, $"Consumo Interno: {TxtObservaciones.Text}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
For Each RowInv As DataRow In tmpCostos.Rows
ValorInventario = DtCostos.SUM("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").ToString.ToDecimal
IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGasto", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ValorInventario * TipoMovto, Concepto, 181, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=ValorInventario * TipoMovto, CveCuenta:=CveCuenta) Then
ErrorMovInv = True
Exit For
End If
Next
' For Each RowInv As DataRow In tmpCostos.Rows
' ValorInventario = DtCostos.SUM("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").ToString.ToDecimal
' IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGasto", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
' CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ValorInventario * TipoMovto, Concepto, 181, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=ValorInventario * TipoMovto, CveCuenta:=CveCuenta) Then
' ErrorMovInv = True
' Exit For
' End If
' Next
IdCtaContable = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen={CveAlmacenCI}").ToEntero
' IdCtaContable = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen={CveAlmacenCI}").ToEntero
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, DtCostos.SUM("Total").ToDecimal * TipoMovto, Concepto, 68, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=DtCostos.SUM("Total").ToDecimal * TipoMovto) Then
ErrorMovInv = True
End If
' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, DtCostos.SUM("Total").ToDecimal * TipoMovto, Concepto, 68, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=DtCostos.SUM("Total").ToDecimal * TipoMovto) Then
' ErrorMovInv = True
' End If
End If
End If
' End If
' End If
If Not ErrorMovInv Then
' If Not ErrorMovInv Then
ObjInventario.Commit()
Dim Mensaje As StringBuilder = New StringBuilder
' ObjInventario.Commit()
' Dim Mensaje As StringBuilder = New StringBuilder
Mensaje.Append("Se realizó el consumo interno.")
' Mensaje.Append("Se realizó el consumo interno.")
Mensaje.AppendFormat("<br/> Folio: <b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={1}"" target=""_blank"">{0}</a></b>", FolioMov, CveMovimiento)
' Mensaje.AppendFormat("<br/> Folio: <b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={1}"" target=""_blank"">{0}</a></b>", FolioMov, CveMovimiento)
Alert(Mensaje.ToString, TipoMensaje.MsgInformacion)
Mensaje.Clear()
' Alert(Mensaje.ToString, TipoMensaje.MsgInformacion)
' Mensaje.Clear()
LimpiaMovimiento()
' LimpiaMovimiento()
Else
ObjInventario.RollBack()
Alert(TextoError, TipoMensaje.MsgError)
RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')")
End If
' Else
' ObjInventario.RollBack()
' Alert(TextoError, TipoMensaje.MsgError)
' RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')")
' End If
Return Retorno
' Return Retorno
End Function
'End Function
#End Region
@@ -2141,7 +2093,6 @@ Partial Class Inventarios_TraspasoAlmacen
CveMovimientoSalidaTransitorio = ObjInventario.AddMovimiento(CveAlmacenSalida, 8, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1,
Observaciones:=TxtObservacionesRecepcion.Text.Trim, CveAlmacenDestino:=GvDatosRecepcion.Rows(0).DataKey("CveAlmacenSalida").ToEntero, CveMovimientoRelacionado:=CveMovimientoEntrada, Modulo:="TA/G11")
If CveMovimientoSalidaTransitorio <= 0 Then
TextoError = "No se pudo generar el movimiento de salida correctamente"
ErrorMovInv = True
@@ -2203,6 +2154,7 @@ Partial Class Inventarios_TraspasoAlmacen
End If
Cont += 1
Next
If Not ErrorMovInv Then
Dim Concepto As String = TxtObservacionesRecepcion.Text
If Concepto = "" Then Concepto = "Recepción Traspaso"
@@ -2213,14 +2165,11 @@ Partial Class Inventarios_TraspasoAlmacen
Dim IdCtaContable As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenTransitorioRecepcion.SelectedValue.ToEntero)).ToEntero
Dim tCveConcepto As Integer = 68
'If CveMovimientoSalidaTransitorio = 0 Then
' tCveConcepto = 289
'End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importe, TxtObservaciones.Text, tCveConcepto, TxtObservaciones.Text, Fecha, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimientoSalidaTransitorio, ImporteMX:=importe, Contabilizable:=False) Then
ErrorMovInv = True
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimientoEntrada, ImporteMX:=importe, Contabilizable:=False) Then
If Not ErrorMovInv AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimientoEntrada, ImporteMX:=importe, Contabilizable:=False) Then
ErrorMovInv = True
End If
End If
@@ -2229,9 +2178,9 @@ Partial Class Inventarios_TraspasoAlmacen
'VIRTUAL ENTRADA
Dim CveMovimientoVirtualEntrada As Integer = 0
Dim FolioVirtualEntrada As Integer = 0
If RealizarMovimientoVirtual Then
Dim CveMovimientoVirtualEntrada, CveMovimientoVirtualSalida As Integer
Dim FolioVirtualEntrada, FolioVirtualSalida As Integer
If RealizarMovimientoVirtual AndAlso Not ErrorMovInv Then
Dim CveAlmacenVirtual As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=CveAlmacenEntrada).FiltroPrimeroValor("CveAlmacenVirtual", "").ToEntero()
@@ -2239,18 +2188,19 @@ Partial Class Inventarios_TraspasoAlmacen
Dim dtvirtual As DataTable = Nothing
If ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoEntrada, UsuarioActual.CveEmpresa) Then
If ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
dtvirtual = ObjInventario.DtResultados
If dtvirtual.Rows.Count > 0 Then
CveMovimientoVirtualEntrada = ObjInventario.AddMovimiento(CveAlmacenVirtual, 36, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, CveMovimientoRelacionado:=CveMovimientoEntrada, Modulo:="TA/S2")
FolioVirtualEntrada = ObjInventario.Folio
CveMovimientoVirtualSalida = ObjInventario.AddMovimiento(CveAlmacenVirtual, 37, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, CveMovimientoRelacionado:=CveMovimientoSalidaTransitorio, Modulo:="TA/S22")
FolioVirtualSalida = ObjInventario.Folio
For Each RowVirtual As DataRow In dtvirtual.Rows
Dim CvePS = RowVirtual("CvePS").ToString().ToEntero()
Dim CantidadUsado As Decimal = RowVirtual("Cantidad").ToString().ToDecimal()
Dim PU As Decimal = RowVirtual("Cargo").ToString().ToDecimal()
Dim CveUM As Integer = RowVirtual("CveUM").ToString().ToEntero()
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtualEntrada, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtualSalida, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
ErrorMovInv = True
Exit For
End If
@@ -2260,17 +2210,31 @@ Partial Class Inventarios_TraspasoAlmacen
Dim Concepto As String = TxtObservaciones.Text
If Concepto = "" Then Concepto = "Traspaso"
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inventario/TA22", 53, 0, 0, 1, Fecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If ObjInventario.GetMovimientosDetalle(CveMovimientoVirtualEntrada, UsuarioActual.CveEmpresa) Then
If ObjInventario.GetMovimientosDetalle(CveMovimientoVirtualSalida, UsuarioActual.CveEmpresa) Then
Dim resultado As DataTable = ObjInventario.DtResultados
Dim importe As Decimal = resultado.SUMD("Total").RoundAD
CveMovimientoVirtualEntrada = ObjInventario.AddMovimiento(CveAlmacenVirtual, 36, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, CveMovimientoRelacionado:=CveMovimientoEntrada, Modulo:="TA/S23")
FolioVirtualEntrada = ObjInventario.Folio
For Each RowVirtual As DataRow In resultado.Rows
Dim CvePS = RowVirtual("CvePS").ToString().ToEntero()
Dim CantidadUsado As Decimal = RowVirtual("Cantidad").ToString().ToDecimal()
Dim PU As Decimal = RowVirtual("PU").ToString().ToDecimal()
Dim CveUM As Integer = RowVirtual("CveUM").ToString().ToEntero()
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtualEntrada, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
ErrorMovInv = True
Exit For
End If
Next
Dim importe As Decimal = resultado.SUMD("Total").RoundSQL
Dim IdCtaContable As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenTransitorio.SelectedValue.ToEntero)).ToEntero
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimientoVirtualEntrada, ImporteMX:=importe, Contabilizable:=False) Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimientoVirtualSalida, ImporteMX:=importe, Contabilizable:=False) Then
ErrorMovInv = True
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimientoVirtualEntrada, ImporteMX:=importe, Contabilizable:=False) Then
If Not ErrorMovInv AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimientoVirtualEntrada, ImporteMX:=importe, Contabilizable:=False) Then
ErrorMovInv = True
End If
End If
@@ -2288,67 +2252,6 @@ Partial Class Inventarios_TraspasoAlmacen
End If
End If
''AGREGAMOS LA ENTRADA
'If Not ErrorMovInv Then
' CveMovimientoEntrada = ObjInventario.AddMovimiento(GvDatosRecepcion.Rows(0).DataKey("CveAlmacenDestino").ToEntero, 9, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1,
' Observaciones:=TxtObservacionesRecepcion.Text.Trim, Recibio:=TxtRecibio.Text, CveAlmacenDestino:=GvDatosRecepcion.Rows(0).DataKey("CveAlmacenSalida").ToEntero, CveMovimientoRelacionado:=CveMovimientoSalida)
' Folio = ObjInventario.Folio
' If CveMovimientoEntrada <= 0 Then
' TextoError = "No se pudo generar el movimiento de entrada correctamente"
' ErrorMovInv = True
' Else
' 'COSTO INDIRECTO
' Dim GastoIndirectoTotal As Double = GvDatosRecepcion.Rows(0).DataKey("GastoIndirectoSalida").ToDouble
' Dim Importe As Double = GvDatosRecepcion.Rows(0).DataKey("Importe").ToDouble
' If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
' Dim CostoIndirecto As Double
' For Each Dr As DataRow In ObjInventario.DtResultados.Rows
' CostoIndirecto = 0
' If GastoIndirectoTotal > 0 Then
' 'PRORRATEAMOS EL GASTO INDIRECTO
' CostoIndirecto = ((Dr("Total").ToString.ToDouble * GastoIndirectoTotal) / Importe) / Dr("Cantidad").ToString.ToDouble
' End If
' If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDouble, Dr("CveAF").ToString.ToEntero, -1, Dr("Serie").ToString, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString, CostoIndirecto:=CostoIndirecto) Then
' ErrorMovInv = True
' TextoError = "Ocurrió un error al guardar los movimientos de entrada"
' Exit For
' End If
' Next
' End If
' End If
'End If
'AGREGAMOS LA ENTRADA VIEJO
'If Not ErrorMovInv Then
' 'Folio = ObjInventario.GetFolioSiguiente(9, UsuarioActual.CveEmpresa)
' CveMovimientoEntrada = ObjInventario.AddMovimiento(GvDatosRecepcion.Rows(0).DataKey("CveAlmacenDestino").ToEntero, 9, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1)
' 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, Dr("CveAF").ToString.ToEntero) Then
' ErrorMovInv = True
' TextoError = "Ocurrió un error al guardar los movimientos de salida"
' Exit For
' End If
' Next
' End If
' End If
'End If
If Not ErrorMovInv Then

View File

@@ -0,0 +1,81 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="ListadoReportes.aspx.cs" Inherits="Sistemas_ListadoReportes" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
Listado de reportes de Stimulsoft
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<div class="col-md-4">
<div class="portlet light smmallpadding traspasorow bordered">
<div class="portlet-title">
<div class="caption font-green">
<span class="caption-subject bold uppercase" style="line-height: 1;">Listado de formatos</span>
</div>
<div class="actions">
<div class="btn-group">
<div class="row" style="margin-left: 0px; text-align: right" align="left">
<div style="margin-right: 15px">
<input type="text" id="TxtBusqueda1" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda1','{0}')", GvDatos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvDatos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
</div>
</div>
</div>
</div>
<div class="portlet-body rowpadding">
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron formatos" DataKeyNames="RutaReporte"
CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" data-sort="true" GridLines="None" Width="100%">
<Columns>
<asp:BoundField HeaderText="Formato" DataField="Reporte" ItemStyle-Width="80%" />
<asp:TemplateField HeaderText="Editar" ItemStyle-Width="20%" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:LinkButton runat="server" ID="BtnEditar" OnClick="BtnEditar_Click" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea editar el formato?" data-btn-ok-label="si"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle CssClass="Texto" />
<HeaderStyle CssClass="Titulos" />
</asp:GridView>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script type="text/javascript">
function openWindow(url) {
var form = document.createElement("form");
form.target = "_blank";
form.method = "POST";
form.action = url;
form.style.display = "none";
//for (var key in data) {
// var input = document.createElement("input");
// input.type = "hidden";
// input.name = key;
// input.value = data[key];
// form.appendChild(input);
//}
document.body.appendChild(form);
form.submit();
document.body.removeChild(form);
}
</script>
</asp:Content>

View File

@@ -0,0 +1,46 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using static Extensiones.ModExtensiones;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Sistemas_ListadoReportes : ClsPaginas
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
CargaDatos();
}
}
private void CargaDatos()
{
string RutaReportes = string.Format("{0}/Formatos", UsuarioActual.Empresa.Ruta);
string[] allfiles = Directory.GetFiles(RutaReportes, "*.mrt", SearchOption.AllDirectories);
GvDatos.DataSource = (from Reporte in allfiles
let file = new FileInfo(Reporte)
select new { RutaReporte = file.FullName, Reporte = file.Name.Replace(".mrt","") }).QueryToDataTable(true);
GvDatos.DataBind();
UPDatos.Update();
}
protected void BtnEditar_Click(object sender, EventArgs e)
{
GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
var RutaReporteEncriptada = Encripta(GvRow.DataKey("RutaReporte"));
var hostURL = "https://localhost:7162";
if (UsuarioActual.Empresa.FacturaProduccion)
{
hostURL = "http://sig.adssistemas.mx:6599";
}
var strURL = $"{hostURL}/Designer/EditReport?P={RutaReporteEncriptada}";
RegistraScript($"openWindow('{strURL}');");
}
}

View File

@@ -211,8 +211,6 @@
<i></i>
</div>
<div class="form-group form-md-line-input input-iconright" id="DvTamanio" runat="server" visible="false">
<asp:DropDownList ID="DdlTamanio" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" CausesValidation="true" DataTextField="Tamaño" DataValueField="CveTamaño" Width="350px">
<asp:ListItem Value="-1">Seleccione</asp:ListItem>
@@ -228,13 +226,13 @@
<label for="<%= DdlSATPS.ClientID.ToString()%>">Producto Servicio SAT:</label>
<i></i>
</div>
<br />
<div class="form-group form-md-line-input input-iconright" runat="server" id="DivPSAdicionalVigencia" visible="false">
<ADS:Dropdownlost runat="server" ID="DdlPSAdicionalVigencia" CssStyle="width: 46%;" CssClass="form-control input-sm select2me" DataTextField="PSCodigo" DataValueField="CvePS" />
<label for="<%= DdlPSAdicionalVigencia.ClientID.ToString()%>"><asp:Literal runat="server" Text="Producto de vigencia:" ID="LtlPSAdicionalVigencia"></asp:Literal> </label>
<i></i>
</div>
<br />
<div class="form-group form-md-line-input input-iconright" runat="server" id="DivClasificacion2" visible="false">
<asp:DropDownList ID="DdlClasificacion2" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" AutoPostBack="false" CausesValidation="true" DataTextField="Clasificacion" DataValueField="CveClasificacion" Width="350px" Enabled="true">
</asp:DropDownList>
@@ -250,11 +248,10 @@
<i></i>
</div>
<div class="form-group form-md-line-input input-iconright col-xs-3">
<asp:TextBox ID="TxtVentaMinima" CssClass="form-control " runat="server"></asp:TextBox>
<%--<ajax:FilteredTextBoxExtender ID="FTBETVentaMinima" TargetControlID="TxtVentaMinima" FilterType="Numbers" runat="server" ValidChars=".," />--%>
<label class="truncate" style="padding-left: 16px;" for="<%= TxtVentaMinima.ClientID.ToString()%>">Venta Mínima:</label>
<label class="truncate" style="padding-left: 1px;" for="<%= TxtVentaMinima.ClientID.ToString()%>">Venta Mínima:</label>
<i></i>
</div>
@@ -272,94 +269,57 @@
</div>
</div>
<br />
<div class="row">
<div class=" col-md-4">
<div class="row" runat="server" id="divRowRSCO" visible="false" >
<div class=" col-md-6">
<div runat="server" id="DivRegistroRSCO1" class="form-group form-md-line-input input-iconright" visible="false" style="width:100%!important">
<asp:TextBox ID="TxtRegistroRSCO" CssClass="form-control" runat="server" MaxLength="50"></asp:TextBox>
<label for="<%= TxtRegistroRSCO.ClientID.ToString()%>">Registro RSCO:</label>
<label for="<%= TxtRegistroRSCO.ClientID.ToString()%>" style="margin-top:-6px" >Registro RSCO:</label>
<%--<asp:RequiredFieldValidator runat="server" ID="RfvTxtRegistroRSCO" ControlToValidate="TxtRegistroRSCO" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Registro RSCO''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>--%>
<i></i>
</div>
</div>
<div class=" col-md-4" runat="server" id="DivRegistroRSCO2" visible="false">
<div class=" col-md-3" runat="server" id="DivRegistroRSCO2" visible="false">
<div class="form-group form-md-line-input input-iconright" runat="server" style="width: 200px">
<div class="form-group form-md-line-input input-iconright" runat="server" style="width: 125px">
<asp:CheckBox ID="ChkFechaIndeterminadaRSCO" runat="server" CssClass="form-control" OnCheckedChanged="ChkFechaIndeterminadaRSCO_CheckedChanged" AutoPostBack="true" />
<label for="<%= ChkFechaIndeterminadaRSCO.ClientID.ToString()%>">Fecha Indeterminada:</label>
<label for="<%= ChkFechaIndeterminadaRSCO.ClientID.ToString()%>" style="margin-top:-6px" >F. Indeterminada:</label>
</div>
</div>
<div class=" col-md-4">
<div class=" col-md-3">
<div class="form-group form-md-line-input input-iconright" style="width: 160px!important" runat="server" id="DivRegistroRSCO3" visible="false">
<div class="form-group form-md-line-input input-iconright" style="width: 125px!important" runat="server" id="DivRegistroRSCO3" visible="false">
<asp:TextBox ID="TxtFechaVigenciaRSCO" CssClass="form-control" MaxLength="50" runat="server" Width="130px"></asp:TextBox>
<asp:TextBox ID="TxtFechaVigenciaRSCO" CssClass="form-control" MaxLength="20" runat="server" Width="100px"></asp:TextBox>
<span class="input-group-btn " style="position: absolute; right: 41px; top: -5px;">
<asp:LinkButton ID="LnkTxtFechaVigenciaRSCO" class="btn default" Style="margin-top: 15px; margin-left: 6px" Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:CalendarExtender runat="server" ID="CETxtFechaVigenciaRSCO" TargetControlID="TxtFechaVigenciaRSCO" PopupButtonID="LnkTxtFechaVigenciaRSCO" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<ajax:MaskedEditExtender ID="METxtFechaVigenciaRSCO" runat="server" TargetControlID="TxtFechaVigenciaRSCO" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<asp:CompareValidator ID="CvTxtFechaVigenciaRSCO" runat="server" ControlToValidate="TxtFechaVigenciaRSCO" Display="None"
ErrorMessage="El campo <b>''Fecha de Cierre''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)."
Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpGuardar"></asp:CompareValidator>
<%--<asp:RequiredFieldValidator ID="RfvTxtFechaVigenciaRSCO" runat="server" ControlToValidate="TxtFechaVigenciaRSCO" Display="None"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha de Cierre''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>--%>
<ajax:ValidatorCalloutExtender ID="CvcTxtFechaVigenciaRSCO" runat="server" HighlightCssClass="vco" TargetControlID="CvTxtFechaVigenciaRSCO" Width="300px"></ajax:ValidatorCalloutExtender>
<%--<ajax:ValidatorCalloutExtender ID="VCETxtFechaVigenciaRSCO" runat="server" HighlightCssClass="vco" TargetControlID="RfvTxtFechaVigenciaRSCO" Width="300px"></ajax:ValidatorCalloutExtender>--%>
<label for="<%= TxtFechaVigenciaRSCO.ClientID.ToString() %>">Fecha de Vigencia:</label>
<label for="<%= TxtFechaVigenciaRSCO.ClientID.ToString() %>" style="margin-top:-6px" >Fecha de Vigencia:</label>
</div>
</div>
</div>
<div class="form-group form-md-line-input input-iconright col-xs-3" id="divLitraje" visible="false" runat="server">
<asp:TextBox ID="TxtLitraje" CssClass="form-control " runat="server" ></asp:TextBox>
<%--<ajax:FilteredTextBoxExtender ID="FTBETVentaMinima" TargetControlID="TxtVentaMinima" FilterType="Numbers" runat="server" ValidChars=".," />--%>
<label class="truncate" style="padding-left: 16px;" for="<%= TxtLitraje.ClientID.ToString()%>">Litraje:</label>
<i></i>
</div>
<br />
<br />
<br />
<div class="form-group">
<label>Aplica para Venta:</label>
<asp:CheckBox ID="ChkAplicaParaVenta" CssClass="make-switchsd" data-size="small" runat="server" Checked="True" />
</div>
<%-- <div class="form-group">
<label>Aplica para Concepto en la factura:</label>
<asp:CheckBox ID="ChkAplicaParaConcepto" CssClass="make-switchsd" data-size="small" runat="server" Checked="true" />
</div>--%>
</div>
</div>
</div>

View File

@@ -1028,6 +1028,10 @@ Partial Class ProductosyServicios
Else
TxtFechaVigenciaRSCO.Text = ObjProductosServicios.DtResultados.Rows(0)("FechaVigenciaRSCO").ToString.ToDate.ToString("dd/MM/yyyy")
DivRegistroRSCO3.Visible = True
If TxtFechaVigenciaRSCO.Text = "01/01/1900" Then
TxtFechaVigenciaRSCO.Text = ""
End If
End If
@@ -1948,8 +1952,7 @@ Partial Class ProductosyServicios
PS.Dispose()
DdlCompuesto.DataBind()
divRowRSCO.Visible = True
End If
End Sub

View File

@@ -200,6 +200,12 @@
<li>
<asp:HyperLink ID="HplDownPDF" Target="_blank" runat="server" Visible="false"> <i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> Imprimir PDF</asp:HyperLink>
</li>
<li>
<asp:HyperLink ID="HplRenerarPDF" Target="_blank" runat="server" Visible="false"> <i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> Regenerar PDF</asp:HyperLink>
</li>
<li>
<asp:HyperLink ID="HplImprimirPDFStimulsoft" Target="_blank" runat="server" Visible="false"> <i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> Imprimir PDF Stimulsoft</asp:HyperLink>
</li>
<li>
<asp:HyperLink ID="ImgDownCancelacion" Target="_blank" ToolTip="Descarga Acuse Cancelación" Visible="false" runat="server"><i class="fa fa-ad-pdf"></i> Imprimir Acuse Cancelación</asp:HyperLink>
</li>
@@ -7788,17 +7794,20 @@
</div>
<div class="actions">
<div class="btn-group">
</div>
</div>
<div class="tools">
<a href="javascript:;" class="collapse"></a>
</div>
</div>
<div class="portlet-body form-horizontal form-row-sepe formnombottom">
<div class="row" style="margin-right: 10px;" align="right">
<div class="row" style="margin-left: 0px; text-align: right" align="left">
<div style="margin-right: 15px">
<input type="text" id="TxtBusquedaNCCargos" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusquedaNCCargos','{0}')", GvDescNCCargos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusquedaNCCargos','{0}')", GvDescNCCargos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
</div>
</div>
</div>
<div class="tools">
<%-- <a href="javascript:;" class="collapse"></a>--%>
</div>
</div>
<div class="portlet-body form-horizontal form-row-sepe formnombottom">
<div class="row">
<div class="col-md-12" style="max-height: 440px; overflow: auto">
<asp:GridView ID="GvDescNCCargos" runat="server" AutoGenerateColumns="False"

View File

@@ -8905,6 +8905,13 @@ Partial Class Ventas
If (Archivo.Exists Or Archivo2.Exists) And IfNull(CveVenta, 0).ToString().ToEntero() > 0 Then
HplDownPDF.Visible = True
HplDownPDF.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1", CveVenta)))
If UsuarioActual.CveRol = 1 Then
HplRenerarPDF.Visible = True
HplRenerarPDF.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1&REGENERAR=1", CveVenta)))
HplImprimirPDFStimulsoft.Visible = True
HplImprimirPDFStimulsoft.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=0&STIMULSOFT=1", CveVenta)))
End If
End If
'NO DEBE IMPRIMIR PDF DE COTIZACION
@@ -19242,22 +19249,28 @@ Partial Class Ventas
End If
If UsuarioActual.Empresa.Funcionalidad(558) = "1" AndAlso ListaDescuentos IsNot Nothing AndAlso ListaDescuentos.Count > 0 Then
TxtObsFact.Text = ""
Dim Titulo As String = ListaDescuentos.FirstOrDefault().NombrePromo
Dim strPromos As New StringBuilder
If Not String.IsNullOrEmpty(Titulo) Then
For Each Promo As Descuentos In ListaDescuentos
If Not String.IsNullOrEmpty(Promo.ObsDescuento) Then
strPromos.AppendFormat("{0}, ", Promo.ObsDescuento)
End If
Next
If strPromos.Length > 2 Then
strPromos.Remove(strPromos.Length - 2, 2)
End If
If strPromos.Length > 0 Then
TxtObsFact.Text = ""
TxtObsFact.Text = String.Format("{0} {1}", Titulo, strPromos.ToString())
End If
End If
TxtObsFact.Text = String.Format("{0} {1}", Titulo, strPromos.ToString())
End If
UPObservaciones.Update()
@@ -23827,7 +23840,36 @@ Partial Class Ventas
', "document.location.href=""/Ventas/Ventas.aspx?CveVenta=" & CveVenta
End If
ObjVentas.Dispose()
ElseIf DdlTipoComprobante.SelectedValue.Contiene("RNC") Then
LblCancelarDocumento.Text = "¿Desea cancelar la remisión de nota de crédito?<br/>"
Dim sbExtra As New StringBuilder
Using ObjAcum As New ClsAcumuladores
If ObjAcum.DistribuidorMovtosGet(Me.CveCliente, UsuarioActual.CveEmpresa, CveVentaRNCCargo:=Me.CveVenta, CveConcepto:=1) Then
Dim DtBon As DataTable = ObjAcum.DtResultados.FiltraParametros("CveVentaBonificacion > 0", DistinctColumns:={"SerieFolioBonificacion", "CveVentaBonificacion"})
If DtBon IsNot Nothing AndAlso DtBon.Rows.Count > 0 Then
sbExtra.Append("<b>*Se cancelaran las siguientes remisiones de nota de crédito de bonificación.</b><br/>")
For Each RowBon As DataRow In DtBon.Rows
sbExtra.AppendFormat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp<b><a class='Texto' target='_blank' href=""/Ventas/Ventas.aspx?CveVenta={0}"">{1}</a></b><br/>", RowBon("CveVentaBonificacion"), RowBon("SerieFolioBonificacion"))
Next
DtBon.Dispose()
End If
End If
End Using
LbCancelarDescripcion.Text = sbExtra.ToString()
DivRelacionadasCancelacion.Visible = False
BtnCancelarDocumento.Visible = True
DivMotivoCancelacion.Visible = False
DivMotivoCancelacionTxt.Visible = False
DivCanRem.Visible = False
DivDevAlm.Visible = False
UpCancelarDocumento.Update()
RegistraScript("$('#ModalCancelarDocumento').modal();")
Else
CancelarDocumento()
End If
@@ -23997,7 +24039,7 @@ Partial Class Ventas
Dim ObjFacturaCancelacion As New Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa, EsCancelacion:=True)
Try
Dim resp As Modelos.Factura.MCancelacionVentaMensaje = Nothing
Dim strMensaje As New StringBuilder()
If ObjFacturaCancelacion IsNot Nothing AndAlso ObjFacturaCancelacion.CveVenta > 0 Then
Dim SWatch As New Stopwatch
SWatch.Start()
@@ -24010,6 +24052,7 @@ Partial Class Ventas
'ObjE.Dispose()
resp = ObjFacturaCancelacion.CancelarPorRefacturacion(DdlMotivoRefacturacion.SelectedValue.ToEntero(), TxtMotivoRefac.Text.Trim(), CveEstadoCancelacion:=Me.CveEstadoCancelacion)
strMensaje.Append(resp.Mensaje)
Else
Dim ListaRemisionesCancelar As New List(Of Integer)
If ChkCanRem.Checked Then
@@ -24027,6 +24070,41 @@ Partial Class Ventas
End If
resp = ObjFacturaCancelacion.CancelarFactura(ChkDevAlm.Checked, ListaRemisionesCancelar, CveMotivoCancelacion:=DdlMotivoCancelacion.SelectedValue.ToEntero(), Motivo:=TxtMotivoCancelacion.Text.Trim(), CveEstadoCancelacion:=Me.CveEstadoCancelacion)
strMensaje.Append(resp.Mensaje)
Dim DtBonificaciones As DataTable = Nothing
'SI ES RNC DE CARGO DEBE CANCELAR LAS BON
If Not resp.HuboError AndAlso ObjFacturaCancelacion.TipoDocto.Contiene("RNC") AndAlso ObjFacturaCancelacion.Num1 = 1 Then
Using ObjAcum As New ClsAcumuladores
If ObjAcum.DistribuidorMovtosGet(ObjFacturaCancelacion.CveCliente, UsuarioActual.CveEmpresa, CveVentaRNCCargo:=ObjFacturaCancelacion.CveVenta, CveConcepto:=1) Then
DtBonificaciones = ObjAcum.DtResultados.FiltraParametros("CveVentaBonificacion > 0", DistinctColumns:={"CveVentaBonificacion"})
End If
End Using
If DtBonificaciones IsNot Nothing AndAlso DtBonificaciones.Rows.Count > 0 Then
For Each RowBon As DataRow In DtBonificaciones.Rows
Try
'VERIFICA SI TIENE RNC DE BONIFICACION
Dim Bon = New Modelos.Factura(UsuarioActual, RowBon("CveVentaBonificacion").ToString().ToEntero(), UsuarioActual.CveEmpresa, VerificaAlmacen:=False)
Dim respBon = Bon.CancelarFactura(False, ListaRemisionesCancelar, CveMotivoCancelacion:=DdlMotivoCancelacion.SelectedValue.ToEntero(), Motivo:=TxtMotivoCancelacion.Text.Trim(), CveEstadoCancelacion:=Me.CveEstadoCancelacion)
If respBon.HuboError Then
strMensaje.AppendFormat("<br/>Ocurrió un error al cancelar la remisión de NC de bonificación <b> {0} </b>.", Bon.SerieFolio)
Else
strMensaje.AppendFormat("<br/> La remisión de nota de credito de bonificación <b> {0}</b> fue cancelada correctamente.", Bon.SerieFolio)
End If
strMensaje.AppendFormat("<br/> {0}", resp.Mensaje)
Catch ex As Exception
OnError("Ocurrió un error al cancelar la bonificación", ex)
strMensaje.Append("<br/> Ocurrió un error al cancelar la bonificación")
End Try
Next
DtBonificaciones.Dispose()
End If
End If
End If
SWatch.Stop()
@@ -24039,10 +24117,10 @@ Partial Class Ventas
End If
If resp.HuboError Then
Alert(resp.Mensaje, resp.TipoMensaje, JSBtnAceptar:="BtnRefrescarPagina();")
Alert(strMensaje.ToString(), resp.TipoMensaje, JSBtnAceptar:="BtnRefrescarPagina();")
Else
If resp.CveEstatus = 5 AndAlso Not EsRefacturacion Then
Alert(resp.Mensaje, resp.TipoMensaje, JSBtnAceptar:=$"BtnEnviarMailCancelacion({CveVenta});", TextoConfirmacion:="&nbsp;&nbsp;&nbsp;&nbsp;Si&nbsp;&nbsp;&nbsp;&nbsp;", TextoCancelacion:="&nbsp;&nbsp;&nbsp;&nbsp;<a onclick='Recargar()'>No</>&nbsp;&nbsp;&nbsp;&nbsp;")
Alert(strMensaje.ToString(), resp.TipoMensaje, JSBtnAceptar:=$"BtnEnviarMailCancelacion({CveVenta});", TextoConfirmacion:="&nbsp;&nbsp;&nbsp;&nbsp;Si&nbsp;&nbsp;&nbsp;&nbsp;", TextoCancelacion:="&nbsp;&nbsp;&nbsp;&nbsp;<a onclick='Recargar()'>No</>&nbsp;&nbsp;&nbsp;&nbsp;")
Else
If EsRefacturacion Then
If resp.CveEstatus = 20 Then
@@ -24050,10 +24128,10 @@ Partial Class Ventas
ElseIf resp.CveEstatus.Contiene(4, 5, 23) Then
LigaRedirigir = $"Ventas.aspx?CveDevolucion={CveVenta}&NuevaFactura=1"
Else
Alert(resp.Mensaje, resp.TipoMensaje, JSBtnAceptar:="BtnRefrescarPagina();")
Alert(strMensaje.ToString(), resp.TipoMensaje, JSBtnAceptar:="BtnRefrescarPagina();")
End If
Else
Alert(resp.Mensaje, resp.TipoMensaje, JSBtnAceptar:="BtnRefrescarPagina();")
Alert(strMensaje.ToString(), resp.TipoMensaje, JSBtnAceptar:="BtnRefrescarPagina();")
End If
End If
End If
@@ -26925,14 +27003,15 @@ Partial Class Ventas
End If
GvDescNCCargos.DataBind()
Dim SaldoMaximoUtilizable As Decimal = 0
Dim SaldoMaximoCliente As Decimal = 0
Dim SaldoEntregado As Decimal = 0
If CargarSoloGarantias Then
Dim SaldoMaximo As Decimal = DtNC.SUMD("Saldo", "TipoRNC = 1 AND EsGarantia = True")
If SaldoMaximo > 0 Then
SaldoMaximoUtilizable = SaldoMaximo
SaldoMaximoCliente = SaldoMaximo
Else
SaldoMaximoUtilizable = 0
SaldoMaximoCliente = 0
End If
Else
Dim ObjAcum As New ClsAcumuladores
@@ -26942,25 +27021,32 @@ Partial Class Ventas
Dim SaldoMaximo As Decimal = RowUsadosNC("ValorConImpuestos").ToString().ToDecimal()
If SaldoMaximo > 0 Then
SaldoMaximoUtilizable = RowUsadosNC("ValorConImpuestos").ToString().ToDecimal()
SaldoMaximoCliente = RowUsadosNC("ValorConImpuestos").ToString().ToDecimal()
Else
SaldoMaximoUtilizable = 0
SaldoMaximoCliente = 0
End If
Dim RowEntregado As DataRow = ObjAcum.DtResultados.Rows(1)
SaldoEntregado = RowEntregado("ValorConImpuestos").ToString().ToDecimal()
Else
SaldoMaximoUtilizable = 0
SaldoMaximoCliente = 0
End If
ObjAcum.Dispose()
End If
Dim SaldoMaximoUsadosFactura As Decimal = Me.TmpDT.SUM("Total", "EsCargo = True").ToDecimal() + Me.TmpDT.SUM("ImporteIVA", "EsCargo = True").ToDecimal()
If SaldoMaximoUtilizable < SaldoMaximoUsadosFactura Then
If SaldoMaximoCliente > 0 AndAlso SaldoMaximoCliente < SaldoMaximoUsadosFactura Then
SaldoMaximoUsadosFactura = SaldoMaximoCliente
End If
Dim SaldoMaximoUtilizable = If(SaldoMaximoUsadosFactura < SaldoEntregado, SaldoMaximoUsadosFactura, SaldoEntregado)
If SaldoMaximoUtilizable > 0 Then
HdnSaldoMaximoUsados.Value = SaldoMaximoUtilizable.ToString()
LblSaldoMaximoUsados.Text = String.Format("{0:N2}", SaldoMaximoUtilizable)
Else
HdnSaldoMaximoUsados.Value = SaldoMaximoUsadosFactura.ToString()
LblSaldoMaximoUsados.Text = String.Format("{0:N2}", SaldoMaximoUsadosFactura)
HdnSaldoMaximoUsados.Value = "0"
LblSaldoMaximoUsados.Text = String.Format("{0:N2}", 0)
End If
Else
@@ -27076,14 +27162,14 @@ Partial Class Ventas
End If
GvDescNCCargosDetalle.DataBind()
Dim SaldoMaximoUtilizable As Decimal = 0
Dim SaldoMaximoCliente As Decimal = 0
Dim SaldoEntregado As Decimal = 0
If CargarSoloGarantias Then
Dim SaldoMaximo As Decimal = TmpDTRNCDetalle.SUMD("Saldo", "TipoRNC = 1 AND EsGarantia = True")
If SaldoMaximo > 0 Then
SaldoMaximoUtilizable = SaldoMaximo
SaldoMaximoCliente = SaldoMaximo
Else
SaldoMaximoUtilizable = 0
SaldoMaximoCliente = 0
End If
Else
Dim ObjAcum As New ClsAcumuladores
@@ -27093,27 +27179,36 @@ Partial Class Ventas
Dim SaldoMaximo As Decimal = RowUsadosNC("ValorConImpuestos").ToString().ToDecimal()
If SaldoMaximo > 0 Then
SaldoMaximoUtilizable = RowUsadosNC("ValorConImpuestos").ToString().ToDecimal()
SaldoMaximoCliente = RowUsadosNC("ValorConImpuestos").ToString().ToDecimal()
Else
SaldoMaximoUtilizable = 0
SaldoMaximoCliente = 0
End If
Dim RowEntregado As DataRow = ObjAcum.DtResultados.Rows(1)
SaldoEntregado = RowEntregado("ValorConImpuestos").ToString().ToDecimal()
Else
SaldoMaximoUtilizable = 0
SaldoMaximoCliente = 0
End If
ObjAcum.Dispose()
End If
Dim SaldoMaximoUsados As Decimal = Me.TmpDT.SUM("Total", "EsCargo = True").ToDecimal() + Me.TmpDT.SUM("ImporteIVA", "EsCargo = True").ToDecimal()
Dim SaldoMaximoUsadosFactura As Decimal = Me.TmpDT.SUM("Total", "EsCargo = True").ToDecimal() + Me.TmpDT.SUM("ImporteIVA", "EsCargo = True").ToDecimal()
If SaldoMaximoUtilizable < SaldoMaximoUsados Then
If SaldoMaximoCliente > 0 AndAlso SaldoMaximoCliente < SaldoMaximoUsadosFactura Then
SaldoMaximoUsadosFactura = SaldoMaximoCliente
End If
Dim SaldoMaximoUtilizable = If(SaldoMaximoUsadosFactura < SaldoEntregado, SaldoMaximoUsadosFactura, SaldoEntregado)
If SaldoMaximoUtilizable > 0 Then
HdnSaldoMaximoUsados.Value = SaldoMaximoUtilizable.ToString()
LblSaldoMaximoUsados.Text = String.Format("{0:N2}", SaldoMaximoUtilizable)
Else
HdnSaldoMaximoUsados.Value = SaldoMaximoUsados.ToString()
LblSaldoMaximoUsados.Text = String.Format("{0:N2}", SaldoMaximoUsados)
HdnSaldoMaximoUsados.Value = "0"
LblSaldoMaximoUsados.Text = String.Format("{0:N2}", 0)
End If
UpDescNC.Update()
End Sub
Private Sub CargaRNCDetalleBonificacion(Optional CveVentaUsado As Integer = -1)
@@ -27861,8 +27956,17 @@ Partial Class Ventas
DtImpuestos = query.QueryToDataTable(False)
DtImpuestosBonificacion = queryBonificacion.QueryToDataTable(False)
Dim TieneMultiplesSubProyectos As Boolean = False
'VERIFICA SI EN LA FACTURA ACTUAL TUVO MULTIPLES SUBPROYECTOS, PARA CUADRAR AL FINAL EL IMPORTE ACUMULADO
If Not AplicaNCMasiva AndAlso AplicoNCFacturaActual Then
TieneMultiplesSubProyectos = TmpDT.FiltraParametros("", "", {"CveSubProyecto"}).COUNT("CveSubProyecto", "CveSubProyecto > 0") > 1
If TieneMultiplesSubProyectos Then
AcumuladoNC = TxtNCImporte.Text.Trim.ToDecimal
End If
End If
'ASUSTO LA DIFERENCIA EN EL ÚLTIMO CONCEPTO
If TipoDoctoNC = "Egs" AndAlso (Not AplicaNuevoDocumento) AndAlso AplicaNCMasiva AndAlso (Not NCDescuento) AndAlso AcumuladoNC > 0 Then
If TipoDoctoNC = "Egs" AndAlso (Not AplicaNuevoDocumento) AndAlso (AplicaNCMasiva OrElse TieneMultiplesSubProyectos) AndAlso (Not NCDescuento) AndAlso AcumuladoNC > 0 Then
'CODIGO PARA AJUSTE DE CENTAVO, SI EL IMPORTE TOTAL NO CUADRA CON LOS TOTALES
Dim ImporteNC As Decimal = DtImpuestos.SUMD("ImporteTotal") + DtImpuestos.SUMD("ImporteIVA") + DtImpuestos.SUMD("ImporteIEPS") - DtImpuestos.SUMD("ImporteRetIVA") - DtImpuestos.SUMD("ImporteRetISR")
@@ -28642,8 +28746,9 @@ Partial Class Ventas
End If
Dim AplicaRedondeo As Boolean = True
Dim TieneMultiplesSubProyectos As Boolean = TmpDT.FiltraParametros("", "", {"CveSubProyecto"}).COUNT("CveSubProyecto", "CveSubProyecto > 0") > 1
If AplicaNCMasiva AndAlso Not NCDescuento Then
If AplicaNCMasiva AndAlso Not NCDescuento OrElse TieneMultiplesSubProyectos Then
AplicaRedondeo = False
End If