Merge branch 'master' of http://oirigoyen@192.168.10.111:8383/SIG.git
This commit is contained in:
@@ -2021,7 +2021,7 @@ Public Class ClsClientes
|
|||||||
Return Retorno
|
Return Retorno
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Function UpdateEstatusPedido(CveVenta As Integer, CveEstatusFactura As Integer, Dias As Integer, CveUsuario As Integer) As Boolean
|
Public Function UpdateEstatusPedido(CveVenta As Integer, CveEstatusFactura As Integer, Dias As Integer, CveUsuario As Integer, Optional CveRemision As Integer = -1) As Boolean
|
||||||
Dim Retorno As Boolean = False
|
Dim Retorno As Boolean = False
|
||||||
DataAdapter("PA_Vta_ClienteVentasPedidoEstatusUpdate")
|
DataAdapter("PA_Vta_ClienteVentasPedidoEstatusUpdate")
|
||||||
With SqlAdapter.SelectCommand.Parameters
|
With SqlAdapter.SelectCommand.Parameters
|
||||||
@@ -2029,6 +2029,7 @@ Public Class ClsClientes
|
|||||||
.Add("@CveEstatusFactura", SqlDbType.Int).Value = CveEstatusFactura
|
.Add("@CveEstatusFactura", SqlDbType.Int).Value = CveEstatusFactura
|
||||||
.Add("@Dias", SqlDbType.Int).Value = Dias
|
.Add("@Dias", SqlDbType.Int).Value = Dias
|
||||||
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
|
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
|
||||||
|
.Add("@CveRemision", SqlDbType.Int).Value = CveRemision
|
||||||
End With
|
End With
|
||||||
Try
|
Try
|
||||||
SqlAdapter.Fill(Data)
|
SqlAdapter.Fill(Data)
|
||||||
|
|||||||
@@ -1308,7 +1308,11 @@ Public Class ClsInventarios
|
|||||||
If Ex1.Message.Contains("50019") Then
|
If Ex1.Message.Contains("50019") Then
|
||||||
Me.OnError(" El producto no tiene existencia.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
Me.OnError(" El producto no tiene existencia.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||||
Else
|
Else
|
||||||
Me.OnError("Ocurrió un error al guardar los detalles del movimiento.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
If Ex1.Message.Contains("50021") Then
|
||||||
|
Me.OnError(" El producto ingresado previamente.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||||
|
Else
|
||||||
|
Me.OnError("Ocurrió un error al guardar los detalles del movimiento.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
@@ -1480,7 +1484,9 @@ Public Class ClsInventarios
|
|||||||
Return Retorno
|
Return Retorno
|
||||||
|
|
||||||
End Function
|
End Function
|
||||||
Public Function GetKardexAlmacenHorizontal(CvePS As Integer, FechaFin As Date, CveAlmacen As Integer, CveUnidadMedida As Integer, CveProveedor As Integer, CveTipoAlmacen As Integer, IncluyeTransitorios As Integer, CveClasificacion As Integer, CveUsuario As Integer, CveEmpresa As Integer, Optional CondicionExistencias As Integer = 0, Optional Orden As Integer = -1, Optional Marcas As String = "-1") As Boolean
|
Public Function GetKardexAlmacenHorizontal(CvePS As Integer, FechaFin As Date, CveAlmacen As Integer, CveUnidadMedida As Integer, CveProveedor As Integer, CveTipoAlmacen As Integer,
|
||||||
|
IncluyeTransitorios As Integer, CveClasificacion As Integer, CveUsuario As Integer, CveEmpresa As Integer, Optional CondicionExistencias As Integer = 0,
|
||||||
|
Optional Orden As Integer = -1, Optional Marcas As String = "-1", Optional IncluyeProyectado As Integer = -1) As Boolean
|
||||||
Dim Retorno As Boolean = False
|
Dim Retorno As Boolean = False
|
||||||
|
|
||||||
DataAdapter("PA_Inv_KardexAlmacenHorizontalGet")
|
DataAdapter("PA_Inv_KardexAlmacenHorizontalGet")
|
||||||
@@ -1500,6 +1506,7 @@ Public Class ClsInventarios
|
|||||||
.Add("@ExistenciasCondicion", SqlDbType.Int).Value = CondicionExistencias
|
.Add("@ExistenciasCondicion", SqlDbType.Int).Value = CondicionExistencias
|
||||||
.Add("@Orden", SqlDbType.Int).Value = Orden
|
.Add("@Orden", SqlDbType.Int).Value = Orden
|
||||||
.Add("@Marcas", SqlDbType.VarChar).Value = Marcas
|
.Add("@Marcas", SqlDbType.VarChar).Value = Marcas
|
||||||
|
.Add("@IncluyeProyectado", SqlDbType.TinyInt).Value = IncluyeProyectado
|
||||||
End With
|
End With
|
||||||
|
|
||||||
Try
|
Try
|
||||||
@@ -5178,6 +5185,48 @@ Public Class ClsInventarios
|
|||||||
Return Retorno
|
Return Retorno
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
#Region "Proyeccion"
|
||||||
|
Public Function AddMovimientosProyectados(CvePS As Integer, Cantidad As Decimal, TipoMovto As Integer) As Boolean
|
||||||
|
Dim Retorno As Boolean = False
|
||||||
|
DataAdapter("Inv_MovimientosProyectadosAdd")
|
||||||
|
|
||||||
|
With SqlAdapter.SelectCommand.Parameters
|
||||||
|
.Add("@CvePS", SqlDbType.Int).Value = CvePS
|
||||||
|
.Add("@Cantidad", SqlDbType.Money).Value = Cantidad
|
||||||
|
.Add("@TipoMovto", SqlDbType.TinyInt).Value = TipoMovto
|
||||||
|
|
||||||
|
End With
|
||||||
|
|
||||||
|
Try
|
||||||
|
SqlAdapter.Fill(Data)
|
||||||
|
Retorno = True
|
||||||
|
Catch ex As Exception
|
||||||
|
OnError("Ocurrió un error al agregar la proyección.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
|
||||||
|
End Try
|
||||||
|
|
||||||
|
Return Retorno
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Function DeleteMovimientosProyectados(TipoMovto As Integer) As Boolean
|
||||||
|
Dim Retorno As Boolean = False
|
||||||
|
DataAdapter("Inv_MovimientosProyectadosDelete")
|
||||||
|
|
||||||
|
With SqlAdapter.SelectCommand.Parameters
|
||||||
|
.Add("@TipoMovto", SqlDbType.TinyInt).Value = TipoMovto
|
||||||
|
|
||||||
|
End With
|
||||||
|
|
||||||
|
Try
|
||||||
|
SqlAdapter.Fill(Data)
|
||||||
|
Retorno = True
|
||||||
|
Catch ex As Exception
|
||||||
|
OnError("Ocurrió un error al eliminar la proyección.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
|
||||||
|
End Try
|
||||||
|
|
||||||
|
Return Retorno
|
||||||
|
End Function
|
||||||
|
#End Region
|
||||||
|
|
||||||
#Region "SUGERENCIAS SALIDA DE ALMACEN"
|
#Region "SUGERENCIAS SALIDA DE ALMACEN"
|
||||||
|
|
||||||
Public Function GetSugerenciasSalidaAlmacen(CveVenta As Integer, CveAlmacen As Integer, CveEmpresa As Integer) As Boolean
|
Public Function GetSugerenciasSalidaAlmacen(CveVenta As Integer, CveAlmacen As Integer, CveEmpresa As Integer) As Boolean
|
||||||
|
|||||||
@@ -1355,13 +1355,15 @@ Public Class ClsProductosServicios
|
|||||||
Return Retorno
|
Return Retorno
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Function RemovePSAlias(CvePS As Integer, PSAlias As String) As Boolean
|
Public Function RemovePSAlias(CvePS As Integer, PSAlias As String, CveUsuarioModifico As Integer) As Boolean
|
||||||
Dim Retorno As Boolean = False
|
Dim Retorno As Boolean = False
|
||||||
|
|
||||||
DataAdapter("PA_Gral_ProductosServiciosAliasRemove")
|
DataAdapter("PA_Gral_ProductosServiciosAliasRemove")
|
||||||
|
|
||||||
SqlAdapter.SelectCommand.Parameters.Add("@CvePS", SqlDbType.Int).Value = CvePS
|
SqlAdapter.SelectCommand.Parameters.Add("@CvePS", SqlDbType.Int).Value = CvePS
|
||||||
SqlAdapter.SelectCommand.Parameters.Add("@PSAlias", SqlDbType.VarChar).Value = PSAlias
|
SqlAdapter.SelectCommand.Parameters.Add("@PSAlias", SqlDbType.VarChar).Value = PSAlias
|
||||||
|
SqlAdapter.SelectCommand.Parameters.Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico
|
||||||
|
|
||||||
Try
|
Try
|
||||||
SqlAdapter.Fill(Data)
|
SqlAdapter.Fill(Data)
|
||||||
Retorno = True
|
Retorno = True
|
||||||
|
|||||||
@@ -1285,6 +1285,8 @@ Public Class ClsVentas
|
|||||||
With SqlAdapter.SelectCommand.Parameters
|
With SqlAdapter.SelectCommand.Parameters
|
||||||
.Add("@EstatusDevolucion", SqlDbType.TinyInt).Value = EstatusDevolucion
|
.Add("@EstatusDevolucion", SqlDbType.TinyInt).Value = EstatusDevolucion
|
||||||
.Add("@CveVenta", SqlDbType.Int).Value = CveVenta
|
.Add("@CveVenta", SqlDbType.Int).Value = CveVenta
|
||||||
|
'.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
|
||||||
|
'.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||||
End With
|
End With
|
||||||
|
|
||||||
Try
|
Try
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
<xs:element name="DtDatos" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:Generator_DataSetName="DtDatos" msprop:Generator_UserDSName="DtDatos">
|
<xs:element name="DtDatos" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:Generator_DataSetName="DtDatos" msprop:Generator_UserDSName="DtDatos">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||||
<xs:element name="DataTable1" msprop:Generator_TableClassName="DataTable1DataTable" msprop:Generator_TableVarName="tableDataTable1" msprop:Generator_RowChangedName="DataTable1RowChanged" msprop:Generator_TablePropName="DataTable1" msprop:Generator_RowDeletingName="DataTable1RowDeleting" msprop:Generator_RowChangingName="DataTable1RowChanging" msprop:Generator_RowEvHandlerName="DataTable1RowChangeEventHandler" msprop:Generator_RowDeletedName="DataTable1RowDeleted" msprop:Generator_RowClassName="DataTable1Row" msprop:Generator_UserTableName="DataTable1" msprop:Generator_RowEvArgName="DataTable1RowChangeEvent">
|
<xs:element name="DataTable1" msprop:Generator_TableClassName="DataTable1DataTable" msprop:Generator_TableVarName="tableDataTable1" msprop:Generator_TablePropName="DataTable1" msprop:Generator_RowDeletingName="DataTable1RowDeleting" msprop:Generator_RowChangingName="DataTable1RowChanging" msprop:Generator_RowEvHandlerName="DataTable1RowChangeEventHandler" msprop:Generator_RowDeletedName="DataTable1RowDeleted" msprop:Generator_UserTableName="DataTable1" msprop:Generator_RowChangedName="DataTable1RowChanged" msprop:Generator_RowEvArgName="DataTable1RowChangeEvent" msprop:Generator_RowClassName="DataTable1Row">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="SerieFolio" msprop:Generator_ColumnVarNameInTable="columnSerieFolio" msprop:Generator_ColumnPropNameInRow="SerieFolio" msprop:Generator_ColumnPropNameInTable="SerieFolioColumn" msprop:Generator_UserColumnName="SerieFolio" type="xs:string" minOccurs="0" />
|
<xs:element name="SerieFolio" msprop:Generator_ColumnVarNameInTable="columnSerieFolio" msprop:Generator_ColumnPropNameInRow="SerieFolio" msprop:Generator_ColumnPropNameInTable="SerieFolioColumn" msprop:Generator_UserColumnName="SerieFolio" type="xs:string" minOccurs="0" />
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="VentaUtilidadDetalle" msprop:Generator_TableClassName="VentaUtilidadDetalleDataTable" msprop:Generator_TableVarName="tableVentaUtilidadDetalle" msprop:Generator_TablePropName="VentaUtilidadDetalle" msprop:Generator_RowDeletingName="VentaUtilidadDetalleRowDeleting" msprop:Generator_RowChangingName="VentaUtilidadDetalleRowChanging" msprop:Generator_RowEvHandlerName="VentaUtilidadDetalleRowChangeEventHandler" msprop:Generator_RowDeletedName="VentaUtilidadDetalleRowDeleted" msprop:Generator_UserTableName="VentaUtilidadDetalle" msprop:Generator_RowChangedName="VentaUtilidadDetalleRowChanged" msprop:Generator_RowEvArgName="VentaUtilidadDetalleRowChangeEvent" msprop:Generator_RowClassName="VentaUtilidadDetalleRow">
|
<xs:element name="VentaUtilidadDetalle" msprop:Generator_TableClassName="VentaUtilidadDetalleDataTable" msprop:Generator_TableVarName="tableVentaUtilidadDetalle" msprop:Generator_RowChangedName="VentaUtilidadDetalleRowChanged" msprop:Generator_TablePropName="VentaUtilidadDetalle" msprop:Generator_RowDeletingName="VentaUtilidadDetalleRowDeleting" msprop:Generator_RowChangingName="VentaUtilidadDetalleRowChanging" msprop:Generator_RowEvHandlerName="VentaUtilidadDetalleRowChangeEventHandler" msprop:Generator_RowDeletedName="VentaUtilidadDetalleRowDeleted" msprop:Generator_RowClassName="VentaUtilidadDetalleRow" msprop:Generator_UserTableName="VentaUtilidadDetalle" msprop:Generator_RowEvArgName="VentaUtilidadDetalleRowChangeEvent">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="CantVta" msprop:Generator_ColumnVarNameInTable="columnCantVta" msprop:Generator_ColumnPropNameInRow="CantVta" msprop:Generator_ColumnPropNameInTable="CantVtaColumn" msprop:Generator_UserColumnName="CantVta" type="xs:decimal" minOccurs="0" />
|
<xs:element name="CantVta" msprop:Generator_ColumnVarNameInTable="columnCantVta" msprop:Generator_ColumnPropNameInRow="CantVta" msprop:Generator_ColumnPropNameInTable="CantVtaColumn" msprop:Generator_UserColumnName="CantVta" type="xs:decimal" minOccurs="0" />
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="RepClientesCxC" msprop:Generator_TableClassName="RepClientesCxCDataTable" msprop:Generator_TableVarName="tableRepClientesCxC" msprop:Generator_TablePropName="RepClientesCxC" msprop:Generator_RowDeletingName="RepClientesCxCRowDeleting" msprop:Generator_RowChangingName="RepClientesCxCRowChanging" msprop:Generator_RowEvHandlerName="RepClientesCxCRowChangeEventHandler" msprop:Generator_RowDeletedName="RepClientesCxCRowDeleted" msprop:Generator_UserTableName="RepClientesCxC" msprop:Generator_RowChangedName="RepClientesCxCRowChanged" msprop:Generator_RowEvArgName="RepClientesCxCRowChangeEvent" msprop:Generator_RowClassName="RepClientesCxCRow">
|
<xs:element name="RepClientesCxC" msprop:Generator_TableClassName="RepClientesCxCDataTable" msprop:Generator_TableVarName="tableRepClientesCxC" msprop:Generator_RowChangedName="RepClientesCxCRowChanged" msprop:Generator_TablePropName="RepClientesCxC" msprop:Generator_RowDeletingName="RepClientesCxCRowDeleting" msprop:Generator_RowChangingName="RepClientesCxCRowChanging" msprop:Generator_RowEvHandlerName="RepClientesCxCRowChangeEventHandler" msprop:Generator_RowDeletedName="RepClientesCxCRowDeleted" msprop:Generator_RowClassName="RepClientesCxCRow" msprop:Generator_UserTableName="RepClientesCxC" msprop:Generator_RowEvArgName="RepClientesCxCRowChangeEvent">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="SerieFolio" msprop:Generator_ColumnVarNameInTable="columnSerieFolio" msprop:Generator_ColumnPropNameInRow="SerieFolio" msprop:Generator_ColumnPropNameInTable="SerieFolioColumn" msprop:Generator_UserColumnName="SerieFolio" type="xs:string" minOccurs="0" />
|
<xs:element name="SerieFolio" msprop:Generator_ColumnVarNameInTable="columnSerieFolio" msprop:Generator_ColumnPropNameInRow="SerieFolio" msprop:Generator_ColumnPropNameInTable="SerieFolioColumn" msprop:Generator_UserColumnName="SerieFolio" type="xs:string" minOccurs="0" />
|
||||||
@@ -64,7 +64,7 @@
|
|||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="LibroMayor" msprop:Generator_TableClassName="LibroMayorDataTable" msprop:Generator_TableVarName="tableLibroMayor" msprop:Generator_RowChangedName="LibroMayorRowChanged" msprop:Generator_TablePropName="LibroMayor" msprop:Generator_RowDeletingName="LibroMayorRowDeleting" msprop:Generator_RowChangingName="LibroMayorRowChanging" msprop:Generator_RowEvHandlerName="LibroMayorRowChangeEventHandler" msprop:Generator_RowDeletedName="LibroMayorRowDeleted" msprop:Generator_RowClassName="LibroMayorRow" msprop:Generator_UserTableName="LibroMayor" msprop:Generator_RowEvArgName="LibroMayorRowChangeEvent">
|
<xs:element name="LibroMayor" msprop:Generator_TableClassName="LibroMayorDataTable" msprop:Generator_TableVarName="tableLibroMayor" msprop:Generator_TablePropName="LibroMayor" msprop:Generator_RowDeletingName="LibroMayorRowDeleting" msprop:Generator_RowChangingName="LibroMayorRowChanging" msprop:Generator_RowEvHandlerName="LibroMayorRowChangeEventHandler" msprop:Generator_RowDeletedName="LibroMayorRowDeleted" msprop:Generator_UserTableName="LibroMayor" msprop:Generator_RowChangedName="LibroMayorRowChanged" msprop:Generator_RowEvArgName="LibroMayorRowChangeEvent" msprop:Generator_RowClassName="LibroMayorRow">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="Fecha" msprop:Generator_ColumnVarNameInTable="columnFecha" msprop:Generator_ColumnPropNameInRow="Fecha" msprop:Generator_ColumnPropNameInTable="FechaColumn" msprop:Generator_UserColumnName="Fecha" type="xs:dateTime" minOccurs="0" />
|
<xs:element name="Fecha" msprop:Generator_ColumnVarNameInTable="columnFecha" msprop:Generator_ColumnPropNameInRow="Fecha" msprop:Generator_ColumnPropNameInTable="FechaColumn" msprop:Generator_UserColumnName="Fecha" type="xs:dateTime" minOccurs="0" />
|
||||||
@@ -87,7 +87,7 @@
|
|||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="LibroDiario" msprop:Generator_TableClassName="LibroDiarioDataTable" msprop:Generator_TableVarName="tableLibroDiario" msprop:Generator_RowChangedName="LibroDiarioRowChanged" msprop:Generator_TablePropName="LibroDiario" msprop:Generator_RowDeletingName="LibroDiarioRowDeleting" msprop:Generator_RowChangingName="LibroDiarioRowChanging" msprop:Generator_RowEvHandlerName="LibroDiarioRowChangeEventHandler" msprop:Generator_RowDeletedName="LibroDiarioRowDeleted" msprop:Generator_RowClassName="LibroDiarioRow" msprop:Generator_UserTableName="LibroDiario" msprop:Generator_RowEvArgName="LibroDiarioRowChangeEvent">
|
<xs:element name="LibroDiario" msprop:Generator_TableClassName="LibroDiarioDataTable" msprop:Generator_TableVarName="tableLibroDiario" msprop:Generator_TablePropName="LibroDiario" msprop:Generator_RowDeletingName="LibroDiarioRowDeleting" msprop:Generator_RowChangingName="LibroDiarioRowChanging" msprop:Generator_RowEvHandlerName="LibroDiarioRowChangeEventHandler" msprop:Generator_RowDeletedName="LibroDiarioRowDeleted" msprop:Generator_UserTableName="LibroDiario" msprop:Generator_RowChangedName="LibroDiarioRowChanged" msprop:Generator_RowEvArgName="LibroDiarioRowChangeEvent" msprop:Generator_RowClassName="LibroDiarioRow">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="Fecha" msprop:Generator_ColumnVarNameInTable="columnFecha" msprop:Generator_ColumnPropNameInRow="Fecha" msprop:Generator_ColumnPropNameInTable="FechaColumn" msprop:Generator_UserColumnName="Fecha" type="xs:dateTime" minOccurs="0" />
|
<xs:element name="Fecha" msprop:Generator_ColumnVarNameInTable="columnFecha" msprop:Generator_ColumnPropNameInRow="Fecha" msprop:Generator_ColumnPropNameInTable="FechaColumn" msprop:Generator_UserColumnName="Fecha" type="xs:dateTime" minOccurs="0" />
|
||||||
@@ -111,7 +111,7 @@
|
|||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="RepBalanzaComprobacion" msprop:Generator_TableClassName="RepBalanzaComprobacionDataTable" msprop:Generator_TableVarName="tableRepBalanzaComprobacion" msprop:Generator_TablePropName="RepBalanzaComprobacion" msprop:Generator_RowDeletingName="RepBalanzaComprobacionRowDeleting" msprop:Generator_RowChangingName="RepBalanzaComprobacionRowChanging" msprop:Generator_RowEvHandlerName="RepBalanzaComprobacionRowChangeEventHandler" msprop:Generator_RowDeletedName="RepBalanzaComprobacionRowDeleted" msprop:Generator_UserTableName="RepBalanzaComprobacion" msprop:Generator_RowChangedName="RepBalanzaComprobacionRowChanged" msprop:Generator_RowEvArgName="RepBalanzaComprobacionRowChangeEvent" msprop:Generator_RowClassName="RepBalanzaComprobacionRow">
|
<xs:element name="RepBalanzaComprobacion" msprop:Generator_TableClassName="RepBalanzaComprobacionDataTable" msprop:Generator_TableVarName="tableRepBalanzaComprobacion" msprop:Generator_RowChangedName="RepBalanzaComprobacionRowChanged" msprop:Generator_TablePropName="RepBalanzaComprobacion" msprop:Generator_RowDeletingName="RepBalanzaComprobacionRowDeleting" msprop:Generator_RowChangingName="RepBalanzaComprobacionRowChanging" msprop:Generator_RowEvHandlerName="RepBalanzaComprobacionRowChangeEventHandler" msprop:Generator_RowDeletedName="RepBalanzaComprobacionRowDeleted" msprop:Generator_RowClassName="RepBalanzaComprobacionRow" msprop:Generator_UserTableName="RepBalanzaComprobacion" msprop:Generator_RowEvArgName="RepBalanzaComprobacionRowChangeEvent">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="Id" msprop:Generator_ColumnVarNameInTable="columnId" msprop:Generator_ColumnPropNameInRow="Id" msprop:Generator_ColumnPropNameInTable="IdColumn" msprop:Generator_UserColumnName="Id" type="xs:string" minOccurs="0" />
|
<xs:element name="Id" msprop:Generator_ColumnVarNameInTable="columnId" msprop:Generator_ColumnPropNameInRow="Id" msprop:Generator_ColumnPropNameInTable="IdColumn" msprop:Generator_UserColumnName="Id" type="xs:string" minOccurs="0" />
|
||||||
@@ -137,7 +137,7 @@
|
|||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="CatPS" msprop:Generator_TableClassName="CatPSDataTable" msprop:Generator_TableVarName="tableCatPS" msprop:Generator_RowChangedName="CatPSRowChanged" msprop:Generator_TablePropName="CatPS" msprop:Generator_RowDeletingName="CatPSRowDeleting" msprop:Generator_RowChangingName="CatPSRowChanging" msprop:Generator_RowEvHandlerName="CatPSRowChangeEventHandler" msprop:Generator_RowDeletedName="CatPSRowDeleted" msprop:Generator_RowClassName="CatPSRow" msprop:Generator_UserTableName="CatPS" msprop:Generator_RowEvArgName="CatPSRowChangeEvent">
|
<xs:element name="CatPS" msprop:Generator_TableClassName="CatPSDataTable" msprop:Generator_TableVarName="tableCatPS" msprop:Generator_TablePropName="CatPS" msprop:Generator_RowDeletingName="CatPSRowDeleting" msprop:Generator_RowChangingName="CatPSRowChanging" msprop:Generator_RowEvHandlerName="CatPSRowChangeEventHandler" msprop:Generator_RowDeletedName="CatPSRowDeleted" msprop:Generator_UserTableName="CatPS" msprop:Generator_RowChangedName="CatPSRowChanged" msprop:Generator_RowEvArgName="CatPSRowChangeEvent" msprop:Generator_RowClassName="CatPSRow">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="Clasificacion" msprop:Generator_ColumnVarNameInTable="columnClasificacion" msprop:Generator_ColumnPropNameInRow="Clasificacion" msprop:Generator_ColumnPropNameInTable="ClasificacionColumn" msprop:Generator_UserColumnName="Clasificacion" type="xs:string" minOccurs="0" />
|
<xs:element name="Clasificacion" msprop:Generator_ColumnVarNameInTable="columnClasificacion" msprop:Generator_ColumnPropNameInRow="Clasificacion" msprop:Generator_ColumnPropNameInTable="ClasificacionColumn" msprop:Generator_UserColumnName="Clasificacion" type="xs:string" minOccurs="0" />
|
||||||
@@ -153,7 +153,7 @@
|
|||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="RepProveedorCxP" msprop:Generator_TableClassName="RepProveedorCxPDataTable" msprop:Generator_TableVarName="tableRepProveedorCxP" msprop:Generator_TablePropName="RepProveedorCxP" msprop:Generator_RowDeletingName="RepProveedorCxPRowDeleting" msprop:Generator_RowChangingName="RepProveedorCxPRowChanging" msprop:Generator_RowEvHandlerName="RepProveedorCxPRowChangeEventHandler" msprop:Generator_RowDeletedName="RepProveedorCxPRowDeleted" msprop:Generator_UserTableName="RepProveedorCxP" msprop:Generator_RowChangedName="RepProveedorCxPRowChanged" msprop:Generator_RowEvArgName="RepProveedorCxPRowChangeEvent" msprop:Generator_RowClassName="RepProveedorCxPRow">
|
<xs:element name="RepProveedorCxP" msprop:Generator_TableClassName="RepProveedorCxPDataTable" msprop:Generator_TableVarName="tableRepProveedorCxP" msprop:Generator_RowChangedName="RepProveedorCxPRowChanged" msprop:Generator_TablePropName="RepProveedorCxP" msprop:Generator_RowDeletingName="RepProveedorCxPRowDeleting" msprop:Generator_RowChangingName="RepProveedorCxPRowChanging" msprop:Generator_RowEvHandlerName="RepProveedorCxPRowChangeEventHandler" msprop:Generator_RowDeletedName="RepProveedorCxPRowDeleted" msprop:Generator_RowClassName="RepProveedorCxPRow" msprop:Generator_UserTableName="RepProveedorCxP" msprop:Generator_RowEvArgName="RepProveedorCxPRowChangeEvent">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="SerieFolio" msprop:Generator_ColumnVarNameInTable="columnSerieFolio" msprop:Generator_ColumnPropNameInRow="SerieFolio" msprop:Generator_ColumnPropNameInTable="SerieFolioColumn" msprop:Generator_UserColumnName="SerieFolio" type="xs:string" minOccurs="0" />
|
<xs:element name="SerieFolio" msprop:Generator_ColumnVarNameInTable="columnSerieFolio" msprop:Generator_ColumnPropNameInRow="SerieFolio" msprop:Generator_ColumnPropNameInTable="SerieFolioColumn" msprop:Generator_UserColumnName="SerieFolio" type="xs:string" minOccurs="0" />
|
||||||
@@ -170,7 +170,7 @@
|
|||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="ResumenNC" msprop:Generator_TableClassName="ResumenNCDataTable" msprop:Generator_TableVarName="tableResumenNC" msprop:Generator_TablePropName="ResumenNC" msprop:Generator_RowDeletingName="ResumenNCRowDeleting" msprop:Generator_RowChangingName="ResumenNCRowChanging" msprop:Generator_RowEvHandlerName="ResumenNCRowChangeEventHandler" msprop:Generator_RowDeletedName="ResumenNCRowDeleted" msprop:Generator_UserTableName="ResumenNC" msprop:Generator_RowChangedName="ResumenNCRowChanged" msprop:Generator_RowEvArgName="ResumenNCRowChangeEvent" msprop:Generator_RowClassName="ResumenNCRow">
|
<xs:element name="ResumenNC" msprop:Generator_TableClassName="ResumenNCDataTable" msprop:Generator_TableVarName="tableResumenNC" msprop:Generator_RowChangedName="ResumenNCRowChanged" msprop:Generator_TablePropName="ResumenNC" msprop:Generator_RowDeletingName="ResumenNCRowDeleting" msprop:Generator_RowChangingName="ResumenNCRowChanging" msprop:Generator_RowEvHandlerName="ResumenNCRowChangeEventHandler" msprop:Generator_RowDeletedName="ResumenNCRowDeleted" msprop:Generator_RowClassName="ResumenNCRow" msprop:Generator_UserTableName="ResumenNC" msprop:Generator_RowEvArgName="ResumenNCRowChangeEvent">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="SerieFolio" msprop:Generator_ColumnVarNameInTable="columnSerieFolio" msprop:Generator_ColumnPropNameInRow="SerieFolio" msprop:Generator_ColumnPropNameInTable="SerieFolioColumn" msprop:Generator_UserColumnName="SerieFolio" type="xs:string" minOccurs="0" />
|
<xs:element name="SerieFolio" msprop:Generator_ColumnVarNameInTable="columnSerieFolio" msprop:Generator_ColumnPropNameInRow="SerieFolio" msprop:Generator_ColumnPropNameInTable="SerieFolioColumn" msprop:Generator_UserColumnName="SerieFolio" type="xs:string" minOccurs="0" />
|
||||||
@@ -179,7 +179,7 @@
|
|||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="ProgramarRecursos" msprop:Generator_TableClassName="ProgramarRecursosDataTable" msprop:Generator_TableVarName="tableProgramarRecursos" msprop:Generator_TablePropName="ProgramarRecursos" msprop:Generator_RowDeletingName="ProgramarRecursosRowDeleting" msprop:Generator_RowChangingName="ProgramarRecursosRowChanging" msprop:Generator_RowEvHandlerName="ProgramarRecursosRowChangeEventHandler" msprop:Generator_RowDeletedName="ProgramarRecursosRowDeleted" msprop:Generator_UserTableName="ProgramarRecursos" msprop:Generator_RowChangedName="ProgramarRecursosRowChanged" msprop:Generator_RowEvArgName="ProgramarRecursosRowChangeEvent" msprop:Generator_RowClassName="ProgramarRecursosRow">
|
<xs:element name="ProgramarRecursos" msprop:Generator_TableClassName="ProgramarRecursosDataTable" msprop:Generator_TableVarName="tableProgramarRecursos" msprop:Generator_RowChangedName="ProgramarRecursosRowChanged" msprop:Generator_TablePropName="ProgramarRecursos" msprop:Generator_RowDeletingName="ProgramarRecursosRowDeleting" msprop:Generator_RowChangingName="ProgramarRecursosRowChanging" msprop:Generator_RowEvHandlerName="ProgramarRecursosRowChangeEventHandler" msprop:Generator_RowDeletedName="ProgramarRecursosRowDeleted" msprop:Generator_RowClassName="ProgramarRecursosRow" msprop:Generator_UserTableName="ProgramarRecursos" msprop:Generator_RowEvArgName="ProgramarRecursosRowChangeEvent">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="CveCompra" msprop:Generator_ColumnVarNameInTable="columnCveCompra" msprop:Generator_ColumnPropNameInRow="CveCompra" msprop:Generator_ColumnPropNameInTable="CveCompraColumn" msprop:Generator_UserColumnName="CveCompra" type="xs:short" minOccurs="0" />
|
<xs:element name="CveCompra" msprop:Generator_ColumnVarNameInTable="columnCveCompra" msprop:Generator_ColumnPropNameInRow="CveCompra" msprop:Generator_ColumnPropNameInTable="CveCompraColumn" msprop:Generator_UserColumnName="CveCompra" type="xs:short" minOccurs="0" />
|
||||||
@@ -215,7 +215,7 @@
|
|||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="RepIVA" msprop:Generator_TableClassName="RepIVADataTable" msprop:Generator_TableVarName="tableRepIVA" msprop:Generator_TablePropName="RepIVA" msprop:Generator_RowDeletingName="RepIVARowDeleting" msprop:Generator_RowChangingName="RepIVARowChanging" msprop:Generator_RowEvHandlerName="RepIVARowChangeEventHandler" msprop:Generator_RowDeletedName="RepIVARowDeleted" msprop:Generator_UserTableName="RepIVA" msprop:Generator_RowChangedName="RepIVARowChanged" msprop:Generator_RowEvArgName="RepIVARowChangeEvent" msprop:Generator_RowClassName="RepIVARow">
|
<xs:element name="RepIVA" msprop:Generator_TableClassName="RepIVADataTable" msprop:Generator_TableVarName="tableRepIVA" msprop:Generator_RowChangedName="RepIVARowChanged" msprop:Generator_TablePropName="RepIVA" msprop:Generator_RowDeletingName="RepIVARowDeleting" msprop:Generator_RowChangingName="RepIVARowChanging" msprop:Generator_RowEvHandlerName="RepIVARowChangeEventHandler" msprop:Generator_RowDeletedName="RepIVARowDeleted" msprop:Generator_RowClassName="RepIVARow" msprop:Generator_UserTableName="RepIVA" msprop:Generator_RowEvArgName="RepIVARowChangeEvent">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="TipoDocto" msprop:Generator_ColumnVarNameInTable="columnTipoDocto" msprop:Generator_ColumnPropNameInRow="TipoDocto" msprop:Generator_ColumnPropNameInTable="TipoDoctoColumn" msprop:Generator_UserColumnName="TipoDocto" type="xs:string" minOccurs="0" />
|
<xs:element name="TipoDocto" msprop:Generator_ColumnVarNameInTable="columnTipoDocto" msprop:Generator_ColumnPropNameInRow="TipoDocto" msprop:Generator_ColumnPropNameInTable="TipoDoctoColumn" msprop:Generator_UserColumnName="TipoDocto" type="xs:string" minOccurs="0" />
|
||||||
@@ -240,7 +240,7 @@
|
|||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="DtVentaDetalle" msprop:Generator_TableClassName="DtVentaDetalleDataTable" msprop:Generator_TableVarName="tableDtVentaDetalle" msprop:Generator_RowChangedName="DtVentaDetalleRowChanged" msprop:Generator_TablePropName="DtVentaDetalle" msprop:Generator_RowDeletingName="DtVentaDetalleRowDeleting" msprop:Generator_RowChangingName="DtVentaDetalleRowChanging" msprop:Generator_RowEvHandlerName="DtVentaDetalleRowChangeEventHandler" msprop:Generator_RowDeletedName="DtVentaDetalleRowDeleted" msprop:Generator_RowClassName="DtVentaDetalleRow" msprop:Generator_UserTableName="DtVentaDetalle" msprop:Generator_RowEvArgName="DtVentaDetalleRowChangeEvent">
|
<xs:element name="DtVentaDetalle" msprop:Generator_TableClassName="DtVentaDetalleDataTable" msprop:Generator_TableVarName="tableDtVentaDetalle" msprop:Generator_TablePropName="DtVentaDetalle" msprop:Generator_RowDeletingName="DtVentaDetalleRowDeleting" msprop:Generator_RowChangingName="DtVentaDetalleRowChanging" msprop:Generator_RowEvHandlerName="DtVentaDetalleRowChangeEventHandler" msprop:Generator_RowDeletedName="DtVentaDetalleRowDeleted" msprop:Generator_UserTableName="DtVentaDetalle" msprop:Generator_RowChangedName="DtVentaDetalleRowChanged" msprop:Generator_RowEvArgName="DtVentaDetalleRowChangeEvent" msprop:Generator_RowClassName="DtVentaDetalleRow">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="Cantidad" msprop:Generator_ColumnVarNameInTable="columnCantidad" msprop:Generator_ColumnPropNameInRow="Cantidad" msprop:Generator_ColumnPropNameInTable="CantidadColumn" msprop:Generator_UserColumnName="Cantidad" type="xs:string" minOccurs="0" />
|
<xs:element name="Cantidad" msprop:Generator_ColumnVarNameInTable="columnCantidad" msprop:Generator_ColumnPropNameInRow="Cantidad" msprop:Generator_ColumnPropNameInTable="CantidadColumn" msprop:Generator_UserColumnName="Cantidad" type="xs:string" minOccurs="0" />
|
||||||
@@ -256,7 +256,7 @@
|
|||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="RepIVAAcreditable" msprop:Generator_TableClassName="RepIVAAcreditableDataTable" msprop:Generator_TableVarName="tableRepIVAAcreditable" msprop:Generator_TablePropName="RepIVAAcreditable" msprop:Generator_RowDeletingName="RepIVAAcreditableRowDeleting" msprop:Generator_RowChangingName="RepIVAAcreditableRowChanging" msprop:Generator_RowEvHandlerName="RepIVAAcreditableRowChangeEventHandler" msprop:Generator_RowDeletedName="RepIVAAcreditableRowDeleted" msprop:Generator_UserTableName="RepIVAAcreditable" msprop:Generator_RowChangedName="RepIVAAcreditableRowChanged" msprop:Generator_RowEvArgName="RepIVAAcreditableRowChangeEvent" msprop:Generator_RowClassName="RepIVAAcreditableRow">
|
<xs:element name="RepIVAAcreditable" msprop:Generator_TableClassName="RepIVAAcreditableDataTable" msprop:Generator_TableVarName="tableRepIVAAcreditable" msprop:Generator_RowChangedName="RepIVAAcreditableRowChanged" msprop:Generator_TablePropName="RepIVAAcreditable" msprop:Generator_RowDeletingName="RepIVAAcreditableRowDeleting" msprop:Generator_RowChangingName="RepIVAAcreditableRowChanging" msprop:Generator_RowEvHandlerName="RepIVAAcreditableRowChangeEventHandler" msprop:Generator_RowDeletedName="RepIVAAcreditableRowDeleted" msprop:Generator_RowClassName="RepIVAAcreditableRow" msprop:Generator_UserTableName="RepIVAAcreditable" msprop:Generator_RowEvArgName="RepIVAAcreditableRowChangeEvent">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="TipoDocto" msprop:Generator_ColumnVarNameInTable="columnTipoDocto" msprop:Generator_ColumnPropNameInRow="TipoDocto" msprop:Generator_ColumnPropNameInTable="TipoDoctoColumn" msprop:Generator_UserColumnName="TipoDocto" type="xs:string" minOccurs="0" />
|
<xs:element name="TipoDocto" msprop:Generator_ColumnVarNameInTable="columnTipoDocto" msprop:Generator_ColumnPropNameInRow="TipoDocto" msprop:Generator_ColumnPropNameInTable="TipoDoctoColumn" msprop:Generator_UserColumnName="TipoDocto" type="xs:string" minOccurs="0" />
|
||||||
@@ -291,10 +291,11 @@
|
|||||||
<xs:element name="PorcentajeIVA" msprop:Generator_ColumnVarNameInTable="columnPorcentajeIVA" msprop:Generator_ColumnPropNameInRow="PorcentajeIVA" msprop:Generator_ColumnPropNameInTable="PorcentajeIVAColumn" msprop:Generator_UserColumnName="PorcentajeIVA" type="xs:double" minOccurs="0" />
|
<xs:element name="PorcentajeIVA" msprop:Generator_ColumnVarNameInTable="columnPorcentajeIVA" msprop:Generator_ColumnPropNameInRow="PorcentajeIVA" msprop:Generator_ColumnPropNameInTable="PorcentajeIVAColumn" msprop:Generator_UserColumnName="PorcentajeIVA" type="xs:double" minOccurs="0" />
|
||||||
<xs:element name="Fecha" msprop:Generator_ColumnVarNameInTable="columnFecha" msprop:Generator_ColumnPropNameInRow="Fecha" msprop:Generator_ColumnPropNameInTable="FechaColumn" msprop:Generator_UserColumnName="Fecha" type="xs:dateTime" minOccurs="0" />
|
<xs:element name="Fecha" msprop:Generator_ColumnVarNameInTable="columnFecha" msprop:Generator_ColumnPropNameInRow="Fecha" msprop:Generator_ColumnPropNameInTable="FechaColumn" msprop:Generator_UserColumnName="Fecha" type="xs:dateTime" minOccurs="0" />
|
||||||
<xs:element name="FolioFiscal" msprop:Generator_ColumnVarNameInTable="columnFolioFiscal" msprop:Generator_ColumnPropNameInRow="FolioFiscal" msprop:Generator_ColumnPropNameInTable="FolioFiscalColumn" msprop:Generator_UserColumnName="FolioFiscal" type="xs:string" minOccurs="0" />
|
<xs:element name="FolioFiscal" msprop:Generator_ColumnVarNameInTable="columnFolioFiscal" msprop:Generator_ColumnPropNameInRow="FolioFiscal" msprop:Generator_ColumnPropNameInTable="FolioFiscalColumn" msprop:Generator_UserColumnName="FolioFiscal" type="xs:string" minOccurs="0" />
|
||||||
|
<xs:element name="IVANoDeducible" msprop:Generator_ColumnVarNameInTable="columnIVANoDeducible" msprop:Generator_ColumnPropNameInRow="IVANoDeducible" msprop:Generator_ColumnPropNameInTable="IVANoDeducibleColumn" msprop:Generator_UserColumnName="IVANoDeducible" type="xs:double" minOccurs="0" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="IEPSPorcentaje" msprop:Generator_TableClassName="IEPSPorcentajeDataTable" msprop:Generator_TableVarName="tableIEPSPorcentaje" msprop:Generator_TablePropName="IEPSPorcentaje" msprop:Generator_RowDeletingName="IEPSPorcentajeRowDeleting" msprop:Generator_RowChangingName="IEPSPorcentajeRowChanging" msprop:Generator_RowEvHandlerName="IEPSPorcentajeRowChangeEventHandler" msprop:Generator_RowDeletedName="IEPSPorcentajeRowDeleted" msprop:Generator_UserTableName="IEPSPorcentaje" msprop:Generator_RowChangedName="IEPSPorcentajeRowChanged" msprop:Generator_RowEvArgName="IEPSPorcentajeRowChangeEvent" msprop:Generator_RowClassName="IEPSPorcentajeRow">
|
<xs:element name="IEPSPorcentaje" msprop:Generator_TableClassName="IEPSPorcentajeDataTable" msprop:Generator_TableVarName="tableIEPSPorcentaje" msprop:Generator_RowChangedName="IEPSPorcentajeRowChanged" msprop:Generator_TablePropName="IEPSPorcentaje" msprop:Generator_RowDeletingName="IEPSPorcentajeRowDeleting" msprop:Generator_RowChangingName="IEPSPorcentajeRowChanging" msprop:Generator_RowEvHandlerName="IEPSPorcentajeRowChangeEventHandler" msprop:Generator_RowDeletedName="IEPSPorcentajeRowDeleted" msprop:Generator_RowClassName="IEPSPorcentajeRow" msprop:Generator_UserTableName="IEPSPorcentaje" msprop:Generator_RowEvArgName="IEPSPorcentajeRowChangeEvent">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="PorcentajeIEPS" msprop:Generator_ColumnVarNameInTable="columnPorcentajeIEPS" msprop:Generator_ColumnPropNameInRow="PorcentajeIEPS" msprop:Generator_ColumnPropNameInTable="PorcentajeIEPSColumn" msprop:Generator_UserColumnName="PorcentajeIEPS" type="xs:string" minOccurs="0" />
|
<xs:element name="PorcentajeIEPS" msprop:Generator_ColumnVarNameInTable="columnPorcentajeIEPS" msprop:Generator_ColumnPropNameInRow="PorcentajeIEPS" msprop:Generator_ColumnPropNameInTable="PorcentajeIEPSColumn" msprop:Generator_UserColumnName="PorcentajeIEPS" type="xs:string" minOccurs="0" />
|
||||||
@@ -304,7 +305,7 @@
|
|||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="IVAPorcentaje" msprop:Generator_TableClassName="IVAPorcentajeDataTable" msprop:Generator_TableVarName="tableIVAPorcentaje" msprop:Generator_TablePropName="IVAPorcentaje" msprop:Generator_RowDeletingName="IVAPorcentajeRowDeleting" msprop:Generator_RowChangingName="IVAPorcentajeRowChanging" msprop:Generator_RowEvHandlerName="IVAPorcentajeRowChangeEventHandler" msprop:Generator_RowDeletedName="IVAPorcentajeRowDeleted" msprop:Generator_UserTableName="IVAPorcentaje" msprop:Generator_RowChangedName="IVAPorcentajeRowChanged" msprop:Generator_RowEvArgName="IVAPorcentajeRowChangeEvent" msprop:Generator_RowClassName="IVAPorcentajeRow">
|
<xs:element name="IVAPorcentaje" msprop:Generator_TableClassName="IVAPorcentajeDataTable" msprop:Generator_TableVarName="tableIVAPorcentaje" msprop:Generator_RowChangedName="IVAPorcentajeRowChanged" msprop:Generator_TablePropName="IVAPorcentaje" msprop:Generator_RowDeletingName="IVAPorcentajeRowDeleting" msprop:Generator_RowChangingName="IVAPorcentajeRowChanging" msprop:Generator_RowEvHandlerName="IVAPorcentajeRowChangeEventHandler" msprop:Generator_RowDeletedName="IVAPorcentajeRowDeleted" msprop:Generator_RowClassName="IVAPorcentajeRow" msprop:Generator_UserTableName="IVAPorcentaje" msprop:Generator_RowEvArgName="IVAPorcentajeRowChangeEvent">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="PorcentajeIVA" msprop:Generator_ColumnVarNameInTable="columnPorcentajeIVA" msprop:Generator_ColumnPropNameInRow="PorcentajeIVA" msprop:Generator_ColumnPropNameInTable="PorcentajeIVAColumn" msprop:Generator_UserColumnName="PorcentajeIVA" type="xs:string" minOccurs="0" />
|
<xs:element name="PorcentajeIVA" msprop:Generator_ColumnVarNameInTable="columnPorcentajeIVA" msprop:Generator_ColumnPropNameInRow="PorcentajeIVA" msprop:Generator_ColumnPropNameInTable="PorcentajeIVAColumn" msprop:Generator_UserColumnName="PorcentajeIVA" type="xs:string" minOccurs="0" />
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
Changes to this file may cause incorrect behavior and will be lost if
|
Changes to this file may cause incorrect behavior and will be lost if
|
||||||
the code is regenerated.
|
the code is regenerated.
|
||||||
</autogenerated>-->
|
</autogenerated>-->
|
||||||
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="86" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
|
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="127" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
|
||||||
<Shapes>
|
<Shapes>
|
||||||
<Shape ID="DesignTable:DataTable1" ZOrder="15" X="511" Y="201" Height="143" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
|
<Shape ID="DesignTable:DataTable1" ZOrder="15" X="511" Y="201" Height="143" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
|
||||||
<Shape ID="DesignTable:VentaUtilidadDetalle" ZOrder="14" X="679" Y="199" Height="257" Width="187" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
|
<Shape ID="DesignTable:VentaUtilidadDetalle" ZOrder="14" X="679" Y="199" Height="257" Width="187" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
<Shape ID="DesignTable:ProgramarRecursos" ZOrder="6" X="484" Y="563" Height="257" Width="206" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
|
<Shape ID="DesignTable:ProgramarRecursos" ZOrder="6" X="484" Y="563" Height="257" Width="206" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
|
||||||
<Shape ID="DesignTable:RepIVA" ZOrder="5" X="315" Y="564" Height="295" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="291" />
|
<Shape ID="DesignTable:RepIVA" ZOrder="5" X="315" Y="564" Height="295" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="291" />
|
||||||
<Shape ID="DesignTable:DtVentaDetalle" ZOrder="4" X="280" Y="34" Height="219" Width="154" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="215" />
|
<Shape ID="DesignTable:DtVentaDetalle" ZOrder="4" X="280" Y="34" Height="219" Width="154" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="215" />
|
||||||
<Shape ID="DesignTable:RepIVAAcreditable" ZOrder="3" X="94" Y="508" Height="256" Width="175" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="252" />
|
<Shape ID="DesignTable:RepIVAAcreditable" ZOrder="3" X="94" Y="508" Height="257" Width="175" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
|
||||||
<Shape ID="DesignTable:IEPSPorcentaje" ZOrder="2" X="700" Y="594" Height="105" Width="152" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="101" />
|
<Shape ID="DesignTable:IEPSPorcentaje" ZOrder="2" X="700" Y="594" Height="105" Width="152" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="101" />
|
||||||
<Shape ID="DesignTable:IVAPorcentaje" ZOrder="1" X="702" Y="709" Height="86" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="82" />
|
<Shape ID="DesignTable:IVAPorcentaje" ZOrder="1" X="702" Y="709" Height="86" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="82" />
|
||||||
</Shapes>
|
</Shapes>
|
||||||
|
|||||||
@@ -3332,7 +3332,7 @@ Namespace Modelos
|
|||||||
|
|
||||||
'SI ES FACTURACION DE UNA REMISION CANCELAMOS, TRASPASAMOS SALDOS Y AGREGAMOS EVENTO A LA BITACORA
|
'SI ES FACTURACION DE UNA REMISION CANCELAMOS, TRASPASAMOS SALDOS Y AGREGAMOS EVENTO A LA BITACORA
|
||||||
'NO DEBE ENTRAR SI SE ESTA CANCELANDO UNA FACTURA
|
'NO DEBE ENTRAR SI SE ESTA CANCELANDO UNA FACTURA
|
||||||
If ValorMultiplicador <> -1 AndAlso (DtRemisionesRelacionadas IsNot Nothing AndAlso DtRemisionesRelacionadas.Rows.Count > 0) OrElse ObjFactura.RemisionesLista.Count > 0 Then
|
If ValorMultiplicador <> -1 AndAlso ((DtRemisionesRelacionadas IsNot Nothing AndAlso DtRemisionesRelacionadas.Rows.Count > 0) OrElse ObjFactura.RemisionesLista.Count > 0) Then
|
||||||
|
|
||||||
If Not ObjFactura.TipoDocto.Contiene("Ing", "Ant") Then
|
If Not ObjFactura.TipoDocto.Contiene("Ing", "Ant") Then
|
||||||
ErrorPrepoliza = True
|
ErrorPrepoliza = True
|
||||||
|
|||||||
@@ -509,7 +509,7 @@ Public Class SIGWeb : Implements IHttpHandler, IRequiresSessionState
|
|||||||
'End If
|
'End If
|
||||||
'ObjClientes.Dispose()
|
'ObjClientes.Dispose()
|
||||||
|
|
||||||
Dim dt As DataTable = DirectCast(context.Application(AppNombre), DataTable).FiltraParametros(String.Format("CveEmpresa = {0}", CveEmpresa))
|
Dim dt As DataTable = DirectCast(context.Application(AppNombre), DataTable) '.FiltraParametros(String.Format("CveEmpresa = {0}", CveEmpresa))
|
||||||
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
|
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
|
||||||
DtRetorno = dt.FiltraParametros(String.Format("NombreComercial like '%{0}%' OR Nombre like '%{0}%' ", Name))
|
DtRetorno = dt.FiltraParametros(String.Format("NombreComercial like '%{0}%' OR Nombre like '%{0}%' ", Name))
|
||||||
End If
|
End If
|
||||||
@@ -557,7 +557,7 @@ Public Class SIGWeb : Implements IHttpHandler, IRequiresSessionState
|
|||||||
' DtRetorno = ObjProveedores.DtResultados
|
' DtRetorno = ObjProveedores.DtResultados
|
||||||
'End If
|
'End If
|
||||||
'ObjProveedores.Dispose()
|
'ObjProveedores.Dispose()
|
||||||
Dim dt As DataTable = DirectCast(context.Application(AppNombre), DataTable).FiltraParametros(String.Format("CveEmpresa = {0}", CveEmpresa))
|
Dim dt As DataTable = DirectCast(context.Application(AppNombre), DataTable) '.FiltraParametros(String.Format("CveEmpresa = {0}", CveEmpresa))
|
||||||
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
|
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
|
||||||
DtRetorno = dt.FiltraParametros(String.Format("NombreCortoProveedor like '%{0}%'", Name))
|
DtRetorno = dt.FiltraParametros(String.Format("NombreCortoProveedor like '%{0}%'", Name))
|
||||||
End If
|
End If
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ Imports System.IO
|
|||||||
Imports ADServerControl
|
Imports ADServerControl
|
||||||
Imports System.Threading.Tasks
|
Imports System.Threading.Tasks
|
||||||
Imports System.Diagnostics
|
Imports System.Diagnostics
|
||||||
|
Imports System.Text.RegularExpressions
|
||||||
|
|
||||||
Partial Class Compras_Compras
|
Partial Class Compras_Compras
|
||||||
Inherits ClsPaginas
|
Inherits ClsPaginas
|
||||||
@@ -5384,6 +5385,7 @@ Partial Class Compras_Compras
|
|||||||
'P R E P O L I Z A S
|
'P R E P O L I Z A S
|
||||||
|
|
||||||
Dim CveConceptoAfectacion As Integer = 5 'Proveedores
|
Dim CveConceptoAfectacion As Integer = 5 'Proveedores
|
||||||
|
Dim CveConceptoOriginal As Integer
|
||||||
If CveTipoConcepto = 2 Then CveConceptoAfectacion = 305 'cuando es acreedor
|
If CveTipoConcepto = 2 Then CveConceptoAfectacion = 305 'cuando es acreedor
|
||||||
If CveMoneda <> 1 Then
|
If CveMoneda <> 1 Then
|
||||||
Select Case CveConceptoAfectacion
|
Select Case CveConceptoAfectacion
|
||||||
@@ -5781,7 +5783,7 @@ Partial Class Compras_Compras
|
|||||||
|
|
||||||
Dim CveSubProyectoInsertar As Integer = -1
|
Dim CveSubProyectoInsertar As Integer = -1
|
||||||
|
|
||||||
Dim ConceptoContable = Row("CveConcepto").ToString.ToEntero
|
Dim ConceptoContable As Integer = Row("CveConcepto").ToString.ToEntero
|
||||||
Dim TipoMovimiento As Boolean = If(Row("TipoMovto").ToString = "True", True, False)
|
Dim TipoMovimiento As Boolean = If(Row("TipoMovto").ToString = "True", True, False)
|
||||||
Dim importeMovimiento As Decimal = 0
|
Dim importeMovimiento As Decimal = 0
|
||||||
Dim IdCtaContable As Integer = 0
|
Dim IdCtaContable As Integer = 0
|
||||||
@@ -5791,7 +5793,7 @@ Partial Class Compras_Compras
|
|||||||
Dim Multiplicador As Integer = If(Row("Multiplicador").ToString.ToEntero = 1, 1, -1)
|
Dim Multiplicador As Integer = If(Row("Multiplicador").ToString.ToEntero = 1, 1, -1)
|
||||||
Dim Referencia As String = $"{TxtSerie.Text}-{TxtFolio.Text}" ' concatenation interpolation
|
Dim Referencia As String = $"{TxtSerie.Text}-{TxtFolio.Text}" ' concatenation interpolation
|
||||||
Dim PorcentajeImpuesto As Decimal = 0
|
Dim PorcentajeImpuesto As Decimal = 0
|
||||||
|
CveConceptoOriginal = ConceptoContable
|
||||||
|
|
||||||
Select Case ConceptoContable
|
Select Case ConceptoContable
|
||||||
|
|
||||||
@@ -7185,7 +7187,7 @@ Partial Class Compras_Compras
|
|||||||
importeMovimiento = importeMovimiento.Abs.RoundSQL()
|
importeMovimiento = importeMovimiento.Abs.RoundSQL()
|
||||||
importeMN = importeMovimiento
|
importeMN = importeMovimiento
|
||||||
If importeMovimiento <> 0 Then
|
If importeMovimiento <> 0 Then
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Concepto, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveIE:=CveIE, ImporteMX:=importeMN, CvePrePolizaOriginal:=CvePrePoliza, ImporteME:=0, CveCuenta:=CveCuenta, Contabilizable:=SeContabiliza) Then
|
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Concepto, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveIE:=CveIE, ImporteMX:=importeMN, CvePrePolizaOriginal:=CvePrePoliza, ImporteME:=0, CveCuenta:=CveCuenta, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto) Then
|
||||||
ErrorPrepoliza = True
|
ErrorPrepoliza = True
|
||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
@@ -7631,8 +7633,8 @@ Partial Class Compras_Compras
|
|||||||
If ErrorPrepoliza Then
|
If ErrorPrepoliza Then
|
||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
', 305, 306, 311
|
'5, 305, 306, 311
|
||||||
If importeMovimiento <> 0 Or (ConceptoContable.Contiene(5) AndAlso DdlTipoComprobante.SelectedValue.Contiene("Fac", "Ant")) Or (ConceptoContable.Contiene(18) AndAlso DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") AndAlso Not GuardoConcepto18) Then
|
If importeMovimiento <> 0 Or (CveConceptoOriginal = 5 AndAlso DdlTipoComprobante.SelectedValue.Contiene("Fac", "Ant")) Or (ConceptoContable.Contiene(18) AndAlso DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") AndAlso Not GuardoConcepto18) Then
|
||||||
'Conta ContPAQ
|
'Conta ContPAQ
|
||||||
If IdCtaContable = 0 Then
|
If IdCtaContable = 0 Then
|
||||||
CuentasContablesInvalidas.Append("<br>" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString)
|
CuentasContablesInvalidas.Append("<br>" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString)
|
||||||
@@ -15493,11 +15495,11 @@ Partial Class Compras_Compras
|
|||||||
'If DdlOCVinculaInv.SelectedValue.ToEntero = 237 And Not CveFlete > 0 Then Alert("Necesita vincular un flete si selecciona Factura de Flete", TipoMensaje.MsgAdvertencia) : Exit Sub
|
'If DdlOCVinculaInv.SelectedValue.ToEntero = 237 And Not CveFlete > 0 Then Alert("Necesita vincular un flete si selecciona Factura de Flete", TipoMensaje.MsgAdvertencia) : Exit Sub
|
||||||
'If DdlOCVinculaInv.SelectedValue.ToEntero = 240 And Not CveImportacion > 0 Then Alert("Necesita vincular una Importación si selecciona Factura de Importación", TipoMensaje.MsgAdvertencia) : Exit Sub
|
'If DdlOCVinculaInv.SelectedValue.ToEntero = 240 And Not CveImportacion > 0 Then Alert("Necesita vincular una Importación si selecciona Factura de Importación", TipoMensaje.MsgAdvertencia) : Exit Sub
|
||||||
|
|
||||||
If UsuarioActual.CveEmpresa = 119 And DdlTipoComprobante.SelectedValue = "Fac" Then
|
'If UsuarioActual.CveEmpresa = 119 And DdlTipoComprobante.SelectedValue = "Fac" Then
|
||||||
If Not VerificarProductosCompraConOC() Then
|
' If Not VerificarProductosCompraConOC() Then
|
||||||
Exit Sub
|
' Exit Sub
|
||||||
End If
|
' End If
|
||||||
End If
|
'End If
|
||||||
|
|
||||||
Dim SubTotalGV = 0.0D
|
Dim SubTotalGV = 0.0D
|
||||||
Dim Amortizacion As Decimal = TmpDT.SUMD("Total")
|
Dim Amortizacion As Decimal = TmpDT.SUMD("Total")
|
||||||
@@ -20316,7 +20318,6 @@ Partial Class Compras_Compras
|
|||||||
|
|
||||||
Private Function VerificarProductosCompraConOC() As Boolean
|
Private Function VerificarProductosCompraConOC() As Boolean
|
||||||
|
|
||||||
|
|
||||||
Dim ProductosNoValidados As New StringBuilder()
|
Dim ProductosNoValidados As New StringBuilder()
|
||||||
|
|
||||||
Dim DtCompras As New DataTable()
|
Dim DtCompras As New DataTable()
|
||||||
@@ -20342,7 +20343,12 @@ Partial Class Compras_Compras
|
|||||||
Dim TipoPS As String = GvOCRow.DataKey("CveTipoPS")
|
Dim TipoPS As String = GvOCRow.DataKey("CveTipoPS")
|
||||||
|
|
||||||
If TipoPS = "2" Then
|
If TipoPS = "2" Then
|
||||||
Dim ProductoAisloadoString As String = GvOCRow.DataKey("PS").Split("-"c)(1).Trim()
|
Dim ProductoAisloadoString As String = ""
|
||||||
|
If CveFactura > 0 Then
|
||||||
|
ProductoAisloadoString = Regex.Replace(GvOCRow.DataKey("PS"), "^\d*\s-\s", "")
|
||||||
|
Else
|
||||||
|
ProductoAisloadoString = GvOCRow.DataKey("PS")
|
||||||
|
End If
|
||||||
Dim PSOC As String = ProductoAisloadoString
|
Dim PSOC As String = ProductoAisloadoString
|
||||||
Dim CantidadOC As String = GvOCRow.DataKey("CantidadF")
|
Dim CantidadOC As String = GvOCRow.DataKey("CantidadF")
|
||||||
Dim PrecioUnitarioOC As String = GvOCRow.DataKey("Importe")
|
Dim PrecioUnitarioOC As String = GvOCRow.DataKey("Importe")
|
||||||
|
|||||||
@@ -215,11 +215,11 @@ Partial Class Inventarios_CatAlmacenes
|
|||||||
|
|
||||||
Private Sub RecargaGlobalAlmacenes()
|
Private Sub RecargaGlobalAlmacenes()
|
||||||
GlobalDTAlmacen(UsuarioActual.CveEmpresa) = Nothing
|
GlobalDTAlmacen(UsuarioActual.CveEmpresa) = Nothing
|
||||||
Dim ObjAlmacen As New ClsInventarios
|
'Dim ObjAlmacen As New ClsInventarios
|
||||||
If ObjAlmacen.GetAlmacenes(-1, -1, -1, -1) Then
|
'If ObjAlmacen.GetAlmacenes(-1, -1, -1, -1) Then
|
||||||
HttpContext.Current.Application("GlobalDTAlmacen") = ObjAlmacen.DtResultados
|
' Application("GlobalDTAlmacen") = ObjAlmacen.DtResultados
|
||||||
End If
|
'End If
|
||||||
ObjAlmacen.Dispose()
|
'ObjAlmacen.Dispose()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub RecargaGlobalAlmacenesUsuarios()
|
Private Sub RecargaGlobalAlmacenesUsuarios()
|
||||||
|
|||||||
@@ -1519,7 +1519,7 @@ Partial Class Inventarios_EntradasSalidas
|
|||||||
|
|
||||||
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inv/ES", 53, 0, 0, 1, TxtFecha.Text.ToDate, obs, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=3)
|
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inv/ES", 53, 0, 0, 1, TxtFecha.Text.ToDate, obs, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=3)
|
||||||
|
|
||||||
CveMovimiento = ObjInventario.AddMovimiento(CveAlmacen, DdlConcepto.SelectedValue.ToEntero, 1, Fecha, tFolio, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, SubProyecto, ActivoFijo, Guia:=TxtGuia.Text, Observaciones:=TxtObservaciones.Text, CvePersonal:=DdlPersonal.SelectedValue.ToEntero, Recibio:=TxtResponsable.Text.Trim, CveCliente:=CveCliente, CveClienteSucursal:=CveClienteSucursal, DepartamentoEntrega:=TxtDepartamentoEntrega.Text, PedidoContrato:=TxtPedidoContrato.Text, CveProveedor:=tCveProveedor)
|
CveMovimiento = ObjInventario.AddMovimiento(CveAlmacen, DdlConcepto.SelectedValue.ToEntero, 1, Fecha, tFolio, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, SubProyecto, ActivoFijo, Guia:=TxtGuia.Text, Observaciones:=TxtObservaciones.Text, CvePersonal:=DdlPersonal.SelectedValue.ToEntero, Recibio:=TxtResponsable.Text.Trim, CveCliente:=CveCliente, CveClienteSucursal:=CveClienteSucursal, DepartamentoEntrega:=TxtDepartamentoEntrega.Text, PedidoContrato:=TxtPedidoContrato.Text, CveProveedor:=tCveProveedor, Modulo:="ES/1")
|
||||||
|
|
||||||
|
|
||||||
If CveMovimiento <= 0 OrElse CvePrePoliza <= 0 Then
|
If CveMovimiento <= 0 OrElse CvePrePoliza <= 0 Then
|
||||||
@@ -1961,7 +1961,7 @@ Partial Class Inventarios_EntradasSalidas
|
|||||||
Dim ObjInv As New ClsInventarios
|
Dim ObjInv As New ClsInventarios
|
||||||
|
|
||||||
If CveMovimiento <= 0 Then
|
If CveMovimiento <= 0 Then
|
||||||
CveMovimiento = ObjInv.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero, DdlConcepto.SelectedValue.ToEntero, 1, TxtFecha.Text.ToDate, TxtFolio.Text.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1)
|
CveMovimiento = ObjInv.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero, DdlConcepto.SelectedValue.ToEntero, 1, TxtFecha.Text.ToDate, TxtFolio.Text.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Modulo:="ES/CS1")
|
||||||
End If
|
End If
|
||||||
|
|
||||||
ObjInv.AddMovimientoDetalle(CveMovimiento, Cantidad, CveUM, CvePS, CostoPromedio, -1, Serie:=SerieLote)
|
ObjInv.AddMovimientoDetalle(CveMovimiento, Cantidad, CveUM, CvePS, CostoPromedio, -1, Serie:=SerieLote)
|
||||||
@@ -3837,7 +3837,7 @@ Partial Class Inventarios_EntradasSalidas
|
|||||||
'MOVIMIENTO DE ENTRADA
|
'MOVIMIENTO DE ENTRADA
|
||||||
If DtMovimientosEntradaInvFisico.Rows.Count > 0 Then
|
If DtMovimientosEntradaInvFisico.Rows.Count > 0 Then
|
||||||
Dim FolioEntrada As Integer = ObjInventario.GetFolioSiguiente(32, UsuarioActual.CveEmpresa)
|
Dim FolioEntrada As Integer = ObjInventario.GetFolioSiguiente(32, UsuarioActual.CveEmpresa)
|
||||||
CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacen, 32, 1, Fecha, FolioEntrada, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtIFDescripcion.Text.Trim)
|
CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacen, 32, 1, Fecha, FolioEntrada, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtIFDescripcion.Text.Trim, Modulo:="ES/AJ1")
|
||||||
Else
|
Else
|
||||||
CveMovimientoEntrada = -1
|
CveMovimientoEntrada = -1
|
||||||
End If
|
End If
|
||||||
@@ -3845,7 +3845,7 @@ Partial Class Inventarios_EntradasSalidas
|
|||||||
'MOVIMIENTO DE SALIDA
|
'MOVIMIENTO DE SALIDA
|
||||||
If DtMovimientosSalidaInvFisico.Rows.Count > 0 Then
|
If DtMovimientosSalidaInvFisico.Rows.Count > 0 Then
|
||||||
Dim FolioSalida As Integer = ObjInventario.GetFolioSiguiente(34, UsuarioActual.CveEmpresa)
|
Dim FolioSalida As Integer = ObjInventario.GetFolioSiguiente(34, UsuarioActual.CveEmpresa)
|
||||||
CveMovimientoSalida = ObjInventario.AddMovimiento(CveAlmacen, 34, 1, Fecha, FolioSalida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveMovimientoRelacionado:=CveMovimientoEntrada, Observaciones:=TxtIFDescripcion.Text.Trim)
|
CveMovimientoSalida = ObjInventario.AddMovimiento(CveAlmacen, 34, 1, Fecha, FolioSalida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveMovimientoRelacionado:=CveMovimientoEntrada, Observaciones:=TxtIFDescripcion.Text.Trim, Modulo:="ES/AJ2")
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -4132,19 +4132,21 @@ Partial Class Inventarios_EntradasSalidas
|
|||||||
End Sub
|
End Sub
|
||||||
Private Sub CargarArchivo(Ruta As String, FileName As String, Tipo As String)
|
Private Sub CargarArchivo(Ruta As String, FileName As String, Tipo As String)
|
||||||
Dim dt As New DataTable
|
Dim dt As New DataTable
|
||||||
Dim Conexion As Odbc.OdbcConnection = Nothing
|
'Dim Conexion As Odbc.OdbcConnection = Nothing
|
||||||
Dim ErrorArchivo = False
|
Dim ErrorArchivo = False
|
||||||
Dim n As Integer = 0
|
Dim n As Integer = 0
|
||||||
Try
|
Try
|
||||||
Select Case Tipo
|
Select Case Tipo
|
||||||
Case "EXCEL"
|
Case "EXCEL"
|
||||||
Conexion = New Odbc.OdbcConnection("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" + Ruta + FileName + ";")
|
dt = ReadExcelFile(Ruta + FileName, True)
|
||||||
Conexion.Open()
|
dt = dt.FiltraParametros("Cantidad <> '' ")
|
||||||
Dim cmd = Conexion.CreateCommand()
|
'Conexion = New Odbc.OdbcConnection("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" + Ruta + FileName + ";")
|
||||||
cmd.CommandType = CommandType.Text
|
'Conexion.Open()
|
||||||
cmd.CommandText = "Select * FROM [Hoja1$]"
|
'Dim cmd = Conexion.CreateCommand()
|
||||||
Dim DataAdapter = New Odbc.OdbcDataAdapter(cmd)
|
'cmd.CommandType = CommandType.Text
|
||||||
DataAdapter.Fill(dt)
|
'cmd.CommandText = "Select * FROM [Hoja1$]"
|
||||||
|
'Dim DataAdapter = New Odbc.OdbcDataAdapter(cmd)
|
||||||
|
'DataAdapter.Fill(dt)
|
||||||
Case Else
|
Case Else
|
||||||
Alert("El archivo no tiene el formato correcto", TipoMensaje.MsgError)
|
Alert("El archivo no tiene el formato correcto", TipoMensaje.MsgError)
|
||||||
Exit Sub
|
Exit Sub
|
||||||
@@ -4153,7 +4155,7 @@ Partial Class Inventarios_EntradasSalidas
|
|||||||
ErrorArchivo = True
|
ErrorArchivo = True
|
||||||
OnError("Ocurrio un Error al leer el archivo <br/>" & ex.Message, ex)
|
OnError("Ocurrio un Error al leer el archivo <br/>" & ex.Message, ex)
|
||||||
End Try
|
End Try
|
||||||
Conexion.Close()
|
' Conexion.Close()
|
||||||
If Not ErrorArchivo Then
|
If Not ErrorArchivo Then
|
||||||
If Not dt.Columns(0).ColumnName = "Cantidad" Then
|
If Not dt.Columns(0).ColumnName = "Cantidad" Then
|
||||||
Alert("El nombre de la primera columna debe ser 'Cantidad'.Favor de corregirlo", TipoMensaje.MsgError)
|
Alert("El nombre de la primera columna debe ser 'Cantidad'.Favor de corregirlo", TipoMensaje.MsgError)
|
||||||
@@ -4299,7 +4301,12 @@ Partial Class Inventarios_EntradasSalidas
|
|||||||
Dim StrReturn As String = String.Empty
|
Dim StrReturn As String = String.Empty
|
||||||
Dim CvePS As Integer = 0
|
Dim CvePS As Integer = 0
|
||||||
Dim Condicion As String = String.Format("{0} = '{1}'", Opt, Valor)
|
Dim Condicion As String = String.Format("{0} = '{1}'", Opt, Valor)
|
||||||
CvePS = GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePS", Condicion).ToString.ToEntero
|
If Opt = "Codigo" Then
|
||||||
|
CvePS = GlobalDTPS(UsuarioActual.CveEmpresa, Codigo:=Valor).FiltroPrimeroValor("CvePS", "").ToString.ToEntero
|
||||||
|
Else
|
||||||
|
CvePS = GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePS", Condicion).ToString.ToEntero
|
||||||
|
End If
|
||||||
|
|
||||||
If CvePS > 0 Then
|
If CvePS > 0 Then
|
||||||
StrReturn = "True|" & CvePS.ToString
|
StrReturn = "True|" & CvePS.ToString
|
||||||
Else
|
Else
|
||||||
|
|||||||
@@ -41,12 +41,13 @@ Partial Class Inventarios_Kardex
|
|||||||
If Request("FechaI") IsNot Nothing AndAlso Request("FechaI") <> "-1" Then TxtFechaI.Text = Request("FechaI").ToString
|
If Request("FechaI") IsNot Nothing AndAlso Request("FechaI") <> "-1" Then TxtFechaI.Text = Request("FechaI").ToString
|
||||||
If Request("FechaF") IsNot Nothing AndAlso Request("FechaF") <> "-1" Then TxtFechaF.Text = Request("FechaF").ToString
|
If Request("FechaF") IsNot Nothing AndAlso Request("FechaF") <> "-1" Then TxtFechaF.Text = Request("FechaF").ToString
|
||||||
|
|
||||||
If IfNull(Request("CvePS"), "-1").ToString.ToEntero > 0 Then CargarKardex(Request("CvePS").ToString.ToEntero)
|
'If IfNull(Request("CvePS"), "-1").ToString.ToEntero > 0 Then CargarKardex(Request("CvePS").ToString.ToEntero)
|
||||||
ddlProducto2.SelectedValue = If(Request("CvePS") IsNot Nothing, Request("CvePS").ToString, "-1")
|
'ddlProducto2.SelectedValue = If(Request("CvePS") IsNot Nothing, Request("CvePS").ToString, "-1")
|
||||||
|
|
||||||
If Request("CvePS") IsNot Nothing And Request("CvePS") <> "-1" Then
|
If Request("CvePS") IsNot Nothing And Request("CvePS") <> "-1" Then
|
||||||
ddlProducto2.SelectedValue = If(Request("CvePS") IsNot Nothing, Request("CvePS").ToString, "-1")
|
ddlProducto2.SelectedValue = If(Request("CvePS") IsNot Nothing, Request("CvePS").ToString, "-1")
|
||||||
ddlProducto_SelectedIndexChanged(ddlProducto2, EventArgs.Empty)
|
ddlProducto_SelectedIndexChanged(ddlProducto2, EventArgs.Empty)
|
||||||
|
CargaDatos()
|
||||||
End If
|
End If
|
||||||
|
|
||||||
CargaPermisos()
|
CargaPermisos()
|
||||||
@@ -257,7 +258,14 @@ Partial Class Inventarios_Kardex
|
|||||||
Dim FechaF As String = If(TxtFechaF.Text <> "" AndAlso TxtFechaF.Text <> "__/__/____", TxtFechaF.Text, "-1")
|
Dim FechaF As String = If(TxtFechaF.Text <> "" AndAlso TxtFechaF.Text <> "__/__/____", TxtFechaF.Text, "-1")
|
||||||
Dim CveAlmacen As Integer = -1
|
Dim CveAlmacen As Integer = -1
|
||||||
Dim CveAlmacenes As String = ddlAlmacen.GetSelectedValues()
|
Dim CveAlmacenes As String = ddlAlmacen.GetSelectedValues()
|
||||||
If CvePS > 0 Then ddlProducto2.SelectedText = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimeroValor("PSCodigo", "")
|
If CvePS > 0 Then
|
||||||
|
Dim dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("")
|
||||||
|
If dr IsNot Nothing Then
|
||||||
|
ddlProducto2.SelectedText = dr("PSCodigo").ToString
|
||||||
|
ddlProducto2.SelectedValue = CvePS.ToString
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
Dim CveTiposAlmacen = ""
|
Dim CveTiposAlmacen = ""
|
||||||
For Each item As ListItem In CBLTiposAlmacen.Items
|
For Each item As ListItem In CBLTiposAlmacen.Items
|
||||||
|
|||||||
@@ -92,6 +92,9 @@
|
|||||||
<li>
|
<li>
|
||||||
<asp:LinkButton ID="LnkExportar" runat="server"><i class="fa fa-ad-excel"></i> Generar Excel</asp:LinkButton>
|
<asp:LinkButton ID="LnkExportar" runat="server"><i class="fa fa-ad-excel"></i> Generar Excel</asp:LinkButton>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<asp:LinkButton runat="server" ID="LnkProyectos" OnClick="LnkProyectos_Click" Text="Proyectos" />
|
||||||
|
</li>
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
|
|
||||||
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
|
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
|
||||||
@@ -175,7 +178,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<asp:Panel ID="pnlOrden" runat="server" CssClass="row">
|
<asp:Panel ID="pnlOrden" runat="server" CssClass="row">
|
||||||
<label class="col-md-1 truncate">Orden:</label>
|
<asp:Label runat="server" ID="LblOrden" class="col-md-1 truncate">Orden:</asp:Label>
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">
|
||||||
<asp:DropDownList ID="DdlOrden" runat="server" CssClass="select2me" Width="100%">
|
<asp:DropDownList ID="DdlOrden" runat="server" CssClass="select2me" Width="100%">
|
||||||
<asp:ListItem Text="Seleccione" Value="-1" Selected="True" />
|
<asp:ListItem Text="Seleccione" Value="-1" Selected="True" />
|
||||||
@@ -186,14 +189,21 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<label class="col-md-3 truncate">Marca:</label>
|
<asp:Label runat="server" ID="LblMarca" class="col-md-3 truncate">Marca:</asp:Label>
|
||||||
<div class="col-md-9">
|
<div class="col-md-9">
|
||||||
<asp:ListBox ID="DdlMarca" runat="server" DataTextField="Marca" DataValueField="CveMarca" data-text="Todos" SelectionMode="Multiple" CssClass="form-control ddlFiltros input-sm select2me Widthall" Style="width: 100%; height:50px !important;">
|
<asp:ListBox ID="DdlMarca" runat="server" DataTextField="Marca" DataValueField="CveMarca" data-text="Todos" SelectionMode="Multiple" CssClass="form-control ddlFiltros input-sm select2me Widthall" Style="width: 100%; height: 50px !important;">
|
||||||
<asp:ListItem Text="Todas" Value="-1"></asp:ListItem>
|
<asp:ListItem Text="Todas" Value="-1"></asp:ListItem>
|
||||||
</asp:ListBox>
|
</asp:ListBox>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<asp:Label runat="server" ID="LblProyectado" Text="Incluir Proyectados" class="col-md-1 truncate" />
|
||||||
|
<div class="col-md-2">
|
||||||
|
<asp:DropDownList ID="DdlProyeccionFiltro" runat="server" CssClass="select2me" Width="100%" >
|
||||||
|
<asp:ListItem Text="Si" Value="1" Selected="True" />
|
||||||
|
<asp:ListItem Text="No" Value="2" />
|
||||||
|
</asp:DropDownList>
|
||||||
|
</div>
|
||||||
</asp:Panel>
|
</asp:Panel>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -250,6 +260,40 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
<div id="DivProyeccion" class="modal ADS fade" role="dialog">
|
||||||
|
<div class="modal-dialog" style="width: 450px;">
|
||||||
|
<asp:UpdatePanel runat="server" class="modal-content" ID="UpModalTiposD" UpdateMode="Conditional">
|
||||||
|
<ContentTemplate>
|
||||||
|
<div class="modal-header ">
|
||||||
|
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||||
|
<h4 class="modal-title">
|
||||||
|
<asp:Literal ID="LtlTituloModalTiposD" runat="server">Proyección:</asp:Literal></h4>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<div class="row" style="width: 100%; text-align: center">
|
||||||
|
<asp:Label runat="server" ID="LblProyeccionOpcion" />
|
||||||
|
<asp:RadioButtonList ID="RblProyeccionOpcion" runat="server" RepeatDirection="Horizontal" Width="50%" Style="margin: 0 25% 0 25%">
|
||||||
|
<asp:ListItem Text="Entrada" Value="1" Selected="True" />
|
||||||
|
<asp:ListItem Text="Salida" Value="2" />
|
||||||
|
</asp:RadioButtonList>
|
||||||
|
<asp:Button runat="server" ID="BtnDescargarFormato" OnClick="BtnDescargarFormato_Click" Text="Descargar formato" CssClass="btn btn-warning" />
|
||||||
|
</div>
|
||||||
|
<asp:Label runat="server" ID="Label1" Text="Subir Proyección:" Style="font-size: 15px" />
|
||||||
|
<br />
|
||||||
|
<asp:TextBox ID="TxtProyeccionExcel" CssClass="ADSdropzone hidden" runat="server" Style="height: 100px"></asp:TextBox>
|
||||||
|
<br />
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<asp:Button ID="BtnAgregarProyeccion" OnClick="BtnAgregarProyeccion_Click" runat="server" class="btn btn-success" Text="Agregar" ValidationGroup="GrpTiposD" />
|
||||||
|
<button id="Button3" runat="server" type="button" class="btn default" data-dismiss="modal">Cancelar</button>
|
||||||
|
</div>
|
||||||
|
</ContentTemplate>
|
||||||
|
<Triggers>
|
||||||
|
<asp:PostBackTrigger ControlID="BtnDescargarFormato" />
|
||||||
|
</Triggers>
|
||||||
|
</asp:UpdatePanel>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
|
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
|
|||||||
@@ -13,9 +13,15 @@ Partial Class Inventarios_KardexAlmacen
|
|||||||
TxtFechaF.Text = Now.ToShortDateString
|
TxtFechaF.Text = Now.ToShortDateString
|
||||||
CargaCombos()
|
CargaCombos()
|
||||||
ddlAlmacen.Items.Insert(0, New ListItem("Todos", "-1"))
|
ddlAlmacen.Items.Insert(0, New ListItem("Todos", "-1"))
|
||||||
pnlOrden.Visible = False
|
LblOrden.Visible = False
|
||||||
|
DdlOrden.Visible = False
|
||||||
|
LblMarca.Visible = False
|
||||||
|
DdlMarca.Visible = False
|
||||||
If UsuarioActual.Empresa.Funcionalidad(558) = "1" Then
|
If UsuarioActual.Empresa.Funcionalidad(558) = "1" Then
|
||||||
pnlOrden.Visible = True
|
LblOrden.Visible = True
|
||||||
|
DdlOrden.Visible = True
|
||||||
|
LblMarca.Visible = True
|
||||||
|
DdlMarca.Visible = True
|
||||||
DdlOrden.SelectedValue = 2
|
DdlOrden.SelectedValue = 2
|
||||||
End If
|
End If
|
||||||
If IfNull(Request("CvePS"), "-1").ToString.ToEntero > 0 Then CargarKardex(Request("CvePS").ToString.ToEntero)
|
If IfNull(Request("CvePS"), "-1").ToString.ToEntero > 0 Then CargarKardex(Request("CvePS").ToString.ToEntero)
|
||||||
@@ -134,7 +140,7 @@ Partial Class Inventarios_KardexAlmacen
|
|||||||
Dim CveProveedorCompra As Integer = If(DdlProveedor.SelectedValue.ToEntero > 0, DdlProveedor.SelectedValue.ToEntero, -1)
|
Dim CveProveedorCompra As Integer = If(DdlProveedor.SelectedValue.ToEntero > 0, DdlProveedor.SelectedValue.ToEntero, -1)
|
||||||
Dim Marcas As String = If(DdlMarca.GetSelectedValuesM = "", "-1", DdlMarca.GetSelectedValuesM)
|
Dim Marcas As String = If(DdlMarca.GetSelectedValuesM = "", "-1", DdlMarca.GetSelectedValuesM)
|
||||||
|
|
||||||
If ObjMovimientos.GetKardexAlmacenHorizontal(CvePS, FechaF, CveAlmacen, DdlUnidadMedida.SelectedValue.ToEntero, CveProveedorCompra, DdlTipoAlmacen.SelectedValue.ToEntero(), DdlIncluyeTransitorios.SelectedValue.ToEntero(), DdlClasificacion.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CondicionExistencias:=DdlExistencia.SelectedValue, Orden:=DdlOrden.SelectedValue.ToEntero(), Marcas:=Marcas) Then
|
If ObjMovimientos.GetKardexAlmacenHorizontal(CvePS, FechaF, CveAlmacen, DdlUnidadMedida.SelectedValue.ToEntero, CveProveedorCompra, DdlTipoAlmacen.SelectedValue.ToEntero(), DdlIncluyeTransitorios.SelectedValue.ToEntero(), DdlClasificacion.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CondicionExistencias:=DdlExistencia.SelectedValue, Orden:=DdlOrden.SelectedValue.ToEntero(), Marcas:=Marcas, IncluyeProyectado:=DdlProyeccionFiltro.SelectedValue.ToEntero) Then
|
||||||
If ObjMovimientos.DtResultados IsNot Nothing AndAlso ObjMovimientos.DtResultados.Rows.Count > 0 Then
|
If ObjMovimientos.DtResultados IsNot Nothing AndAlso ObjMovimientos.DtResultados.Rows.Count > 0 Then
|
||||||
dt = ObjMovimientos.DtResultados
|
dt = ObjMovimientos.DtResultados
|
||||||
Dim ListaBorrar As New List(Of DataColumn)
|
Dim ListaBorrar As New List(Of DataColumn)
|
||||||
@@ -337,6 +343,137 @@ Partial Class Inventarios_KardexAlmacen
|
|||||||
excel.Save(HttpContext.Current.Response, $"{NombreArchivoXLSx}.xlsx")
|
excel.Save(HttpContext.Current.Response, $"{NombreArchivoXLSx}.xlsx")
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Protected Sub LnkProyectos_Click(sender As Object, e As EventArgs)
|
||||||
|
RegistraScript(String.Format("$('#{0}').modal();", "DivProyeccion"))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Protected Sub BtnDescargarFormato_Click(sender As Object, e As EventArgs)
|
||||||
|
Dim Directorio As String = ModExtensiones.DirectorioBaseEmpresas & "Empresas\Grales\Formatos\KardexProyeccion.xlsx"
|
||||||
|
|
||||||
|
Dim Archivo As New IO.FileInfo(Directorio)
|
||||||
|
If Archivo.Exists Then
|
||||||
|
Response.Clear()
|
||||||
|
Response.ClearHeaders()
|
||||||
|
Response.ClearContent()
|
||||||
|
Response.AddHeader("Content-Disposition", "attachment; filename=" + Archivo.Name)
|
||||||
|
Response.AddHeader("Content-Length", Archivo.Length.ToString())
|
||||||
|
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
||||||
|
Response.Flush()
|
||||||
|
Response.TransmitFile(Archivo.FullName)
|
||||||
|
Response.End()
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Protected Sub BtnAgregarProyeccion_Click(sender As Object, e As EventArgs)
|
||||||
|
If TxtProyeccionExcel.getfiles().Archivos.Count > 0 Then
|
||||||
|
Dim file As Archivo = TxtProyeccionExcel.getfiles().Archivos(0)
|
||||||
|
Dim Directorio As String = Server.MapPath("~") & file.patch
|
||||||
|
Dim Tipo As String = If(file.Extencion.Contiene("xlsx", "xlsx", "xlsm", "xlsb"), "EXCEL", "CSV")
|
||||||
|
CargarArchivo(Directorio, file.filename, Tipo)
|
||||||
|
Else
|
||||||
|
Alert("No existe el archivo.Favor de subir un archivo csv o excel a la plataforma", TipoMensaje.MsgError)
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub CargarArchivo(Ruta As String, FileName As String, Tipo As String)
|
||||||
|
Dim dt As New DataTable
|
||||||
|
dt = ReadExcelFile(Ruta + FileName, True)
|
||||||
|
If Not dt.Columns(0).ColumnName = "Código" Then
|
||||||
|
Alert("La primera columna del archivo debe ser 'Código'", TipoMensaje.MsgAdvertencia)
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
|
If Not dt.Columns(1).ColumnName = "Cantidad" Then
|
||||||
|
Alert("La primera columna del archivo debe ser 'Cantidad'", TipoMensaje.MsgAdvertencia)
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
|
|
||||||
|
AgregarProyeccion(dt)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub AgregarProyeccion(dt As DataTable)
|
||||||
|
Dim TieneError As Boolean = False
|
||||||
|
Dim ObjInventarios As New ClsInventarios
|
||||||
|
ObjInventarios.IniciaTransacSQL()
|
||||||
|
|
||||||
|
Dim TipoMovot As Integer = If(RblProyeccionOpcion.SelectedValue = "1", 0, 1)
|
||||||
|
|
||||||
|
If ObjInventarios.DeleteMovimientosProyectados(TipoMovot) Then
|
||||||
|
Dim DtProductosEmpresas As DataTable = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa)
|
||||||
|
For Each dtRow As DataRow In dt.Rows
|
||||||
|
Dim Codigo As String = dtRow("Código").ToString
|
||||||
|
Dim CvePS As Integer = DtProductosEmpresas.FiltroPrimeroValor("CvePS", String.Format("Codigo = '{0}'", Codigo))
|
||||||
|
Dim Cantidad As Decimal = dtRow("Cantidad").ToString.ToDecimal
|
||||||
|
If Not ObjInventarios.AddMovimientosProyectados(CvePS, Cantidad, RblProyeccionOpcion.SelectedValue.ToEntero()) Then
|
||||||
|
TieneError = True
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
Else
|
||||||
|
TieneError = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
If TieneError Then
|
||||||
|
ObjInventarios.RollBack()
|
||||||
|
Else
|
||||||
|
ObjInventarios.Commit()
|
||||||
|
End If
|
||||||
|
ObjInventarios.Dispose()
|
||||||
|
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivProyeccion"))
|
||||||
|
Alert("Se ha agregado la proyección de productos correctamente")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Function ReadExcelFile(ByVal flatFilePath As String, ByVal firstRowHasHeaders As Boolean) As DataTable
|
||||||
|
SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet)
|
||||||
|
Dim excelFile As ExcelFile = ExcelFile.Load(flatFilePath)
|
||||||
|
|
||||||
|
Dim unnamed As Integer = 0
|
||||||
|
Dim cols As Integer
|
||||||
|
Dim columns As String()
|
||||||
|
Dim curRow As Integer = 0
|
||||||
|
Dim curCol As Integer = 0
|
||||||
|
Dim dataTable As DataTable = New DataTable()
|
||||||
|
Dim worksheet As ExcelWorksheet = excelFile.Worksheets(0)
|
||||||
|
|
||||||
|
For cols = 0 To worksheet.Rows(0).AllocatedCells.Count - 1
|
||||||
|
|
||||||
|
If firstRowHasHeaders Then
|
||||||
|
|
||||||
|
If worksheet.Rows(0).Cells(cols).Value IsNot Nothing Then
|
||||||
|
dataTable.Columns.Add(worksheet.Rows(0).Cells(cols).Value.ToString().Trim)
|
||||||
|
Else
|
||||||
|
dataTable.Columns.Add("Unnamed Column " & (System.Threading.Interlocked.Increment(unnamed)))
|
||||||
|
End If
|
||||||
|
|
||||||
|
curRow = 1
|
||||||
|
Else
|
||||||
|
dataTable.Columns.Add("Column " & (cols + 1))
|
||||||
|
End If
|
||||||
|
|
||||||
|
Next
|
||||||
|
|
||||||
|
While curRow < worksheet.Rows.Count
|
||||||
|
|
||||||
|
columns = New String(cols - 1) {}
|
||||||
|
|
||||||
|
For curCol = 0 To cols - 1
|
||||||
|
|
||||||
|
If worksheet.Rows(curRow).Cells(curCol).Value Is Nothing Then
|
||||||
|
columns(curCol) = ""
|
||||||
|
Else
|
||||||
|
columns(curCol) = worksheet.Rows(curRow).Cells(curCol).Value.ToString()
|
||||||
|
End If
|
||||||
|
|
||||||
|
Next
|
||||||
|
|
||||||
|
dataTable.Rows.Add(columns)
|
||||||
|
curRow += 1
|
||||||
|
|
||||||
|
End While
|
||||||
|
|
||||||
|
Return dataTable
|
||||||
|
|
||||||
|
End Function
|
||||||
Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control)
|
Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control)
|
||||||
End Sub
|
End Sub
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@@ -2616,11 +2616,71 @@ Partial Class Inventarios_RecepcionUsados
|
|||||||
If ObjAcumuladores.GetNuevoConsecutivoFolio(DdlFolioGarantia.SelectedValue.ToEntero) Then
|
If ObjAcumuladores.GetNuevoConsecutivoFolio(DdlFolioGarantia.SelectedValue.ToEntero) Then
|
||||||
Dim resultado As String = ObjAcumuladores.DtResultados.FiltroPrimeroValor("NuevoConsecutivo")
|
Dim resultado As String = ObjAcumuladores.DtResultados.FiltroPrimeroValor("NuevoConsecutivo")
|
||||||
TxtConsecutivoAjuste.Text = (resultado.ToEntero + 1).ToString
|
TxtConsecutivoAjuste.Text = (resultado.ToEntero + 1).ToString
|
||||||
UpAjuste.Update()
|
|
||||||
End If
|
End If
|
||||||
ObjAcumuladores.Dispose()
|
ObjAcumuladores.Dispose()
|
||||||
|
|
||||||
|
Dim FolioGarantia As MFolioGarantiaMensaje = ValidaFolioGarantia(DdlPSAjuste.SelectedValue.ToEntero(), DdlFolioGarantia.SelectedValue.ToEntero())
|
||||||
|
|
||||||
|
If Not FolioGarantia.Valido Then
|
||||||
|
Alert($"El folio de garantía no es valido.<br/> Clasificacion del Producto:{FolioGarantia.ClasificacionPS}.<br/>Tipo Folio:{FolioGarantia.TipoFolio}", TipoMensaje.MsgAdvertencia)
|
||||||
|
End If
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Private Function ValidaFolioGarantia(CvePS As Integer, CveFolioGarantia As Integer) As MFolioGarantiaMensaje
|
||||||
|
Dim Retorno As New MFolioGarantiaMensaje
|
||||||
|
|
||||||
|
Dim Valido As Boolean = False
|
||||||
|
Dim TipoFolio As String = ""
|
||||||
|
Dim ListaClasificacionesPermitidas As New List(Of Integer)
|
||||||
|
|
||||||
|
Dim ObjAcumuladores As New ClsAcumuladores
|
||||||
|
If ObjAcumuladores.FoliosGarantiaGet(CveFolioGarantia, UsuarioActual.CveEmpresa, Area:=-1) AndAlso ObjAcumuladores.DtResultados.Rows.Count > 0 Then
|
||||||
|
Dim Row As DataRow = ObjAcumuladores.DtResultados.Rows(0)
|
||||||
|
TipoFolio = Row("tipoFolio").ToString().ToUpper()
|
||||||
|
End If
|
||||||
|
ObjAcumuladores.Dispose()
|
||||||
|
|
||||||
|
Dim CveClasificacionPS As Integer = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimeroValor("CveClasificacion").ToEntero()
|
||||||
|
Dim ClasificacionPS As String = GlobalDTClasificaciones(CveEmpresa:=UsuarioActual.CveEmpresa, CveClasificacion:=CveClasificacionPS).FiltroPrimeroValor("Clasificacion").ToString()
|
||||||
|
Select Case TipoFolio
|
||||||
|
Case "GENERAL"
|
||||||
|
'20520 ACUM. AUTOMOTRIZ
|
||||||
|
'20522 ACUM. ESPECIALES
|
||||||
|
'20513 ACUM. ESTANDAR
|
||||||
|
'20521 ACUM. PESADO
|
||||||
|
'20512 ACUM. PREMIUM
|
||||||
|
'20514 ACUM. VALUE
|
||||||
|
'20229 Acumulador
|
||||||
|
ListaClasificacionesPermitidas.Add(20520) 'ACUM. AUTOMOTRIZ
|
||||||
|
ListaClasificacionesPermitidas.Add(20522) 'ACUM. ESPECIALES
|
||||||
|
ListaClasificacionesPermitidas.Add(20513) 'ACUM. ESTANDAR
|
||||||
|
ListaClasificacionesPermitidas.Add(20521) 'ACUM. PESADO
|
||||||
|
ListaClasificacionesPermitidas.Add(20512) 'ACUM. PREMIUM
|
||||||
|
ListaClasificacionesPermitidas.Add(20514) 'ACUM. VALUE
|
||||||
|
ListaClasificacionesPermitidas.Add(20229) 'Acumulador
|
||||||
|
Case "OPTIMA"
|
||||||
|
'20511 ACUM. OPTIMA
|
||||||
|
ListaClasificacionesPermitidas.Add(20511) 'ACUM. OPTIMA
|
||||||
|
Case "MOTOBATERIA"
|
||||||
|
'20517 MOTOBATERIAS
|
||||||
|
ListaClasificacionesPermitidas.Add(20517) 'MOTOBATERIAS
|
||||||
|
End Select
|
||||||
|
|
||||||
|
If ListaClasificacionesPermitidas.Contains(CveClasificacionPS) Then
|
||||||
|
Valido = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
Retorno.CvePS = CvePS
|
||||||
|
Retorno.CveFolioGarantia = CveFolioGarantia
|
||||||
|
Retorno.CveClasificacionPS = CveClasificacionPS
|
||||||
|
Retorno.ClasificacionPS = ClasificacionPS
|
||||||
|
Retorno.TipoFolio = TipoFolio
|
||||||
|
Retorno.Valido = Valido
|
||||||
|
|
||||||
|
Return Retorno
|
||||||
|
End Function
|
||||||
|
|
||||||
Protected Sub CargaTipoDeUso()
|
Protected Sub CargaTipoDeUso()
|
||||||
DdlTipoUso.Items.Clear()
|
DdlTipoUso.Items.Clear()
|
||||||
DdlTipoUso.DataSource = GlobalDTAcumTiposUso.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}")
|
DdlTipoUso.DataSource = GlobalDTAcumTiposUso.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}")
|
||||||
@@ -2767,6 +2827,14 @@ Partial Class Inventarios_RecepcionUsados
|
|||||||
|
|
||||||
Protected Sub BtnAgregarProductoAjuste_Click(sender As Object, e As EventArgs)
|
Protected Sub BtnAgregarProductoAjuste_Click(sender As Object, e As EventArgs)
|
||||||
Dim CvePS As Integer = DdlPSAjuste.SelectedValue.ToEntero
|
Dim CvePS As Integer = DdlPSAjuste.SelectedValue.ToEntero
|
||||||
|
|
||||||
|
Dim FolioGarantia As MFolioGarantiaMensaje = ValidaFolioGarantia(CvePS, DdlFolioGarantia.SelectedValue.ToEntero())
|
||||||
|
|
||||||
|
If Not FolioGarantia.Valido Then
|
||||||
|
Alert($"El folio de garantía no es valido.<br/> Clasificacion del Producto:{FolioGarantia.ClasificacionPS}.<br/>Tipo Folio:{FolioGarantia.TipoFolio}", TipoMensaje.MsgAdvertencia)
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
|
|
||||||
Dim ObjPS As New ClsProductosServicios
|
Dim ObjPS As New ClsProductosServicios
|
||||||
Dim CveTamaño As Integer = -1
|
Dim CveTamaño As Integer = -1
|
||||||
If ObjPS.GetPS(CvePS, -1, UsuarioActual.CveEmpresa) Then
|
If ObjPS.GetPS(CvePS, -1, UsuarioActual.CveEmpresa) Then
|
||||||
@@ -2809,4 +2877,14 @@ Partial Class Inventarios_RecepcionUsados
|
|||||||
InicializaClientes(ChkClientesTodos.Checked)
|
InicializaClientes(ChkClientesTodos.Checked)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Partial Class MFolioGarantiaMensaje
|
||||||
|
Public Property CvePS As Integer
|
||||||
|
Public Property CveClasificacionPS As Integer
|
||||||
|
Public Property ClasificacionPS As String
|
||||||
|
Public Property CveFolioGarantia As Integer
|
||||||
|
Public Property TipoFolio As String
|
||||||
|
|
||||||
|
Public Property Valido As Boolean
|
||||||
|
End Class
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@@ -889,35 +889,38 @@ Partial Class Inventarios_TraspasoAlmacen
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
AlmacenEntrada = If(ChkTransitorio.Checked, DdlAlmacenTransitorio.SelectedValue.ToEntero, DdlAlmacenDestino.SelectedValue.ToEntero)
|
||||||
|
|
||||||
|
Dim TipoMovimientoEntrada As Integer = 27
|
||||||
|
If Not ChkTransitorio.Checked Then TipoMovimientoEntrada = 27 Else TipoMovimientoEntrada = 9
|
||||||
|
|
||||||
|
CveMovimientoEntrada = ObjInventario.AddMovimiento(AlmacenEntrada, TipoMovimientoEntrada, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, -1, -1,
|
||||||
|
Observaciones:=TxtObservaciones.Text.Trim, Recibio:=If(ChkTransitorio.Checked, TxtResponsable.Text.Trim, "-1"),
|
||||||
|
CveAlmacenDestino:=If(ChkTransitorio.Checked, DdlAlmacenDestino.SelectedValue.ToEntero, -1), CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="TA/G3")
|
||||||
|
FolioEntrada = ObjInventario.Folio
|
||||||
|
If CveMovimientoEntrada <= 0 Then
|
||||||
|
TextoError = "Ocurrió un error al generar el movimiento de entrada"
|
||||||
|
ErrorMovInv = True
|
||||||
|
Else
|
||||||
|
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
|
||||||
|
Dim Cont As Integer = 0
|
||||||
|
For Each Dr As DataRow In ObjInventario.DtResultados.Rows
|
||||||
|
Dim CostoEntrada As Decimal = If(TipoAlmacenDestino = 26, 0, Dr("PU").ToString.ToDecimal())
|
||||||
|
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, CostoEntrada, CveAF:=Dr("CveAF").ToString.ToEntero, CveSeccionAlmacen:=DdlSeccionAlmacenDestino.SelectedValue.ToEntero, Serie:=Dr("Serie").ToString, Lote:=Dr("Lote").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero, Observaciones:=Dr("Observaciones").ToString) Then
|
||||||
|
ErrorMovInv = True
|
||||||
|
TextoError = "Ocurrió un error al guardar los movimientos de entrada"
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
Cont += 1
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
'AGREGAMOS LA ENTRADA
|
'AGREGAMOS LA ENTRADA
|
||||||
If Not ChkTransitorio.Checked Then 'SI NO ES TRANSITORIO SE HACE LA RECEPCION DE INMEDIATO
|
If Not ChkTransitorio.Checked Then 'SI NO ES TRANSITORIO SE HACE LA RECEPCION DE INMEDIATO
|
||||||
If Not ErrorMovInv Then
|
If Not ErrorMovInv Then
|
||||||
Dim TipoMovimientoEntrada = 27
|
|
||||||
AlmacenEntrada = If(ChkTransitorio.Checked, DdlAlmacenTransitorio.SelectedValue.ToEntero, DdlAlmacenDestino.SelectedValue.ToEntero)
|
|
||||||
|
|
||||||
'Dim TipoAlmacenEntrada As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveTipoAlmacen", $"CveAlmacen = {AlmacenEntrada}").ToEntero()
|
|
||||||
|
|
||||||
CveMovimientoEntrada = ObjInventario.AddMovimiento(AlmacenEntrada, TipoMovimientoEntrada, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, -1, -1,
|
|
||||||
Observaciones:=TxtObservaciones.Text.Trim, Recibio:=If(ChkTransitorio.Checked, TxtResponsable.Text.Trim, "-1"),
|
|
||||||
CveAlmacenDestino:=If(ChkTransitorio.Checked, DdlAlmacenDestino.SelectedValue.ToEntero, -1), CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="TA/G3")
|
|
||||||
FolioEntrada = ObjInventario.Folio
|
|
||||||
If CveMovimientoEntrada <= 0 Then
|
|
||||||
TextoError = "Ocurrió un error al generar el movimiento de entrada"
|
|
||||||
ErrorMovInv = True
|
|
||||||
Else
|
|
||||||
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
|
|
||||||
Dim Cont As Integer = 0
|
|
||||||
For Each Dr As DataRow In ObjInventario.DtResultados.Rows
|
|
||||||
Dim CostoEntrada As Decimal = If(TipoAlmacenDestino = 26, 0, Dr("PU").ToString.ToDecimal())
|
|
||||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, CostoEntrada, CveAF:=Dr("CveAF").ToString.ToEntero, CveSeccionAlmacen:=DdlSeccionAlmacenDestino.SelectedValue.ToEntero, Serie:=Dr("Serie").ToString, Lote:=Dr("Lote").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero, Observaciones:=Dr("Observaciones").ToString) Then
|
|
||||||
ErrorMovInv = True
|
|
||||||
TextoError = "Ocurrió un error al guardar los movimientos de entrada"
|
|
||||||
Exit For
|
|
||||||
End If
|
|
||||||
Cont += 1
|
|
||||||
Next
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
'VIRTUAL ENTRADA
|
'VIRTUAL ENTRADA
|
||||||
If UsuarioActual.Empresa.Funcionalidad(573) = "1" Then
|
If UsuarioActual.Empresa.Funcionalidad(573) = "1" Then
|
||||||
'Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen= {DdlAlmacenDestino.SelectedValue}").ToEntero()
|
'Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen= {DdlAlmacenDestino.SelectedValue}").ToEntero()
|
||||||
@@ -996,7 +999,7 @@ Partial Class Inventarios_TraspasoAlmacen
|
|||||||
If Not ErrorMovInv Then
|
If Not ErrorMovInv Then
|
||||||
Dim Concepto As String = TxtObservaciones.Text
|
Dim Concepto As String = TxtObservaciones.Text
|
||||||
If Concepto = "" Then Concepto = "Traspaso"
|
If Concepto = "" Then Concepto = "Traspaso"
|
||||||
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inventario/TraspasoAlmacen", 53, 0, 0, 1, Fecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inventario/TraspasoAlmacen2", 53, 0, 0, 1, Fecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||||
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
|
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
|
||||||
|
|
||||||
Dim resultado As DataTable = ObjInventario.DtResultados
|
Dim resultado As DataTable = ObjInventario.DtResultados
|
||||||
@@ -1007,7 +1010,7 @@ Partial Class Inventarios_TraspasoAlmacen
|
|||||||
ErrorMovInv = True
|
ErrorMovInv = True
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, TxtObservaciones.Text, 289, TxtObservaciones.Text, Fecha, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimientoSalida, ImporteMX:=importe, Contabilizable:=False) Then
|
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, TxtObservaciones.Text, 289, TxtObservaciones.Text, Fecha, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimientoEntrada, ImporteMX:=importe, Contabilizable:=False) Then
|
||||||
ErrorMovInv = True
|
ErrorMovInv = True
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@@ -1814,11 +1817,16 @@ Partial Class Inventarios_TraspasoAlmacen
|
|||||||
Dim Fecha As Date = TxtFechaRecepcion.Text.ToDate
|
Dim Fecha As Date = TxtFechaRecepcion.Text.ToDate
|
||||||
|
|
||||||
Dim CveAlmacenEntrada As Integer = GvDatosRecepcion.Rows(0).DataKey("CveAlmacenDestino").ToEntero
|
Dim CveAlmacenEntrada As Integer = GvDatosRecepcion.Rows(0).DataKey("CveAlmacenDestino").ToEntero
|
||||||
|
Dim CveAlmacenSalida As Integer = GvDatosRecepcion.Rows(0).DataKey("CveAlmacenSalida").ToEntero
|
||||||
|
|
||||||
Dim TipoAlmacenDestino As Integer = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveTipoAlmacen", $"CveAlmacen = {CveAlmacenEntrada}").ToEntero()
|
Dim TipoAlmacenDestino As Integer = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveTipoAlmacen", $"CveAlmacen = {CveAlmacenEntrada}").ToEntero()
|
||||||
|
|
||||||
|
'AGREGAMOS LA SALIDA
|
||||||
|
CveMovimientoSalida = ObjInventario.AddMovimiento(CveAlmacenSalida, 8, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1,
|
||||||
|
Observaciones:=TxtObservacionesRecepcion.Text.Trim, CveAlmacenDestino:=GvDatosRecepcion.Rows(0).DataKey("CveAlmacenSalida").ToEntero, Modulo:="TA/G11")
|
||||||
|
|
||||||
'AGREGAMOS LA ENTRADA
|
'AGREGAMOS LA ENTRADA
|
||||||
CveMovimientoSalida = ObjInventario.AddMovimiento(CveAlmacenEntrada, 27, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1,
|
CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacenEntrada, 27, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1,
|
||||||
Observaciones:=TxtObservacionesRecepcion.Text.Trim, CveAlmacenDestino:=GvDatosRecepcion.Rows(0).DataKey("CveAlmacenSalida").ToEntero, CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="TA/G1")
|
Observaciones:=TxtObservacionesRecepcion.Text.Trim, CveAlmacenDestino:=GvDatosRecepcion.Rows(0).DataKey("CveAlmacenSalida").ToEntero, CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="TA/G1")
|
||||||
Folio = ObjInventario.Folio
|
Folio = ObjInventario.Folio
|
||||||
|
|
||||||
@@ -1851,11 +1859,18 @@ Partial Class Inventarios_TraspasoAlmacen
|
|||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
Dim PrecioEntrada As Decimal = If(TipoAlmacenDestino = 26, 0, gvr.DataKey("PU").ToString.ToDecimal)
|
Dim PrecioEntrada As Decimal = If(TipoAlmacenDestino = 26, 0, gvr.DataKey("PU").ToString.ToDecimal)
|
||||||
|
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, gvr.FCTextBox("TxtCantidad").Text.ToString.ToDecimal, gvr.DataKey("CveUM").ToString.ToEntero, gvr.DataKey("CvePS").ToString.ToEntero, PrecioEntrada, CveAF:=gvr.DataKey("CveAF").ToString.ToEntero, CveSeccionAlmacen:=gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero, Serie:=gvr.DataKey("Serie").ToString, Lote:=gvr.DataKey("Lote").ToString, FechaCaducidad:=gvr.DataKey("FechaCaducidad").ToDate, CveMovimientoDetalleEntrada:=CveMovimientoDetalleEntrada) Then
|
||||||
|
ErrorMovInv = True
|
||||||
|
TextoError = "Ocurrió un error al guardar los movimientos de salida"
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
'MOV, Alm, Transito
|
||||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, gvr.FCTextBox("TxtCantidad").Text.ToString.ToDecimal, gvr.DataKey("CveUM").ToString.ToEntero, gvr.DataKey("CvePS").ToString.ToEntero, PrecioEntrada, CveAF:=gvr.DataKey("CveAF").ToString.ToEntero, CveSeccionAlmacen:=gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero, Serie:=gvr.DataKey("Serie").ToString, Lote:=gvr.DataKey("Lote").ToString, FechaCaducidad:=gvr.DataKey("FechaCaducidad").ToDate, CveMovimientoDetalleEntrada:=CveMovimientoDetalleEntrada) Then
|
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, gvr.FCTextBox("TxtCantidad").Text.ToString.ToDecimal, gvr.DataKey("CveUM").ToString.ToEntero, gvr.DataKey("CvePS").ToString.ToEntero, PrecioEntrada, CveAF:=gvr.DataKey("CveAF").ToString.ToEntero, CveSeccionAlmacen:=gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero, Serie:=gvr.DataKey("Serie").ToString, Lote:=gvr.DataKey("Lote").ToString, FechaCaducidad:=gvr.DataKey("FechaCaducidad").ToDate, CveMovimientoDetalleEntrada:=CveMovimientoDetalleEntrada) Then
|
||||||
ErrorMovInv = True
|
ErrorMovInv = True
|
||||||
TextoError = "Ocurrió un error al guardar los movimientos de salida"
|
TextoError = "Ocurrió un error al guardar los movimientos de salida"
|
||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
|
|
||||||
ElseIf cantidadDisponibleValidacion < 0 Then
|
ElseIf cantidadDisponibleValidacion < 0 Then
|
||||||
TextoError = String.Format("Se exceden la cantidad disponibles para {0}", gvr.DataKey("PS").ToString)
|
TextoError = String.Format("Se exceden la cantidad disponibles para {0}", gvr.DataKey("PS").ToString)
|
||||||
ErrorMovInv = True
|
ErrorMovInv = True
|
||||||
@@ -1866,7 +1881,7 @@ Partial Class Inventarios_TraspasoAlmacen
|
|||||||
Dim Concepto As String = TxtObservacionesRecepcion.Text
|
Dim Concepto As String = TxtObservacionesRecepcion.Text
|
||||||
If Concepto = "" Then Concepto = "Recepción Traspaso"
|
If Concepto = "" Then Concepto = "Recepción Traspaso"
|
||||||
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inventario/TraspasoAlmacen", 53, 0, 0, 1, Fecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inventario/TraspasoAlmacen", 53, 0, 0, 1, Fecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||||
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
|
If ObjInventario.GetMovimientosDetalle(CveMovimientoEntrada, UsuarioActual.CveEmpresa) Then
|
||||||
|
|
||||||
Dim resultado As DataTable = ObjInventario.DtResultados
|
Dim resultado As DataTable = ObjInventario.DtResultados
|
||||||
Dim importe As Decimal = resultado.SUMD("Total").RoundSQL
|
Dim importe As Decimal = resultado.SUMD("Total").RoundSQL
|
||||||
@@ -1903,7 +1918,7 @@ Partial Class Inventarios_TraspasoAlmacen
|
|||||||
FolioVirtualEntrada = ObjInventario.Folio
|
FolioVirtualEntrada = ObjInventario.Folio
|
||||||
Dim dtvirtual As DataTable = Nothing
|
Dim dtvirtual As DataTable = Nothing
|
||||||
|
|
||||||
If CveMovimientoVirtualEntrada > 0 AndAlso ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
|
If CveMovimientoVirtualEntrada > 0 AndAlso ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoEntrada, UsuarioActual.CveEmpresa) Then
|
||||||
dtvirtual = ObjInventario.DtResultados
|
dtvirtual = ObjInventario.DtResultados
|
||||||
For Each RowVirtual As DataRow In dtvirtual.Rows
|
For Each RowVirtual As DataRow In dtvirtual.Rows
|
||||||
Dim CvePS = RowVirtual("CvePS").ToString().ToEntero()
|
Dim CvePS = RowVirtual("CvePS").ToString().ToEntero()
|
||||||
|
|||||||
@@ -321,7 +321,7 @@ Partial Class Sistemas_PopUpAddUsuario
|
|||||||
If Row.DataKey("CveProcesoAcceso") <> "" Then
|
If Row.DataKey("CveProcesoAcceso") <> "" Then
|
||||||
'checo si el permiso que tiene es del rol, de ser así, nada más actualizo los denegados
|
'checo si el permiso que tiene es del rol, de ser así, nada más actualizo los denegados
|
||||||
If Row.DataKey("Permitir") = "" AndAlso Row.FCCheckBox("ChkD").Checked OrElse Row.DataKey("Permitir") = "0" AndAlso Row.FCCheckBox("ChkD").Checked = False Then
|
If Row.DataKey("Permitir") = "" AndAlso Row.FCCheckBox("ChkD").Checked OrElse Row.DataKey("Permitir") = "0" AndAlso Row.FCCheckBox("ChkD").Checked = False Then
|
||||||
If Not ObjUsuarios.UpdateUsuariosProcesos(CveUsuario, Row.DataKey("CveProceso").ToEntero, Not Row.FCCheckBox("ChkD").Checked) Then
|
If Not ObjUsuarios.UpdateUsuariosProcesos(CveUsuario, Row.DataKey("CveProceso").ToEntero, Not Row.FCCheckBox("ChkD").Checked, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
|
||||||
HuboError = True
|
HuboError = True
|
||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
@@ -329,7 +329,7 @@ Partial Class Sistemas_PopUpAddUsuario
|
|||||||
Else
|
Else
|
||||||
'permisos que el rol, no le está otorgando, y serán únicos para el usuario
|
'permisos que el rol, no le está otorgando, y serán únicos para el usuario
|
||||||
If Row.DataKey("Permitir") = "" AndAlso Row.FCCheckBox("ChkP").Checked OrElse Row.DataKey("Permitir") = "1" AndAlso Row.FCCheckBox("ChkP").Checked = False Then
|
If Row.DataKey("Permitir") = "" AndAlso Row.FCCheckBox("ChkP").Checked OrElse Row.DataKey("Permitir") = "1" AndAlso Row.FCCheckBox("ChkP").Checked = False Then
|
||||||
If Not ObjUsuarios.UpdateUsuariosProcesos(CveUsuario, Row.DataKey("CveProceso").ToEntero, Row.FCCheckBox("ChkP").Checked) Then
|
If Not ObjUsuarios.UpdateUsuariosProcesos(CveUsuario, Row.DataKey("CveProceso").ToEntero, Row.FCCheckBox("ChkP").Checked, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
|
||||||
HuboError = True
|
HuboError = True
|
||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
@@ -340,7 +340,7 @@ Partial Class Sistemas_PopUpAddUsuario
|
|||||||
If Row.DataKey("CveProcesoAcceso") <> "" Then
|
If Row.DataKey("CveProcesoAcceso") <> "" Then
|
||||||
'checo si el permiso que tiene es del rol, de ser así, nada más actualizo los denegados
|
'checo si el permiso que tiene es del rol, de ser así, nada más actualizo los denegados
|
||||||
If Row.DataKey("Permitir") = "" AndAlso Row.FCCheckBox("ChkDenegar").Checked OrElse Row.DataKey("Permitir") = "0" AndAlso Row.FCCheckBox("ChkDenegar").Checked = False Then
|
If Row.DataKey("Permitir") = "" AndAlso Row.FCCheckBox("ChkDenegar").Checked OrElse Row.DataKey("Permitir") = "0" AndAlso Row.FCCheckBox("ChkDenegar").Checked = False Then
|
||||||
If Not ObjUsuarios.UpdateUsuariosProcesos(CveUsuario, Row.DataKey("CveProceso").ToEntero, Not Row.FCCheckBox("ChkDenegar").Checked) Then
|
If Not ObjUsuarios.UpdateUsuariosProcesos(CveUsuario, Row.DataKey("CveProceso").ToEntero, Not Row.FCCheckBox("ChkDenegar").Checked, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
|
||||||
HuboError = True
|
HuboError = True
|
||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
@@ -348,7 +348,7 @@ Partial Class Sistemas_PopUpAddUsuario
|
|||||||
Else
|
Else
|
||||||
'permisos que el rol, no le está otorgando, y serán únicos para el usuario
|
'permisos que el rol, no le está otorgando, y serán únicos para el usuario
|
||||||
If Row.DataKey("Permitir") = "" AndAlso Row.FCCheckBox("ChkPermitir").Checked OrElse Row.DataKey("Permitir") = "1" AndAlso Row.FCCheckBox("ChkPermitir").Checked = False Then
|
If Row.DataKey("Permitir") = "" AndAlso Row.FCCheckBox("ChkPermitir").Checked OrElse Row.DataKey("Permitir") = "1" AndAlso Row.FCCheckBox("ChkPermitir").Checked = False Then
|
||||||
If Not ObjUsuarios.UpdateUsuariosProcesos(CveUsuario, Row.DataKey("CveProceso").ToEntero, Row.FCCheckBox("ChkPermitir").Checked) Then
|
If Not ObjUsuarios.UpdateUsuariosProcesos(CveUsuario, Row.DataKey("CveProceso").ToEntero, Row.FCCheckBox("ChkPermitir").Checked, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
|
||||||
HuboError = True
|
HuboError = True
|
||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
@@ -490,7 +490,7 @@ Partial Class Sistemas_PopUpAddUsuario
|
|||||||
If Row.DataKey("CveProcesoAcceso") <> "" Then
|
If Row.DataKey("CveProcesoAcceso") <> "" Then
|
||||||
'checo si el permiso que tiene es del rol, de ser así, nada más actualizo los denegados
|
'checo si el permiso que tiene es del rol, de ser así, nada más actualizo los denegados
|
||||||
If Row.DataKey("Permitir") = "" AndAlso Row.FCCheckBox("ChkD").Checked OrElse Row.DataKey("Permitir") = "0" AndAlso Row.FCCheckBox("ChkD").Checked = False Then
|
If Row.DataKey("Permitir") = "" AndAlso Row.FCCheckBox("ChkD").Checked OrElse Row.DataKey("Permitir") = "0" AndAlso Row.FCCheckBox("ChkD").Checked = False Then
|
||||||
If Not ObjUsuarios.UpdateUsuariosProcesos(CveUsuario, Row.DataKey("CveProceso").ToEntero, Not Row.FCCheckBox("ChkD").Checked) Then
|
If Not ObjUsuarios.UpdateUsuariosProcesos(CveUsuario, Row.DataKey("CveProceso").ToEntero, Not Row.FCCheckBox("ChkD").Checked, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
|
||||||
HuboError = True
|
HuboError = True
|
||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
@@ -498,7 +498,7 @@ Partial Class Sistemas_PopUpAddUsuario
|
|||||||
Else
|
Else
|
||||||
'permisos que el rol, no le está otorgando, y serán únicos para el usuario
|
'permisos que el rol, no le está otorgando, y serán únicos para el usuario
|
||||||
If Row.DataKey("Permitir") = "" AndAlso Row.FCCheckBox("ChkP").Checked OrElse Row.DataKey("Permitir") = "1" AndAlso Row.FCCheckBox("ChkP").Checked = False Then
|
If Row.DataKey("Permitir") = "" AndAlso Row.FCCheckBox("ChkP").Checked OrElse Row.DataKey("Permitir") = "1" AndAlso Row.FCCheckBox("ChkP").Checked = False Then
|
||||||
If Not ObjUsuarios.UpdateUsuariosProcesos(CveUsuario, Row.DataKey("CveProceso").ToEntero, Row.FCCheckBox("ChkP").Checked) Then
|
If Not ObjUsuarios.UpdateUsuariosProcesos(CveUsuario, Row.DataKey("CveProceso").ToEntero, Row.FCCheckBox("ChkP").Checked, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
|
||||||
HuboError = True
|
HuboError = True
|
||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
|
|||||||
@@ -1120,9 +1120,9 @@ Partial Class Clientes
|
|||||||
|
|
||||||
Select Case HdnCuenta.Value
|
Select Case HdnCuenta.Value
|
||||||
Case "1"
|
Case "1"
|
||||||
CargaDdlCuentasContables(DdlCtaContableClientes, UsuarioActual.Empresa.Funcionalidad(246).ToEntero)
|
CargaDdlCuentasContables(DdlCtaContableClientes, 1)'UsuarioActual.Empresa.Funcionalidad(246).ToEntero
|
||||||
Case "2"
|
Case "2"
|
||||||
CargaDdlCuentasContables(DdlCtaContableAnticipos, UsuarioActual.Empresa.Funcionalidad(237).ToEntero)
|
CargaDdlCuentasContables(DdlCtaContableAnticipos, 1)' UsuarioActual.Empresa.Funcionalidad(237).ToEntero
|
||||||
Case "3"
|
Case "3"
|
||||||
CargaDdlCuentasContables(DdlCtaContableRetIVA, -1)
|
CargaDdlCuentasContables(DdlCtaContableRetIVA, -1)
|
||||||
Case "4"
|
Case "4"
|
||||||
@@ -1130,13 +1130,13 @@ Partial Class Clientes
|
|||||||
Case "5"
|
Case "5"
|
||||||
CargaDdlCuentasContables(DdlCtaContableFondoGarantia, -1)
|
CargaDdlCuentasContables(DdlCtaContableFondoGarantia, -1)
|
||||||
Case "6"
|
Case "6"
|
||||||
CargaDdlCuentasContables(DdlCtaContableCompClientes, UsuarioActual.Empresa.Funcionalidad(248).ToEntero)
|
CargaDdlCuentasContables(DdlCtaContableCompClientes, 1)'UsuarioActual.Empresa.Funcionalidad(248).ToEntero
|
||||||
Case "7"
|
Case "7"
|
||||||
CargaDdlCuentasContables(DdlCtaContableCompAnticipos, -1)
|
CargaDdlCuentasContables(DdlCtaContableCompAnticipos, -1)
|
||||||
Case "8"
|
Case "8"
|
||||||
CargaDdlCuentasContables(DdlMonedaExtranjeraClientes, UsuarioActual.Empresa.Funcionalidad(247).ToEntero)
|
CargaDdlCuentasContables(DdlMonedaExtranjeraClientes, 1)'UsuarioActual.Empresa.Funcionalidad(247).ToEntero
|
||||||
Case "9"
|
Case "9"
|
||||||
CargaDdlCuentasContables(DdlMonedaExtranjeraAnticipos, UsuarioActual.Empresa.Funcionalidad(542).ToEntero)
|
CargaDdlCuentasContables(DdlMonedaExtranjeraAnticipos, 1) 'UsuarioActual.Empresa.Funcionalidad(542).ToEntero
|
||||||
End Select
|
End Select
|
||||||
UpFiscalContable.Update()
|
UpFiscalContable.Update()
|
||||||
|
|
||||||
|
|||||||
@@ -4671,6 +4671,15 @@ Partial Class PV
|
|||||||
RegistraScript("$('#DivAddVenta').modal({backdrop: 'static', keyboard: false});", "EdicionVenta")
|
RegistraScript("$('#DivAddVenta').modal({backdrop: 'static', keyboard: false});", "EdicionVenta")
|
||||||
End Sub
|
End Sub
|
||||||
Protected Sub LnkAgregarPS_Click(sender As Object, e As EventArgs)
|
Protected Sub LnkAgregarPS_Click(sender As Object, e As EventArgs)
|
||||||
|
If ChkAjuste.Checked Then
|
||||||
|
Dim FolioGarantia As MFolioGarantiaMensaje = ValidaFolioGarantia(DdlPSAjuste.SelectedValue.ToEntero(), DdlFolioGarantia.SelectedValue.ToEntero())
|
||||||
|
|
||||||
|
If Not FolioGarantia.Valido Then
|
||||||
|
Alert($"El folio de garantía no es valido.<br/> Clasificacion del Producto:{FolioGarantia.ClasificacionPS}.<br/>Tipo Folio:{FolioGarantia.TipoFolio}", TipoMensaje.MsgAdvertencia)
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
If AgregarPS() Then
|
If AgregarPS() Then
|
||||||
If ChkAjuste.Checked Then GuardaAjuste()
|
If ChkAjuste.Checked Then GuardaAjuste()
|
||||||
AddPolizaVirtual(DdlPS.SelectedValue.ToEntero())
|
AddPolizaVirtual(DdlPS.SelectedValue.ToEntero())
|
||||||
@@ -6511,6 +6520,12 @@ Partial Class PV
|
|||||||
UpAjuste.Update()
|
UpAjuste.Update()
|
||||||
End If
|
End If
|
||||||
ObjAcumuladores.Dispose()
|
ObjAcumuladores.Dispose()
|
||||||
|
|
||||||
|
Dim FolioGarantia As MFolioGarantiaMensaje = ValidaFolioGarantia(DdlPSAjuste.SelectedValue.ToEntero(), DdlFolioGarantia.SelectedValue.ToEntero())
|
||||||
|
|
||||||
|
If Not FolioGarantia.Valido Then
|
||||||
|
Alert($"El folio de garantía no es valido.<br/> Clasificacion del Producto:{FolioGarantia.ClasificacionPS}.<br/>Tipo Folio:{FolioGarantia.TipoFolio}", TipoMensaje.MsgAdvertencia)
|
||||||
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
#End Region
|
#End Region
|
||||||
@@ -6991,4 +7006,68 @@ Partial Class PV
|
|||||||
ImprimirPDF("Empresas/Grales/Formatos/Ajuste.rdlc", DtDatos, params, "Reporte de Ajuste", "PDF")
|
ImprimirPDF("Empresas/Grales/Formatos/Ajuste.rdlc", DtDatos, params, "Reporte de Ajuste", "PDF")
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Private Function ValidaFolioGarantia(CvePS As Integer, CveFolioGarantia As Integer) As MFolioGarantiaMensaje
|
||||||
|
Dim Retorno As New MFolioGarantiaMensaje
|
||||||
|
|
||||||
|
Dim Valido As Boolean = False
|
||||||
|
Dim TipoFolio As String = ""
|
||||||
|
Dim ListaClasificacionesPermitidas As New List(Of Integer)
|
||||||
|
|
||||||
|
Dim ObjAcumuladores As New ClsAcumuladores
|
||||||
|
If ObjAcumuladores.FoliosGarantiaGet(CveFolioGarantia, UsuarioActual.CveEmpresa, Area:=-1) AndAlso ObjAcumuladores.DtResultados.Rows.Count > 0 Then
|
||||||
|
Dim Row As DataRow = ObjAcumuladores.DtResultados.Rows(0)
|
||||||
|
TipoFolio = Row("tipoFolio").ToString().ToUpper()
|
||||||
|
End If
|
||||||
|
ObjAcumuladores.Dispose()
|
||||||
|
|
||||||
|
Dim CveClasificacionPS As Integer = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimeroValor("CveClasificacion").ToEntero()
|
||||||
|
Dim ClasificacionPS As String = GlobalDTClasificaciones(CveEmpresa:=UsuarioActual.CveEmpresa, CveClasificacion:=CveClasificacionPS).FiltroPrimeroValor("Clasificacion").ToString()
|
||||||
|
Select Case TipoFolio
|
||||||
|
Case "GENERAL"
|
||||||
|
'20520 ACUM. AUTOMOTRIZ
|
||||||
|
'20522 ACUM. ESPECIALES
|
||||||
|
'20513 ACUM. ESTANDAR
|
||||||
|
'20521 ACUM. PESADO
|
||||||
|
'20512 ACUM. PREMIUM
|
||||||
|
'20514 ACUM. VALUE
|
||||||
|
'20229 Acumulador
|
||||||
|
ListaClasificacionesPermitidas.Add(20520) 'ACUM. AUTOMOTRIZ
|
||||||
|
ListaClasificacionesPermitidas.Add(20522) 'ACUM. ESPECIALES
|
||||||
|
ListaClasificacionesPermitidas.Add(20513) 'ACUM. ESTANDAR
|
||||||
|
ListaClasificacionesPermitidas.Add(20521) 'ACUM. PESADO
|
||||||
|
ListaClasificacionesPermitidas.Add(20512) 'ACUM. PREMIUM
|
||||||
|
ListaClasificacionesPermitidas.Add(20514) 'ACUM. VALUE
|
||||||
|
ListaClasificacionesPermitidas.Add(20229) 'Acumulador
|
||||||
|
Case "OPTIMA"
|
||||||
|
'20511 ACUM. OPTIMA
|
||||||
|
ListaClasificacionesPermitidas.Add(20511) 'ACUM. OPTIMA
|
||||||
|
Case "MOTOBATERIA"
|
||||||
|
'20517 MOTOBATERIAS
|
||||||
|
ListaClasificacionesPermitidas.Add(20517) 'MOTOBATERIAS
|
||||||
|
End Select
|
||||||
|
|
||||||
|
If ListaClasificacionesPermitidas.Contains(CveClasificacionPS) Then
|
||||||
|
Valido = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
Retorno.CvePS = CvePS
|
||||||
|
Retorno.CveFolioGarantia = CveFolioGarantia
|
||||||
|
Retorno.CveClasificacionPS = CveClasificacionPS
|
||||||
|
Retorno.ClasificacionPS = ClasificacionPS
|
||||||
|
Retorno.TipoFolio = TipoFolio
|
||||||
|
Retorno.Valido = Valido
|
||||||
|
|
||||||
|
Return Retorno
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Partial Class MFolioGarantiaMensaje
|
||||||
|
Public Property CvePS As Integer
|
||||||
|
Public Property CveClasificacionPS As Integer
|
||||||
|
Public Property ClasificacionPS As String
|
||||||
|
Public Property CveFolioGarantia As Integer
|
||||||
|
Public Property TipoFolio As String
|
||||||
|
|
||||||
|
Public Property Valido As Boolean
|
||||||
|
End Class
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@@ -6235,8 +6235,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<asp:DropDownList ID="DdlVentaUsado" runat="server" AutoPostBack="true" AppendDataBoundItems="true" DataTextField="Folio" DataValueField="CveVenta" Width="100%" CssClass="select2me" OnSelectedIndexChanged="DdlVentaUsado_SelectedIndexChanged"></asp:DropDownList>
|
<asp:DropDownList ID="DdlVentaUsado" runat="server" AutoPostBack="true" AppendDataBoundItems="true" DataTextField="Folio" DataValueField="CveVenta" Width="100%" CssClass="select2me" OnSelectedIndexChanged="DdlVentaUsado_SelectedIndexChanged"></asp:DropDownList>
|
||||||
<asp:RequiredFieldValidator ID="RFVVentaUsado" runat="server" InitialValue="-1" ControlToValidate="DdlVentaUsado" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Factura''</b> es necesario, por favor ingréselo." ValidationGroup="VGAplicarRNC"></asp:RequiredFieldValidator>
|
<%-- <asp:RequiredFieldValidator ID="RFVVentaUsado" runat="server" InitialValue="-1" ControlToValidate="DdlVentaUsado" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Factura''</b> es necesario, por favor ingréselo." ValidationGroup="VGAplicarRNC"></asp:RequiredFieldValidator>
|
||||||
<ajax:ValidatorCalloutExtender ID="VCEVentaUsado" runat="server" HighlightCssClass="vco" TargetControlID="RFVVentaUsado" Width="350px"></ajax:ValidatorCalloutExtender>
|
<ajax:ValidatorCalloutExtender ID="VCEVentaUsado" runat="server" HighlightCssClass="vco" TargetControlID="RFVVentaUsado" Width="350px"></ajax:ValidatorCalloutExtender>--%>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -6293,14 +6293,14 @@
|
|||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField>
|
<asp:TemplateField>
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:TextBox ID="TxtImporte" CssClass="myvalue" runat="server" Width="75px" />
|
<asp:TextBox ID="TxtImporte" CssClass="myvalue ImportesRNCCargo" runat="server" Width="75px" />
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
</Columns>
|
</Columns>
|
||||||
</asp:GridView>
|
</asp:GridView>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row" id="DivSMU" runat="server" visible="false">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<table border="0" rules="none" class="well TextTab" style="float: right;" runat="server">
|
<table border="0" rules="none" class="well TextTab" style="float: right;" runat="server">
|
||||||
<tr align="right">
|
<tr align="right">
|
||||||
|
|||||||
@@ -2160,6 +2160,7 @@ Partial Class Ventas
|
|||||||
'Carga Venta
|
'Carga Venta
|
||||||
If Request("CveVenta") IsNot Nothing AndAlso IsNumeric(Request("CveVenta")) AndAlso Request("CveVenta").ToEntero() > 0 Then
|
If Request("CveVenta") IsNot Nothing AndAlso IsNumeric(Request("CveVenta")) AndAlso Request("CveVenta").ToEntero() > 0 Then
|
||||||
ViewState("CveVenta") = Request("CveVenta")
|
ViewState("CveVenta") = Request("CveVenta")
|
||||||
|
|
||||||
If CargaVenta() Then
|
If CargaVenta() Then
|
||||||
|
|
||||||
'DdlSucursal.Enabled = False
|
'DdlSucursal.Enabled = False
|
||||||
@@ -2694,7 +2695,7 @@ Partial Class Ventas
|
|||||||
TrPedido.Visible = False
|
TrPedido.Visible = False
|
||||||
' TrKilometrajeTxt.Visible = True
|
' TrKilometrajeTxt.Visible = True
|
||||||
End If
|
End If
|
||||||
LtlTareaNueva.Text = String.Format("<a class=""caption-subject bold font-green"" onclick=""OpenModalNewTareaUserControl(1,-1,{{CveVenta:{0}}});""> <i class=""fa fa-plus""'></i> Tarea</a>", CveVenta)
|
LtlTareaNueva.Text = String.Format("<a class=""caption-subject bold font-green"" onclick=""OpenModalNewTareaUserControl(1,-1,{{CveVenta:{0}}});""> <i class=""fa fa-plus""></i> Tarea</a>", CveVenta)
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -5415,7 +5416,7 @@ Partial Class Ventas
|
|||||||
|
|
||||||
DdlVentaUsado.DataBind()
|
DdlVentaUsado.DataBind()
|
||||||
|
|
||||||
DdlVentaUsado.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
DdlVentaUsado.Items.Insert(0, New ListItem("No Aplica", "-1"))
|
||||||
|
|
||||||
UpModalRemisionesNC.Update()
|
UpModalRemisionesNC.Update()
|
||||||
End If
|
End If
|
||||||
@@ -10190,7 +10191,7 @@ Partial Class Ventas
|
|||||||
|
|
||||||
'PedidoA'
|
'PedidoA'
|
||||||
If ObjVentas.CveVenta > 0 And CvePedidoA > 0 And DdlTipoComprobante.SelectedValue.Contiene("Rem") Then
|
If ObjVentas.CveVenta > 0 And CvePedidoA > 0 And DdlTipoComprobante.SelectedValue.Contiene("Rem") Then
|
||||||
If Not ObjCliente.UpdateEstatusPedido(CvePedidoA, 18, -1, UsuarioActual.CveUsuario) Then
|
If Not ObjCliente.UpdateEstatusPedido(CvePedidoA, 18, -1, UsuarioActual.CveUsuario, CveRemision:=factura.CveVenta) Then
|
||||||
ErrorList.Add("Ocurrió un error al actualizar el estatus del pedidoA")
|
ErrorList.Add("Ocurrió un error al actualizar el estatus del pedidoA")
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@@ -21693,18 +21694,18 @@ Partial Class Ventas
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
'SALIDA GENERAL
|
'SALIDA GENERAL
|
||||||
CveMovimientoEntradaGeneral = ObjInventario.AddMovimiento(CveAlmacenOrigenContrato, 3, 1, factura.Fecha, -1, factura.CveUsuario, factura.CveEmpresa, -1, factura.CveVenta, -1, -1, Modulo:="Vta/E7")
|
CveMovimientoSalidaGeneral = ObjInventario.AddMovimiento(CveAlmacenOrigenContrato, 3, 1, factura.Fecha, -1, factura.CveUsuario, factura.CveEmpresa, -1, factura.CveVenta, -1, -1, Modulo:="Vta/E7")
|
||||||
If CveMovimientoEntradaGeneral > 0 Then
|
If CveMovimientoSalidaGeneral > 0 Then
|
||||||
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalidaConsignacion, UsuarioActual.CveEmpresa) Then
|
If ObjInventario.GetMovimientosDetalle(CveMovimientoEntradaGeneral, UsuarioActual.CveEmpresa) Then
|
||||||
For Each Dr As DataRow In ObjInventario.DtResultados.Rows
|
For Each Dr As DataRow In ObjInventario.DtResultados.Rows
|
||||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntradaGeneral, Dr("Cantidad").ToString().ToDouble, Dr("CveUM").ToString().ToEntero(), Dr("CvePS").ToString().ToEntero(), Dr("PU").ToString().ToDecimal, CveAF:=Dr("CveAF").ToString().ToEntero(), CveSeccionAlmacen:=Dr("CveSeccionAlmacen").ToString().ToEntero(), Serie:=Dr("Serie").ToString(), Lote:=Dr("Lote").ToString(), CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString().ToEntero(), CveVentaDetalle:=Dr("CveVentaDetalle").ToString().ToEntero()) Then
|
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalidaGeneral, Dr("Cantidad").ToString().ToDouble, Dr("CveUM").ToString().ToEntero(), Dr("CvePS").ToString().ToEntero(), Dr("PU").ToString().ToDecimal, CveAF:=Dr("CveAF").ToString().ToEntero(), CveSeccionAlmacen:=Dr("CveSeccionAlmacen").ToString().ToEntero(), Serie:=Dr("Serie").ToString(), Lote:=Dr("Lote").ToString(), CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString().ToEntero(), CveVentaDetalle:=Dr("CveVentaDetalle").ToString().ToEntero()) Then
|
||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
|
|
||||||
'GENERAR PREPOLIZA
|
'GENERAR PREPOLIZA
|
||||||
If Not GeneraPrePolizaMovimientoAlmacen(ObjInventario, ObjConta, ObjContPaq, ObjFactura, ObjFactura.CvePrePoliza, CveMovimientoEntradaGeneral, CveAlmacenOrigenContrato) Then
|
If Not GeneraPrePolizaMovimientoAlmacen(ObjInventario, ObjConta, ObjContPaq, ObjFactura, ObjFactura.CvePrePoliza, CveMovimientoSalidaGeneral, CveAlmacenOrigenContrato) Then
|
||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
@@ -23016,7 +23017,9 @@ Partial Class Ventas
|
|||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
|
|
||||||
DeshabilitarAplicarNotaDeCredito(LblRFC.Text)
|
If DeshabilitarAplicarNotaDeCredito(LblRFC.Text) Then
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
|
|
||||||
AplicaNCMasiva = False
|
AplicaNCMasiva = False
|
||||||
AplicaNC = False
|
AplicaNC = False
|
||||||
@@ -23116,13 +23119,19 @@ Partial Class Ventas
|
|||||||
GvRemisionesNCBon.DataBind()
|
GvRemisionesNCBon.DataBind()
|
||||||
|
|
||||||
If CveVentaUsado > 0 Then
|
If CveVentaUsado > 0 Then
|
||||||
|
DivSMU.Visible = True
|
||||||
Dim FacUsado As New Modelos.Factura(UsuarioActual, CveVentaUsado, UsuarioActual.CveEmpresa)
|
Dim FacUsado As New Modelos.Factura(UsuarioActual, CveVentaUsado, UsuarioActual.CveEmpresa)
|
||||||
LtlSMU.Text = String.Format("{0:N2}", FacUsado.DtDetalle.SUM("Total", "EsCargo = True").ToDecimal() + FacUsado.DtDetalle.SUM("ImporteIVA", "EsCargo = True").ToDecimal())
|
Dim SaldoMaximoUsados As Decimal = FacUsado.DtDetalle.SUM("Total", "EsCargo = True").ToDecimal() + FacUsado.DtDetalle.SUM("ImporteIVA", "EsCargo = True").ToDecimal()
|
||||||
|
HdnSaldoMaximoUsados.Value = SaldoMaximoUsados.ToString()
|
||||||
|
LtlSMU.Text = String.Format("{0:N2}", SaldoMaximoUsados)
|
||||||
Else
|
Else
|
||||||
LtlSMU.Text = String.Format("{0:N2}", 0)
|
DivSMU.Visible = False
|
||||||
|
HdnSaldoMaximoUsados.Value = "0"
|
||||||
|
LtlSMU.Text = "0"
|
||||||
End If
|
End If
|
||||||
|
|
||||||
UpModalRemisionesNC.Update()
|
UpModalRemisionesNC.Update()
|
||||||
|
UpDescNC.Update()
|
||||||
End Sub
|
End Sub
|
||||||
Private Sub CargaDescRNC()
|
Private Sub CargaDescRNC()
|
||||||
Dim DtNC As DataTable = Nothing
|
Dim DtNC As DataTable = Nothing
|
||||||
@@ -23318,8 +23327,8 @@ Partial Class Ventas
|
|||||||
End Sub
|
End Sub
|
||||||
Protected Sub GvRemisionesNC_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvRemisionesNC.RowDataBound
|
Protected Sub GvRemisionesNC_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvRemisionesNC.RowDataBound
|
||||||
If e.Row.RowType = DataControlRowType.DataRow Then
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
||||||
e.Row.FCCheckBox("ChkAplicar").Attributes.Add("onclick", $"CalculaTotalRNCChk({e.Row.FCTextBox("TxtImporte").ClientID},{e.Row.DBCampo("Saldo").ToDouble}, this);")
|
e.Row.FCCheckBox("ChkAplicar").Attributes.Add("onclick", $"CalculaSaldoRNCChk({e.Row.FCTextBox("TxtImporte").ClientID},{e.Row.DBCampo("Saldo").ToDouble}, this);")
|
||||||
e.Row.FCTextBox("TxtImporte").Attributes.Add("onkeyup", $"LimitaCantidadRNCMasivo({e.Row.FCTextBox("TxtImporte").ClientID},{e.Row.DBCampo("Saldo").ToDouble}, this);")
|
e.Row.FCTextBox("TxtImporte").Attributes.Add("onkeyup", $"LimitaSaldoRNCChk({e.Row.FCTextBox("TxtImporte").ClientID},{e.Row.DBCampo("Saldo").ToDouble}, this);")
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@@ -27284,14 +27293,15 @@ Partial Class Ventas
|
|||||||
ObjVentas.Dispose()
|
ObjVentas.Dispose()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub DeshabilitarAplicarNotaDeCredito(RFC As String)
|
Private Function DeshabilitarAplicarNotaDeCredito(RFC As String) As Boolean
|
||||||
|
Dim Retorno As Boolean = False
|
||||||
If UsuarioActual.CveEmpresa = 119 AndAlso RFC.Contiene("XAXX010101000", "XEXX010101000") Then
|
If UsuarioActual.CveEmpresa = 119 AndAlso RFC.Contiene("XAXX010101000", "XEXX010101000") Then
|
||||||
LBNotaCredito.Visible = False
|
LBNotaCredito.Visible = False
|
||||||
UpnTools.Update()
|
UpnTools.Update()
|
||||||
|
Retorno = True
|
||||||
End If
|
End If
|
||||||
|
Return Retorno
|
||||||
End Sub
|
End Function
|
||||||
|
|
||||||
#Region "Auxiliar"
|
#Region "Auxiliar"
|
||||||
Private Sub CargarSaldoAuxiliar(CveCliente As Integer)
|
Private Sub CargarSaldoAuxiliar(CveCliente As Integer)
|
||||||
|
|||||||
Reference in New Issue
Block a user