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>
|
<ContentTemplate>
|
||||||
<li>
|
<li>
|
||||||
<asp:Button ID="btnpruebas" CssClass="hidden" OnClick="btnpruebas_Click" runat="server" Text="Button" />
|
<asp:Button ID="btnpruebas" CssClass="hidden" OnClick="btnpruebas_Click" runat="server" Text="Button" />
|
||||||
</li>g
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<asp:LinkButton ID="LnkAddPS" runat="server"><i class="fa fa-plus-circle"></i>Agregar Concepto</asp:LinkButton>
|
<asp:LinkButton ID="LnkAddPS" runat="server"><i class="fa fa-plus-circle"></i>Agregar Concepto</asp:LinkButton>
|
||||||
</li>
|
</li>
|
||||||
@@ -1418,7 +1418,7 @@
|
|||||||
|
|
||||||
<div class="Widthall" style="overflow-x: auto;">
|
<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">
|
HeaderStyle-CssClass="Titulos" CssClass="table table-striped table-hover" GridLines="None" Visible="false">
|
||||||
<Columns>
|
<Columns>
|
||||||
<asp:TemplateField HeaderText="Cantidad" ItemStyle-Width="60px" ItemStyle-HorizontalAlign="Center">
|
<asp:TemplateField HeaderText="Cantidad" ItemStyle-Width="60px" ItemStyle-HorizontalAlign="Center">
|
||||||
@@ -5171,10 +5171,15 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<div class="row">
|
<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>
|
||||||
|
|
||||||
<div class="form-group form-md-line-input input-iconright">
|
<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>
|
<Columns>
|
||||||
<%--<%#Eval("Cantidad") %>--%>
|
<%--<%#Eval("Cantidad") %>--%>
|
||||||
<asp:TemplateField ItemStyle-Width="55px" HeaderText="Cant">
|
<asp:TemplateField ItemStyle-Width="55px" HeaderText="Cant">
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ Imports MoreLinq
|
|||||||
Imports System.Data.SqlClient
|
Imports System.Data.SqlClient
|
||||||
Imports ClsPaginas
|
Imports ClsPaginas
|
||||||
Imports Microsoft.Reporting.WebForms
|
Imports Microsoft.Reporting.WebForms
|
||||||
Imports CrystalDecisions.[Shared]
|
Imports DocumentFormat.OpenXml.Math
|
||||||
|
|
||||||
Partial Class Compras_Compras
|
Partial Class Compras_Compras
|
||||||
Inherits ClsPaginas
|
Inherits ClsPaginas
|
||||||
@@ -1231,14 +1231,25 @@ Partial Class Compras_Compras
|
|||||||
'End Property
|
'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
|
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
||||||
If Not IsPostBack Then
|
If Not IsPostBack Then
|
||||||
'ImgBtnBuscarOC.Attributes.Add("data-toggle", "tooltip")
|
'ImgBtnBuscarOC.Attributes.Add("data-toggle", "tooltip")
|
||||||
'ImgBtnBuscarOC.Attributes.Add("data-placement", "top")
|
'ImgBtnBuscarOC.Attributes.Add("data-placement", "top")
|
||||||
|
EsGrupoDiaz = If(UsuarioActual.Empresa.Funcionalidad(382) = "1", True, False)
|
||||||
|
|
||||||
CargaDatosAgregarPS()
|
CargaDatosAgregarPS()
|
||||||
TieneAnticiposXML = False
|
TieneAnticiposXML = False
|
||||||
Modalidad = ""
|
Modalidad = ""
|
||||||
@@ -7202,23 +7213,23 @@ Partial Class Compras_Compras
|
|||||||
If ImporteRNCSaldar > TotalSaldo Then ImporteRNCSaldar = TotalSaldo
|
If ImporteRNCSaldar > TotalSaldo Then ImporteRNCSaldar = TotalSaldo
|
||||||
|
|
||||||
If Not ErrorPrepoliza Then
|
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,
|
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
|
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
|
ErrorPrepoliza = True
|
||||||
Exit For
|
Exit For
|
||||||
End If
|
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
|
End If
|
||||||
|
End If
|
||||||
Next
|
Next
|
||||||
|
|
||||||
If ErrorPrepoliza Then
|
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 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
|
TieneError = True
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@@ -19126,6 +19138,7 @@ Partial Class Compras_Compras
|
|||||||
Else
|
Else
|
||||||
HplDevv.Text = "<i class='fa fa-pencil'></i> Solicitar Devolución Almacén"
|
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?"
|
HplDevv.ToolTip = "¿Está seguro de Solicitar la Devolución de Almacén?"
|
||||||
|
ChkEsDevolucionDevInv.Visible = True
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
@@ -19151,23 +19164,90 @@ Partial Class Compras_Compras
|
|||||||
Protected Sub BtnDevolucion_Click(sender As Object, e As EventArgs)
|
Protected Sub BtnDevolucion_Click(sender As Object, e As EventArgs)
|
||||||
Dim ObjCompras As New ClsCompras
|
Dim ObjCompras As New ClsCompras
|
||||||
Dim TieneError As Boolean = False
|
Dim TieneError As Boolean = False
|
||||||
|
Dim tCveSubProyeto As Integer = TmpDT.FiltroPrimeroValor("CveSubProyecto", " CveSubProyecto > 0").ToEntero
|
||||||
ObjCompras.IniciaTransacSQL()
|
ObjCompras.IniciaTransacSQL()
|
||||||
|
|
||||||
|
If ChkEsDevolucionDevInv.Checked Then
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim ImporteCompra As Decimal = 0
|
||||||
|
|
||||||
If EstatusAlmacen = 0 Then
|
If EstatusAlmacen = 0 Then
|
||||||
|
|
||||||
For Each gvr As GridViewRow In GvSolDev.Rows
|
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
|
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)
|
ObjCompras.UpdateEstatusAlmacenDetalle(gvr.DataKey("CveCompraDetalle").ToEntero, 0, UsuarioActual.CveUsuario, CantidadDevolucion:=gvr.FCTextBox("TxtCant").Text.ToDecimal)
|
||||||
|
ImporteCompra = ImporteCompra + ((PU * Canidad))
|
||||||
Else
|
Else
|
||||||
ObjCompras.UpdateEstatusAlmacenDetalle(gvr.DataKey("CveCompraDetalle").ToEntero, 1, UsuarioActual.CveUsuario, CantidadDevolucion:=0)
|
ObjCompras.UpdateEstatusAlmacenDetalle(gvr.DataKey("CveCompraDetalle").ToEntero, 1, UsuarioActual.CveUsuario, CantidadDevolucion:=0)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
ImporteRNC = ImporteCompra
|
||||||
|
|
||||||
If ObjCompras.UpdateEstatusAlmacen(CveCompra, If(EstatusAlmacen = 1, 0, 1), UsuarioActual.CveUsuario) Then
|
If ObjCompras.UpdateEstatusAlmacen(CveCompra, If(EstatusAlmacen = 1, 0, 1), UsuarioActual.CveUsuario) Then
|
||||||
EstatusAlmacen = If(EstatusAlmacen = 1, 0, 1)
|
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."))
|
Alert(If(EstatusAlmacen = 1, "La solicitud de devolución de almacen se guardo correctamente.", "La solicitud de almacen se canceló correctamente."))
|
||||||
End If
|
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
|
If Not TieneError Then
|
||||||
ObjCompras.Commit()
|
ObjCompras.Commit()
|
||||||
Else
|
Else
|
||||||
@@ -19179,6 +19259,328 @@ Partial Class Compras_Compras
|
|||||||
InicializaDevolucionAlmacen()
|
InicializaDevolucionAlmacen()
|
||||||
End Sub
|
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)
|
'Protected Sub LBDevolucionAlmacen_Click(sender As Object, e As EventArgs)
|
||||||
' Dim ObjCompras As New ClsCompras
|
' Dim ObjCompras As New ClsCompras
|
||||||
|
|
||||||
@@ -21755,7 +22157,8 @@ Partial Class Compras_Compras
|
|||||||
|
|
||||||
#Region "PRONTO PAGO"
|
#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 respuesta As Boolean = True
|
||||||
Dim PorcentajeIVA As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal
|
Dim PorcentajeIVA As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal
|
||||||
|
|
||||||
@@ -21781,15 +22184,15 @@ Partial Class Compras_Compras
|
|||||||
Dim CompraRNC As New ClsCompraManagerCompras(UsuarioActual) With {
|
Dim CompraRNC As New ClsCompraManagerCompras(UsuarioActual) With {
|
||||||
.CveFactura = -1,
|
.CveFactura = -1,
|
||||||
.TipoDocto = "RNC",
|
.TipoDocto = "RNC",
|
||||||
.CveProveedor = DdlProveedor.SelectedValue.ToEntero,
|
.CveProveedor = CveProveedor,
|
||||||
.CveTipoProveedor = CveTipoProveedor,
|
.CveTipoProveedor = CveTipoProveedor,
|
||||||
.CveTipoConceptoProveedor = CveTipoConcepto,
|
.CveTipoConceptoProveedor = CveTipoConcepto,
|
||||||
.Descripcion = $"Remisión Nota de Crédito {TxtDescripcion.Text}",
|
.Descripcion = Descripcion,
|
||||||
.NombreProveedor = DdlProveedor.SelectedItem.Text,
|
.NombreProveedor = NombreProveedor,
|
||||||
.Fecha = TxtFecha.Text.ToDate,
|
.Fecha = Fecha,
|
||||||
.CveMoneda = DdlMoneda.SelectedValue.ToEntero,
|
.CveMoneda = CveMoneda,
|
||||||
.Serie = TxtSerie.Text,
|
.Serie = Serie,
|
||||||
.Folio = TxtFolio.Text,
|
.Folio = Folio,
|
||||||
.CveCompraAmortizacion = CveCompraRegistrada
|
.CveCompraAmortizacion = CveCompraRegistrada
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -21826,15 +22229,15 @@ Partial Class Compras_Compras
|
|||||||
|
|
||||||
Dim CompraRNCProntoPago As New ClsCompraManagerCompras(UsuarioActual) With {
|
Dim CompraRNCProntoPago As New ClsCompraManagerCompras(UsuarioActual) With {
|
||||||
.TipoDocto = "RNC",
|
.TipoDocto = "RNC",
|
||||||
.CveProveedor = DdlProveedor.SelectedValue.ToEntero,
|
.CveProveedor = CveProveedor,
|
||||||
.CveTipoProveedor = CveTipoProveedor,
|
.CveTipoProveedor = CveTipoProveedor,
|
||||||
.CveTipoConceptoProveedor = CveTipoConcepto,
|
.CveTipoConceptoProveedor = CveTipoConcepto,
|
||||||
.Descripcion = $"Remisión Nota de Crédito {TxtDescripcion.Text}",
|
.Descripcion = Descripcion,
|
||||||
.NombreProveedor = DdlProveedor.SelectedItem.Text,
|
.NombreProveedor = NombreProveedor,
|
||||||
.Fecha = TxtFecha.Text.ToDate,
|
.Fecha = Fecha,
|
||||||
.CveMoneda = DdlMoneda.SelectedValue.ToEntero,
|
.CveMoneda = CveMoneda,
|
||||||
.Serie = $"PP-{TxtSerie.Text}",
|
.Serie = $"PP-{Serie}",
|
||||||
.Folio = $"{TxtFolio.Text}",
|
.Folio = $"{Folio}",
|
||||||
.CveCompraAmortizacion = CveCompraRegistrada
|
.CveCompraAmortizacion = CveCompraRegistrada
|
||||||
}
|
}
|
||||||
Dim IVARNCProntoPago As Decimal = (ImporteRNCProntoPago * PorcentajeIVA).RoundSQL(2)
|
Dim IVARNCProntoPago As Decimal = (ImporteRNCProntoPago * PorcentajeIVA).RoundSQL(2)
|
||||||
|
|||||||
@@ -9837,7 +9837,7 @@ Partial Class OC_OC
|
|||||||
|
|
||||||
If CveMovimiento <= 0 OrElse CvePrePoliza <= 0 Then
|
If CveMovimiento <= 0 OrElse CvePrePoliza <= 0 Then
|
||||||
Alert("No se pudo almacenar el movimiento correctamente", TipoMensaje.MsgError)
|
Alert("No se pudo almacenar el movimiento correctamente", TipoMensaje.MsgError)
|
||||||
ObjInventario.RollBack() 'deshace lo insertado
|
'ObjInventario.RollBack() 'deshace lo insertado
|
||||||
Respuesta = False
|
Respuesta = False
|
||||||
Else
|
Else
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user