Merge branch 'master' of http://192.168.10.111:8383/SIG
This commit is contained in:
@@ -153,9 +153,9 @@
|
|||||||
<asp:UpdatePanel ID="UPDatos" runat="server" UpdateMode="Conditional">
|
<asp:UpdatePanel ID="UPDatos" runat="server" UpdateMode="Conditional">
|
||||||
<ContentTemplate>
|
<ContentTemplate>
|
||||||
|
|
||||||
<asp:GridView ID="GvESC" runat="server" DataKeyNames="CveIE, Saldo, CveMoneda, CveConceptoContable, CveProveedor, CvePersonal,CveSubProyecto" AutoGenerateColumns="False" EmptyDataText="No se encontraron registros de Egresos sin Comprobar de Proveedores" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" Style="text-align: center;" GridLines="None">
|
<asp:GridView ID="GvESC" runat="server" DataKeyNames="CveIE, Saldo, CveMoneda, CveConceptoContable, CveProveedor, CvePersonal,CveSubProyecto,Folio" AutoGenerateColumns="False" EmptyDataText="No se encontraron registros de Egresos sin Comprobar de Proveedores" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" GridLines="None">
|
||||||
<Columns>
|
<Columns>
|
||||||
<asp:TemplateField ItemStyle-Width="10%">
|
<asp:TemplateField ItemStyle-Width="5%">
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:CheckBox ID="chk" Checked="false" Visible="false" runat="server" />
|
<asp:CheckBox ID="chk" Checked="false" Visible="false" runat="server" />
|
||||||
<asp:Literal ID="LtlTip" runat="server" Text='<%# Eval("ConceptoTexto") %>' ></asp:Literal>
|
<asp:Literal ID="LtlTip" runat="server" Text='<%# Eval("ConceptoTexto") %>' ></asp:Literal>
|
||||||
@@ -167,31 +167,27 @@
|
|||||||
<asp:Literal Text='<%# Eval("Moneda")%>' ID="LtMoneda" runat="server" Visible="false" />
|
<asp:Literal Text='<%# Eval("Moneda")%>' ID="LtMoneda" runat="server" Visible="false" />
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
<ControlStyle CssClass="Texto" />
|
<ControlStyle CssClass="Texto" />
|
||||||
<ItemStyle HorizontalAlign="Left" Width="250px" />
|
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField HeaderText="Fecha">
|
<asp:TemplateField HeaderText="Fecha">
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:Literal ID="LitFechaDocumento" runat="server" Text='<%# Bind("FechaDocumento", "{0:d}") %>'></asp:Literal>
|
<asp:Literal ID="LitFechaDocumento" runat="server" Text='<%# Bind("FechaDocumento", "{0:d}") %>'></asp:Literal>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
<ItemStyle Width="25px" />
|
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField HeaderText="Importe">
|
<asp:TemplateField HeaderText="Importe">
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:Literal ID="LitImporte" runat="server" Text='<%# Bind("Importe", "{0:N2}") %>'></asp:Literal>
|
<asp:Literal ID="LitImporte" runat="server" Text='<%# Bind("Importe", "{0:N2}") %>'></asp:Literal>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
<ItemStyle Width="25px" HorizontalAlign="Right" />
|
<ItemStyle HorizontalAlign="Right" />
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField HeaderText="Tipo Transacción">
|
<asp:TemplateField HeaderText="Tipo Transacción">
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:Literal ID="LitTipoTransaccion" runat="server" Text='<%# Bind("TipoTransaccion")%>'></asp:Literal>
|
<asp:Literal ID="LitTipoTransaccion" runat="server" Text='<%# Bind("TipoTransaccion")%>'></asp:Literal>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
<ItemStyle Width="125px" />
|
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField HeaderText="Folio">
|
<asp:TemplateField HeaderText="Folio">
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:HyperLink ID="HLFolio" runat="server" Target="_blank" Text='<%# Bind("Folio")%>' CssClass="Texto"></asp:HyperLink>
|
<asp:HyperLink ID="HLFolio" runat="server" Target="_blank" Text='<%# Bind("Folio")%>' CssClass="Texto"></asp:HyperLink>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
<ItemStyle Width="75px" />
|
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField HeaderText="Saldo" ItemStyle-CssClass="fixMargin">
|
<asp:TemplateField HeaderText="Saldo" ItemStyle-CssClass="fixMargin">
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
@@ -199,7 +195,7 @@
|
|||||||
<asp:Literal runat="server" Text=" "></asp:Literal>
|
<asp:Literal runat="server" Text=" "></asp:Literal>
|
||||||
|
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
<ItemStyle Width="65px" Font-Bold="True" HorizontalAlign="Right" />
|
<ItemStyle Font-Bold="True" HorizontalAlign="Right" />
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
|
|
||||||
</Columns>
|
</Columns>
|
||||||
|
|||||||
@@ -202,58 +202,66 @@ Partial Class Bancos_RepEgresosSinComprobante
|
|||||||
Dim CvePrePoliza As Integer = 0
|
Dim CvePrePoliza As Integer = 0
|
||||||
Dim MsgError As String = ""
|
Dim MsgError As String = ""
|
||||||
Try
|
Try
|
||||||
|
Dim Contador As Integer = 0
|
||||||
For Each gr As GridViewRow In GvESC.Rows
|
For Each gr As GridViewRow In GvESC.Rows
|
||||||
If gr.FCCheckBox("Chk").Checked Then
|
If gr.FCCheckBox("Chk").Checked Then
|
||||||
Dim IdCtaContable As Integer = 0
|
Contador += 1
|
||||||
Dim TipoMovtoOtIngresos As Boolean = False
|
|
||||||
Dim TipoMovtoConcepto As Boolean = True
|
|
||||||
Dim CveConceptoContable As Integer
|
|
||||||
|
|
||||||
Select Case gr.DataKey("CveConceptoContable").ToEntero
|
|
||||||
Case 10
|
|
||||||
CveConceptoContable = 21
|
|
||||||
Case 28
|
|
||||||
CveConceptoContable = 29
|
|
||||||
TipoMovtoOtIngresos = False
|
|
||||||
TipoMovtoConcepto = True
|
|
||||||
Case 37
|
|
||||||
CveConceptoContable = 43
|
|
||||||
Case 42
|
|
||||||
CveConceptoContable = 41
|
|
||||||
Case 43
|
|
||||||
CveConceptoContable = 37
|
|
||||||
End Select
|
|
||||||
|
|
||||||
If ObjProveedor.GetProveedores(ClsCompProveedores.TipoConsulta.ParaUsoEnEmpresa, gr.DataKey("CveProveedor").ToEntero, "-1", "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa) Then
|
|
||||||
If ObjProveedor.DtResultados.Rows.Count > 0 Then
|
|
||||||
IdCtaContable = ObjProveedor.IdCtaContProveedores
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
CvePrePoliza = ObjConta.AddPrePolizas("Bancos/RepEgresosSinComprobante", 6, gr.DataKey("Saldo").ToDecimal, gr.DataKey("Saldo").ToDecimal, gr.DataKey("CveMoneda").ToEntero, Now,
|
|
||||||
"Saldo de ExC por Sistema", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
|
||||||
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoConcepto, gr.DataKey("Saldo").ToDecimal, "", CveConceptoContable, "Saldo de ExC por Sistema", Now, IdCtaContable, -1,
|
|
||||||
gr.DataKey("CveIE").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CvePersonal:=gr.DataKey("CvePersonal").ToEntero,
|
|
||||||
ImporteMX:=gr.DataKey("Saldo").ToDecimal, Contabilizable:=EsContabilizable) Then
|
|
||||||
MsgError = "Ocurrio un error al saldar el movimiento"
|
|
||||||
Exit For
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoOtIngresos, gr.DataKey("Saldo").ToDecimal, "", 78, "Saldo de ExC por Sistema", Now, UsuarioActual.Empresa.IdCuentaOtrosIngresos, -1, gr.DataKey("CveIE").ToEntero,
|
|
||||||
ImporteMX:=gr.DataKey("Saldo").ToDecimal, CveSubProyecto:=gr.DataKey("CveSubProyecto").ToEntero, Contabilizable:=EsContabilizable) Then
|
|
||||||
MsgError = "Ocurrio un error al saldar el movimiento"
|
|
||||||
Exit For
|
|
||||||
End If
|
|
||||||
|
|
||||||
If UsuarioActual.Empresa.Funcionalidad(200) = "1" Then
|
|
||||||
If Not ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then
|
|
||||||
Alert("Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError)
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
|
||||||
|
If Contador > 0 Then
|
||||||
|
CvePrePoliza = ObjConta.AddPrePolizas("Bancos/RepEgresosSinComprobante", 6, 0, 0, 1, Now,
|
||||||
|
"Saldo de Egresos por comprobar", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||||
|
|
||||||
|
For Each gr As GridViewRow In GvESC.Rows
|
||||||
|
If gr.FCCheckBox("Chk").Checked Then
|
||||||
|
Dim IdCtaContable As Integer = 0
|
||||||
|
Dim TipoMovtoOtIngresos As Boolean = False
|
||||||
|
Dim TipoMovtoConcepto As Boolean = True
|
||||||
|
Dim CveConceptoContable As Integer
|
||||||
|
|
||||||
|
Select Case gr.DataKey("CveConceptoContable").ToEntero
|
||||||
|
Case 10
|
||||||
|
CveConceptoContable = 21
|
||||||
|
Case 28
|
||||||
|
CveConceptoContable = 29
|
||||||
|
TipoMovtoOtIngresos = False
|
||||||
|
TipoMovtoConcepto = True
|
||||||
|
Case 37
|
||||||
|
CveConceptoContable = 43
|
||||||
|
Case 42
|
||||||
|
CveConceptoContable = 41
|
||||||
|
Case 43
|
||||||
|
CveConceptoContable = 37
|
||||||
|
Case 48
|
||||||
|
CveConceptoContable = 56
|
||||||
|
End Select
|
||||||
|
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoConcepto, gr.DataKey("Saldo").ToDecimal, gr.DataKey("Folio"), CveConceptoContable, "Saldo de ExC por Sistema", Now, IdCtaContable, -1,
|
||||||
|
gr.DataKey("CveIE").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CvePersonal:=gr.DataKey("CvePersonal").ToEntero,
|
||||||
|
ImporteMX:=gr.DataKey("Saldo").ToDecimal, Contabilizable:=EsContabilizable) Then
|
||||||
|
MsgError = "Ocurrio un error al saldar el movimiento"
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoOtIngresos, gr.DataKey("Saldo").ToDecimal, gr.DataKey("Folio"), 211, "Saldo de ExC por Sistema", Now, UsuarioActual.Empresa.IdCuentaOtrosIngresos, -1, gr.DataKey("CveIE").ToEntero,
|
||||||
|
ImporteMX:=gr.DataKey("Saldo").ToDecimal, CveSubProyecto:=gr.DataKey("CveSubProyecto").ToEntero, Contabilizable:=EsContabilizable) Then
|
||||||
|
MsgError = "Ocurrio un error al saldar el movimiento"
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
|
||||||
|
If UsuarioActual.Empresa.Funcionalidad(200) = "1" Then
|
||||||
|
If Not ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then
|
||||||
|
Alert("Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
Else
|
||||||
|
Alert("No se especificaron")
|
||||||
|
End If
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MsgError = "Ocurrió un error al generar la prepoliza"
|
MsgError = "Ocurrió un error al generar la prepoliza"
|
||||||
OnError(MsgError, ex)
|
OnError(MsgError, ex)
|
||||||
@@ -261,16 +269,18 @@ Partial Class Bancos_RepEgresosSinComprobante
|
|||||||
|
|
||||||
|
|
||||||
If MsgError = "" Then
|
If MsgError = "" Then
|
||||||
|
LnkSaldar.Visible = False
|
||||||
|
LnkHabilitarSaldar.Visible = True
|
||||||
ObjConta.Commit()
|
ObjConta.Commit()
|
||||||
CargaDatos()
|
CargaDatos()
|
||||||
Alert("Los movimientos se saldaron correctamente.")
|
Alert(String.Format("Los movimientos se saldaron correctamente <br/> <a href='/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}' class='Texto'>Ver Póliza</a>", CvePrePoliza), TipoMensaje.MsgInformacion)
|
||||||
|
|
||||||
Else
|
Else
|
||||||
ObjConta.RollBack()
|
ObjConta.RollBack()
|
||||||
Alert(MsgError, TipoMensaje.MsgError)
|
Alert(MsgError, TipoMensaje.MsgError)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
LnkSaldar.Visible = False
|
|
||||||
LnkHabilitarSaldar.Visible = True
|
|
||||||
|
|
||||||
ObjConta.Dispose()
|
ObjConta.Dispose()
|
||||||
ObjProveedor.Dispose()
|
ObjProveedor.Dispose()
|
||||||
|
|||||||
@@ -6613,117 +6613,114 @@ Partial Class Compras_Compras
|
|||||||
|
|
||||||
Concepto = $"{NombreProveedor} {TxtSerie.Text} - {TxtFolio.Text}"
|
Concepto = $"{NombreProveedor} {TxtSerie.Text} - {TxtFolio.Text}"
|
||||||
|
|
||||||
If Not ObjCompras.UpdateEstatusAlmacen(CveCompra, 2, UsuarioActual.CveUsuario) Then
|
|
||||||
ErrorMovInv = True
|
|
||||||
End If
|
|
||||||
|
|
||||||
If importeMovimiento > 0 Or TxtTotal.Text.ToDecimal = 0 Then
|
If importeMovimiento > 0 Or TxtTotal.Text.ToDecimal = 0 Then
|
||||||
RegistroCuentaPuente = True
|
RegistroCuentaPuente = True
|
||||||
Dim ImporteTransito As Decimal = 0
|
Dim ImporteTransito As Decimal = 0
|
||||||
'SI ES GASTO DE ALMACEN NO DEBE CONTABILIZAR CONCEPTO 68
|
'SI ES GASTO DE ALMACEN NO DEBE CONTABILIZAR CONCEPTO 68
|
||||||
If DdlTipoCompra.SelectedValue = "10" AndAlso ConceptoContabilizacionNC = 68 Then
|
If DdlTipoCompra.SelectedValue = "10" AndAlso ConceptoContabilizacionNC = 68 Then
|
||||||
SeContabiliza = False
|
SeContabiliza = False
|
||||||
IdCtaContable = 0
|
IdCtaContable = 0
|
||||||
End If
|
|
||||||
'se lleva saldo de Mercancía en tránsito
|
|
||||||
If ChkNCInvNC.Checked Then
|
|
||||||
For Each Gvr As GridViewRow In GVNCInv.Rows
|
|
||||||
If Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDouble > 0 Then
|
|
||||||
If Not ObjCompras.ComprasDetalleDevolucionesAdd(Gvr.DataKey("CveCompraDetalle").ToEntero, CveCompra, Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDouble, UsuarioActual.CveEmpresa) Then
|
|
||||||
ErrorMovInv = True
|
|
||||||
Exit For
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
Dim diferenciaTransito As Decimal = 0
|
|
||||||
For Each Gvr As GridViewRow In GVNCInvAlmacen.Rows
|
|
||||||
If Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDouble > 0 Then
|
|
||||||
Dim importeMNTemp As Decimal = 0
|
|
||||||
If Not ObjCompras.ComprasDetalleDevolucionesAdd(Gvr.DataKey("CveCompraDetalle").ToEntero, CveCompra, Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDouble, UsuarioActual.CveEmpresa) Then
|
|
||||||
ErrorMovInv = True
|
|
||||||
Exit For
|
|
||||||
End If
|
|
||||||
Dim DifTC As Decimal = tipoCambioActual - Gvr.DataKey("TipoCambio").ToDecimal
|
|
||||||
'diferenciaTransito = DifTC * (Gvr.DataKey("IVA").ToDecimal / Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDecimal)
|
|
||||||
'diferenciaTransito += DifTC * (Gvr.DataKey("IEPSPS").ToDecimal / Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDecimal)
|
|
||||||
importeMNTemp = (Gvr.FCTextBox("TxtPU").Text.ToDecimal * Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDecimal * Gvr.DataKey("TipoCambio").ToDecimal).RoundSQL
|
|
||||||
ImporteTransito += importeMNTemp
|
|
||||||
'se registra por cada compra relacionada
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMNTemp, Referencia, ConceptoContabilizacionNC, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveCompraAmortizacion:=Gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedorConcepto, ImporteMX:=importeMNTemp, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=Gvr.DataKey("TipoCambio").ToDecimal, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza) Then
|
|
||||||
ErrorPrepoliza = True
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
'la diferencia se va aplicar sobre los
|
|
||||||
|
|
||||||
'Dim diferenciaTransito As Decimal = ImporteTransito - importeMN.RoundSQL
|
|
||||||
|
|
||||||
If diferenciaTransito <> 0 Then
|
|
||||||
Dim tCveCon As Integer = 65
|
|
||||||
If diferenciaTransito < 0 Then
|
|
||||||
tCveCon = 64
|
|
||||||
End If
|
|
||||||
diferenciaTransito = Math.Abs(diferenciaTransito)
|
|
||||||
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, If(tCveCon = 64, True, False), diferenciaTransito, Referencia, tCveCon, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=diferenciaTransito, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=1, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto) Then
|
|
||||||
ErrorPrepoliza = True
|
|
||||||
End If
|
|
||||||
End If
|
End If
|
||||||
Else
|
'se lleva saldo de Mercancía en tránsito
|
||||||
Dim DiferenciaDevolucion As Decimal = importeMovimiento - TotalRealDevolucion
|
If ChkNCInvNC.Checked Then
|
||||||
If TotalRealDevolucion <> 0 Then
|
For Each Gvr As GridViewRow In GVNCInv.Rows
|
||||||
|
If Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDouble > 0 Then
|
||||||
If Math.Abs(DiferenciaDevolucion) > 0 Then
|
If Not ObjCompras.ComprasDetalleDevolucionesAdd(Gvr.DataKey("CveCompraDetalle").ToEntero, CveCompra, Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDouble, UsuarioActual.CveEmpresa) Then
|
||||||
Dim tMovto As Boolean = False
|
ErrorMovInv = True
|
||||||
If UsuarioActual.CveEmpresa = 119 Then
|
Exit For
|
||||||
tMovto = True
|
End If
|
||||||
Else
|
|
||||||
DiferenciaDevolucion = -DiferenciaDevolucion
|
|
||||||
End If
|
End If
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tMovto, DiferenciaDevolucion.RoundSQL(), Referencia, 69, Concepto, FechaMovimiento, -1, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=DiferenciaDevolucion, ImporteME:=If(tipoCambioActual = 1, 0, DiferenciaDevolucion), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza, CveSubProyecto:=tCveSubProyecto, CveClasificacion:=tCveClasif) Then
|
Next
|
||||||
|
Dim diferenciaTransito As Decimal = 0
|
||||||
|
For Each Gvr As GridViewRow In GVNCInvAlmacen.Rows
|
||||||
|
If Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDouble > 0 Then
|
||||||
|
Dim importeMNTemp As Decimal = 0
|
||||||
|
If Not ObjCompras.ComprasDetalleDevolucionesAdd(Gvr.DataKey("CveCompraDetalle").ToEntero, CveCompra, Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDouble, UsuarioActual.CveEmpresa) Then
|
||||||
|
ErrorMovInv = True
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
Dim DifTC As Decimal = tipoCambioActual - Gvr.DataKey("TipoCambio").ToDecimal
|
||||||
|
'diferenciaTransito = DifTC * (Gvr.DataKey("IVA").ToDecimal / Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDecimal)
|
||||||
|
'diferenciaTransito += DifTC * (Gvr.DataKey("IEPSPS").ToDecimal / Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDecimal)
|
||||||
|
importeMNTemp = (Gvr.FCTextBox("TxtPU").Text.ToDecimal * Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDecimal * Gvr.DataKey("TipoCambio").ToDecimal).RoundSQL
|
||||||
|
ImporteTransito += importeMNTemp
|
||||||
|
'se registra por cada compra relacionada
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMNTemp, Referencia, ConceptoContabilizacionNC, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveCompraAmortizacion:=Gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedorConcepto, ImporteMX:=importeMNTemp, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=Gvr.DataKey("TipoCambio").ToDecimal, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza) Then
|
||||||
|
ErrorPrepoliza = True
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
'la diferencia se va aplicar sobre los
|
||||||
|
|
||||||
|
'Dim diferenciaTransito As Decimal = ImporteTransito - importeMN.RoundSQL
|
||||||
|
|
||||||
|
If diferenciaTransito <> 0 Then
|
||||||
|
Dim tCveCon As Integer = 65
|
||||||
|
If diferenciaTransito < 0 Then
|
||||||
|
tCveCon = 64
|
||||||
|
End If
|
||||||
|
diferenciaTransito = Math.Abs(diferenciaTransito)
|
||||||
|
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, If(tCveCon = 64, True, False), diferenciaTransito, Referencia, tCveCon, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=diferenciaTransito, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=1, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto) Then
|
||||||
ErrorPrepoliza = True
|
ErrorPrepoliza = True
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, TotalRealDevolucion.RoundSQL(), Referencia, ConceptoContabilizacionNC, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=(TotalRealDevolucion * tipoCambioActual).RoundSQL(), ImporteME:=If(tipoCambioActual = 1, 0, TotalRealDevolucion).RoundSQL(), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza) Then
|
|
||||||
ErrorPrepoliza = True
|
|
||||||
End If
|
|
||||||
Else
|
Else
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento.RoundSQL, Referencia, ConceptoContabilizacionNC, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=importeMovimiento * tipoCambioActual * Multiplicador, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, CveClasificacion:=tCveClasif, CveSubProyecto:=tCveSubProyecto, Contabilizable:=SeContabiliza) Then
|
Dim DiferenciaDevolucion As Decimal = importeMovimiento - TotalRealDevolucion
|
||||||
|
If TotalRealDevolucion <> 0 Then
|
||||||
|
|
||||||
|
If Math.Abs(DiferenciaDevolucion) > 0 Then
|
||||||
|
Dim tMovto As Boolean = False
|
||||||
|
If UsuarioActual.CveEmpresa = 119 Then
|
||||||
|
tMovto = True
|
||||||
|
Else
|
||||||
|
DiferenciaDevolucion = -DiferenciaDevolucion
|
||||||
|
End If
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tMovto, DiferenciaDevolucion.RoundSQL(), Referencia, 69, Concepto, FechaMovimiento, -1, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=DiferenciaDevolucion, ImporteME:=If(tipoCambioActual = 1, 0, DiferenciaDevolucion), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza, CveSubProyecto:=tCveSubProyecto, CveClasificacion:=tCveClasif) Then
|
||||||
|
ErrorPrepoliza = True
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, TotalRealDevolucion.RoundSQL(), Referencia, ConceptoContabilizacionNC, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=(TotalRealDevolucion * tipoCambioActual).RoundSQL(), ImporteME:=If(tipoCambioActual = 1, 0, TotalRealDevolucion).RoundSQL(), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza) Then
|
||||||
|
ErrorPrepoliza = True
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento.RoundSQL, Referencia, ConceptoContabilizacionNC, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=importeMovimiento * tipoCambioActual * Multiplicador, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, CveClasificacion:=tCveClasif, CveSubProyecto:=tCveSubProyecto, Contabilizable:=SeContabiliza) Then
|
||||||
|
ErrorPrepoliza = True
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If UsuarioActual.CveEmpresa.Contiene(119) Then
|
||||||
|
Dim ContienePSNeteoBonif As Boolean = False
|
||||||
|
For Each Dr As DataRow In TmpDT.Rows
|
||||||
|
If Dr("CveClasificacion").ToString.ToEntero.Contiene(20319) Or DdlTipoCompra.SelectedValue.Contiene("11") Then 'clasificación de Bonificación, no se incluirá en el neteo
|
||||||
|
ContienePSNeteoBonif = True
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
If ContienePSNeteoBonif Then
|
||||||
|
importeMovimiento = TmpDT.SUM(If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, "ImporteSinImpuestos", "Total"), $"ISNULL(TipoAF,0) <> 2 And ISNULL(CveAlmacen,0) = 0 And ISNULL(AplicaCostoIndirecto,0) <> 1 AND CveClasificacion = 20319 ").ToString.ToDecimal
|
||||||
|
importeMN = importeMovimiento * tipoCambioActual * Multiplicador
|
||||||
|
Dim IdCtaContableDescCompra As Integer = UsuarioActual.Empresa.Funcionalidad(405).ToEntero
|
||||||
|
Dim CveSubProyecto259 As Integer = TmpDT.MAX("CveSubProyecto").ToEntero
|
||||||
|
|
||||||
|
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, Referencia, 259, Concepto, FechaMovimiento, IdCtaContableDescCompra, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto259) Then
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, -importeMovimiento, Referencia, 259, Concepto, FechaMovimiento, IdCtaContableDescCompra, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=-importeMN, ImporteME:=If(tipoCambioActual = 1, 0, -importeMovimiento), TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto259) Then
|
||||||
|
ErrorPrepoliza = True
|
||||||
|
End If
|
||||||
|
Else
|
||||||
ErrorPrepoliza = True
|
ErrorPrepoliza = True
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If UsuarioActual.CveEmpresa.Contiene(119) Then
|
'ChkNCInvNC
|
||||||
Dim ContienePSNeteoBonif As Boolean = False
|
|
||||||
For Each Dr As DataRow In TmpDT.Rows
|
|
||||||
If Dr("CveClasificacion").ToString.ToEntero.Contiene(20319) Or DdlTipoCompra.SelectedValue.Contiene("11") Then 'clasificación de Bonificación, no se incluirá en el neteo
|
|
||||||
ContienePSNeteoBonif = True
|
|
||||||
Exit For
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
|
|
||||||
If ContienePSNeteoBonif Then
|
If Not RegistroCuentaPuente AndAlso Not ChkNCInvNC.Checked Then
|
||||||
importeMovimiento = TmpDT.SUM(If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, "ImporteSinImpuestos", "Total"), $"ISNULL(TipoAF,0) <> 2 And ISNULL(CveAlmacen,0) = 0 And ISNULL(AplicaCostoIndirecto,0) <> 1 AND CveClasificacion = 20319 ").ToString.ToDecimal
|
|
||||||
importeMN = importeMovimiento * tipoCambioActual * Multiplicador
|
|
||||||
Dim IdCtaContableDescCompra As Integer = UsuarioActual.Empresa.Funcionalidad(405).ToEntero
|
|
||||||
Dim CveSubProyecto259 As Integer = TmpDT.MAX("CveSubProyecto").ToEntero
|
|
||||||
|
|
||||||
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, Referencia, 259, Concepto, FechaMovimiento, IdCtaContableDescCompra, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto259) Then
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, -importeMovimiento, Referencia, 259, Concepto, FechaMovimiento, IdCtaContableDescCompra, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=-importeMN, ImporteME:=If(tipoCambioActual = 1, 0, -importeMovimiento), TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto259) Then
|
|
||||||
ErrorPrepoliza = True
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
ErrorPrepoliza = True
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
'ChkNCInvNC
|
|
||||||
|
|
||||||
If Not RegistroCuentaPuente AndAlso Not ChkNCInvNC.Checked Then
|
|
||||||
'GASTO
|
'GASTO
|
||||||
If UsuarioActual.CveEmpresa = 119 Then
|
If UsuarioActual.CveEmpresa = 119 Then
|
||||||
DT = TmpDT
|
DT = TmpDT
|
||||||
@@ -13692,74 +13689,11 @@ Partial Class Compras_Compras
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
ObjComprasComprobacion.Dispose()
|
ObjComprasComprobacion.Dispose()
|
||||||
Dim cvemovimientoentrada As Integer = -1
|
|
||||||
|
|
||||||
|
|
||||||
|
Dim ObjCompras As New ClsCompras
|
||||||
|
Dim ObjContabilidad As New ClsContabilidad(ObjCompras.IniciaTransacSQL())
|
||||||
'DEVOLUCIÓN AUTOMATICA
|
Dim ObjInventario As New ClsInventarios(ObjCompras.IniciaTransacSQL())
|
||||||
If CheckDevAuto.Checked Then
|
|
||||||
Dim ErrorMovInv As Boolean = False
|
|
||||||
|
|
||||||
Dim folio As Integer
|
|
||||||
Dim fecha As Date = TxtFechaCancelacion.Text.ToDate
|
|
||||||
Dim importeconcepto As Decimal
|
|
||||||
Dim ObjInventario As New ClsInventarios
|
|
||||||
Dim ObjCompra As New ClsCompras
|
|
||||||
Dim tbmovs As DataTable = Nothing
|
|
||||||
Dim TmpDT As DataTable = Nothing
|
|
||||||
Dim TipoCambioGuardar As Decimal = 1
|
|
||||||
Dim tcvealmacen As Integer = 0
|
|
||||||
|
|
||||||
If ObjCompra.GetCompraDetalle(CveCompra, UsuarioActual.CveEmpresa) Then
|
|
||||||
If ObjCompra.DtResultados.Rows.Count > 0 Then
|
|
||||||
TmpDT = ObjCompra.DtResultados
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
If ObjInventario.GetInv_ComprasMov(CveCompra, UsuarioActual.CveEmpresa) Then
|
|
||||||
If ObjInventario.DtResultados.Rows.Count > 0 Then
|
|
||||||
tbmovs = ObjInventario.DtResultados
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
If DdlMoneda.SelectedValue.ToEntero > 1 Then
|
|
||||||
TipoCambioGuardar = If(DivTC.Visible, TxtTC.Text.ToDecimal, LblTC.Text.Substring(3).ToDecimal)
|
|
||||||
End If
|
|
||||||
TipoCambio = If(DivTC.Visible, TipoCambioGuardar, TipoCambio)
|
|
||||||
|
|
||||||
For Each dtMovs As DataRow In TmpDT.Rows
|
|
||||||
If TmpDT.Rows.Count > 0 Then
|
|
||||||
tcvealmacen = dtMovs("AlmacenRegistrado").ToString.ToEntero
|
|
||||||
Exit For
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
|
|
||||||
folio = ObjInventario.GetFolioSiguiente(13, UsuarioActual.CveEmpresa)
|
|
||||||
cvemovimientoentrada = ObjInventario.AddMovimiento(tcvealmacen, 13, 1, fecha, folio, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompra, -1, -1, -1, TipoCambio:=If(DdlMoneda.SelectedValue.ToEntero = 1, -1, TipoCambioGuardar), Modulo:="Devolucion Automatica")
|
|
||||||
If cvemovimientoentrada <= 0 Then
|
|
||||||
ErrorMovInv = True
|
|
||||||
Else
|
|
||||||
For Each dr As DataRow In tbmovs.Rows
|
|
||||||
If dr("cvealmacen").ToString.ToEntero = tcvealmacen And dr("CveCompraDetalle").ToString.ToEntero <> -1 And dr("origen").ToString.ToEntero <> -1 And dr("Total").ToString.ToDecimal <> 0 Then
|
|
||||||
'hay que restarle descuento
|
|
||||||
importeconcepto = dr("Total").ToString.ToDecimal
|
|
||||||
If Not ObjInventario.AddMovimientoDetalle(cvemovimientoentrada, dr("cantidad").ToString.ToDouble, dr("cveum").ToString.ToEntero, dr("cveps").ToString.ToEntero, importeconcepto, -1, CveCompraDetalle:=dr("CveCompraDetalle").ToString.ToEntero, Serie:=dr("Serie").ToString) Then
|
|
||||||
ErrorMovInv = True
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
If ErrorMovInv = True Then
|
|
||||||
ObjInventario.RollBack()
|
|
||||||
End If
|
|
||||||
ObjInventario.Dispose()
|
|
||||||
ObjCompra.Dispose()
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
Dim ObjAC As ClsContPAQi = Nothing
|
Dim ObjAC As ClsContPAQi = Nothing
|
||||||
If (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1") AndAlso UsuarioActual.Empresa.TipoContabilidad = 2 Then
|
If (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1") AndAlso UsuarioActual.Empresa.TipoContabilidad = 2 Then
|
||||||
@@ -13767,21 +13701,128 @@ Partial Class Compras_Compras
|
|||||||
ObjAC.IniciaTransacSQL()
|
ObjAC.IniciaTransacSQL()
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Dim ObjCompras As New ClsCompras
|
|
||||||
Dim ObjContabilidad As New ClsContabilidad(ObjCompras.IniciaTransacSQL())
|
|
||||||
|
|
||||||
Dim ErrorCancelar = False
|
Dim ErrorCancelar = False
|
||||||
Dim IdPolizaNueva = -1
|
Dim IdPolizaNueva = -1
|
||||||
Dim FolioPolizaNueva = -1
|
Dim FolioPolizaNueva = -1
|
||||||
Dim CvePrePolizaNueva = -1
|
Dim CvePrePolizaNueva = -1
|
||||||
Dim dt As DataTable
|
|
||||||
|
Try
|
||||||
|
|
||||||
|
'DEVOLUCIÓN AUTOMATICA
|
||||||
|
If CheckDevAuto.Checked Then
|
||||||
|
|
||||||
|
Dim fecha As Date = TxtFechaCancelacion.Text.ToDateTime().AddHours(23).AddMinutes(59)
|
||||||
|
Dim importeconcepto As Decimal
|
||||||
|
|
||||||
|
Dim tbmovs As DataTable = Nothing
|
||||||
|
Dim TmpDT As DataTable = Nothing
|
||||||
|
Dim TipoCambioGuardar As Decimal = 1
|
||||||
|
|
||||||
|
|
||||||
' MES ANTERIOR, MOVIMIENTOS CONTRARIOS (NEGATIVOS)
|
If ObjCompras.GetCompraDetalle(CveCompra, UsuarioActual.CveEmpresa) Then
|
||||||
If True Then
|
If ObjCompras.DtResultados.Rows.Count > 0 Then
|
||||||
|
TmpDT = ObjCompras.DtResultados.Copy()
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If ObjInventario.GetInv_ComprasMov(CveCompra, UsuarioActual.CveEmpresa) Then
|
||||||
|
If ObjInventario.DtResultados.Rows.Count > 0 Then
|
||||||
|
tbmovs = ObjInventario.DtResultados
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If DdlMoneda.SelectedValue.ToEntero > 1 Then
|
||||||
|
TipoCambioGuardar = If(DivTC.Visible, TxtTC.Text.ToDecimal, LblTC.Text.Substring(3).ToDecimal)
|
||||||
|
End If
|
||||||
|
TipoCambio = If(DivTC.Visible, TipoCambioGuardar, TipoCambio)
|
||||||
|
|
||||||
|
'For Each dtMovs As DataRow In TmpDT.Rows
|
||||||
|
' If TmpDT.Rows.Count > 0 Then
|
||||||
|
' tcvealmacen = dtMovs("AlmacenRegistrado").ToString.ToEntero
|
||||||
|
' Exit For
|
||||||
|
' End If
|
||||||
|
'Next
|
||||||
|
|
||||||
|
Dim DtMovimientos = tbmovs.FiltraParametros("Origen = 1", DistinctColumns:={"CveMovimiento", "CveConcepto", "CveAlmacen", "Origen"})
|
||||||
|
|
||||||
|
For Each RowMovto As DataRow In DtMovimientos.Rows
|
||||||
|
|
||||||
|
Dim CveMovimientoEntrada As Integer = -1
|
||||||
|
|
||||||
|
Dim Folio As Integer
|
||||||
|
Dim CveAlmacen As Integer = RowMovto("CveAlmacen").ToString().ToEntero()
|
||||||
|
Dim CveConceptoDevolucion As Integer = -1
|
||||||
|
Dim CveConcetoEntrada = RowMovto("CveConcepto").ToString().ToEntero()
|
||||||
|
Dim CveMovimientoReferencia As Integer = RowMovto("CveMovimiento").ToString().ToEntero()
|
||||||
|
|
||||||
|
Select Case CveConcetoEntrada
|
||||||
|
Case 2
|
||||||
|
CveConceptoDevolucion = 13
|
||||||
|
End Select
|
||||||
|
|
||||||
|
Folio = ObjInventario.GetFolioSiguiente(CveConceptoDevolucion, UsuarioActual.CveEmpresa)
|
||||||
|
CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacen, CveConceptoDevolucion, 1, fecha, Folio, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompra, -1, -1, -1, TipoCambio:=If(DdlMoneda.SelectedValue.ToEntero = 1, -1, TipoCambioGuardar), Modulo:="Devolucion Automatica")
|
||||||
|
|
||||||
|
If CveMovimientoEntrada <= 0 Then
|
||||||
|
ErrorCancelar = True
|
||||||
|
Exit For
|
||||||
|
Else
|
||||||
|
For Each dr As DataRow In tbmovs.Rows
|
||||||
|
If dr("CveAlmacen").ToString.ToEntero = CveAlmacen And dr("CveCompraDetalle").ToString.ToEntero <> -1 And dr("origen").ToString.ToEntero <> -1 And dr("Total").ToString.ToDecimal <> 0 Then
|
||||||
|
'hay que restarle descuento
|
||||||
|
importeconcepto = dr("Total").ToString.ToDecimal
|
||||||
|
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, dr("Cantidad").ToString.ToDouble, dr("CveUM").ToString.ToEntero, dr("CvePS").ToString.ToEntero, importeconcepto, -1, CveCompraDetalle:=dr("CveCompraDetalle").ToString.ToEntero, Serie:=dr("Serie").ToString) Then
|
||||||
|
ErrorCancelar = True
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
If CvePrePoliza > 0 Then
|
||||||
|
Dim Total68 As Decimal = 0
|
||||||
|
If ObjInventario.GetMovimientosDetalle(CveMovimientoEntrada, UsuarioActual.CveEmpresa) Then
|
||||||
|
Total68 = ObjInventario.DtResultados.SUMD("Total").RoundSQL(2) * -1
|
||||||
|
End If
|
||||||
|
|
||||||
|
If ObjContabilidad.GetPrePolizasDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) Then
|
||||||
|
Dim DtPrePolizaAlmacen = ObjContabilidad.DtResultados.FiltraParametros($"CveMovimientoAlmacen = {CveMovimientoReferencia}")
|
||||||
|
|
||||||
|
CvePrePolizaNueva = ObjContabilidad.AddPrePolizas("Compras/Cancelar", DtPrePolizaAlmacen.Rows(0)("CvePlantillaPoliza").ToString.ToEntero, DtPrePolizaAlmacen.Rows(0)("Cargos").ToString.ToDouble * -1, DtPrePolizaAlmacen.Rows(0)("Abonos").ToString.ToDouble * -1, DtPrePolizaAlmacen.Rows(0)("CveMoneda").ToString.ToEntero, TxtFechaCancelacion.Text.ToDate, String.Format("Cancelación: {0}", DtPrePolizaAlmacen.Rows(0)("Concepto").ToString), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||||
|
|
||||||
|
If CvePrePolizaNueva > 0 Then
|
||||||
|
For Each dr As DataRow In DtPrePolizaAlmacen.Rows
|
||||||
|
If Not ObjContabilidad.AddPrePolizasDetalle(CvePrePolizaNueva, CBool(dr("TipoMovto").ToString), Total68, dr("Referencia").ToString, dr("CveConceptoContable").ToString.ToEntero,
|
||||||
|
dr("Concepto").ToString, TxtFechaCancelacion.Text.ToDate, dr("IdCtaContable").ToString.ToEntero, dr("IdSegmentoNegocio").ToString.ToEntero, dr("CveIE").ToString.ToEntero,
|
||||||
|
dr("CveVenta").ToString.ToEntero, dr("CveCompra").ToString.ToEntero, dr("CveSubProyecto").ToString.ToEntero, dr("CveCliente").ToString.ToEntero, dr("CveProveedor").ToString.ToEntero, dr("CvePersonal").ToString.ToEntero,
|
||||||
|
CveMovimientoEntrada,
|
||||||
|
dr("CveActivoFijo").ToString.ToEntero, -1, -1, dr("CveCreditoDetalle").ToString.ToEntero,
|
||||||
|
ImporteMX:=Total68, ImporteME:=Total68,
|
||||||
|
CveTipoGasto:=dr("CveTipoGasto").ToString.ToEntero, CveClasificacion:=dr("CveClasificacion").ToString.ToEntero,
|
||||||
|
PorcentajeImpuesto:=dr("PorcentajeImpuesto").ToString.ToDecimal,
|
||||||
|
CveOCDetalle:=dr("CveOCDetalle").ToString.ToEntero) Then
|
||||||
|
ErrorCancelar = True
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
Else
|
||||||
|
ErrorCancelar = True
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
ErrorCancelar = True
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
Next
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim dt As DataTable
|
||||||
|
|
||||||
|
' MOVIMIENTOS CONTRARIOS (NEGATIVOS)
|
||||||
'CREA POLIZA NEGATIVA
|
'CREA POLIZA NEGATIVA
|
||||||
If IdPoliza > 0 AndAlso ObjAC IsNot Nothing AndAlso UsuarioActual.Empresa.UsaAC Then
|
If Not ErrorCancelar AndAlso IdPoliza > 0 AndAlso ObjAC IsNot Nothing AndAlso UsuarioActual.Empresa.UsaAC Then
|
||||||
If ObjAC.GetPoliza(IdPoliza, -1, -1, -1, -1) AndAlso ObjAC.DtResultados.Rows.Count > 0 Then
|
If ObjAC.GetPoliza(IdPoliza, -1, -1, -1, -1) AndAlso ObjAC.DtResultados.Rows.Count > 0 Then
|
||||||
dt = ObjAC.DtResultados
|
dt = ObjAC.DtResultados
|
||||||
|
|
||||||
@@ -13809,47 +13850,21 @@ Partial Class Compras_Compras
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
'CREA PRE-POLIZA NEGATIVA
|
'CREA PRE-POLIZA NEGATIVA
|
||||||
If DdlTipoComprobante.SelectedValue.Contiene("NC") Then
|
If Not ErrorCancelar Then
|
||||||
If ObjCompras.GetCancelarNC(CveCompra, UsuarioActual.CveEmpresa) Then
|
If DdlTipoComprobante.SelectedValue.Contiene("NC") Then
|
||||||
dt = ObjCompras.DtResultados
|
If ObjCompras.GetCancelarNC(CveCompra, UsuarioActual.CveEmpresa) Then
|
||||||
|
dt = ObjCompras.DtResultados
|
||||||
CvePrePolizaNueva = ObjContabilidad.AddPrePolizas("Compras/Cancelar", dt.Rows(0)("CvePlantillaPoliza").ToString.ToEntero, dt.Rows(0)("Cargos").ToString.ToDouble * -1, dt.Rows(0)("Abonos").ToString.ToDouble * -1, dt.Rows(0)("CveMoneda").ToString.ToEntero, TxtFechaCancelacion.Text.ToDate, String.Format("Cancelación: {0}", dt.Rows(0)("Concepto").ToString), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
|
||||||
If CvePrePolizaNueva > 0 Then
|
|
||||||
For Each dr As DataRow In dt.Rows
|
|
||||||
If Not ObjContabilidad.AddPrePolizasDetalle(CvePrePolizaNueva, CBool(dr("TipoMovto").ToString), dr("Importe").ToString.ToDecimal * -1, dr("Referencia").ToString, dr("CveConceptoContable").ToString.ToEntero,
|
|
||||||
dr("Concepto").ToString, TxtFechaCancelacion.Text.ToDate, dr("IdCtaContable").ToString.ToEntero, dr("IdSegmentoNegocio").ToString.ToEntero, dr("CveIE").ToString.ToEntero,
|
|
||||||
dr("CveVenta").ToString.ToEntero, dr("CveCompra").ToString.ToEntero, dr("CveSubProyecto").ToString.ToEntero, dr("CveCliente").ToString.ToEntero, dr("CveProveedor").ToString.ToEntero, dr("CvePersonal").ToString.ToEntero,
|
|
||||||
dr("CveMovimientoAlmacen").ToString.ToEntero, dr("CveActivoFijo").ToString.ToEntero, -1, -1, dr("CveCreditoDetalle").ToString.ToEntero,
|
|
||||||
ImporteMX:=dr("Importe").ToString.ToDecimal * -1, ImporteME:=dr("Importe").ToString.ToDecimal * -1, CveTipoGasto:=dr("CveTipoGasto").ToString.ToEntero, CveClasificacion:=dr("CveClasificacion").ToString.ToEntero,
|
|
||||||
PorcentajeImpuesto:=dr("PorcentajeImpuesto").ToString.ToDecimal, CveOCDetalle:=dr("CveOCDetalle").ToString.ToEntero,
|
|
||||||
CveCompraAmortizacion:=dr("CveCompraAmortizacion").ToString.ToEntero) Then
|
|
||||||
ErrorCancelar = True
|
|
||||||
Exit For
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
Else
|
|
||||||
ErrorCancelar = True
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
ErrorCancelar = True
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
If CvePrePoliza > 0 Then
|
|
||||||
If ObjContabilidad.GetPrePolizasDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) Then
|
|
||||||
dt = ObjContabilidad.DtResultados
|
|
||||||
|
|
||||||
CvePrePolizaNueva = ObjContabilidad.AddPrePolizas("Compras/Cancelar", dt.Rows(0)("CvePlantillaPoliza").ToString.ToEntero, dt.Rows(0)("Cargos").ToString.ToDouble * -1, dt.Rows(0)("Abonos").ToString.ToDouble * -1, dt.Rows(0)("CveMoneda").ToString.ToEntero, TxtFechaCancelacion.Text.ToDate, String.Format("Cancelación: {0}", dt.Rows(0)("Concepto").ToString), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
CvePrePolizaNueva = ObjContabilidad.AddPrePolizas("Compras/Cancelar", dt.Rows(0)("CvePlantillaPoliza").ToString.ToEntero, dt.Rows(0)("Cargos").ToString.ToDouble * -1, dt.Rows(0)("Abonos").ToString.ToDouble * -1, dt.Rows(0)("CveMoneda").ToString.ToEntero, TxtFechaCancelacion.Text.ToDate, String.Format("Cancelación: {0}", dt.Rows(0)("Concepto").ToString), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||||
If CvePrePolizaNueva > 0 Then
|
If CvePrePolizaNueva > 0 Then
|
||||||
For Each dr As DataRow In dt.Rows
|
For Each dr As DataRow In dt.Rows
|
||||||
If Not ObjContabilidad.AddPrePolizasDetalle(CvePrePolizaNueva, CBool(dr("TipoMovto").ToString), dr("Importe").ToString.ToDecimal * -1, dr("Referencia").ToString, dr("CveConceptoContable").ToString.ToEntero,
|
If Not ObjContabilidad.AddPrePolizasDetalle(CvePrePolizaNueva, CBool(dr("TipoMovto").ToString), dr("Importe").ToString.ToDecimal * -1, dr("Referencia").ToString, dr("CveConceptoContable").ToString.ToEntero,
|
||||||
dr("Concepto").ToString, TxtFechaCancelacion.Text.ToDate, dr("IdCtaContable").ToString.ToEntero, dr("IdSegmentoNegocio").ToString.ToEntero, dr("CveIE").ToString.ToEntero,
|
dr("Concepto").ToString, TxtFechaCancelacion.Text.ToDate, dr("IdCtaContable").ToString.ToEntero, dr("IdSegmentoNegocio").ToString.ToEntero, dr("CveIE").ToString.ToEntero,
|
||||||
dr("CveVenta").ToString.ToEntero, dr("CveCompra").ToString.ToEntero, dr("CveSubProyecto").ToString.ToEntero, dr("CveCliente").ToString.ToEntero, dr("CveProveedor").ToString.ToEntero, dr("CvePersonal").ToString.ToEntero,
|
dr("CveVenta").ToString.ToEntero, dr("CveCompra").ToString.ToEntero, dr("CveSubProyecto").ToString.ToEntero, dr("CveCliente").ToString.ToEntero, dr("CveProveedor").ToString.ToEntero, dr("CvePersonal").ToString.ToEntero,
|
||||||
If(cvemovimientoentrada > 0, cvemovimientoentrada, dr("CveMovimientoAlmacen").ToString.ToEntero),
|
dr("CveMovimientoAlmacen").ToString.ToEntero, dr("CveActivoFijo").ToString.ToEntero, -1, -1, dr("CveCreditoDetalle").ToString.ToEntero,
|
||||||
dr("CveActivoFijo").ToString.ToEntero, -1, -1, dr("CveCreditoDetalle").ToString.ToEntero,
|
ImporteMX:=dr("Importe").ToString.ToDecimal * -1, ImporteME:=dr("Importe").ToString.ToDecimal * -1, CveTipoGasto:=dr("CveTipoGasto").ToString.ToEntero, CveClasificacion:=dr("CveClasificacion").ToString.ToEntero,
|
||||||
ImporteMX:=dr("Importe").ToString.ToDecimal * -1, ImporteME:=dr("Importe").ToString.ToDecimal * -1,
|
PorcentajeImpuesto:=dr("PorcentajeImpuesto").ToString.ToDecimal, CveOCDetalle:=dr("CveOCDetalle").ToString.ToEntero,
|
||||||
CveTipoGasto:=dr("CveTipoGasto").ToString.ToEntero, CveClasificacion:=dr("CveClasificacion").ToString.ToEntero,
|
CveCompraAmortizacion:=dr("CveCompraAmortizacion").ToString.ToEntero) Then
|
||||||
PorcentajeImpuesto:=dr("PorcentajeImpuesto").ToString.ToDecimal,
|
|
||||||
CveOCDetalle:=dr("CveOCDetalle").ToString.ToEntero) Then
|
|
||||||
ErrorCancelar = True
|
ErrorCancelar = True
|
||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
@@ -13860,64 +13875,53 @@ Partial Class Compras_Compras
|
|||||||
Else
|
Else
|
||||||
ErrorCancelar = True
|
ErrorCancelar = True
|
||||||
End If
|
End If
|
||||||
End If
|
Else
|
||||||
End If
|
If CvePrePoliza > 0 Then
|
||||||
|
If ObjContabilidad.GetPrePolizasDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) Then
|
||||||
|
dt = ObjContabilidad.DtResultados.FiltraParametros("ISNULL(CveMovimientoAlmacen,0) <=0")
|
||||||
|
|
||||||
'MES ACTUAL
|
CvePrePolizaNueva = ObjContabilidad.AddPrePolizas("Compras/Cancelar", dt.Rows(0)("CvePlantillaPoliza").ToString.ToEntero, dt.Rows(0)("Cargos").ToString.ToDouble * -1, dt.Rows(0)("Abonos").ToString.ToDouble * -1, dt.Rows(0)("CveMoneda").ToString.ToEntero, TxtFechaCancelacion.Text.ToDate, String.Format("Cancelación: {0}", dt.Rows(0)("Concepto").ToString), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||||
Else
|
If CvePrePolizaNueva > 0 Then
|
||||||
|
For Each dr As DataRow In dt.Rows
|
||||||
'LIMPIA POLIZA PONIENDO IMPORTE EN CEROS
|
If Not ObjContabilidad.AddPrePolizasDetalle(CvePrePolizaNueva, CBool(dr("TipoMovto").ToString), dr("Importe").ToString.ToDecimal * -1, dr("Referencia").ToString, dr("CveConceptoContable").ToString.ToEntero,
|
||||||
If IdPoliza > 0 AndAlso ObjAC IsNot Nothing Then
|
dr("Concepto").ToString, TxtFechaCancelacion.Text.ToDate, dr("IdCtaContable").ToString.ToEntero, dr("IdSegmentoNegocio").ToString.ToEntero, dr("CveIE").ToString.ToEntero,
|
||||||
If ObjAC.GetPoliza(IdPoliza, -1, -1, -1, -1) AndAlso ObjAC.DtResultados.Rows.Count > 0 Then
|
dr("CveVenta").ToString.ToEntero, dr("CveCompra").ToString.ToEntero, dr("CveSubProyecto").ToString.ToEntero, dr("CveCliente").ToString.ToEntero, dr("CveProveedor").ToString.ToEntero, dr("CvePersonal").ToString.ToEntero,
|
||||||
dt = ObjAC.DtResultados
|
dr("CveMovimientoAlmacen").ToString.ToEntero,
|
||||||
|
dr("CveActivoFijo").ToString.ToEntero, -1, -1, dr("CveCreditoDetalle").ToString.ToEntero,
|
||||||
For Each dr As DataRow In dt.Rows
|
ImporteMX:=dr("Importe").ToString.ToDecimal * -1, ImporteME:=dr("Importe").ToString.ToDecimal * -1,
|
||||||
If Not ObjAC.UpdateMovimiento(dr("Id").ToString.ToEntero, dr("IdCuenta").ToString.ToEntero, dr("TipoMovto").ToString = "1", 0, dr("Referencia").ToString, dr("Concepto").ToString, dr("IdSegNeg").ToString.ToEntero, dr("Fecha").ToString.ToDate) Then
|
CveTipoGasto:=dr("CveTipoGasto").ToString.ToEntero, CveClasificacion:=dr("CveClasificacion").ToString.ToEntero,
|
||||||
ErrorCancelar = True : Exit For
|
PorcentajeImpuesto:=dr("PorcentajeImpuesto").ToString.ToDecimal,
|
||||||
End If
|
CveOCDetalle:=dr("CveOCDetalle").ToString.ToEntero) Then
|
||||||
Next
|
ErrorCancelar = True
|
||||||
|
Exit For
|
||||||
'AJUSTA POLIZA
|
End If
|
||||||
If Not ErrorCancelar Then
|
Next
|
||||||
If Not ObjAC.AjustaPoliza(IdPoliza) Then
|
Else
|
||||||
|
ErrorCancelar = True
|
||||||
|
End If
|
||||||
|
Else
|
||||||
ErrorCancelar = True
|
ErrorCancelar = True
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
Else
|
If Not ErrorCancelar Then
|
||||||
|
If Not ObjCompras.CancelarCompraOC(CveCompra, UsuarioActual.CveEmpresa) Then
|
||||||
ErrorCancelar = True
|
ErrorCancelar = True
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
'LIMPIA PRE-POLIZA PONIENDO IMPORTE EN CEROS
|
'CANCELA COMPRA
|
||||||
If CvePrePoliza > 0 Then
|
If Not ErrorCancelar Then
|
||||||
If ObjContabilidad.GetPrePolizasDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) Then
|
If Not ObjCompras.UpdateEstatusCompra(CveCompra, -2) Then
|
||||||
dt = ObjContabilidad.DtResultados
|
|
||||||
|
|
||||||
For Each dr As DataRow In dt.Rows
|
|
||||||
If Not ObjContabilidad.UpdatePrePolizasDetalle(dr("CvePrePolizaDetalle").ToString.ToEntero, dr("Concepto").ToString, dr("CveSubProyecto").ToString.ToEntero, dr("IdCtaContable").ToString.ToEntero, CBool(dr("TipoMovto").ToString), 0, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
|
|
||||||
ErrorCancelar = True : Exit For
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
Else
|
|
||||||
ErrorCancelar = True
|
ErrorCancelar = True
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
Catch ex As Exception
|
||||||
End If
|
OnError("Ocurrió un error al cancelar la compra", ex)
|
||||||
|
ErrorCancelar = True
|
||||||
If Not ErrorCancelar Then
|
End Try
|
||||||
If Not ObjCompras.CancelarCompraOC(CveCompra, UsuarioActual.CveEmpresa) Then
|
|
||||||
ErrorCancelar = True
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
'CANCELA COMPRA
|
|
||||||
If Not ErrorCancelar Then
|
|
||||||
If Not ObjCompras.UpdateEstatusCompra(CveCompra, -2) Then
|
|
||||||
ErrorCancelar = True
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not ErrorCancelar Then
|
If Not ErrorCancelar Then
|
||||||
If ObjAC IsNot Nothing Then
|
If ObjAC IsNot Nothing Then
|
||||||
@@ -20451,6 +20455,7 @@ Partial Class Compras_Compras
|
|||||||
nRowAgrupado("PS") = psPSCodigo
|
nRowAgrupado("PS") = psPSCodigo
|
||||||
nRowAgrupado("CveClasificacion") = psCveClasificacion
|
nRowAgrupado("CveClasificacion") = psCveClasificacion
|
||||||
nRowAgrupado("Clasificacion") = psClasificacion
|
nRowAgrupado("Clasificacion") = psClasificacion
|
||||||
|
nRowAgrupado("CveTipoPS") = rowPS("CveTipoPS").ToString
|
||||||
|
|
||||||
nRowAgrupado("IVAPorcentaje") = drIva("IVAPorcentaje")
|
nRowAgrupado("IVAPorcentaje") = drIva("IVAPorcentaje")
|
||||||
nRowAgrupado("RetIVAPorcentaje") = drIva("RetIVAPorcentaje")
|
nRowAgrupado("RetIVAPorcentaje") = drIva("RetIVAPorcentaje")
|
||||||
@@ -20514,6 +20519,7 @@ Partial Class Compras_Compras
|
|||||||
dRow91_5("PS") = psPSCodigo
|
dRow91_5("PS") = psPSCodigo
|
||||||
dRow91_5("CveClasificacion") = psCveClasificacion
|
dRow91_5("CveClasificacion") = psCveClasificacion
|
||||||
dRow91_5("Clasificacion") = psClasificacion
|
dRow91_5("Clasificacion") = psClasificacion
|
||||||
|
dRow91_5("CveTipoPS") = rowPS("CveTipoPS").ToString
|
||||||
|
|
||||||
dRow91_5("Consec") = Consec + 1
|
dRow91_5("Consec") = Consec + 1
|
||||||
dRow91_5("PU") = dRow91_5("PU").ToString.ToDecimal * Mul91_5
|
dRow91_5("PU") = dRow91_5("PU").ToString.ToDecimal * Mul91_5
|
||||||
@@ -20535,6 +20541,12 @@ Partial Class Compras_Compras
|
|||||||
Consec = Consec + 2
|
Consec = Consec + 2
|
||||||
Next
|
Next
|
||||||
DTProtateo.AcceptChanges()
|
DTProtateo.AcceptChanges()
|
||||||
|
'recorrer
|
||||||
|
If CveCompra > 0 Then
|
||||||
|
For Each dbrow As DataRow In TmpDT.Rows
|
||||||
|
ClavesBorradas.Add(dbrow("CveCompraDetalle").ToString.ToEntero)
|
||||||
|
Next
|
||||||
|
End If
|
||||||
TmpDT = DTProtateo
|
TmpDT = DTProtateo
|
||||||
|
|
||||||
BtnProrateoDeducible.Visible = False
|
BtnProrateoDeducible.Visible = False
|
||||||
|
|||||||
Reference in New Issue
Block a user