Validacion de traspasos
This commit is contained in:
@@ -17,6 +17,8 @@ Public Class SIGGPS : Implements IHttpHandler, IRequiresSessionState
|
|||||||
Select Case context.Request("metodo")
|
Select Case context.Request("metodo")
|
||||||
Case "getimginstalacion"
|
Case "getimginstalacion"
|
||||||
GetImgInstalacion(context)
|
GetImgInstalacion(context)
|
||||||
|
Case "EjecutarNotificaciones"
|
||||||
|
EjecutarNotificaciones(context)
|
||||||
End Select
|
End Select
|
||||||
ElseIf context.Request.InputStream IsNot Nothing Then
|
ElseIf context.Request.InputStream IsNot Nothing Then
|
||||||
Using reader As New StreamReader(context.Request.InputStream)
|
Using reader As New StreamReader(context.Request.InputStream)
|
||||||
@@ -64,6 +66,14 @@ Public Class SIGGPS : Implements IHttpHandler, IRequiresSessionState
|
|||||||
Return URLParametros
|
Return URLParametros
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Private Sub EjecutarNotificaciones(ByVal context As HttpContext)
|
||||||
|
Dim Retorno As String = "[]"
|
||||||
|
Using ObjGPS As New ClsSisNotificaciones
|
||||||
|
ObjGPS.ObtenerNotificaciones()
|
||||||
|
End Using
|
||||||
|
context.Response.Write(Retorno)
|
||||||
|
End Sub
|
||||||
|
|
||||||
Private Sub GetImgInstalacion(ByVal context As HttpContext)
|
Private Sub GetImgInstalacion(ByVal context As HttpContext)
|
||||||
Dim params As String = Decripta(context.Request("r").ToString)
|
Dim params As String = Decripta(context.Request("r").ToString)
|
||||||
Dim Parametros = Me.Parametros(params)
|
Dim Parametros = Me.Parametros(params)
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Web;
|
|
||||||
using System.Web.UI;
|
|
||||||
using System.Web.UI.WebControls;
|
|
||||||
|
|
||||||
public partial class Compras_Default : ClsPaginas
|
|
||||||
{
|
|
||||||
protected void Page_Load(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
Alert(UsuarioActual.Nombre);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Binary file not shown.
@@ -17,12 +17,12 @@ Partial Class SessionesActivas
|
|||||||
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
|
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||||
If Not IsPostBack Then
|
If Not IsPostBack Then
|
||||||
|
|
||||||
Dim listacve As New List(Of String)
|
' Dim listacve As New List(Of String)
|
||||||
listacve.Add("1815")
|
' listacve.Add("1815")
|
||||||
Notificaciones.AlertaVentana("notificacion", listacve, timeoutseconds:=0)
|
' Notificaciones.AlertaVentana("notificacion", listacve, timeoutseconds:=0)
|
||||||
|
|
||||||
RCveUsuario = "0"
|
' RCveUsuario = "0"
|
||||||
ClsSisNotificaciones.SendNotificacionERP(100, "Titulo", "Hola Mundo", 1)
|
'ClsSisNotificaciones.SendNotificacionERP(100, "Titulo", "Hola Mundo", 1)
|
||||||
CargaDatos("")
|
CargaDatos("")
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|||||||
@@ -6150,6 +6150,10 @@ Partial Class Ventas
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If GvInv.Rows.Cast(Of GridViewRow)().Count(Function(gvr) gvr.FCCheckBox("cbInv").Checked) > 0 AndAlso ddlAlmacen.SelectedValue.ToEntero() <= 0 Then
|
||||||
|
Alert("Tiene que seleccionar un almacen", TipoMensaje.MsgAdvertencia)
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
|
|
||||||
EmitirImprimirNew()
|
EmitirImprimirNew()
|
||||||
End Sub
|
End Sub
|
||||||
@@ -8981,25 +8985,6 @@ Partial Class Ventas
|
|||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
|
|
||||||
ElseIf AplicarVentaFacturada Then
|
|
||||||
'25/11/2017 SE VA A ELIMINAR, DIJO EL IPP
|
|
||||||
|
|
||||||
'If Not ObjVentas.UpdateVentaRemision(CveVenta, ObjFactura.CveVenta) Then
|
|
||||||
' ErrorList.Add("Ocurrió un error al actualizar la remisión")
|
|
||||||
'End If
|
|
||||||
|
|
||||||
'If Not ObjConta.TraspasarSaldosPrePolizas(CveVenta, ObjFactura.CveVenta, -1, ObjFactura.CvePrePoliza, 2) Then
|
|
||||||
' ErrorList.Add("Ocurrió un error al traspasar los saldos de la remisión")
|
|
||||||
'End If
|
|
||||||
|
|
||||||
''If Not ObjConta.CancelarPrePolizas(-1, CveVenta) Then
|
|
||||||
'' ErrorList.Add("Ocurrió un error al cancelar los saldos de la remisión")
|
|
||||||
''End If
|
|
||||||
|
|
||||||
'If Not TraspasoAlmacen(ObjInventario, CveVenta, ObjConta, True, 9) Then
|
|
||||||
' ErrorList.Add("Ocurrió un error al traspasar el almacen")
|
|
||||||
'End If
|
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -10251,147 +10236,152 @@ Partial Class Ventas
|
|||||||
End Function
|
End Function
|
||||||
Private Function GuardarVentaInventarios(ObjInventario As ClsInventarios, ObjConta As ClsContabilidad, factura As Modelos.Factura) As Boolean
|
Private Function GuardarVentaInventarios(ObjInventario As ClsInventarios, ObjConta As ClsContabilidad, factura As Modelos.Factura) As Boolean
|
||||||
Dim OcurrioError As Boolean = False
|
Dim OcurrioError As Boolean = False
|
||||||
|
Try
|
||||||
|
|
||||||
If UsuarioActual.Empresa.UsaInventarios AndAlso factura.TipoDocto.Contiene("Ing", "Egs", "Rem") Then
|
If UsuarioActual.Empresa.UsaInventarios AndAlso factura.TipoDocto.Contiene("Ing", "Egs", "Rem") Then
|
||||||
|
|
||||||
If GvInv.Rows.Cast(Of GridViewRow)().Count(Function(gvr) gvr.FCCheckBox("cbInv").Checked) > 0 Then
|
If RemisionesLista.Count > 0 Then
|
||||||
|
For Each CveRemision As Integer In RemisionesLista
|
||||||
|
'El almacen general es el Primer Almacen de Material en la Sucursal
|
||||||
|
If Not TraspasoAlmacen(ObjInventario, CveRemision, ObjConta, True, 9) Then
|
||||||
|
OcurrioError = True
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
|
||||||
Dim CveAlmacen = ddlAlmacen.SelectedValue.ToEntero
|
If GvInv.Rows.Cast(Of GridViewRow)().Count(Function(gvr) gvr.FCCheckBox("cbInv").Checked) > 0 Then
|
||||||
Dim CveMovimientoInventario As Integer = ObjInventario.AddMovimiento(CveAlmacen, 3, factura.CveMoneda, factura.Fecha, -1, factura.CveUsuario, factura.CveEmpresa, -1, factura.CveVenta, -1, -1)
|
|
||||||
|
|
||||||
If CveMovimientoInventario <= 0 Then
|
Dim CveAlmacen = ddlAlmacen.SelectedValue.ToEntero
|
||||||
OcurrioError = True
|
Dim CveMovimientoInventario As Integer = ObjInventario.AddMovimiento(CveAlmacen, 3, factura.CveMoneda, factura.Fecha, -1, factura.CveUsuario, factura.CveEmpresa, -1, factura.CveVenta, -1, -1)
|
||||||
ErrorList.Add("Ocurrió un error al agregar los Movimientos de salida al Inventario.<br />Revise su factura y cualquier detalle comuníquese a Soporte Técnico")
|
|
||||||
Else
|
|
||||||
Dim Mensaje As String = ""
|
|
||||||
Dim i As Integer = 0
|
|
||||||
Dim Cantidad As Double
|
|
||||||
Dim CveUnidad As Integer
|
|
||||||
Dim CveProducto As Integer
|
|
||||||
Dim Existencia As Double
|
|
||||||
'Dim Pu As Double
|
|
||||||
'DtInv.Clone()
|
|
||||||
|
|
||||||
Dim DtEquivalencias As DataTable
|
If CveMovimientoInventario <= 0 Then
|
||||||
|
OcurrioError = True
|
||||||
|
ErrorList.Add("Ocurrió un error al agregar los Movimientos de salida al Inventario.<br />Revise su factura y cualquier detalle comuníquese a Soporte Técnico")
|
||||||
|
Else
|
||||||
|
Dim Mensaje As String = ""
|
||||||
|
Dim i As Integer = 0
|
||||||
|
Dim Cantidad As Double
|
||||||
|
Dim CveUnidad As Integer
|
||||||
|
Dim CveProducto As Integer
|
||||||
|
Dim Existencia As Double
|
||||||
|
'Dim Pu As Double
|
||||||
|
'DtInv.Clone()
|
||||||
|
|
||||||
For Each Dr As DataRow In DtInv.Rows
|
Dim DtEquivalencias As DataTable
|
||||||
If GvInv.Rows(i).FCCheckBox("cbInv").Checked Then
|
|
||||||
|
|
||||||
CveProducto = Dr("CvePS").ToString.ToEntero
|
For Each Dr As DataRow In DtInv.Rows
|
||||||
CveUnidad = Dr("CveUM").ToString.ToEntero
|
If GvInv.Rows(i).FCCheckBox("cbInv").Checked Then
|
||||||
Cantidad = Dr("Cantidad").ToString.ToDouble
|
|
||||||
|
|
||||||
If Dr("CveTipoInvPS").ToString.ToEntero = 5 And Dr("SerieLote").ToString = "" Then
|
CveProducto = Dr("CvePS").ToString.ToEntero
|
||||||
OcurrioError = True
|
CveUnidad = Dr("CveUM").ToString.ToEntero
|
||||||
ErrorList.Add("Se deben especificar las Series de los productos de almacén")
|
Cantidad = Dr("Cantidad").ToString.ToDouble
|
||||||
Exit For
|
|
||||||
End If
|
|
||||||
|
|
||||||
If UsuarioActual.CveEmpresa.Contiene({72, 80, 119}) AndAlso DdlTipoComprobante.SelectedValue.Contiene("Rem", "Ing") Then
|
If Dr("CveTipoInvPS").ToString.ToEntero = 5 And Dr("SerieLote").ToString = "" Then
|
||||||
Existencia = ObjInventario.GetExistenciasPS(CveProducto, CveUnidad, UsuarioActual.CveEmpresa, CveAlmacen, FechaMovto:=DateTime.Today.AddDays(1).ToString("yyyy/MM/dd HH:mm"), CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeAdelantado:=1, RestringirAlmacenes:=1, ExcluyeApartados:=1)
|
|
||||||
If Existencia < Cantidad Then
|
|
||||||
OcurrioError = True
|
OcurrioError = True
|
||||||
ErrorList.Add($"No cuenta con la cantidad suficiente en inventario del producto {Dr("CodigoPS")} .Cuenta con {Existencia.FormatoNumero(2)}.")
|
ErrorList.Add("Se deben especificar las Series de los productos de almacén")
|
||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
End If
|
|
||||||
|
|
||||||
If UsuarioActual.CveEmpresa = 1 Then
|
If UsuarioActual.CveEmpresa.Contiene({72, 80, 119}) AndAlso DdlTipoComprobante.SelectedValue.Contiene("Rem", "Ing") Then
|
||||||
DtEquivalencias = New DataTable
|
Existencia = ObjInventario.GetExistenciasPS(CveProducto, CveUnidad, UsuarioActual.CveEmpresa, CveAlmacen, FechaMovto:=DateTime.Today.AddDays(1).ToString("yyyy/MM/dd HH:mm"), CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeAdelantado:=1, RestringirAlmacenes:=1, ExcluyeApartados:=1)
|
||||||
DtEquivalencias = GlobalDTProductosServiciosEquivalencias(CveProducto, -1)
|
If Existencia < Cantidad Then
|
||||||
Dim CveUnidadBase As Integer = DtEquivalencias.FiltroPrimeroValor("CveUM", "UnidadBase = 'True'").ToEntero
|
OcurrioError = True
|
||||||
Dim drUMBase As DataRow = DtEquivalencias.FiltroPrimero("UnidadBase = 'True'")
|
ErrorList.Add($"No cuenta con la cantidad suficiente en inventario del producto {Dr("CodigoPS")} .Cuenta con {Existencia.FormatoNumero(2)}.")
|
||||||
|
Exit For
|
||||||
'SI LA UNIDAD ACTUAL NO ES LA BASE SACA PROPORCION (EQUIVALENTE)
|
End If
|
||||||
If CveUnidadBase <> CveUnidad Then
|
|
||||||
' LO QUE PUSE LO QUE VALE UNIDAD BASE LO QUE VALE UNIDAD SELECCIONADA
|
|
||||||
Cantidad = Dr("Cantidad").ToString.ToDouble * drUMBase("Cantidad").ToString.ToDouble / DtEquivalencias.FiltraParametros(String.Format("CveUM = {0}", CveUnidad)).Rows(0)("Cantidad").ToString.ToDouble
|
|
||||||
CveUnidad = CveUnidadBase
|
|
||||||
End If
|
End If
|
||||||
End If
|
|
||||||
|
|
||||||
If CveProducto > 0 Then
|
If UsuarioActual.CveEmpresa = 1 Then
|
||||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, Cantidad, CveUnidad, CveProducto, 0, -1, SerieLote:=Dr("SerieLote").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero) Then
|
DtEquivalencias = New DataTable
|
||||||
|
DtEquivalencias = GlobalDTProductosServiciosEquivalencias(CveProducto, -1)
|
||||||
|
Dim CveUnidadBase As Integer = DtEquivalencias.FiltroPrimeroValor("CveUM", "UnidadBase = 'True'").ToEntero
|
||||||
|
Dim drUMBase As DataRow = DtEquivalencias.FiltroPrimero("UnidadBase = 'True'")
|
||||||
|
|
||||||
|
'SI LA UNIDAD ACTUAL NO ES LA BASE SACA PROPORCION (EQUIVALENTE)
|
||||||
|
If CveUnidadBase <> CveUnidad Then
|
||||||
|
' LO QUE PUSE LO QUE VALE UNIDAD BASE LO QUE VALE UNIDAD SELECCIONADA
|
||||||
|
Cantidad = Dr("Cantidad").ToString.ToDouble * drUMBase("Cantidad").ToString.ToDouble / DtEquivalencias.FiltraParametros(String.Format("CveUM = {0}", CveUnidad)).Rows(0)("Cantidad").ToString.ToDouble
|
||||||
|
CveUnidad = CveUnidadBase
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If CveProducto > 0 Then
|
||||||
|
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, Cantidad, CveUnidad, CveProducto, 0, -1, SerieLote:=Dr("SerieLote").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero) Then
|
||||||
|
OcurrioError = True
|
||||||
|
ErrorList.Add("Ocurrió un error al agregar los Movimientos de salida al Inventario.<br />")
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
Else
|
||||||
OcurrioError = True
|
OcurrioError = True
|
||||||
ErrorList.Add("Ocurrió un error al agregar los Movimientos de salida al Inventario.<br />")
|
ErrorList.Add("Ocurrió un error al agregar los Movimientos de salida al Inventario.<br />")
|
||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
Else
|
|
||||||
OcurrioError = True
|
|
||||||
ErrorList.Add("Ocurrió un error al agregar los Movimientos de salida al Inventario.<br />")
|
|
||||||
Exit For
|
|
||||||
End If
|
End If
|
||||||
|
i = i + 1
|
||||||
|
Next
|
||||||
|
|
||||||
End If
|
'REGISTRO LA PREPOLIZA DE COSTO VS ALMACEN
|
||||||
i = i + 1
|
If Not OcurrioError Then
|
||||||
Next
|
Dim DtCostos As DataTable = Nothing
|
||||||
|
Dim ValorInventario As Decimal = 0
|
||||||
|
Dim TotalCosto As Decimal = 0
|
||||||
|
If ObjInventario.GetMovimientosDetalle(CveMovimientoInventario, UsuarioActual.CveEmpresa) Then
|
||||||
|
DtCostos = ObjInventario.DtResultados
|
||||||
|
TotalCosto = DtCostos.SUMD("Total").RoundSQL
|
||||||
|
Dim tmpCostos As DataTable = DtCostos.FiltraParametros("", "", {"CveClasificacion"})
|
||||||
|
Dim IdCtaContable As Integer = 0
|
||||||
|
Dim CveCuenta As Integer = 0
|
||||||
|
If tmpCostos.Rows.Count > 0 Then
|
||||||
|
Dim TotalCostoAcumulado As Decimal = 0
|
||||||
|
Dim cont As Integer = 1
|
||||||
|
'Se agrega movimiento separado por la cuenta de ventas (ER)
|
||||||
|
For Each RowInv As DataRow In tmpCostos.Rows
|
||||||
|
ValorInventario = DtCostos.SUMD("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").RoundSQL
|
||||||
|
TotalCostoAcumulado += ValorInventario
|
||||||
|
|
||||||
'REGISTRO LA PREPOLIZA DE COSTO VS ALMACEN
|
'cuando es el último movimiento y hay diferencias en los importes
|
||||||
If Not OcurrioError Then
|
If cont = tmpCostos.Rows.Count AndAlso TotalCosto <> TotalCostoAcumulado Then
|
||||||
Dim DtCostos As DataTable = Nothing
|
ValorInventario = ValorInventario + (TotalCosto - TotalCostoAcumulado)
|
||||||
Dim ValorInventario As Decimal = 0
|
|
||||||
Dim TotalCosto As Decimal = 0
|
|
||||||
If ObjInventario.GetMovimientosDetalle(CveMovimientoInventario, UsuarioActual.CveEmpresa) Then
|
|
||||||
DtCostos = ObjInventario.DtResultados
|
|
||||||
TotalCosto = DtCostos.SUMD("Total").RoundSQL
|
|
||||||
Dim tmpCostos As DataTable = DtCostos.FiltraParametros("", "", {"CveClasificacion"})
|
|
||||||
Dim IdCtaContable As Integer = 0
|
|
||||||
Dim CveCuenta As Integer = 0
|
|
||||||
If tmpCostos.Rows.Count > 0 Then
|
|
||||||
Dim TotalCostoAcumulado As Decimal = 0
|
|
||||||
Dim cont As Integer = 1
|
|
||||||
'Se agrega movimiento separado por la cuenta de ventas (ER)
|
|
||||||
For Each RowInv As DataRow In tmpCostos.Rows
|
|
||||||
ValorInventario = DtCostos.SUMD("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").RoundSQL
|
|
||||||
TotalCostoAcumulado += ValorInventario
|
|
||||||
|
|
||||||
'cuando es el último movimiento y hay diferencias en los importes
|
|
||||||
If cont = tmpCostos.Rows.Count AndAlso TotalCosto <> TotalCostoAcumulado Then
|
|
||||||
ValorInventario = ValorInventario + (TotalCosto - TotalCostoAcumulado)
|
|
||||||
End If
|
|
||||||
|
|
||||||
'Concepto = String.Format("{0} - {1}", Row2("Clasificacion").ToString, Row2("SubProyecto").ToString)
|
|
||||||
IdCtaContable = GlobalDTClasificaciones(factura.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
|
|
||||||
CveCuenta = GlobalDTClasificaciones(factura.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
|
|
||||||
If ValorInventario <> 0 Then
|
|
||||||
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(factura.CvePrePoliza, False, ValorInventario, factura.SerieFolio, 69, factura.SerieFolio, factura.Fecha, IdCtaContable, -1, CveVenta:=factura.CveVenta, CveCliente:=factura.CveCliente, CveSubProyecto:=factura.CveSubProyecto, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimientoInventario, ImporteMX:=ValorInventario, CveCuenta:=CveCuenta) Then
|
|
||||||
OcurrioError = True
|
|
||||||
End If
|
End If
|
||||||
End If
|
|
||||||
cont += 1
|
|
||||||
Next
|
|
||||||
End If
|
|
||||||
IdCtaContable = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", CveAlmacen)).ToEntero
|
|
||||||
|
|
||||||
If TotalCosto <> 0 Then
|
'Concepto = String.Format("{0} - {1}", Row2("Clasificacion").ToString, Row2("SubProyecto").ToString)
|
||||||
If Not ObjConta.AddPrePolizasDetalle(factura.CvePrePoliza, True, TotalCosto, factura.SerieFolio, 68, factura.SerieFolio, factura.Fecha, IdCtaContable, -1, CveVenta:=factura.CveVenta, CveCliente:=factura.CveCliente, CveMovimientoAlmacen:=CveMovimientoInventario, ImporteMX:=TotalCosto, CveCuenta:=CveCuenta, CveSubProyecto:=factura.CveSubProyecto) Then
|
IdCtaContable = GlobalDTClasificaciones(factura.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
|
||||||
OcurrioError = True
|
CveCuenta = GlobalDTClasificaciones(factura.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
|
||||||
|
If ValorInventario <> 0 Then
|
||||||
|
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(factura.CvePrePoliza, False, ValorInventario, factura.SerieFolio, 69, factura.SerieFolio, factura.Fecha, IdCtaContable, -1, CveVenta:=factura.CveVenta, CveCliente:=factura.CveCliente, CveSubProyecto:=factura.CveSubProyecto, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimientoInventario, ImporteMX:=ValorInventario, CveCuenta:=CveCuenta) Then
|
||||||
|
OcurrioError = True
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
cont += 1
|
||||||
|
Next
|
||||||
End If
|
End If
|
||||||
|
IdCtaContable = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", CveAlmacen)).ToEntero
|
||||||
|
|
||||||
|
If TotalCosto <> 0 Then
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(factura.CvePrePoliza, True, TotalCosto, factura.SerieFolio, 68, factura.SerieFolio, factura.Fecha, IdCtaContable, -1, CveVenta:=factura.CveVenta, CveCliente:=factura.CveCliente, CveMovimientoAlmacen:=CveMovimientoInventario, ImporteMX:=TotalCosto, CveCuenta:=CveCuenta, CveSubProyecto:=factura.CveSubProyecto) Then
|
||||||
|
OcurrioError = True
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
factura.Inv_CveMovimiento = CveMovimientoInventario
|
||||||
|
factura.Inv_ValorInventario = ValorInventario
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
factura.Inv_CveMovimiento = CveMovimientoInventario
|
|
||||||
factura.Inv_ValorInventario = ValorInventario
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
End If
|
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If RemisionesLista.Count > 0 Then
|
Catch ex As Exception
|
||||||
For Each CveRemision As Integer In RemisionesLista
|
OcurrioError = True
|
||||||
'El almacen general es el Primer Almacen de Material en la Sucursal
|
OnError("Ocurrió un error al guardar el inventario", ex)
|
||||||
If Not TraspasoAlmacen(ObjInventario, CveRemision, ObjConta, True, 9) Then
|
End Try
|
||||||
OcurrioError = True
|
|
||||||
Exit For
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
Return OcurrioError
|
Return OcurrioError
|
||||||
End Function
|
End Function
|
||||||
@@ -12498,221 +12488,7 @@ Partial Class Ventas
|
|||||||
|
|
||||||
Return Not ErrorCancelar
|
Return Not ErrorCancelar
|
||||||
End Function
|
End Function
|
||||||
'Protected Sub ImgGuardaEstatus_Click(sender As Object, e As System.Web.UI.ImageClickEventArgs) Handles ImgGuardaEstatus.Click
|
|
||||||
|
|
||||||
' 'La validacion de saldos cuando es refacturacion se hace antes asi que si es refacturacion ignoramos esta condicion, si es Anticipo verifica que no esté aplicado
|
|
||||||
' If DdlTipoComprobante.SelectedValue = "Ant" AndAlso (HdnPagado.Value.ToDecimal > 0 Or GvAntNC.Rows.Count > 0) Then
|
|
||||||
' Alert("La factura no se puede cancelar debido a que tiene pagos vinculados.", TipoMensaje.MsgAdvertencia)
|
|
||||||
' Exit Sub
|
|
||||||
' End If
|
|
||||||
|
|
||||||
' 'La validacion de saldos cuando es refacturacion se hace antes asi que si es refacturacion ignoramos esta condicion
|
|
||||||
' If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Rem") AndAlso HdnPagado.Value.ToDecimal > 0 Then
|
|
||||||
' Alert("La factura no se puede cancelar debido a que tiene pagos vinculados.", TipoMensaje.MsgAdvertencia)
|
|
||||||
' Exit Sub
|
|
||||||
' End If
|
|
||||||
|
|
||||||
' ' si tiene movimientos en almacen, y sigue sin ser marcado como devuelto
|
|
||||||
' If (GvInv.Rows.Count > 0 AndAlso DevolucionAlmacen.Contiene(0, 1)) AndAlso DdlTipoComprobante.SelectedValue <> "Rem" Then
|
|
||||||
' Alert("La factura no se puede cancelar debido a que tiene movimientos de inventario.", TipoMensaje.MsgAdvertencia)
|
|
||||||
' Exit Sub
|
|
||||||
' End If
|
|
||||||
|
|
||||||
' 'Si la remision esta facturada no se puede cancelar
|
|
||||||
' If DdlTipoComprobante.SelectedValue = "Rem" Then
|
|
||||||
' Dim ObjV As New ClsVentas
|
|
||||||
' If ObjV.VerificarRemisionFacturada(CveVenta) Then
|
|
||||||
' If ObjV.DtResultados.Rows.Count > 0 Then
|
|
||||||
' Alert("La remisión no se puede cancelar debido a que ya esta vinculada a una factura.", TipoMensaje.MsgAdvertencia)
|
|
||||||
' Exit Sub
|
|
||||||
' End If
|
|
||||||
' End If
|
|
||||||
' ObjV.Dispose()
|
|
||||||
' End If
|
|
||||||
|
|
||||||
|
|
||||||
' Dim ObjVentas As New ClsVentas() : ObjVentas.IniciaTransacSQL()
|
|
||||||
' Dim ObjAC As ClsContPAQi = Nothing
|
|
||||||
' Dim ObjConta As New ClsContabilidad(ObjVentas.IniciaTransacSQL())
|
|
||||||
' Dim ObjBancos As New ClsBancos(ObjVentas.IniciaTransacSQL())
|
|
||||||
' Dim ObjInventario As New ClsInventarios(ObjVentas.IniciaTransacSQL())
|
|
||||||
' Dim ObjContratos As New ClsContratos(ObjVentas.IniciaTransacSQL())
|
|
||||||
|
|
||||||
' Dim IDPoliza As Integer = -1
|
|
||||||
' Dim CvePrePoliza As Integer
|
|
||||||
' Dim CvePlantillaPoliza As Integer
|
|
||||||
|
|
||||||
' Dim ErrorCancelar As Boolean = False
|
|
||||||
' Dim Mensaje As String = ""
|
|
||||||
|
|
||||||
' CreaObjetosVenta()
|
|
||||||
' If UsuarioActual.Empresa.UsaAC Then
|
|
||||||
' ObjAC = New ClsContPAQi(UsuarioActual.Empresa) : ObjAC.IniciaTransacSQL()
|
|
||||||
' End If
|
|
||||||
|
|
||||||
' If GvInv.Rows.Count > 0 AndAlso DdlTipoComprobante.SelectedValue = "Rem" Then
|
|
||||||
' If CveAlmacenTransitorio > 0 Then
|
|
||||||
' ErrorCancelar = Not TraspasoAlmacen(ObjInventario, CveVenta, ObjConta, False, 9)
|
|
||||||
' Else
|
|
||||||
' ErrorCancelar = Not SalidaEntradaAlmacen(ObjInventario, CveVenta, ObjConta)
|
|
||||||
' End If
|
|
||||||
' End If
|
|
||||||
|
|
||||||
' If ObjFactura.TipoDocto.Contiene("Egs", "Dev") Then
|
|
||||||
' CvePlantillaPoliza = 7
|
|
||||||
' ElseIf ObjFactura.TipoDocto.Contiene("Ing", "Rem", "Ant") Then
|
|
||||||
' CvePlantillaPoliza = 4
|
|
||||||
' Else
|
|
||||||
' CvePlantillaPoliza = 4
|
|
||||||
' End If
|
|
||||||
|
|
||||||
' ObjFactura.CveVenta = CveVenta
|
|
||||||
|
|
||||||
' If HplSaldoAuxiliar.Text.ToDecimal > 0 Then
|
|
||||||
' CvePrePoliza = ObjConta.AddPrePolizas("Ventas/GuardaEstatus", CvePlantillaPoliza, TxtTotal.Text.ToDouble, TxtTotal.Text.Replace(",", "").ToDouble, DdlMoneda.SelectedValue.ToEntero, Now, NombreCliente, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
|
||||||
' ObjFactura.CvePrePoliza = CvePrePoliza
|
|
||||||
|
|
||||||
' If Not ErrorCancelar Then
|
|
||||||
' ErrorCancelar = ProcesoPrepolizas(ObjConta, ObjFactura, -1, TmpDT, ObjAC, -1, ObjBancos, ObjVentas)
|
|
||||||
' End If
|
|
||||||
|
|
||||||
' If Not ErrorCancelar Then
|
|
||||||
' ErrorCancelar = GuardarVentaImpuestosLocales(ObjVentas, ObjConta, ObjFactura, -1)
|
|
||||||
' Else
|
|
||||||
' Exit Sub
|
|
||||||
' End If
|
|
||||||
' End If
|
|
||||||
|
|
||||||
' 'Desvincular Remisiones
|
|
||||||
' '[IPP] COMENTADO PORQUE UNA REMISION USADA SE QUEMA - DETALLES CON INV - 30/ENERO/2018
|
|
||||||
' 'If DdlTipoComprobante.SelectedValue = "Ing" Then
|
|
||||||
' ' If Not ObjVentas.LiberarRemisionesFacturadas(CveVenta) Then
|
|
||||||
' ' ErrorCancelar = True
|
|
||||||
' ' Mensaje = "Ocurrió un error al desvincular las remisiones"
|
|
||||||
' ' End If
|
|
||||||
' 'End If
|
|
||||||
|
|
||||||
' 'Contratos
|
|
||||||
' ErrorList = New List(Of String)
|
|
||||||
' If ObjFactura.CveContrato > 0 AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant") Then
|
|
||||||
' GuardarContratoAvanceEstimaciones(ObjContratos, ObjFactura, ErrorList, -1, True)
|
|
||||||
' If ErrorList.Count > 0 Then : ErrorCancelar = True : End If
|
|
||||||
' ElseIf ObjFactura.CveContrato > 0 AndAlso DdlTipoComprobante.SelectedValue.Contiene("Egs", "Dev") Then
|
|
||||||
' GuardarContratoAvanceEstimaciones(ObjContratos, ObjFactura, ErrorList, 1, True)
|
|
||||||
' If ErrorList.Count > 0 Then : ErrorCancelar = True : End If
|
|
||||||
' End If
|
|
||||||
|
|
||||||
' If DdlEstatus.SelectedValue = "4" Then
|
|
||||||
|
|
||||||
' If ObjVentas.UpdateEstatusFactura(DdlEstatus.SelectedValue.ToEntero, FolioFiscal, "", Now, CveVenta, IDPoliza) Then
|
|
||||||
' Mensaje = "El nuevo estatus se guardó correctamente"
|
|
||||||
' Else
|
|
||||||
' ErrorCancelar = True
|
|
||||||
' End If
|
|
||||||
|
|
||||||
' 'Si se está mandando a Cancelada SAT
|
|
||||||
' ElseIf DdlEstatus.SelectedValue = "5" Then
|
|
||||||
' Try
|
|
||||||
' Dim DT As DataTable = Nothing
|
|
||||||
|
|
||||||
' If FolioFiscal = "" Then
|
|
||||||
' Dim XmlDoc As New XmlDocument
|
|
||||||
' XmlDoc.Load(Ruta & "XML\" & DdlTipoComprobante.SelectedValue & "\" & VentaFolio & ".xml")
|
|
||||||
' ViewState("FolioFiscal") = XmlDoc.DocumentElement("cfdi:Complemento").FirstChild.Attributes("UUID").InnerText
|
|
||||||
' End If
|
|
||||||
|
|
||||||
' 'Si es cancelar en el SAT:
|
|
||||||
|
|
||||||
' 'Dim xmlDoc As New System.Xml.XmlDocument()
|
|
||||||
' 'xmlDoc.LoadXml(Encoding.UTF8.GetString(Convert.FromBase64String("PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pgo8QWN1c2UgRmVjaGE9IjIwMTYtMTItMzBUMTg6Mjk6MjAuNTExOTg1NSIgUmZjRW1pc29yPSJNT1FKODUxMjE0SEs0IiB4bWxuczpuczI9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyMiIHhtbG5zOm5zMz0iaHR0cDovL2NhbmNlbGFjZmQuc2F0LmdvYi5teCI+CiAgICA8bnMzOkZvbGlvcz4KICAgICAgICA8bnMzOlVVSUQ+NjNBOEQxN0UtRDMxQi00QjVFLTkzMEEtMzdDNDJDRTFBM0M4PC9uczM6VVVJRD4KICAgICAgICA8bnMzOkVzdGF0dXNVVUlEPjIwMTwvbnMzOkVzdGF0dXNVVUlEPgogICAgPC9uczM6Rm9saW9zPgogICAgPG5zMjpTaWduYXR1cmUgSWQ9IlNlbGxvU0FUIj4KICAgICAgICA8bnMyOlNpZ25lZEluZm8+CiAgICAgICAgICAgIDxuczI6Q2Fub25pY2FsaXphdGlvbk1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLXhtbC1jMTRuLTIwMDEwMzE1Ii8+CiAgICAgICAgICAgIDxuczI6U2lnbmF0dXJlTWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS8wNC94bWxkc2lnLW1vcmUjaG1hYy1zaGE1MTIiLz4KICAgICAgICAgICAgPG5zMjpSZWZlcmVuY2UgVVJJPSIiPgogICAgICAgICAgICAgICAgPG5zMjpUcmFuc2Zvcm1zPgogICAgICAgICAgICAgICAgICAgIDxuczI6VHJhbnNmb3JtIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvVFIvMTk5OS9SRUMteHBhdGgtMTk5OTExMTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8bnMyOlhQYXRoPm5vdChhbmNlc3Rvci1vci1zZWxmOjoqW2xvY2FsLW5hbWUoKT0nU2lnbmF0dXJlJ10pPC9uczI6WFBhdGg+CiAgICAgICAgICAgICAgICAgICAgPC9uczI6VHJhbnNmb3JtPgogICAgICAgICAgICAgICAgPC9uczI6VHJhbnNmb3Jtcz4KICAgICAgICAgICAgICAgIDxuczI6RGlnZXN0TWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS8wNC94bWxlbmMjc2hhNTEyIi8+CiAgICAgICAgICAgICAgICA8bnMyOkRpZ2VzdFZhbHVlPk8zNzJtbWlEMFZWWUdkcGE4WjJ5K3VPQXVVcTdZb3JURldicER3K2xnVG9CUng3c2RrREtlNDZKRjRaM01hZHZ2djh6bG9vZTYwRGtZUGZyRGNZMUZ3PT08L25zMjpEaWdlc3RWYWx1ZT4KICAgICAgICAgICAgPC9uczI6UmVmZXJlbmNlPgogICAgICAgIDwvbnMyOlNpZ25lZEluZm8+CiAgICAgICAgPG5zMjpTaWduYXR1cmVWYWx1ZT5IbEJVbHplZlZFKzFXNS9QKzRuVk9YbEFuOVZLQUladm0vK2tuSldSb2plTVI4Ung5bHBpTUdIOXBVZG5iVWtObTloOTZQSXQ4QzBFd0Z2UVptRjlCZz09PC9uczI6U2lnbmF0dXJlVmFsdWU+CiAgICAgICAgPG5zMjpLZXlJbmZvPgogICAgICAgICAgICA8bnMyOktleU5hbWU+MDAwMDEwODg4ODg4MDAwMDAwMTY8L25zMjpLZXlOYW1lPgogICAgICAgICAgICA8bnMyOktleVZhbHVlPgogICAgICAgICAgICAgICAgPG5zMjpSU0FLZXlWYWx1ZT4KICAgICAgICAgICAgICAgICAgICA8bnMyOk1vZHVsdXM+eG5MMnpEUHRINWpEc0FaRFRJZk1xYktHcnZlK0F0OEt5eDJFWnZiZlhicEs5dVZFeFdTODc0b01lbEZ6TnE2OS9ZcVNSZVQzSTdJOHdyK2pveTVPN291WkgrNEtXZElHcDRTaTZsSGUwa250eHpObXV1S3lPUGtKOXRNY250bkZtUTRiZnhGeGxnL1VkMmhDdHVveTNqMnhZa0lYdTVPNHBHTTk4Tno4cEFNPTwvbnMyOk1vZHVsdXM+CiAgICAgICAgICAgICAgICAgICAgPG5zMjpFeHBvbmVudD5BUUFCPC9uczI6RXhwb25lbnQ+CiAgICAgICAgICAgICAgICA8L25zMjpSU0FLZXlWYWx1ZT4KICAgICAgICAgICAgPC9uczI6S2V5VmFsdWU+CiAgICAgICAgPC9uczI6S2V5SW5mbz4KICAgIDwvbnMyOlNpZ25hdHVyZT4KPC9BY3VzZT4K")))
|
|
||||||
|
|
||||||
' Dim ObjCancelacion As New Timbrado
|
|
||||||
' Dim TotalT As Decimal = TxtTotal.Text.ToDecimal
|
|
||||||
' Dim RFCReceptor As String = LblRFC.Text.Trim
|
|
||||||
' Dim CvePACCancelacion As Integer = UsuarioActual.Empresa.CvePAC
|
|
||||||
' ImprimeCancelacion(CveVenta)
|
|
||||||
|
|
||||||
' If ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscal, TotalT, RFCReceptor, UsuarioActual.Empresa.RFC, CvePACCancelacion) Then
|
|
||||||
' 'Generamos el acuse y mandamos mail de con el acuse de cancelación - DF 13/01/2017
|
|
||||||
' ' ImprimeCancelacion(CveVenta)
|
|
||||||
|
|
||||||
' If UsuarioActual.Empresa.UsaAC Then
|
|
||||||
' IDPoliza = GenerarPolizaAC(ObjAC, True)
|
|
||||||
' If IDPoliza <= 0 Then
|
|
||||||
' Mensaje = "No se pudo generar la poliza"
|
|
||||||
' ErrorCancelar = True
|
|
||||||
' End If
|
|
||||||
' End If
|
|
||||||
|
|
||||||
' If Not ErrorCancelar Then
|
|
||||||
' If ObjVentas.UpdateEstatusFactura(DdlEstatus.SelectedValue.ToEntero, FolioFiscal, ObjCancelacion.CancelacionAcuse, ObjCancelacion.CancelacionFecha, CveVenta, IDPoliza, CvePAC:=CvePACCancelacion) Then
|
|
||||||
' Mensaje = "El nuevo estatus se guardó correctamente"
|
|
||||||
|
|
||||||
' Else
|
|
||||||
' ErrorCancelar = True
|
|
||||||
' End If
|
|
||||||
' End If
|
|
||||||
' End If
|
|
||||||
|
|
||||||
' Catch ex As Exception
|
|
||||||
' Mensaje = "Ocurrio un error al Cancelar la factura"
|
|
||||||
' GuardaLog($"{ex.Message}")
|
|
||||||
' End Try
|
|
||||||
|
|
||||||
' ElseIf DdlEstatus.SelectedValue = "9" Then
|
|
||||||
|
|
||||||
' If UsuarioActual.Empresa.UsaAC Then
|
|
||||||
' IDPoliza = GenerarPolizaAC(ObjAC, True)
|
|
||||||
|
|
||||||
' If IDPoliza > 0 Then
|
|
||||||
' Mensaje = "Se canceló exitosamente el compromiso."
|
|
||||||
' Else
|
|
||||||
' Mensaje = "No se pudo generar la poliza de cancelación"
|
|
||||||
' ErrorCancelar = True
|
|
||||||
' End If
|
|
||||||
|
|
||||||
' End If
|
|
||||||
|
|
||||||
' If Not ErrorCancelar Then
|
|
||||||
' If Not ObjVentas.UpdateEstatusFactura(DdlEstatus.SelectedValue.ToEntero, "", "", TxtFecha.Text.ToDate, CveVenta, IDPoliza) Then
|
|
||||||
' ErrorCancelar = True
|
|
||||||
' End If
|
|
||||||
' End If
|
|
||||||
|
|
||||||
' ElseIf DdlEstatus.SelectedValue = "12" Then
|
|
||||||
' If ObjVentas.UpdateEstatusFactura(DdlEstatus.SelectedValue.ToEntero, FolioFiscal, "", Now, CveVenta, IDPoliza) Then
|
|
||||||
' Mensaje = "Se canceló exitosamente la Remisión"
|
|
||||||
' Else
|
|
||||||
' ErrorCancelar = True
|
|
||||||
' End If
|
|
||||||
' Else
|
|
||||||
' If ObjVentas.UpdateEstatusFactura(DdlEstatus.SelectedValue.ToEntero, FolioFiscal, "", Now, CveVenta, IDPoliza) Then
|
|
||||||
' 'Alert("El nuevo estatus se guardó correctamente", TipoMensaje.MsgInformacion, "document.location.href=""/Ventas/Ventas.aspx?CveVenta=" & CveVenta & """;")
|
|
||||||
' Mensaje = "El nuevo estatus se guardó correctamente"
|
|
||||||
' Else
|
|
||||||
' ErrorCancelar = True
|
|
||||||
' End If
|
|
||||||
' End If
|
|
||||||
|
|
||||||
|
|
||||||
' If Not ErrorCancelar Then
|
|
||||||
' Alert(Mensaje, TipoMensaje.MsgInformacion, "document.location.href=""/Ventas/Ventas.aspx?CveVenta=" & CveVenta & """;")
|
|
||||||
' ObjVentas.Commit()
|
|
||||||
' If ObjAC IsNot Nothing Then ObjAC.Commit()
|
|
||||||
' Else
|
|
||||||
' Alert(Mensaje, TipoMensaje.MsgError)
|
|
||||||
' ObjVentas.RollBack()
|
|
||||||
' If ObjAC IsNot Nothing Then ObjAC.RollBack()
|
|
||||||
' End If
|
|
||||||
|
|
||||||
' ObjVentas.Dispose()
|
|
||||||
' ObjContratos.Dispose()
|
|
||||||
' ObjConta.Dispose()
|
|
||||||
' ObjBancos.Dispose()
|
|
||||||
' ObjInventario.Dispose()
|
|
||||||
' If ObjAC IsNot Nothing Then ObjAC.Dispose()
|
|
||||||
|
|
||||||
'End Sub
|
|
||||||
Protected Sub ImgBtnAddC_Click(sender As Object, e As ImageClickEventArgs) Handles ImgBtnAddC.Click
|
Protected Sub ImgBtnAddC_Click(sender As Object, e As ImageClickEventArgs) Handles ImgBtnAddC.Click
|
||||||
Dim Row As DataRow = Nothing
|
Dim Row As DataRow = Nothing
|
||||||
Row = DTmpC.NewRow
|
Row = DTmpC.NewRow
|
||||||
@@ -14841,106 +14617,120 @@ Partial Class Ventas
|
|||||||
End Sub
|
End Sub
|
||||||
Private Function TraspasoAlmacen(ByRef ObjInventario As ClsInventarios, CveRemision As Integer, ByRef ObjConta As ClsContabilidad, ConSalida As Boolean, ConceptoMovimiento As Integer) As Boolean
|
Private Function TraspasoAlmacen(ByRef ObjInventario As ClsInventarios, CveRemision As Integer, ByRef ObjConta As ClsContabilidad, ConSalida As Boolean, ConceptoMovimiento As Integer) As Boolean
|
||||||
Dim OcurrioError As Boolean = False
|
Dim OcurrioError As Boolean = False
|
||||||
Dim DtMovimientos As DataTable
|
Try
|
||||||
Dim DtMovimientosDetalles As DataTable
|
Dim DtMovimientos As DataTable
|
||||||
DtRemConceptosSurtidos = Nothing
|
Dim DtMovimientosDetalles As DataTable
|
||||||
|
DtRemConceptosSurtidos = Nothing
|
||||||
|
|
||||||
'Obtenemos los movimientos detalle
|
'Obtenemos los movimientos detalle
|
||||||
If ObjInventario.GetInv_Mov(CveRemision, UsuarioActual.CveEmpresa) Then
|
If ObjInventario.GetInv_Mov(CveRemision, UsuarioActual.CveEmpresa) Then
|
||||||
|
|
||||||
If ObjInventario.DtResultados.Rows.Count > 0 Then
|
If ObjInventario.DtResultados.Rows.Count > 0 Then
|
||||||
|
|
||||||
DtMovimientos = ObjInventario.DtResultados.FiltraParametros("", DistinctColumns:={"CveMovimiento"})
|
DtMovimientos = ObjInventario.DtResultados.FiltraParametros("", DistinctColumns:={"CveMovimiento"})
|
||||||
|
|
||||||
'Si estamos facturando remisiones ajustamos por ventadetalle
|
'Si estamos facturando remisiones ajustamos por ventadetalle
|
||||||
If RemisionesLista.Count > 0 Then
|
If RemisionesLista.Count > 0 Then
|
||||||
Dim resultados = From DtRemisiones In DtRemisionesTmpDT
|
Dim resultados = From DtRemisiones In DtRemisionesTmpDT
|
||||||
Join DtMovDet In ObjInventario.DtResultados.FiltraParametros("CvePS > 0") On DtRemisiones("CveVentaDetalleRemision").ToString.ToEntero Equals DtMovDet("CveVentaDetalle").ToString.ToEntero
|
Join DtMovDet In ObjInventario.DtResultados.FiltraParametros("CvePS > 0") On DtRemisiones("CveVentaDetalleRemision").ToString.ToEntero Equals DtMovDet("CveVentaDetalle").ToString.ToEntero
|
||||||
Select DtMovDet
|
Select DtMovDet
|
||||||
Try
|
Try
|
||||||
DtMovimientosDetalles = resultados.CopyToDataTable
|
DtMovimientosDetalles = resultados.CopyToDataTable
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
GuardaLog($"LOG IPP: Ventas LN: 10033. - DtRemisionesTmpDT.Rows.Count: {DtRemisionesTmpDT.Rows.Count} - ObjInventario.DtResultados.FiltraParametros('CvePS > 0').Rows.Count: {ObjInventario.DtResultados.FiltraParametros("CvePS > 0").Rows.Count}")
|
GuardaLog($"LOG IPP: Ventas LN: 10033. - DtRemisionesTmpDT.Rows.Count: {DtRemisionesTmpDT.Rows.Count} - ObjInventario.DtResultados.FiltraParametros('CvePS > 0').Rows.Count: {ObjInventario.DtResultados.FiltraParametros("CvePS > 0").Rows.Count}")
|
||||||
DtMovimientosDetalles = New DataTable
|
DtMovimientosDetalles = New DataTable
|
||||||
End Try
|
End Try
|
||||||
Else
|
Else
|
||||||
DtMovimientosDetalles = ObjInventario.DtResultados.FiltraParametros("CvePS > 0")
|
DtMovimientosDetalles = ObjInventario.DtResultados.FiltraParametros("CvePS > 0")
|
||||||
End If
|
End If
|
||||||
|
|
||||||
For Each dr As DataRow In DtMovimientos.Rows
|
If DtMovimientos.Rows.Count > 0 Then
|
||||||
|
Dim GeneroMovimientoAlmacen As Boolean = False
|
||||||
|
|
||||||
'Obtenemos los Movimientos de salida
|
For Each dr As DataRow In DtMovimientos.Rows
|
||||||
If ObjInventario.GetMovimientos(dr("CveMovimiento").ToString.ToEntero, ConceptoMovimiento, -1, UsuarioActual.CveEmpresa) Then
|
|
||||||
|
|
||||||
If ObjInventario.DtResultados.Rows.Count > 0 AndAlso DtMovimientosDetalles.Rows.Count > 0 Then
|
'Obtenemos los Movimientos de salida
|
||||||
|
If ObjInventario.GetMovimientos(dr("CveMovimiento").ToString.ToEntero, ConceptoMovimiento, -1, UsuarioActual.CveEmpresa) Then
|
||||||
|
|
||||||
Dim CveAlmacenSalida As Integer = ObjInventario.DtResultados(0)("CveAlmacen").ToString.ToEntero
|
If ObjInventario.DtResultados.Rows.Count > 0 AndAlso DtMovimientosDetalles.Rows.Count > 0 Then
|
||||||
Dim CveAlmacenEntrada As Integer = ObjInventario.DtResultados(0)("CveAlmacenRelacionado").ToString.ToEntero
|
Dim RowMovimiento As DataRow = ObjInventario.DtResultados(0)
|
||||||
Dim CveMoneda As Integer = ObjInventario.DtResultados(0)("CveMoneda").ToString.ToEntero
|
|
||||||
Dim CveTipoAlmacen As Integer = ObjInventario.DtResultados(0)("CveTipoAlmacen").ToString.ToEntero
|
|
||||||
|
|
||||||
If (CveAlmacenEntrada > 0 AndAlso CveTipoAlmacen <> 1) Or RemisionesLista.Count = 0 Then 'Con remisiones parciales ignoramos las surtidas ya realizadas
|
Dim CveAlmacenSalida As Integer = RowMovimiento("CveAlmacen").ToString.ToEntero()
|
||||||
|
Dim CveAlmacenEntrada As Integer = RowMovimiento("CveAlmacenRelacionado").ToString.ToEntero()
|
||||||
|
Dim CveMoneda As Integer = RowMovimiento("CveMoneda").ToString.ToEntero()
|
||||||
|
Dim CveTipoAlmacen As Integer = RowMovimiento("CveTipoAlmacen").ToString.ToEntero()
|
||||||
|
|
||||||
Dim MovDetalle As New DataTable
|
If (CveAlmacenEntrada > 0 AndAlso CveTipoAlmacen <> 1) Or RemisionesLista.Count = 0 Then 'Con remisiones parciales ignoramos las surtidas ya realizadas
|
||||||
If RemisionesLista.Count > 0 Then
|
|
||||||
MovDetalle = CuadrarFacturaMovimientos(DtMovimientosDetalles.FiltraParametros($"CveMovimiento = {dr("CveMovimiento")} AND TieneSalidaxFactura IS NULL"))
|
|
||||||
Else
|
|
||||||
MovDetalle = DtMovimientosDetalles.FiltraParametros($"CveMovimiento = {dr("CveMovimiento")}")
|
|
||||||
End If
|
|
||||||
|
|
||||||
If ErrorList.Count = 0 Then
|
Dim MovDetalle As New DataTable
|
||||||
If MovDetalle.Rows.Count > 0 Then
|
|
||||||
Dim CveMovimientoSalidaPorTraspaso = -1
|
|
||||||
|
|
||||||
'Le damos salida de apartado por traspaso
|
If RemisionesLista.Count > 0 Then
|
||||||
CveMovimientoSalidaPorTraspaso = GenerarMovimientoAlmacen(ObjInventario, MovDetalle, CveAlmacenSalida, 8, CveMoneda, CveRemision)
|
MovDetalle = CuadrarFacturaMovimientos(DtMovimientosDetalles.FiltraParametros($"CveMovimiento = {dr("CveMovimiento")} AND TieneSalidaxFactura IS NULL"))
|
||||||
If Not CveMovimientoSalidaPorTraspaso > 0 Then
|
Else
|
||||||
OcurrioError = True
|
MovDetalle = DtMovimientosDetalles.FiltraParametros($"CveMovimiento = {dr("CveMovimiento")}")
|
||||||
Exit For
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
'Le damos entrada al general por traspaso
|
If ErrorList.Count = 0 AndAlso MovDetalle.Rows.Count > 0 Then
|
||||||
If Not OcurrioError Then
|
Dim CveMovimientoSalidaPorTraspaso As Integer = -1
|
||||||
If Not GenerarMovimientoAlmacen(ObjInventario, MovDetalle, CveAlmacenEntrada, 9, CveMoneda, CveRemision, CveMovimientoRelacionado:=CveMovimientoSalidaPorTraspaso) > 0 Then
|
|
||||||
|
'Le damos salida de apartado por traspaso
|
||||||
|
CveMovimientoSalidaPorTraspaso = GenerarMovimientoAlmacen(ObjInventario, MovDetalle, CveAlmacenSalida, 8, CveMoneda, CveRemision)
|
||||||
|
|
||||||
|
If Not CveMovimientoSalidaPorTraspaso > 0 Then
|
||||||
OcurrioError = True
|
OcurrioError = True
|
||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
End If
|
|
||||||
|
|
||||||
If Not OcurrioError Then
|
'Le damos entrada al general por traspaso
|
||||||
If ConSalida Then
|
If Not OcurrioError Then
|
||||||
'Le damos salida normal
|
GeneroMovimientoAlmacen = GenerarMovimientoAlmacen(ObjInventario, MovDetalle, CveAlmacenEntrada, 9, CveMoneda, CveRemision, CveMovimientoRelacionado:=CveMovimientoSalidaPorTraspaso) > 0
|
||||||
If Not GenerarMovimientoAlmacen(ObjInventario, MovDetalle, CveAlmacenEntrada, 3, CveMoneda, ObjFactura.CveVenta, MovimientoPrePoliza:=True, ObjConta:=ObjConta) > 0 Then
|
|
||||||
|
If Not GeneroMovimientoAlmacen Then
|
||||||
OcurrioError = True
|
OcurrioError = True
|
||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
'Le damos salida normal
|
||||||
|
If ConSalida AndAlso Not OcurrioError Then
|
||||||
|
GeneroMovimientoAlmacen = GenerarMovimientoAlmacen(ObjInventario, MovDetalle, CveAlmacenEntrada, 3, CveMoneda, ObjFactura.CveVenta, MovimientoPrePoliza:=True, ObjConta:=ObjConta) > 0
|
||||||
|
|
||||||
|
If Not GeneroMovimientoAlmacen Then
|
||||||
|
OcurrioError = True
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
Else
|
||||||
|
OcurrioError = True
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
MovDetalle.Dispose()
|
||||||
End If
|
End If
|
||||||
Else
|
|
||||||
OcurrioError = True
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
MovDetalle.Dispose()
|
ElseIf ObjInventario.GetMovimientos(dr("CveMovimiento").ToString.ToEntero, 3, -1, UsuarioActual.CveEmpresa) Then
|
||||||
|
'Esquema viejo, evitamos que aparezca por surtir
|
||||||
|
If Not ObjInventario.ActualizarEsDevolucionVenta(ObjFactura.CveVenta, 2) Then
|
||||||
|
OcurrioError = True
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
End If
|
OcurrioError = Not GeneroMovimientoAlmacen
|
||||||
|
|
||||||
ElseIf ObjInventario.GetMovimientos(dr("CveMovimiento").ToString.ToEntero, 3, -1, UsuarioActual.CveEmpresa) Then
|
|
||||||
|
|
||||||
'Esquema viejo, evitamos que aparezca por surtir
|
|
||||||
If Not ObjInventario.ActualizarEsDevolucionVenta(ObjFactura.CveVenta, 2) Then
|
|
||||||
OcurrioError = True
|
|
||||||
Exit For
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
Next
|
|
||||||
|
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
OcurrioError = True
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End If
|
Catch ex As Exception
|
||||||
|
OcurrioError = True
|
||||||
|
OnError("Ocurrió un error al realizar el traspaso", ex)
|
||||||
|
End Try
|
||||||
Return Not OcurrioError
|
Return Not OcurrioError
|
||||||
End Function
|
End Function
|
||||||
Private Function CuadrarFacturaMovimientos(MovDetalle As DataTable) As DataTable
|
Private Function CuadrarFacturaMovimientos(MovDetalle As DataTable) As DataTable
|
||||||
@@ -18836,8 +18626,6 @@ Partial Class Ventas
|
|||||||
|
|
||||||
#End Region
|
#End Region
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#Region "D E V O L U C I O N D E P E D I D O "
|
#Region "D E V O L U C I O N D E P E D I D O "
|
||||||
Private Sub CargaFacturaDevolucionPedido()
|
Private Sub CargaFacturaDevolucionPedido()
|
||||||
Dim CveVenta As Integer = Me.CveVenta
|
Dim CveVenta As Integer = Me.CveVenta
|
||||||
@@ -23480,9 +23268,4 @@ Partial Class Ventas
|
|||||||
|
|
||||||
#End Region
|
#End Region
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
Reference in New Issue
Block a user