-- devolución con descuento por RNC.
This commit is contained in:
@@ -1524,7 +1524,7 @@
|
||||
</div>
|
||||
|
||||
<br />
|
||||
<asp:GridView ID="GVDevolucion" runat="server" DataKeyNames="CveMovimientoDetalle,CveAlmacen,Total,PU,Cantidad,CvePS,CveUM,UM,CveClasificacion,Clasificacion,PS,CveTipoPS,PUExtranjero" ShowFooter="true" GridLines="None" AutoGenerateColumns="false" EmptyDataText="Aun no hay registros." ShowHeaderWhenEmpty="True" Width="100%" CssClass="table table-striped table-hover Widthall">
|
||||
<asp:GridView ID="GVDevolucion" runat="server" DataKeyNames="CveMovimientoDetalle,CveAlmacen,Total,PU,Cantidad,CvePS,CveUM,UM,CveClasificacion,Clasificacion,CodigoPS,CveTipoPS,PUExtranjero" ShowFooter="true" GridLines="None" AutoGenerateColumns="false" EmptyDataText="Aun no hay registros." ShowHeaderWhenEmpty="True" Width="100%" CssClass="table table-striped table-hover Widthall">
|
||||
<Columns>
|
||||
<asp:TemplateField HeaderText="Cantidad" ItemStyle-Width="60px" ItemStyle-HorizontalAlign="Right">
|
||||
<ItemTemplate>
|
||||
|
||||
@@ -1439,12 +1439,18 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
|
||||
If DdlTipoComprobante.SelectedValue = "NC" Then
|
||||
'paneldevolucion.Visible = True
|
||||
Pnlalmaceninventarios.Visible = False
|
||||
'cargaddldevoluciones(CveProveedor, TxtSubTotal2.Text.ToDouble)
|
||||
InicializaAplicaNCFact()
|
||||
DivReembolso.Visible = False
|
||||
RBLPago.Items(2).Enabled = False
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then
|
||||
ConfiguraseleccionRNC()
|
||||
Else
|
||||
InicializaAplicaNCFact()
|
||||
End If
|
||||
'paneldevolucion.Visible = True
|
||||
'cargaddldevoluciones(CveProveedor, TxtSubTotal2.Text.ToDouble)
|
||||
|
||||
End If
|
||||
|
||||
If DdlTipoComprobante.SelectedValue = "DEV" Then
|
||||
@@ -1579,7 +1585,6 @@ Partial Class Compras_Compras
|
||||
'RFVSubProyecto.Enabled = True
|
||||
End If
|
||||
|
||||
|
||||
'VALIDA Usuario TIPO REMESA
|
||||
If UsuarioActual.TienePermisoProceso(108) Then
|
||||
RBLPago.Enabled = False
|
||||
@@ -1672,10 +1677,6 @@ Partial Class Compras_Compras
|
||||
DdlTipoComprobante.SelectedValueExist("DEV")
|
||||
End If
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(574).ToEntero = 1 AndAlso DdlTipoComprobante.SelectedValue = "NC" Then
|
||||
ConfiguraseleccionRemisionNotaCredito()
|
||||
End If
|
||||
|
||||
If Not CveCompra > 0 Then
|
||||
LnkProrrateoGasolina.Visible = True
|
||||
InicializaDTProrrateoGasolina()
|
||||
@@ -1791,7 +1792,7 @@ Partial Class Compras_Compras
|
||||
|
||||
'End Sub
|
||||
|
||||
Private Sub ConfiguraseleccionRemisionNotaCredito()
|
||||
Private Sub ConfiguraseleccionRNC()
|
||||
|
||||
Dim AutoSelRNC As Boolean = False
|
||||
DdlTipoComprobante_SelectedIndexChanged(Nothing, Nothing)
|
||||
@@ -2011,8 +2012,10 @@ Partial Class Compras_Compras
|
||||
SubTotalConceptos = TmpDT.SUMD("Total").RoundSQL
|
||||
|
||||
If Not TmpDT.Columns.Contains("Amortizacion") Then TmpDT.Columns.Add("Amortizacion", GetType(Decimal))
|
||||
If Not TmpDT.Columns.Contains("AplicaSerie") Then TmpDT.Columns.Add(New DataColumn("AplicaSerie", GetType(Boolean)) With {.DefaultValue = False})
|
||||
If Not TmpDT.Columns.Contains("AplicaLote") Then TmpDT.Columns.Add(New DataColumn("AplicaLote", GetType(Boolean)) With {.DefaultValue = False})
|
||||
If Not TmpDT.Columns.Contains("AplicaCaducidad") Then TmpDT.Columns.Add(New DataColumn("AplicaCaducidad", GetType(Boolean)) With {.DefaultValue = False})
|
||||
If Not TmpDT.Columns.Contains("Serie") Then TmpDT.Columns.Add("Serie", GetType(String))
|
||||
If Not TmpDT.Columns.Contains("Lote") Then TmpDT.Columns.Add("Lote", GetType(String))
|
||||
If Not TmpDT.Columns.Contains("FechaCaducidad") Then TmpDT.Columns.Add("FechaCaducidad", GetType(Date))
|
||||
|
||||
@@ -2121,7 +2124,10 @@ Partial Class Compras_Compras
|
||||
DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("DEV"))
|
||||
DdlTipoCompra.Items.Remove(DdlTipoCompra.Items.FindByValue("6"))
|
||||
DdlTipoCompra.Items.Remove(DdlTipoCompra.Items.FindByValue("11"))
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then DdlTipoCompra.Items.Add(New ListItem("Recolección", "14"))
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
|
||||
DdlTipoCompra.Items.Add(New ListItem("Recolección", "14"))
|
||||
DdlTipoCompra.Items.Add(New ListItem("Apoyo sin virtual", "16"))
|
||||
End If
|
||||
Case "E"
|
||||
DdlTipoComprobante.SelectedValue = "NC"
|
||||
DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Fac"))
|
||||
@@ -2841,6 +2847,10 @@ Partial Class Compras_Compras
|
||||
CvePrePoliza = dr("CvePrePoliza").ToString.ToEntero
|
||||
EstatusAlmacen = dr("EstatusAlmacen").ToString.ToEntero
|
||||
DdlTipoCompra.SelectedValueExist(dr("CveTipoCompra"))
|
||||
If DdlTipoCompra.SelectedValue = "16" Then
|
||||
DdlTipoCompra.Items.Add(New ListItem("Apoyo sin virtual", "16"))
|
||||
DdlTipoCompra.SelectedValue = dr("CveTipoCompra").ToString
|
||||
End If
|
||||
TipoCompraOriginal = dr("CveTipoCompra").ToString.ToEntero
|
||||
CveTipoConcepto = dr("CveTipoConcepto").ToString.ToEntero
|
||||
ChkEsNoDeducible.Checked = dr("NoDeducible").ToString.ToEntero > 0
|
||||
@@ -5559,12 +5569,15 @@ Partial Class Compras_Compras
|
||||
Dim TmpDr As DataRow = TmpDT.Select($"Consec = {Row("Consec").ToString}")(0)
|
||||
TmpDr("CveCompraDetalle") = ObjCompras.CveCompraDetalle
|
||||
|
||||
' Si no es un movimiento de almacen va a tronar
|
||||
Try
|
||||
Dim InvDr As DataRow = DtInv.Select($"Consec = {Row("Consec").ToString}")(0)
|
||||
InvDr("CveCompraDetalle") = ObjCompras.CveCompraDetalle
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
Dim drs As DataRow() = DtInv.Select($"Consec = {Row("Consec").ToString}")
|
||||
If drs.Count > 0 Then drs(0)("CveCompraDetalle") = ObjCompras.CveCompraDetalle
|
||||
|
||||
'' Si no es un movimiento de almacen va a tronar
|
||||
'Try
|
||||
' Dim InvDr As DataRow = DtInv.Select($"Consec = {Row("Consec").ToString}")(0)
|
||||
' InvDr("CveCompraDetalle") = ObjCompras.CveCompraDetalle
|
||||
'Catch ex As Exception
|
||||
'End Try
|
||||
|
||||
End If
|
||||
|
||||
@@ -6540,7 +6553,6 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
AlmacenSoloExistencia = True
|
||||
End If
|
||||
|
||||
Dr.AcceptChanges()
|
||||
Next
|
||||
End If
|
||||
@@ -6583,7 +6595,6 @@ Partial Class Compras_Compras
|
||||
Dim CvePrePoliza2Almacen As Integer = ObjConta.AddPrePolizas("Compras/Registrar/Almacen", If(EsContado And CvePlantillaPrePoliza = 1, 2, CvePlantillaPrePoliza), ImporteCompra, TxtTotal.Text.ToDouble, DdlMoneda.SelectedValue.ToEntero, NowADS(), ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo:=FolioFijo, ReglaFolioPoliza:=ObjCompras.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, DdlTipoTransaccionCaja.SelectedValue, UsuarioActual.CveEmpresa), CveTipoPoliza:=ObjConta.ObtenerTipoPoliza(DdlTipoTransaccion.SelectedValue, DdlTipoTransaccionCaja.SelectedValue, UsuarioActual.CveEmpresa))
|
||||
|
||||
If CvePrePoliza2Almacen > 0 Then
|
||||
|
||||
Dim ImpPrepoliza As Decimal = 0D
|
||||
Dim ImpPrepolizaMN As Decimal = 0D
|
||||
|
||||
@@ -6604,16 +6615,13 @@ Partial Class Compras_Compras
|
||||
Else
|
||||
ErrorPrepoliza = True
|
||||
End If
|
||||
|
||||
Else
|
||||
'SI ES GASTO CON ALMACEN NO DEBE CONTABILIZAR CONCEPTO 68
|
||||
If CveMovimientoInventario > 0 AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMN.RoundSQL(2), importeMN.RoundSQL(2), 68, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveMovimientoAlmacen:=CveMovimientoInventario, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, Contabilizable:=ContabilizableAlmacen) Then
|
||||
ErrorPrepoliza = True
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
'SI ES GASTO CON ALMACEN REGISTRA EL CONCEPTO 95
|
||||
If DdlTipoCompra.SelectedValue = "10" Or EntradaComoGastoConAlmacen Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMN.RoundSQL(2), importeMN.RoundSQL(2), 95, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveMovimientoAlmacen:=CveMovimientoInventario, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, Contabilizable:=False) Then
|
||||
@@ -6831,7 +6839,7 @@ Partial Class Compras_Compras
|
||||
|
||||
If RegistraConcepto225 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(AplicaCostoIndirecto,0) <> 1 And ISNULL(CveTipoPS,0) = 2").ToString.ToDecimal
|
||||
importeMovimiento = TmpDT.SUM("Total") '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(AplicaCostoIndirecto,0) <> 1 And ISNULL(CveTipoPS,0) = 2").ToString.ToDecimal
|
||||
importeMN = importeMovimiento * tipoCambioActual * Multiplicador
|
||||
|
||||
'no es necesario, ya se está interpretandoe l usado como producto
|
||||
@@ -6851,8 +6859,6 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
|
||||
Concepto = $"{NombreProveedor} {TxtSerie.Text} - {TxtFolio.Text}"
|
||||
|
||||
|
||||
If importeMovimiento > 0 Or TxtTotal.Text.ToDecimal = 0 Then
|
||||
RegistroCuentaPuente = True
|
||||
Dim ImporteTransito As Decimal = 0
|
||||
@@ -6870,8 +6876,6 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
|
||||
Dim importeMNTemp As Decimal = 0
|
||||
Dim CveCompraAmortizacion As Integer = -1
|
||||
|
||||
@@ -6902,7 +6906,6 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
'si se marca que no se va a recibir, falta validación
|
||||
If Not ErrorMovInv AndAlso Not ObjCompras.UpdateEstatusAlmacen(CveCompra, 1, UsuarioActual.CveUsuario) Then
|
||||
ErrorMovInv = True
|
||||
@@ -6923,20 +6926,28 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
|
||||
|
||||
Dim DiferenciaDevolucion As Decimal = If(DdlMoneda.SelectedValue.ToEntero <> 1, (importeMovimiento * TxtTC.Text.ToDecimal), importeMovimiento) - TotalRealDevolucion
|
||||
|
||||
If TotalRealDevolucion <> 0 Then
|
||||
|
||||
Dim tCveCompra As Integer = CveCompra
|
||||
Dim tCveCompraAmortizacion As Integer = -1
|
||||
If Math.Abs(DiferenciaDevolucion) > 0 Then
|
||||
Dim tMovto As Boolean = False
|
||||
Dim tConceptoDiferencia As Integer = 69
|
||||
If UsuarioActual.CveEmpresa = 119 Then
|
||||
tMovto = True
|
||||
Else
|
||||
DiferenciaDevolucion = -DiferenciaDevolucion
|
||||
End If
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tMovto, DiferenciaDevolucion, DiferenciaDevolucion, 69, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteME:=If(tipoCambioActual = 1, 0, DiferenciaDevolucion), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza, CveSubProyecto:=tCveSubProyecto, CveClasificacion:=tCveClasif) Then
|
||||
If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then ' las devoluciones, que tengan descuento por rnc, debe de descontar del saldo de la factura aplicada
|
||||
tConceptoDiferencia = 272
|
||||
tCveCompraAmortizacion = tCveCompra
|
||||
If ObjConta.GetPrePolizasDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) Then
|
||||
tCveCompra = ObjConta.DtResultados.FiltroPrimeroValor("CveCompraAmortizacion", "CveConceptoContable = 60").ToEntero 'a aplicación de la nc
|
||||
End If
|
||||
End If
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tMovto, DiferenciaDevolucion, DiferenciaDevolucion, tConceptoDiferencia, Referencia, Concepto, CveCompra:=tCveCompra, CveCompraAmortizacion:=tCveCompraAmortizacion, CveProveedor:=CveProveedorConcepto, ImporteME:=If(tipoCambioActual = 1, 0, DiferenciaDevolucion), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza, CveSubProyecto:=tCveSubProyecto, CveClasificacion:=tCveClasif) Then
|
||||
ErrorPrepoliza = True
|
||||
End If
|
||||
End If
|
||||
@@ -7014,8 +7025,6 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
End If
|
||||
|
||||
'ChkNCInvNC
|
||||
|
||||
If Not RegistroCuentaPuente AndAlso Not ChkNCInvNC.Checked Then
|
||||
'GASTO
|
||||
If UsuarioActual.CveEmpresa = 119 Then
|
||||
@@ -7040,20 +7049,7 @@ Partial Class Compras_Compras
|
||||
If AgregaMercanciaInventario Then
|
||||
DT = DT.FiltraParametros("ISNULL(CveTipoPS,0) <> 2")
|
||||
End If
|
||||
|
||||
Dim DTDistinct As DataTable = DT.Copy
|
||||
'If UsuarioActual.Empresa.Funcionalidad(126) = "1" Then
|
||||
' For Each drowdis As DataRow In DTDistinct.Rows
|
||||
' If drowdis("CveTipoGasto").ToString = "" Then
|
||||
' drowdis("CveTipoGasto") = 0
|
||||
' End If
|
||||
' If drowdis("TipoGasto").ToString.Trim = "" Then
|
||||
' drowdis("TipoGasto") = "ND"
|
||||
' End If
|
||||
' Next
|
||||
' DTDistinct = DTDistinct.FiltraParametros("ISNULL(TipoAF, 0) <> 2", "", {"CveClasificacion", "Clasificacion", "SubProyecto", "CveSubProyecto", "CveTipoGasto", "TipoGasto"})
|
||||
'Else
|
||||
|
||||
|
||||
For Each drowdis As DataRow In DTDistinct.Rows
|
||||
If drowdis("CveTipoGasto").ToString = "" Then
|
||||
@@ -7258,7 +7254,7 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
Next
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then
|
||||
If UsuarioActual.Empresa.Funcionalidad(574) = "1" AndAlso DdlTipoCompra.SelectedValue = "15" Then
|
||||
Dim TotalSaldo As Decimal = TxtTotal.Text.ToDecimal
|
||||
|
||||
For Each gvRow As GridViewRow In GvRNC.Rows
|
||||
@@ -10918,17 +10914,17 @@ Partial Class Compras_Compras
|
||||
|
||||
TmpDT.Columns.Add("DifPSSat", GetType(Integer))
|
||||
|
||||
|
||||
TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer))
|
||||
TmpDT.Columns.Add("CveCultivoCuadroDetalle", GetType(Integer))
|
||||
TmpDT.Columns.Add("TemporadaCuadro", GetType(String))
|
||||
|
||||
TmpDT.Columns.Add("AplicaSerie", GetType(Boolean))
|
||||
TmpDT.Columns.Add("AplicaLote", GetType(Boolean))
|
||||
TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean))
|
||||
TmpDT.Columns.Add("Serie", GetType(String))
|
||||
TmpDT.Columns.Add("Lote", GetType(String))
|
||||
TmpDT.Columns.Add("FechaCaducidad", GetType(Date))
|
||||
|
||||
|
||||
TmpDTOriginal = New DataTable
|
||||
TmpDTOriginal.Columns.Add("Consec", GetType(Integer))
|
||||
TmpDTOriginal.Columns.Add("Cantidad", GetType(Decimal))
|
||||
@@ -11038,8 +11034,10 @@ Partial Class Compras_Compras
|
||||
TmpDTOriginal.Columns.Add("CveCultivoCuadroDetalle", GetType(Double))
|
||||
TmpDTOriginal.Columns.Add("TemporadaCuadro", GetType(String))
|
||||
|
||||
TmpDTOriginal.Columns.Add("AplicaSerie", GetType(Boolean))
|
||||
TmpDTOriginal.Columns.Add("AplicaLote", GetType(Boolean))
|
||||
TmpDTOriginal.Columns.Add("AplicaCaducidad", GetType(Boolean))
|
||||
TmpDTOriginal.Columns.Add("Serie", GetType(String))
|
||||
TmpDTOriginal.Columns.Add("Lote", GetType(String))
|
||||
TmpDTOriginal.Columns.Add("FechaCaducidad", GetType(Date))
|
||||
|
||||
@@ -13876,9 +13874,14 @@ Partial Class Compras_Compras
|
||||
'si no esta vinculado a nc simplemente me lo brinco
|
||||
If realizadevolucion Then
|
||||
|
||||
'si el subtotal es iwal a la nc lo guardo si no marco error
|
||||
If subtotal > subtotaldevolucion - 1 AndAlso subtotal < subtotaldevolucion + 1 Then
|
||||
|
||||
'si el subtotal es igual a la nc lo guardo si no marco error
|
||||
Dim tTolerancia As Decimal = 0
|
||||
Dim tAjustaUltimo As Boolean = True
|
||||
If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then
|
||||
tTolerancia = Math.Abs(TxtSubTotal2.Text.ToDecimal - subtotaldevolucion)
|
||||
tAjustaUltimo = False
|
||||
End If
|
||||
If Math.Abs(subtotal - subtotaldevolucion) <= tTolerancia Then
|
||||
CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacen, 13, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompra, -1, -1, -1, Modulo:="Comp/G1")
|
||||
If CveMovimientoEntrada <= 0 Then
|
||||
ErrorMovInv = True
|
||||
@@ -13894,17 +13897,16 @@ Partial Class Compras_Compras
|
||||
PU = Dr.DataKey("PU").ToString.ToDecimal
|
||||
PUExtranjero = Dr.DataKey("PUExtranjero").ToString.ToDecimal
|
||||
ii += 1
|
||||
If CantidadRenglones = ii Then
|
||||
If CantidadRenglones = ii AndAlso tAjustaUltimo Then
|
||||
Dim dif As Decimal = subtotal - Acumulado
|
||||
PU = (((Dr.FCTextBox("TxtCantidad").Text.ToDecimal * Dr.DataKey("PU").ToString.ToDecimal)) + dif) / Dr.FCTextBox("TxtCantidad").Text.ToDecimal
|
||||
PU = (((Dr.FCTextBox("TxtCantidad").Text.ToDecimal * Dr.DataKey("PU").ToDecimal)) + dif) / Dr.FCTextBox("TxtCantidad").Text.ToDecimal
|
||||
End If
|
||||
If ObjInventario.GetExistenciasProducto(Dr.DataKey("CvePS").ToString.ToEntero, Dr.DataKey("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, CveAlmacen,
|
||||
FechaMovto:=TxtFecha.Text.ToDateTime.AddHours(NowADS().Hour).AddMinutes(NowADS().Minute).AddSeconds(NowADS().Second).ToString("yyyy/MM/dd HH:mm")) Then
|
||||
|
||||
Dim tFechaExistencia As DateTime = TxtFecha.Text.ToDateTime.AddHours(NowADS().Hour).AddMinutes(NowADS().Minute).AddSeconds(NowADS().Second)
|
||||
If ObjInventario.GetExistenciasProducto(Dr.DataKey("CvePS").ToEntero, Dr.DataKey("CveUM").ToEntero, UsuarioActual.CveEmpresa, CveAlmacen,
|
||||
FechaMovto:=tFechaExistencia.ToString("yyyy/MM/dd HH:mm")) Then
|
||||
Dim Existencia As Decimal = ObjInventario.DtResultados.FiltroPrimeroValor("ExistenciaFinal", String.Format("CveAlmacen = {0}", CveAlmacen)).ToDecimal
|
||||
|
||||
If Dr.FCTextBox("TxtCantidad").Text.ToDouble > Existencia Then
|
||||
Alert($"No hay existencia suficiente del producto {Dr.DataKey("PS").ToString} en la fecha:{TxtFecha.Text}", TipoMensaje.MsgAdvertencia)
|
||||
Alert($"No hay existencia suficiente del producto: <br/> - {Dr.DataKey("CodigoPS")} en la fecha: {tFechaExistencia.ToString("yyyy/MM/dd HH:mm")}", TipoMensaje.MsgAdvertencia)
|
||||
ErrorMovInv = True
|
||||
Exit For
|
||||
End If
|
||||
@@ -14003,7 +14005,6 @@ Partial Class Compras_Compras
|
||||
Dim subtotaldevolucion As Decimal = 0
|
||||
Dim realizadevolucion As Boolean = False
|
||||
|
||||
|
||||
'Calculo los subtotales para comparar con la NC
|
||||
Dim cantidad As Decimal = 0D
|
||||
|
||||
@@ -14018,11 +14019,13 @@ Partial Class Compras_Compras
|
||||
|
||||
'si no esta vinculado a nc simplemente me lo brinco
|
||||
If realizadevolucion Then
|
||||
'si el subtotal es iwal a la nc lo guardo si no marco error
|
||||
If TxtSubTotal2.Text.ToDouble > subtotaldevolucion - 1 AndAlso TxtSubTotal2.Text.ToDouble < subtotaldevolucion + 1 Then
|
||||
|
||||
'si el subtotal es igual a la nc lo guardo si no marco error
|
||||
'si tiene FNC574, se ajustará la diferencia a un concepto como RNC
|
||||
Dim tTolerancia As Decimal = 1
|
||||
'si tiene la funcionalidad ajustará en un producto la diferencia
|
||||
If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then tTolerancia = Math.Abs(TxtSubTotal2.Text.ToDecimal - subtotaldevolucion)
|
||||
If Math.Abs(TxtSubTotal2.Text.ToDecimal - subtotaldevolucion) <= tTolerancia Then
|
||||
VinculaDevolucion()
|
||||
|
||||
Else
|
||||
Alert("El Total de la NC debe ser igual al total de la devolucion", TipoMensaje.MsgAdvertencia)
|
||||
End If
|
||||
@@ -14053,15 +14056,17 @@ Partial Class Compras_Compras
|
||||
Dim IVAPorcentajeCompra As Decimal = Math.Round((IVACompra / SubTotalCompra), 2)
|
||||
Dim Contador As Integer = 0
|
||||
Dim Consec As Integer = 0
|
||||
|
||||
Dim tAjusteUltimo As Boolean = True
|
||||
For Each gvr As GridViewRow In GVDevolucion.Rows
|
||||
If gvr.FCTextBox("TxtCantidad").Text.ToDecimal > 0 Then
|
||||
Contador += 1
|
||||
End If
|
||||
Next
|
||||
Dim CveSubProyectoContrato As String = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=DdlAlmacenDevolucion.SelectedValue.ToEntero).FiltroPrimeroValor("CveSubProyecto")
|
||||
Dim SubProyecto As String = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveSubProyecto:=CveSubProyectoContrato.ToEntero).FiltroPrimeroValor("SubProyecto")
|
||||
Dim Total As Decimal = 0
|
||||
Dim CveSubProyectoDev As String = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=DdlAlmacenDevolucion.SelectedValue.ToEntero).FiltroPrimeroValor("CveSubProyecto")
|
||||
Dim SubProyecto As String = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveSubProyecto:=CveSubProyectoDev.ToEntero).FiltroPrimeroValor("SubProyecto")
|
||||
'Iteramos el GridView de la OC
|
||||
If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then tAjusteUltimo = False
|
||||
For Each gvr As GridViewRow In GVDevolucion.Rows
|
||||
If gvr.FCTextBox("TxtCantidad").Text.ToDecimal > 0 Then
|
||||
|
||||
@@ -14073,7 +14078,7 @@ Partial Class Compras_Compras
|
||||
Dim UM As String = gvr.DataKey("UM").ToString
|
||||
Dim CveClasificacion As Integer = gvr.DataKey("CveClasificacion").ToString.ToEntero
|
||||
Dim Clasificacion As String = gvr.DataKey("Clasificacion").ToString
|
||||
Dim PS As String = gvr.DataKey("PS").ToString
|
||||
Dim PS As String = gvr.DataKey("CodigoPS").ToString
|
||||
Dim CveTipoPS As Integer = gvr.DataKey("CveTipoPS").ToString.ToEntero
|
||||
|
||||
Dim CveProyecto As String = "-1"
|
||||
@@ -14081,14 +14086,14 @@ Partial Class Compras_Compras
|
||||
Dim Proyecto As String = "Seleccione"
|
||||
Dim Obs As String = ""
|
||||
Dim PU As Decimal = gvr.DataKey("PU").ToString.ToDecimal
|
||||
Dim Total As Decimal = gvr.FCTextBox("TxtTotalDevolucion").Text.ToDecimal
|
||||
Total = gvr.FCTextBox("TxtTotalDevolucion").Text.ToDecimal
|
||||
Dim IVA As Decimal = IVAPorcentajeCompra 'Math.Round(Total * IVAPorcentajeCompra, 2)
|
||||
Dim Descuento As Decimal = 0
|
||||
|
||||
Acumulado += (PU * Cantidad)
|
||||
Consec += 1
|
||||
|
||||
If Consec = Contador Then 'SubTotalCompra < Acumulado Then
|
||||
If Consec = Contador AndAlso tAjusteUltimo Then 'SubTotalCompra < Acumulado Then
|
||||
'ajusta el valor
|
||||
Dim dif As Decimal = SubTotalCompra - Acumulado
|
||||
If dif <> 0 Then
|
||||
@@ -14096,10 +14101,26 @@ Partial Class Compras_Compras
|
||||
Total = Cantidad * PU
|
||||
End If
|
||||
End If
|
||||
AddPS(Cantidad, CveUM, UM, CveClasificacion, Clasificacion, CvePS, PS, CveTipoPS, CveSubProyectoContrato, SubProyecto, Proyecto, CveProyecto, Obs, PU, Total, IVA, 0, 0, 0, 0, Descuento, -1, False)
|
||||
AddPS(Cantidad, CveUM, UM, CveClasificacion, Clasificacion, CvePS, PS, CveTipoPS, CveSubProyectoDev, SubProyecto, Proyecto, CveProyecto, Obs, PU, Total, IVAPorcentajeCompra, 0, 0, 0, 0, Descuento, -1, False, CveAlmacen:=DdlAlmacenDevolucion.SelectedValue.ToEntero)
|
||||
End If
|
||||
Next
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then
|
||||
Dim CvePS_RNC As Integer = UsuarioActual.Empresa.Funcionalidad(580).ToEntero
|
||||
If CvePS_RNC = 0 Then
|
||||
Alert("producto utilizado para diferencia no definido.")
|
||||
Exit Sub
|
||||
End If
|
||||
Dim PSRow As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePS_RNC).FiltroPrimero("")
|
||||
Dim PS As String = PSRow("PSCodigo").ToString
|
||||
Dim tDif As Decimal = TxtSubTotal2.Text.ToDecimal - Total
|
||||
|
||||
AddPS(1, PSRow("CveUnidadMedida").ToString.ToEntero, PSRow("UnidadMedida").ToString,
|
||||
PSRow("CveClasificacion").ToString.ToEntero, PSRow("Clasificacion").ToString, CvePS_RNC, PS, 1, CveSubProyectoDev.ToString, SubProyecto, "", "-1", "", tDif, tDif, IVAPorcentajeCompra, 0, 0, 0, 0, 0)
|
||||
|
||||
End If
|
||||
|
||||
|
||||
AddPS2()
|
||||
|
||||
BtnGuardar.Enabled = True
|
||||
@@ -14115,7 +14136,6 @@ Partial Class Compras_Compras
|
||||
|
||||
ImgClasificacion.Visible = False
|
||||
LbAgregar.Visible = False
|
||||
UpPSS.Update()
|
||||
|
||||
'CargaGvInv()
|
||||
|
||||
@@ -14137,7 +14157,6 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
GvOC1.DataBind()
|
||||
|
||||
' TmpDT = OrdenarTablas("CvePS", DTOCTemp, TmpDT)
|
||||
GvOC2.DataSource = TmpDT
|
||||
GvOC2.DataBind()
|
||||
|
||||
@@ -14491,19 +14510,13 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
End If
|
||||
|
||||
If Not TmpDT.Columns.Contains("AplicaLote") Then
|
||||
TmpDT.Columns.Add("AplicaLote", GetType(Boolean))
|
||||
End If
|
||||
If Not TmpDT.Columns.Contains("AplicaCaducidad") Then
|
||||
TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean))
|
||||
End If
|
||||
If Not TmpDT.Columns.Contains("Lote") Then
|
||||
TmpDT.Columns.Add("Lote", GetType(String))
|
||||
End If
|
||||
If Not TmpDT.Columns.Contains("FechaCaducidad") Then
|
||||
TmpDT.Columns.Add("FechaCaducidad", GetType(Date))
|
||||
End If
|
||||
If Not TmpDT.Columns.Contains("AplicaLote") Then TmpDT.Columns.Add("AplicaLote", GetType(Boolean))
|
||||
|
||||
If Not TmpDT.Columns.Contains("AplicaCaducidad") Then TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean))
|
||||
|
||||
If Not TmpDT.Columns.Contains("Lote") Then TmpDT.Columns.Add("Lote", GetType(String))
|
||||
|
||||
If Not TmpDT.Columns.Contains("FechaCaducidad") Then TmpDT.Columns.Add("FechaCaducidad", GetType(Date))
|
||||
|
||||
If ObjInventario.GetInv_ComprasMov(CveCompra, UsuarioActual.CveEmpresa) Then
|
||||
If ObjInventario.DtResultados.Rows.Count > 0 Then
|
||||
@@ -16721,7 +16734,6 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
UPCondicionesPago.Update()
|
||||
|
||||
End Sub
|
||||
@@ -18169,7 +18181,7 @@ Partial Class Compras_Compras
|
||||
Case "A" 'ADD
|
||||
|
||||
Dim SATClavePS As Integer = -1
|
||||
Dim PSRow As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPS.SelectedValue.ToEntero).FiltroPrimero("")
|
||||
Dim PSRow As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=DdlPS.SelectedValue.ToEntero).FiltroPrimero("")
|
||||
If PSRow IsNot Nothing Then
|
||||
SATClavePS = PSRow("SATClavePS").ToString.ToEntero
|
||||
End If
|
||||
@@ -18258,13 +18270,11 @@ Partial Class Compras_Compras
|
||||
Optional PSCodigo As String = "-", Optional PSDescripcion As String = "-", Optional CantidadF As Double = -1, Optional EntregaDirecta As Integer = -1, Optional OtrosGastos As Decimal = 0,
|
||||
Optional CveSATPS As Integer = -1, Optional CargaXml As Boolean = False, Optional CveTipoGasto As Integer = -1, Optional TipoGasto As String = "", Optional PorcentajeIVA As Decimal = 0,
|
||||
Optional PorcentajeIEPS As Decimal = 0, Optional PorcentajeRetIVA As Decimal = 0, Optional PorcentajeRetISR As Decimal = 0, Optional NoDeducible As Boolean = False, Optional CveContratoDetalle As Integer = -1, Optional CveCultivoCuadroDetalle As Integer = -1,
|
||||
Optional CveSATPSActualizado As Boolean = False, Optional TemporadaCuadro As String = "", Optional CodigoPS As String = "") As Integer
|
||||
Optional CveSATPSActualizado As Boolean = False, Optional TemporadaCuadro As String = "", Optional CodigoPS As String = "", Optional CveAlmacen As Integer = -1) As Integer
|
||||
|
||||
Dim Row As DataRow = Nothing
|
||||
|
||||
If Not TmpDT.Columns.Contains("CodigoPS") Then
|
||||
TmpDT.Columns.Add("CodigoPS")
|
||||
End If
|
||||
If Not TmpDT.Columns.Contains("CodigoPS") Then TmpDT.Columns.Add("CodigoPS")
|
||||
|
||||
Row = TmpDT.NewRow()
|
||||
Dim Retorno As Integer = 0
|
||||
@@ -18425,8 +18435,13 @@ Partial Class Compras_Compras
|
||||
|
||||
Row("CveContratoDetalle") = CveContratoDetalle
|
||||
|
||||
Row("AplicaSerie") = DrPS("AplicaSerie")
|
||||
Row("AplicaLote") = DrPS("AplicaLote")
|
||||
Row("AplicaCaducidad") = DrPS("AplicaCaducidad")
|
||||
|
||||
Row("CveCultivoCuadroDetalle") = CveCultivoCuadroDetalle
|
||||
Row("TemporadaCuadro") = TemporadaCuadro
|
||||
If CveAlmacen > 0 Then Row("CveAlmacen") = CveAlmacen
|
||||
|
||||
If UsuarioActual.Empresa.UsaAC Then
|
||||
Row("CveProgramaOperativo") = DdlACGeneral1.SelectedValue.ToEntero
|
||||
@@ -19430,7 +19445,7 @@ Partial Class Compras_Compras
|
||||
For Each Dr As DataRow In Dt.Rows
|
||||
Dim Total As Decimal = ObjInventario.DtResultados.FiltraParametros($"CveClasificacion = {Dr("CveClasificacion")}").SUM("Total").RoundSQL() ' * (If(EsCancelacion, -1, 1))
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaSalida, Not TipoMovtoAlmacen, Total, Total, 95, LblFolio.Text, Obs, 0, CveMovimientoAlmacen:=CveMovimientoSalida, CveClasificacion:=Dr("CveClasificacion").ToString.ToEntero, CveSubProyecto:=tCveSubProyecto, Contabilizable:=EsContabilizable) Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaSalida, Not TipoMovtoAlmacen, Total, Total, 259, LblFolio.Text, Obs, 0, CveMovimientoAlmacen:=CveMovimientoSalida, CveClasificacion:=Dr("CveClasificacion").ToString.ToEntero, CveSubProyecto:=tCveSubProyecto, Contabilizable:=EsContabilizable) Then
|
||||
Respuesta = False
|
||||
End If
|
||||
Next
|
||||
@@ -20749,6 +20764,8 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
End If
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then 'cuando es emp DIAZ
|
||||
|
||||
If DdlTipoCompra.SelectedValue = "15" Then 'Remisión de nota de crédito
|
||||
|
||||
If DdlTipoComprobante.SelectedValue = "NC" Then
|
||||
@@ -20759,6 +20776,12 @@ Partial Class Compras_Compras
|
||||
'DdlRemisionNotaCredito.SelectedValueExist(-1)
|
||||
DdlTipoCompra.SelectedValueExist(-1)
|
||||
End If
|
||||
Else
|
||||
'SE ACTIVA DE NUEVO PARA LA SELECCIÓN
|
||||
HLAplicaNCFact.Visible = True
|
||||
InicializaAplicaNCFact()
|
||||
If CveFactura > 0 Then NCSeleccionFacturasRelacionadas(UUIDSList)
|
||||
End If
|
||||
End If
|
||||
|
||||
End Sub
|
||||
@@ -22038,12 +22061,12 @@ Partial Class Compras_Compras
|
||||
Dim respuesta As Boolean = True
|
||||
Dim PorcentajeIVA As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal
|
||||
|
||||
Dim CvePS_RNC As Integer = UsuarioActual.Empresa.Funcionalidad(580).ToEntero
|
||||
Dim PSRow As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePS_RNC).FiltroPrimero("")
|
||||
Dim CvePSRNC As Integer = UsuarioActual.Empresa.Funcionalidad(580).ToEntero
|
||||
Dim PSRow As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePSRNC).FiltroPrimero("")
|
||||
Dim CveSubProyectoPrincipal As Integer = AsignarSubProyectoPrincipal()
|
||||
Dim SubProyecto As String = ""
|
||||
|
||||
If Not CvePS_RNC > 0 Then
|
||||
If Not CvePSRNC > 0 Then
|
||||
Alert("No esta definido el producto de Remisión de Nota de Crédito.", TipoMensaje.MsgAdvertencia)
|
||||
Return False
|
||||
End If
|
||||
@@ -22056,7 +22079,6 @@ Partial Class Compras_Compras
|
||||
SubProyecto = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveSubProyecto:=CveSubProyectoPrincipal).FiltroPrimeroValor("SubProyecto")
|
||||
|
||||
If PSRow IsNot Nothing Then
|
||||
|
||||
Dim CompraRNC As New ClsCompraManagerCompras(UsuarioActual) With {
|
||||
.TipoDocto = "RNC",
|
||||
.CveProveedor = CveProveedor,
|
||||
@@ -22090,7 +22112,7 @@ Partial Class Compras_Compras
|
||||
Dim IVARNC As Decimal = (Importe * PorcentajeIVA).RoundSQL(2)
|
||||
Dim TotalRNC As Decimal = If(RedondearSaldado, (Importe + IVARNC).RoundSQL(2), (Importe + IVARNC))
|
||||
|
||||
CompraRNC.ConfiguraRegistroRapido(CvePS_RNC, CveUM, UM, CveClasificacion, Clasificacion, PS, CveSubProyectoPrincipal, SubProyecto, ImporteRNC, IVARNC, TotalRNC, PorcentajeIVA, TipoCambio:=TipoCambioOriginal)
|
||||
CompraRNC.ConfiguraRegistroRapido(CvePSRNC, CveUM, UM, CveClasificacion, Clasificacion, PS, CveSubProyectoPrincipal, SubProyecto, ImporteRNC, IVARNC, TotalRNC, PorcentajeIVA, TipoCambio:=TipoCambioOriginal)
|
||||
If CompraRNC.AddCompra(sqltransaccion) Then
|
||||
Dim tImporteRNC = TotalRNC ' le agrego el importe del iva
|
||||
Dim Pago As New CompraPago
|
||||
@@ -22619,7 +22641,7 @@ Partial Class Compras_Compras
|
||||
nRow("SubTotal") = subtotalParcial.RoundSQL(4)
|
||||
|
||||
nRow("Total") = totalParcialDeseado.RoundSQL(4)
|
||||
nRow("PorcentajeIVA") = (ivaParcial / subtotalParcial).RoundSQL(4)
|
||||
nRow("PorcentajeIVA") = (ivaParcial / subtotalParcial).RoundSQL(2)
|
||||
nRow("Porcentaje") = ((totalParcialDeseado.RoundSQL(4) * 100) / TotalOriginal).RoundSQL(2)
|
||||
|
||||
nRow("RetIVAPorcentaje") = (retIvaParcial / subtotalParcial).RoundSQL(4)
|
||||
@@ -22850,7 +22872,7 @@ Public Class ClsCompraManagerCompras
|
||||
|
||||
Public Property CveMetodoPago As Integer
|
||||
Public Property MetodoPago As String
|
||||
Public Property DocumentosRelacionadosUUIDSList As List(Of String) = New List(Of String)
|
||||
Public Property DocumentosRelacionadosUUIDSList As HashSet(Of String) = New HashSet(Of String)
|
||||
Public ReadOnly Property DocumentosRelacionadosUUIDSString As String
|
||||
Get
|
||||
Return GeneraStringDoctosRelacionados()
|
||||
@@ -23069,7 +23091,7 @@ Public Class ClsCompraManagerCompras
|
||||
If TipoComprobante.ToUpper = "E" AndAlso (CFDIVersion = EnumCFDIVersion.v33 OrElse CFDIVersion = EnumCFDIVersion.v40) Then
|
||||
Dim UUIDS As String = ""
|
||||
|
||||
Dim UUIDSLista As New List(Of String)
|
||||
Dim UUIDSLista As New HashSet(Of String)
|
||||
Dim nodeCFDIRelacionados As XmlNode
|
||||
nodeCFDIRelacionados = XMLDoc.SelectSingleNode(String.Format("//{0}:CfdiRelacionados", Prefijo), namespaces)
|
||||
|
||||
@@ -23222,6 +23244,8 @@ Public Class ClsCompraManagerCompras
|
||||
|
||||
If Not TmpDT.Columns.Contains("AplicaCaducidad") Then TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean))
|
||||
|
||||
If Not TmpDT.Columns.Contains("AplicaSerie") Then TmpDT.Columns.Add("AplicaSerie", GetType(Boolean))
|
||||
|
||||
If Not TmpDT.Columns.Contains("Lote") Then TmpDT.Columns.Add("Lote", GetType(String))
|
||||
|
||||
If Not TmpDT.Columns.Contains("FechaCaducidad") Then TmpDT.Columns.Add("FechaCaducidad", GetType(Date))
|
||||
@@ -23454,7 +23478,6 @@ Public Class ClsCompraManagerCompras
|
||||
TmpDT.Columns.Add("SATClaveUnidadMedida", GetType(String))
|
||||
TmpDT.Columns.Add("CveSATPSActualizado", GetType(Integer))
|
||||
|
||||
|
||||
'Tipo de Gasto
|
||||
TmpDT.Columns.Add("CveTipoGasto", GetType(Integer))
|
||||
TmpDT.Columns.Add("TipoGasto", GetType(String))
|
||||
@@ -23462,26 +23485,23 @@ Public Class ClsCompraManagerCompras
|
||||
TmpDT.Columns.Add("ImporteSinImpuestos", GetType(Double))
|
||||
TmpDT.Columns.Add("ImporteConImpuestos", GetType(Double))
|
||||
TmpDT.Columns.Add("NoDeducible", GetType(Boolean))
|
||||
|
||||
TmpDT.Columns.Add("DifPSSat", GetType(Integer))
|
||||
|
||||
|
||||
TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer))
|
||||
TmpDT.Columns.Add("CveCultivoCuadroDetalle", GetType(Integer))
|
||||
TmpDT.Columns.Add("TemporadaCuadro", GetType(String))
|
||||
|
||||
TmpDT.Columns.Add("NoIdentificacion", GetType(String))
|
||||
|
||||
TmpDT.Columns.Add("AplicaSerie", GetType(Boolean))
|
||||
TmpDT.Columns.Add("AplicaLote", GetType(Boolean))
|
||||
TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean))
|
||||
|
||||
TmpDT.Columns.Add("Serie", GetType(String))
|
||||
TmpDT.Columns.Add("Lote", GetType(String))
|
||||
TmpDT.Columns.Add("FechaCaducidad", GetType(Date))
|
||||
|
||||
|
||||
TmpDT.AcceptChanges()
|
||||
|
||||
|
||||
End Sub
|
||||
Private Function AjustesValidacion() As Boolean
|
||||
Dim respuesta As Boolean = True
|
||||
|
||||
Reference in New Issue
Block a user