Compras GRupo Diaz devolucion con Remision de nota de credito y sa movmientyos de alamacen
This commit is contained in:
@@ -12,7 +12,7 @@
|
||||
<ContentTemplate>
|
||||
<li>
|
||||
<asp:Button ID="btnpruebas" CssClass="hidden" OnClick="btnpruebas_Click" runat="server" Text="Button" />
|
||||
</li>g
|
||||
</li>
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkAddPS" runat="server"><i class="fa fa-plus-circle"></i>Agregar Concepto</asp:LinkButton>
|
||||
</li>
|
||||
@@ -1418,7 +1418,7 @@
|
||||
|
||||
<div class="Widthall" style="overflow-x: auto;">
|
||||
|
||||
<asp:GridView ID="GvInvMov" runat="server" AutoGenerateColumns="false" DataKeyNames="Origen" EmptyDataText="Aun no hay registros." ShowHeaderWhenEmpty="True" Width="100%"
|
||||
<asp:GridView ID="GvInvMov" runat="server" AutoGenerateColumns="false" DataKeyNames="Origen,CveAlmacen" EmptyDataText="Aun no hay registros." ShowHeaderWhenEmpty="True" Width="100%"
|
||||
HeaderStyle-CssClass="Titulos" CssClass="table table-striped table-hover" GridLines="None" Visible="false">
|
||||
<Columns>
|
||||
<asp:TemplateField HeaderText="Cantidad" ItemStyle-Width="60px" ItemStyle-HorizontalAlign="Center">
|
||||
@@ -5171,10 +5171,15 @@
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<div class="col-md-12" style="text-align:right">
|
||||
<asp:CheckBox runat="server" ID="ChkEsDevolucionDevInv" Text="Es Temporal" Visible="false" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:GridView ID="GvSolDev" runat="server" AutoGenerateColumns="false" GridLines="none" BorderWidth="0" DataKeyNames="Cantidad,CveCompraDetalle,CvePS" CssClass="table GvPS table-striped table-hover table-advance Widthall ScrollAD mysmallbtn">
|
||||
<asp:GridView ID="GvSolDev" runat="server" AutoGenerateColumns="false" GridLines="none" BorderWidth="0"
|
||||
DataKeyNames="Cantidad,CveCompraDetalle,CvePS,PU,CveUM,CodigoPS"
|
||||
CssClass="table GvPS table-striped table-hover table-advance Widthall ScrollAD mysmallbtn">
|
||||
<Columns>
|
||||
<%--<%#Eval("Cantidad") %>--%>
|
||||
<asp:TemplateField ItemStyle-Width="55px" HeaderText="Cant">
|
||||
|
||||
@@ -13,7 +13,7 @@ Imports MoreLinq
|
||||
Imports System.Data.SqlClient
|
||||
Imports ClsPaginas
|
||||
Imports Microsoft.Reporting.WebForms
|
||||
Imports CrystalDecisions.[Shared]
|
||||
Imports DocumentFormat.OpenXml.Math
|
||||
|
||||
Partial Class Compras_Compras
|
||||
Inherits ClsPaginas
|
||||
@@ -1231,14 +1231,25 @@ Partial Class Compras_Compras
|
||||
'End Property
|
||||
|
||||
|
||||
|
||||
|
||||
Private Property EsGrupoDiaz As Boolean
|
||||
Get
|
||||
If ViewState("EsGrupoDiaz") Is Nothing Then
|
||||
ViewState("EsGrupoDiaz") = False
|
||||
End If
|
||||
Return CType(ViewState("EsGrupoDiaz"), Boolean)
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
ViewState("EsGrupoDiaz") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
||||
If Not IsPostBack Then
|
||||
'ImgBtnBuscarOC.Attributes.Add("data-toggle", "tooltip")
|
||||
'ImgBtnBuscarOC.Attributes.Add("data-placement", "top")
|
||||
EsGrupoDiaz = If(UsuarioActual.Empresa.Funcionalidad(382) = "1", True, False)
|
||||
|
||||
CargaDatosAgregarPS()
|
||||
TieneAnticiposXML = False
|
||||
Modalidad = ""
|
||||
@@ -7202,23 +7213,23 @@ Partial Class Compras_Compras
|
||||
If ImporteRNCSaldar > TotalSaldo Then ImporteRNCSaldar = TotalSaldo
|
||||
|
||||
If Not ErrorPrepoliza Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteRNCSaldar, ImporteRNCSaldar, 373, Referencia, Concepto, CveCompra:=CveCompraRNC, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, ImporteRNCSaldar), TipoCambio:=TipoCambio,
|
||||
CveClasificacion:=-1, CveSubProyecto:=CompraActual.CveSubProyecto, Contabilizable:=True) Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteRNCSaldar, ImporteRNCSaldar, 373, Referencia, Concepto, CveCompra:=CveCompraRNC, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, ImporteRNCSaldar), TipoCambio:=TipoCambio,
|
||||
CveClasificacion:=-1, CveSubProyecto:=CompraActual.CveSubProyecto, Contabilizable:=True) Then
|
||||
ErrorPrepoliza = True
|
||||
Exit For
|
||||
End If
|
||||
|
||||
If Not ErrorPrepoliza Then
|
||||
Dim ConPrePNC As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(15, CompraActual.CveMoneda, True, CompraActual.CveTipoConceptoProveedor)
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteRNCSaldar, ImporteRNCSaldar, ConPrePNC.CveConcepto, Referencia, Concepto, CveCompra:=CompraActual.CveCompra, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, ImporteRNCSaldar), TipoCambio:=TipoCambio,
|
||||
CveClasificacion:=-1, CveSubProyecto:=CompraActual.CveSubProyecto, Contabilizable:=True) Then
|
||||
ErrorPrepoliza = True
|
||||
Exit For
|
||||
End If
|
||||
|
||||
If Not ErrorPrepoliza Then
|
||||
Dim ConPrePNC As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(15, CompraActual.CveMoneda, True, CompraActual.CveTipoConceptoProveedor)
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteRNCSaldar, ImporteRNCSaldar, ConPrePNC.CveConcepto, Referencia, Concepto, CveCompra:=CompraActual.CveCompra, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, ImporteRNCSaldar), TipoCambio:=TipoCambio,
|
||||
CveClasificacion:=-1, CveSubProyecto:=CompraActual.CveSubProyecto, Contabilizable:=True) Then
|
||||
ErrorPrepoliza = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
If ErrorPrepoliza Then
|
||||
@@ -7803,7 +7814,8 @@ Partial Class Compras_Compras
|
||||
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(574) = "1" AndAlso (ImporteRNC > 0 Or ImporteRNCProntoPago > 0) Then
|
||||
If Not GeneraRNC(ObjCompras.IniciaTransacSQL, CveCompra, CompraActual, ObjConta, CvePrePoliza) Then
|
||||
If Not GeneraRNC(ObjCompras.IniciaTransacSQL, CveCompra, CompraActual, ObjConta, CvePrePoliza, DdlProveedor.SelectedValue.ToEntero, DdlProveedor.SelectedItem.Text, TxtFecha.Text.ToDate, $"Remisión Nota de Crédito {TxtDescripcion.Text}", DdlMoneda.SelectedValue.ToEntero,
|
||||
TxtSerie.Text, TxtFolio.Text) Then
|
||||
TieneError = True
|
||||
End If
|
||||
End If
|
||||
@@ -19126,6 +19138,7 @@ Partial Class Compras_Compras
|
||||
Else
|
||||
HplDevv.Text = "<i class='fa fa-pencil'></i> Solicitar Devolución Almacén"
|
||||
HplDevv.ToolTip = "¿Está seguro de Solicitar la Devolución de Almacén?"
|
||||
ChkEsDevolucionDevInv.Visible = True
|
||||
End If
|
||||
|
||||
End If
|
||||
@@ -19151,23 +19164,90 @@ Partial Class Compras_Compras
|
||||
Protected Sub BtnDevolucion_Click(sender As Object, e As EventArgs)
|
||||
Dim ObjCompras As New ClsCompras
|
||||
Dim TieneError As Boolean = False
|
||||
Dim tCveSubProyeto As Integer = TmpDT.FiltroPrimeroValor("CveSubProyecto", " CveSubProyecto > 0").ToEntero
|
||||
ObjCompras.IniciaTransacSQL()
|
||||
|
||||
If ChkEsDevolucionDevInv.Checked Then
|
||||
|
||||
End If
|
||||
|
||||
Dim ImporteCompra As Decimal = 0
|
||||
|
||||
If EstatusAlmacen = 0 Then
|
||||
|
||||
For Each gvr As GridViewRow In GvSolDev.Rows
|
||||
|
||||
Dim Canidad As Decimal = gvr.FCTextBox("TxtCant").Text.ToDecimal
|
||||
Dim PU As Decimal = gvr.DataKey("PU").ToDecimal
|
||||
|
||||
If gvr.FCTextBox("TxtCant").Text.ToDecimal > 0 Then
|
||||
'actualiza el estatus del detalle
|
||||
ObjCompras.UpdateEstatusAlmacenDetalle(gvr.DataKey("CveCompraDetalle").ToEntero, 0, UsuarioActual.CveUsuario, CantidadDevolucion:=gvr.FCTextBox("TxtCant").Text.ToDecimal)
|
||||
ImporteCompra = ImporteCompra + ((PU * Canidad))
|
||||
Else
|
||||
ObjCompras.UpdateEstatusAlmacenDetalle(gvr.DataKey("CveCompraDetalle").ToEntero, 1, UsuarioActual.CveUsuario, CantidadDevolucion:=0)
|
||||
End If
|
||||
|
||||
Next
|
||||
End If
|
||||
|
||||
ImporteRNC = ImporteCompra
|
||||
|
||||
If ObjCompras.UpdateEstatusAlmacen(CveCompra, If(EstatusAlmacen = 1, 0, 1), UsuarioActual.CveUsuario) Then
|
||||
EstatusAlmacen = If(EstatusAlmacen = 1, 0, 1)
|
||||
Alert(If(EstatusAlmacen = 1, "La solicitud de devolución de almacen se guardo correctamente.", "La solicitud de almacen se canceló correctamente."))
|
||||
End If
|
||||
|
||||
If ChkEsDevolucionDevInv.Checked Then
|
||||
|
||||
Dim objConta As New ClsContabilidad(ObjCompras.IniciaTransacSQL)
|
||||
|
||||
CvePrePoliza = objConta.AddPrePolizas("Compras/RncDevInv", 53, ImporteCompra, TxtTotal.Text.ToDouble, DdlMoneda.SelectedValue.ToEntero, TxtFecha.Text.ToDate, $"RNC Devolucion Inv {TxtSerie.Text}-{TxtFolio.Text}",
|
||||
UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo:=0, ReglaFolioPoliza:=ObjCompras.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, DdlTipoTransaccionCaja.SelectedValue,
|
||||
UsuarioActual.CveEmpresa), CveTipoPoliza:=objConta.ObtenerTipoPoliza(DdlTipoTransaccion.SelectedValue, DdlTipoTransaccionCaja.SelectedValue, UsuarioActual.CveEmpresa))
|
||||
If CvePrePoliza > 0 Then
|
||||
|
||||
Dim PorcentajeIVA As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal
|
||||
|
||||
Dim CompraActual As New Compra
|
||||
CompraActual.CveCompra = CveCompra
|
||||
CompraActual.CveTipoConceptoProveedor = CveTipoConcepto
|
||||
CompraActual.CveProveedor = CveProveedor
|
||||
CompraActual.CveMoneda = DdlMoneda.SelectedValue.ToEntero
|
||||
CompraActual.Fecha = TxtFecha.Text.ToDate
|
||||
CompraActual.SerieFolio = TxtSerie.Text.Trim & "-" & TxtFolio.Text.Trim
|
||||
CompraActual.ProveedorNombre = HplProveedor.Text
|
||||
CompraActual.TC = TipoCambio
|
||||
CompraActual.Total = TxtTotal.Text.ToDecimal
|
||||
CompraActual.IVA = TxtIVA.Text.ToDecimal
|
||||
CompraActual.IVADeducible = TxtIVA.Text.ToDecimal
|
||||
CompraActual.IEPS = TxtIEPS.Text.ToDecimal
|
||||
CompraActual.RetIVA = TxtRetIVA.Text.ToDecimal
|
||||
CompraActual.RetISR = TxtRetISR.Text.ToDecimal
|
||||
CompraActual.CveConceptoRetISR = DdlRetISRConcepto.SelectedValue.ToEntero
|
||||
CompraActual.CveConceptoRetIVA = DdlRetIVAConcepto.SelectedValue.ToEntero
|
||||
CompraActual.PorcentajeIVA = PorcentajeIVA
|
||||
CompraActual.UsuarioActual = UsuarioActual
|
||||
CompraActual.CveSubProyecto = tCveSubProyeto
|
||||
CompraActual.EsImportacion = chkImportacion.Checked
|
||||
|
||||
If Not GeneraRNC(ObjCompras.IniciaTransacSQL, CveCompra, CompraActual, objConta, CvePrePoliza, DdlProveedor.SelectedValue.ToEntero, DdlProveedor.SelectedItem.Text, TxtFecha.Text.ToDate, $"Remisión Nota de Crédito {TxtDescripcion.Text}", DdlMoneda.SelectedValue.ToEntero,
|
||||
TxtSerie.Text, TxtFolio.Text) Then
|
||||
TieneError = True
|
||||
End If
|
||||
|
||||
Else
|
||||
TieneError = True
|
||||
End If
|
||||
|
||||
If Not TieneError Then
|
||||
If Not RegistroInventarioDevTemporal(ObjCompras.IniciaTransacSQL, 0, tCveSubProyeto) Then
|
||||
TieneError = True
|
||||
End If
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
If Not TieneError Then
|
||||
ObjCompras.Commit()
|
||||
Else
|
||||
@@ -19179,6 +19259,328 @@ Partial Class Compras_Compras
|
||||
InicializaDevolucionAlmacen()
|
||||
End Sub
|
||||
|
||||
Function RegistroInventarioDevTemporal(ByRef transaccion As SqlTransaction, OpcionOrigen As Integer, tCveSubProyecto As Integer) As Boolean
|
||||
|
||||
'Dim CveConceptoInv As Integer = If(OpcionOrigen = 1, 2, 3)
|
||||
Dim CveConceptoSalida As Integer = 3
|
||||
Dim CveConceptoEntrada As Integer = 2
|
||||
|
||||
Dim Respuesta As Boolean = True
|
||||
|
||||
'Dim ObjOC As New ClsOC(transaccion)
|
||||
|
||||
Dim CveAlmacenOrigen As Integer = -1
|
||||
Dim CveAlmacenDestino As Integer = -1
|
||||
|
||||
For Each gvRow As GridViewRow In GvInvMov.Rows
|
||||
CveAlmacenOrigen = gvRow.DataKey("CveAlmacen").ToEntero
|
||||
If CveAlmacenOrigen > 0 Then
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
|
||||
If CveAlmacenOrigen <= 0 Then
|
||||
Alert("Almacén de devolución proveedor no esta asignado.")
|
||||
Return False
|
||||
End If
|
||||
|
||||
CveAlmacenDestino = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $" CveSubProyecto = {tCveSubProyecto} AND CveTipoAlmacen = 21 ").ToEntero
|
||||
If CveAlmacenDestino <= 0 Then
|
||||
CveAlmacenDestino = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $" CveTipoAlmacen = 21 ").ToEntero
|
||||
End If
|
||||
If CveAlmacenDestino <= 0 Then
|
||||
Alert("Almacén destino de devolución proveedor no esta asignado.")
|
||||
Return False
|
||||
End If
|
||||
|
||||
Dim ObjConta As New ClsContabilidad(transaccion)
|
||||
Dim ObjInventario As New ClsInventarios(transaccion)
|
||||
|
||||
'Dim CveConceptoInv As Integer = If(TipoTermino = 1, 3, 2)
|
||||
|
||||
Dim CvePrePolizaSalida As Integer = ObjConta.AddPrePolizas("Comp/InvDevSal", 53, 0, 0, 1, TxtFecha.Text.Replace(",", "").ToDate, $"Devolución proveedor {TxtSerie.Text}{TxtFolio.Text}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=3)
|
||||
Dim CvePrePolizaEntrada As Integer = ObjConta.AddPrePolizas("Comp/InvDevEnt", 53, 0, 0, 1, TxtFecha.Text.Replace(",", "").ToDate, $"Devolución proveedor {TxtSerie.Text}{TxtFolio.Text}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=3)
|
||||
|
||||
Dim CveMovimientoSalida As Integer = ObjInventario.AddMovimiento(CveAlmacenOrigen, CveConceptoSalida, 1, NowADS, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, tCveSubProyecto, -1, Observaciones:=$"Devolución proveedor {TxtSerie.Text}{TxtFolio.Text}",
|
||||
CveAlmacenDestino:=CveAlmacenDestino, Modulo:="ComprasDev/1")
|
||||
|
||||
Dim FolioMtoSalida As Integer = ObjInventario.Folio
|
||||
Dim FolioMtoEntrada As Integer = 0 'Se asigna mas abajo
|
||||
|
||||
|
||||
|
||||
|
||||
If CveMovimientoSalida <= 0 OrElse CvePrePolizaSalida <= 0 Then
|
||||
Alert("No se pudo almacenar el movimiento correctamente", TipoMensaje.MsgError)
|
||||
'ObjInventario.RollBack() 'deshace lo insertado
|
||||
Respuesta = False
|
||||
Else
|
||||
|
||||
Dim Mensaje As String = ""
|
||||
Dim Cont As Integer = 0
|
||||
|
||||
For Each gvRow As GridViewRow In GvSolDev.Rows
|
||||
'Dim FechaCaducidadVal As Date = If(Dr("AplicaCaducidad").ToString = "True", Dr("FechaCaducidad").ToString.ToDate, MinFecha)
|
||||
Dim FechaMovtoExistenciaStr As String = $"{NowADS.ToString("yyyy/MM/dd")} {NowADS.ToString("HH:mm")}"
|
||||
Dim Cantidad As Decimal = gvRow.FCTextBox("TxtCant").Text.ToDecimal
|
||||
|
||||
If Cantidad > 0 Then
|
||||
|
||||
Dim CveUM As Integer = gvRow.DataKey("CveUM").ToString.ToEntero
|
||||
Dim CvePS As Integer = gvRow.DataKey("CvePS").ToString.ToEntero
|
||||
Dim CveCompraDetalle As Integer = gvRow.DataKey("CveCompraDetalle").ToEntero
|
||||
Dim PU As Decimal = gvRow.DataKey("PU").ToDecimal
|
||||
Dim CodigoPS As String = gvRow.DataKey("CodigoPS")
|
||||
|
||||
If ObjInventario.GetExistenciasPS(CvePS, CveUM, UsuarioActual.CveEmpresa, CveAlmacenOrigen, FechaMovto:=FechaMovtoExistenciaStr) >= Cantidad Then
|
||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, Cantidad, CveUM, CvePS, PU, -1, Observaciones:=$"Devolución proveedor {TxtSerie.Text}{TxtFolio.Text}", CveUsuarioModifico:=UsuarioActual.CveUsuario,
|
||||
CveCompraDetalle:=CveCompraDetalle) Then
|
||||
Mensaje = "Error al guardar los movimientos"
|
||||
Respuesta = False
|
||||
Exit For
|
||||
End If
|
||||
Else
|
||||
|
||||
If UsuarioActual.TienePermisoProceso(114) Then
|
||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, Cantidad, CveUM, CvePS, PU, -1, Observaciones:=$"Devolución proveedor {TxtSerie.Text}{TxtFolio.Text}", CveUsuarioModifico:=UsuarioActual.CveUsuario,
|
||||
CveOrdenCompraDetalle:=CveCompraDetalle) Then
|
||||
Mensaje = "Error al guardar los movimientos"
|
||||
Respuesta = False
|
||||
Exit For
|
||||
End If
|
||||
Else
|
||||
Mensaje = String.Format("No hay existencias suficientes del producto: {0}", CodigoPS)
|
||||
Alert(Mensaje, TipoMensaje.MsgAdvertencia)
|
||||
Respuesta = False
|
||||
Exit For
|
||||
End If
|
||||
|
||||
End If
|
||||
Cont += 1
|
||||
|
||||
End If
|
||||
Next
|
||||
|
||||
|
||||
Dim CveMovimientoEntrada As Integer = ObjInventario.AddMovimiento(CveAlmacenDestino, CveConceptoEntrada, 1, NowADS, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, tCveSubProyecto, -1, Observaciones:=$"Devolución proveedor {TxtSerie.Text}{TxtFolio.Text}",
|
||||
Modulo:="ComprasDev/2", CveMovimientoRelacionado:=CveMovimientoSalida)
|
||||
FolioMtoEntrada = ObjInventario.Folio
|
||||
|
||||
If Respuesta AndAlso CveMovimientoEntrada > 0 Then
|
||||
'OIC GetMovmientoDetalle y relacionar al anteruior
|
||||
'
|
||||
'Dim DTMovmientoDetalle As New DataTable
|
||||
|
||||
|
||||
|
||||
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
|
||||
For Each dRow As DataRow In ObjInventario.DtResultados.Rows
|
||||
|
||||
Dim Cantidad As Decimal = dRow("Cantidad").ToString.ToDecimal
|
||||
|
||||
If Cantidad > 0 Then
|
||||
Dim CveUM As Integer = dRow("CveUM").ToString.ToEntero
|
||||
Dim CvePS As Integer = dRow("CvePS").ToString.ToEntero
|
||||
Dim CveMovimientoDetalle As Integer = dRow("CveMovimientoDetalle").ToString.ToEntero
|
||||
Dim PU As Decimal = dRow("PU").ToString.ToDecimal
|
||||
Dim CodigoPS As String = dRow("CodigoPS").ToString
|
||||
|
||||
Dim ImporteConcepto As Decimal = PU
|
||||
|
||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Cantidad, CveUM, CvePS, ImporteConcepto, Observaciones:=$"Devolución proveedor {TxtSerie.Text}{TxtFolio.Text}", CveUsuarioModifico:=UsuarioActual.CveUsuario,
|
||||
CveMovimientoDetalleEntrada:=CveMovimientoDetalle) Then
|
||||
Mensaje = "Error al guardar los movimientos"
|
||||
Respuesta = False
|
||||
Exit For
|
||||
|
||||
End If
|
||||
Cont += 1
|
||||
End If
|
||||
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
'PrePoliza Movmiento de salida
|
||||
Dim EsContabilizable As Boolean = False
|
||||
'Registro la prepóliza
|
||||
If Respuesta AndAlso ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
|
||||
Dim tValorInventario As Decimal = ObjInventario.DtResultados.SUMD("Total", "").RoundSQL()
|
||||
Dim tValorOtro As Decimal = tValorInventario
|
||||
|
||||
Dim TipoMovtoAlmacen As Boolean = False
|
||||
Dim TipoMovtoOtro As Boolean = True
|
||||
|
||||
|
||||
Dim drA2 As DataRow = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CveAlmacen = {0}", CveAlmacenOrigen))
|
||||
If drA2 IsNot Nothing Then
|
||||
tCveSubProyecto = drA2("CveSubProyecto").ToString.ToEntero
|
||||
End If
|
||||
|
||||
Dim OrigenMov As Integer = GlobalDTInvConceptos.FiltroPrimeroValor("Origen", "CveConcepto = " & CveConceptoSalida).ToEntero
|
||||
If OrigenMov = 1 Then TipoMovtoAlmacen = False Else TipoMovtoAlmacen = True
|
||||
TipoMovtoOtro = Not TipoMovtoAlmacen
|
||||
|
||||
Dim CveConceptoContable As Integer = 260
|
||||
Dim CveClasificacion As Integer = -1
|
||||
Select Case CveConceptoSalida
|
||||
Case 2, 32
|
||||
CveConceptoContable = 78
|
||||
EsContabilizable = True
|
||||
Case 28, 31
|
||||
CveConceptoContable = 51
|
||||
If CveConceptoSalida = 28 Then
|
||||
''cuando es 28, es otros ingresos.78
|
||||
CveConceptoContable = 78
|
||||
End If
|
||||
EsContabilizable = True
|
||||
Case 30
|
||||
CveConceptoContable = 181
|
||||
TipoMovtoOtro = False
|
||||
If DdlSubProyecto.Visible = True AndAlso DdlSubProyecto.SelectedValue.ToEntero > 0 Then tCveSubProyecto = DdlSubProyecto.SelectedValue.ToEntero
|
||||
|
||||
Case 34
|
||||
CveConceptoContable = 51
|
||||
EsContabilizable = True
|
||||
Case 13, 29
|
||||
CveConceptoContable = 69
|
||||
TipoMovtoOtro = True
|
||||
tValorOtro = -tValorOtro
|
||||
Dim drr As DataRow = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimero("")
|
||||
If drr IsNot Nothing Then
|
||||
CveClasificacion = drr("CveClasificacion").ToString.ToEntero
|
||||
End If
|
||||
Case 3
|
||||
CveConceptoContable = 51
|
||||
EsContabilizable = True
|
||||
Case Else
|
||||
CveConceptoContable = 95
|
||||
|
||||
End Select
|
||||
|
||||
'2-78
|
||||
Dim Obs As String = $"Devolución proveedor {TxtSerie.Text}{TxtFolio.Text}"
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaSalida, TipoMovtoAlmacen, tValorInventario, tValorInventario, 68, Obs, Obs, CveMovimientoAlmacen:=CveMovimientoSalida, CveClasificacion:=CveClasificacion, Contabilizable:=EsContabilizable) Then
|
||||
Respuesta = False
|
||||
Else
|
||||
|
||||
'Dim Total As Decimal = 0
|
||||
If CveConceptoContable.Contiene(181, 78, 51, 69) Then
|
||||
Dim Dt As DataTable = ObjInventario.DtResultados.FiltraParametros("", "", {"CveClasificacion"}).Copy
|
||||
|
||||
For Each Dr As DataRow In Dt.Rows
|
||||
Dim Total As Decimal = ObjInventario.DtResultados.FiltraParametros($"CveClasificacion = {Dr("CveClasificacion")}").SUM("Total").RoundSQL()
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaSalida, Not TipoMovtoAlmacen, Total, Total, CveConceptoContable, LblFolio.Text, Obs, 0, CveMovimientoAlmacen:=CveMovimientoSalida, CveClasificacion:=Dr("CveClasificacion").ToString.ToEntero, CveSubProyecto:=tCveSubProyecto) Then
|
||||
Respuesta = False
|
||||
End If
|
||||
Next
|
||||
Else
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaSalida, Not TipoMovtoAlmacen, tValorInventario, tValorInventario, CveConceptoContable, Obs, Obs, CveMovimientoAlmacen:=CveMovimientoSalida, CveClasificacion:=CveClasificacion, Contabilizable:=EsContabilizable) Then
|
||||
Respuesta = False
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
Respuesta = False
|
||||
End If
|
||||
|
||||
|
||||
'PrePoliza Movmiento de entrada
|
||||
If Respuesta AndAlso ObjInventario.GetMovimientosDetalle(CveMovimientoEntrada, UsuarioActual.CveEmpresa) Then
|
||||
Dim tValorInventario As Decimal = ObjInventario.DtResultados.SUMD("Total", "").RoundSQL()
|
||||
Dim tValorOtro As Decimal = tValorInventario
|
||||
|
||||
Dim TipoMovtoAlmacen As Boolean = False
|
||||
Dim TipoMovtoOtro As Boolean = True
|
||||
|
||||
|
||||
Dim drA2 As DataRow = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CveAlmacen = {0}", CveAlmacenOrigen))
|
||||
If drA2 IsNot Nothing Then
|
||||
tCveSubProyecto = drA2("CveSubProyecto").ToString.ToEntero
|
||||
End If
|
||||
|
||||
Dim OrigenMov As Integer = GlobalDTInvConceptos.FiltroPrimeroValor("Origen", "CveConcepto = " & CveConceptoEntrada).ToEntero
|
||||
If OrigenMov = 1 Then TipoMovtoAlmacen = False Else TipoMovtoAlmacen = True
|
||||
TipoMovtoOtro = Not TipoMovtoAlmacen
|
||||
|
||||
Dim CveConceptoContable As Integer = 260
|
||||
Dim CveClasificacion As Integer = -1
|
||||
Select Case CveConceptoEntrada
|
||||
Case 2, 32
|
||||
CveConceptoContable = 78
|
||||
EsContabilizable = True
|
||||
Case 28, 31
|
||||
CveConceptoContable = 51
|
||||
If CveConceptoEntrada = 28 Then
|
||||
''cuando es 28, es otros ingresos.78
|
||||
CveConceptoContable = 78
|
||||
End If
|
||||
EsContabilizable = True
|
||||
Case 30
|
||||
CveConceptoContable = 181
|
||||
TipoMovtoOtro = False
|
||||
If DdlSubProyecto.Visible = True AndAlso DdlSubProyecto.SelectedValue.ToEntero > 0 Then tCveSubProyecto = DdlSubProyecto.SelectedValue.ToEntero
|
||||
|
||||
Case 34
|
||||
CveConceptoContable = 51
|
||||
EsContabilizable = True
|
||||
Case 13, 29
|
||||
CveConceptoContable = 69
|
||||
TipoMovtoOtro = True
|
||||
tValorOtro = -tValorOtro
|
||||
Dim drr As DataRow = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimero("")
|
||||
If drr IsNot Nothing Then
|
||||
CveClasificacion = drr("CveClasificacion").ToString.ToEntero
|
||||
End If
|
||||
Case 3
|
||||
CveConceptoContable = 51
|
||||
EsContabilizable = True
|
||||
Case Else
|
||||
CveConceptoContable = 95
|
||||
|
||||
End Select
|
||||
|
||||
'2-78
|
||||
Dim Obs As String = $"Devolución proveedor {TxtSerie.Text}{TxtFolio.Text}"
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaEntrada, TipoMovtoAlmacen, tValorInventario, tValorInventario, 68, Obs, Obs, CveMovimientoAlmacen:=CveMovimientoEntrada, CveClasificacion:=CveClasificacion, Contabilizable:=EsContabilizable) Then
|
||||
Respuesta = False
|
||||
Else
|
||||
|
||||
'Dim Total As Decimal = 0
|
||||
If CveConceptoContable.Contiene(181, 78, 51, 69) Then
|
||||
Dim Dt As DataTable = ObjInventario.DtResultados.FiltraParametros("", "", {"CveClasificacion"}).Copy
|
||||
|
||||
For Each Dr As DataRow In Dt.Rows
|
||||
Dim Total As Decimal = ObjInventario.DtResultados.FiltraParametros($"CveClasificacion = {Dr("CveClasificacion")}").SUM("Total").RoundSQL()
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaEntrada, Not TipoMovtoAlmacen, Total, Total, CveConceptoContable, LblFolio.Text, Obs, 0, CveMovimientoAlmacen:=CveMovimientoEntrada, CveClasificacion:=Dr("CveClasificacion").ToString.ToEntero, CveSubProyecto:=tCveSubProyecto) Then
|
||||
Respuesta = False
|
||||
End If
|
||||
Next
|
||||
Else
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaEntrada, Not TipoMovtoAlmacen, tValorInventario, tValorInventario, CveConceptoContable, Obs, Obs, CveMovimientoAlmacen:=CveMovimientoEntrada, CveClasificacion:=CveClasificacion, Contabilizable:=EsContabilizable) Then
|
||||
Respuesta = False
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
Respuesta = False
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
If Respuesta Then
|
||||
Alert($"Movimientos Guardados Correctamente Folio Salida: {FolioMtoSalida}, Folio Entrada: {FolioMtoEntrada}", TipoMensaje.MsgInformacion)
|
||||
End If
|
||||
|
||||
Return Respuesta
|
||||
|
||||
End Function
|
||||
|
||||
'Protected Sub LBDevolucionAlmacen_Click(sender As Object, e As EventArgs)
|
||||
' Dim ObjCompras As New ClsCompras
|
||||
|
||||
@@ -21755,7 +22157,8 @@ Partial Class Compras_Compras
|
||||
|
||||
#Region "PRONTO PAGO"
|
||||
|
||||
Public Function GeneraRNC(ByRef sqltransaccion As SqlTransaction, CveCompraRegistrada As Integer, ByRef CompraActual As Compra, ByRef ObjConta As ClsContabilidad, CvePrePoliza As Integer) As Boolean
|
||||
Public Function GeneraRNC(ByRef sqltransaccion As SqlTransaction, CveCompraRegistrada As Integer, ByRef CompraActual As Compra, ByRef ObjConta As ClsContabilidad, CvePrePoliza As Integer,
|
||||
CveProveedor As Integer, NombreProveedor As String, Fecha As Date, Descripcion As String, CveMoneda As Integer, Serie As String, Folio As String) As Boolean
|
||||
Dim respuesta As Boolean = True
|
||||
Dim PorcentajeIVA As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal
|
||||
|
||||
@@ -21781,15 +22184,15 @@ Partial Class Compras_Compras
|
||||
Dim CompraRNC As New ClsCompraManagerCompras(UsuarioActual) With {
|
||||
.CveFactura = -1,
|
||||
.TipoDocto = "RNC",
|
||||
.CveProveedor = DdlProveedor.SelectedValue.ToEntero,
|
||||
.CveProveedor = CveProveedor,
|
||||
.CveTipoProveedor = CveTipoProveedor,
|
||||
.CveTipoConceptoProveedor = CveTipoConcepto,
|
||||
.Descripcion = $"Remisión Nota de Crédito {TxtDescripcion.Text}",
|
||||
.NombreProveedor = DdlProveedor.SelectedItem.Text,
|
||||
.Fecha = TxtFecha.Text.ToDate,
|
||||
.CveMoneda = DdlMoneda.SelectedValue.ToEntero,
|
||||
.Serie = TxtSerie.Text,
|
||||
.Folio = TxtFolio.Text,
|
||||
.Descripcion = Descripcion,
|
||||
.NombreProveedor = NombreProveedor,
|
||||
.Fecha = Fecha,
|
||||
.CveMoneda = CveMoneda,
|
||||
.Serie = Serie,
|
||||
.Folio = Folio,
|
||||
.CveCompraAmortizacion = CveCompraRegistrada
|
||||
}
|
||||
|
||||
@@ -21826,15 +22229,15 @@ Partial Class Compras_Compras
|
||||
|
||||
Dim CompraRNCProntoPago As New ClsCompraManagerCompras(UsuarioActual) With {
|
||||
.TipoDocto = "RNC",
|
||||
.CveProveedor = DdlProveedor.SelectedValue.ToEntero,
|
||||
.CveProveedor = CveProveedor,
|
||||
.CveTipoProveedor = CveTipoProveedor,
|
||||
.CveTipoConceptoProveedor = CveTipoConcepto,
|
||||
.Descripcion = $"Remisión Nota de Crédito {TxtDescripcion.Text}",
|
||||
.NombreProveedor = DdlProveedor.SelectedItem.Text,
|
||||
.Fecha = TxtFecha.Text.ToDate,
|
||||
.CveMoneda = DdlMoneda.SelectedValue.ToEntero,
|
||||
.Serie = $"PP-{TxtSerie.Text}",
|
||||
.Folio = $"{TxtFolio.Text}",
|
||||
.Descripcion = Descripcion,
|
||||
.NombreProveedor = NombreProveedor,
|
||||
.Fecha = Fecha,
|
||||
.CveMoneda = CveMoneda,
|
||||
.Serie = $"PP-{Serie}",
|
||||
.Folio = $"{Folio}",
|
||||
.CveCompraAmortizacion = CveCompraRegistrada
|
||||
}
|
||||
Dim IVARNCProntoPago As Decimal = (ImporteRNCProntoPago * PorcentajeIVA).RoundSQL(2)
|
||||
|
||||
@@ -9837,7 +9837,7 @@ Partial Class OC_OC
|
||||
|
||||
If CveMovimiento <= 0 OrElse CvePrePoliza <= 0 Then
|
||||
Alert("No se pudo almacenar el movimiento correctamente", TipoMensaje.MsgError)
|
||||
ObjInventario.RollBack() 'deshace lo insertado
|
||||
'ObjInventario.RollBack() 'deshace lo insertado
|
||||
Respuesta = False
|
||||
Else
|
||||
|
||||
|
||||
Reference in New Issue
Block a user