20260129 - 01

This commit is contained in:
2026-01-29 13:04:08 +01:00
parent a222729a6a
commit e043d4bdee
39 changed files with 7528 additions and 67 deletions

View File

@@ -1,138 +0,0 @@
<tsWPF:tsUserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars"
xmlns:dxlc="http://schemas.devexpress.com/winfx/2008/xaml/layoutcontrol" xmlns:dxdo="http://schemas.devexpress.com/winfx/2008/xaml/docking"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:tsWPF="clr-namespace:tsWPFCore;assembly=tsWPFCore" xmlns:Serialization="clr-namespace:DevExpress.Xpf.LayoutControl.Serialization;assembly=DevExpress.Xpf.LayoutControl.v23.2" x:Class="ucAlmacen"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
mc:Ignorable="d" d:DesignHeight="768" d:DesignWidth="1366">
<tsWPF:tsUserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/tsWPFCore;component/Plantillas.xaml" />
</ResourceDictionary.MergedDictionaries>
<Style x:Key="RejillaAnidadaStyle" TargetType="{x:Type dxg:RowControl}">
<Setter Property="Background" Value="#B0E0E6" />
</Style>
</ResourceDictionary>
</tsWPF:tsUserControl.Resources>
<Grid x:Name="contenido" HorizontalAlignment="Stretch" Width="Auto">
<dxlc:LayoutControl x:Name="LayoutControl1" Orientation="Vertical">
<dxlc:LayoutGroup>
<dxlc:LayoutGroup Orientation="Vertical">
<dxlc:LayoutGroup Header="Datos Almacén" View="GroupBox" ItemLabelsAlignment="Default" IsLocked="True" Width="Auto" HorizontalAlignment="Stretch">
<dxlc:LayoutGroup Orientation="Vertical" Width="450">
<tsWPF:tsLayoutItem Label="Descripción:">
<tsWPF:tsLayoutItem.PropiedadesTS>
<tsWPF:PropiedadesTS Obligatorio="True" />
</tsWPF:tsLayoutItem.PropiedadesTS>
<dxe:TextEdit EditValue="{Binding Descripcion, Mode=TwoWay, NotifyOnSourceUpdated=True, NotifyOnValidationError=true, ValidatesOnExceptions=true}" TabIndex="1" x:Name="teNIF" />
</tsWPF:tsLayoutItem>
<tsWPF:tsLayoutItem Label="Encargados:">
<tsWPF:tsLayoutItem.PropiedadesTS>
<tsWPF:PropiedadesTS UsualCorreccion="False" />
</tsWPF:tsLayoutItem.PropiedadesTS>
<dxe:TextEdit EditValue="{Binding Encargados, Mode=TwoWay, NotifyOnSourceUpdated=True, NotifyOnValidationError=true, ValidatesOnExceptions=true}" TabIndex="5" />
</tsWPF:tsLayoutItem>
</dxlc:LayoutGroup>
<dxlc:LayoutGroup Orientation="Vertical" Width="350">
<tsWPF:tsLayoutItem Label="Tipo:">
<tsWPF:tsLayoutItem.PropiedadesTS>
<tsWPF:PropiedadesTS UsualCorreccion="False" />
</tsWPF:tsLayoutItem.PropiedadesTS>
<dxe:ComboBoxEdit x:Name="cbTipo" ValueMember="Valor" DisplayMember="Descripcion" EditValue="{Binding Tipo, Mode=TwoWay, NotifyOnSourceUpdated=True, NotifyOnValidationError=true, ValidatesOnExceptions=true}" TabIndex="14" AutoComplete="True" />
</tsWPF:tsLayoutItem>
<tsWPF:tsLayoutItem Label="Email:">
<tsWPF:tsLayoutItem.PropiedadesTS>
<tsWPF:PropiedadesTS MayusculasMinusculas="Normal" />
</tsWPF:tsLayoutItem.PropiedadesTS>
<dxe:TextEdit EditValue="{Binding Email, Mode=TwoWay, NotifyOnSourceUpdated=True, NotifyOnValidationError=true, ValidatesOnExceptions=true}" TabIndex="5" />
</tsWPF:tsLayoutItem>
</dxlc:LayoutGroup>
<dxlc:LayoutGroup Orientation="Vertical">
<tsWPF:tsLayoutItem Label="Fecha Baja:" Width="200" HorizontalAlignment="Left">
<tsWPF:tsLayoutItem.PropiedadesTS>
<tsWPF:PropiedadesTS UsualCorreccion="False" />
</tsWPF:tsLayoutItem.PropiedadesTS>
<dxe:DateEdit EditValue="{Binding FechaBaja, Mode=TwoWay, NotifyOnSourceUpdated=True, NotifyOnValidationError=true, ValidatesOnExceptions=true}" TabIndex="6" />
</tsWPF:tsLayoutItem>
<!--<tsWPF:tsLayoutItem Label="Permisos:" Width="400" HorizontalAlignment="Left" >
<tsWPF:tsLayoutItem.PropiedadesTS>
<tsWPF:PropiedadesTS UsualCorreccion="False"/>
</tsWPF:tsLayoutItem.PropiedadesTS>
<dxe:ComboBoxEdit x:Name="cbPermiso" ValueMember="idPermiso" DisplayMember="Codigo" EditValue="{Binding idPermiso, Mode=TwoWay, NotifyOnSourceUpdated=True, NotifyOnValidationError=true, ValidatesOnExceptions=true}" TabIndex="14" AutoComplete="True" />
</tsWPF:tsLayoutItem>-->
</dxlc:LayoutGroup>
</dxlc:LayoutGroup>
<dxlc:LayoutGroup Header="Dirección" View="GroupBox" ItemLabelsAlignment="Default" IsLocked="True" Width="Auto" HorizontalAlignment="Stretch">
<tsWPF:tsLayoutItem Label="Direccion:" Width="400">
<tsWPF:tsLayoutItem.PropiedadesTS>
<tsWPF:PropiedadesTS Obligatorio="True" />
</tsWPF:tsLayoutItem.PropiedadesTS>
<dxe:TextEdit EditValue="{Binding Direccion, Mode=TwoWay, NotifyOnSourceUpdated=True, NotifyOnValidationError=true, ValidatesOnExceptions=true}" TabIndex="13" />
</tsWPF:tsLayoutItem>
<tsWPF:tsLayoutItem Label="Código Postal:" Width="200">
<tsWPF:tsLayoutItem.PropiedadesTS>
<tsWPF:PropiedadesTS Obligatorio="True" />
</tsWPF:tsLayoutItem.PropiedadesTS>
<dxe:ButtonEdit x:Name="beCodigoPostal" EditValue="{Binding CodigoPostal, Mode=TwoWay, NotifyOnSourceUpdated=True, NotifyOnValidationError=true, ValidatesOnExceptions=true}" TabIndex="14" DefaultButtonClick="BeCodigoPostal_DefaultButtonClick">
<dxe:ButtonInfo GlyphKind="Cancel" x:Name="btCancelarCodigoPostal" Click="BtCancelarCodigoPostal_Click" />
</dxe:ButtonEdit>
</tsWPF:tsLayoutItem>
<tsWPF:tsLayoutItem Label="Población:" x:Name="Poblacion" Width="350">
<tsWPF:tsLayoutItem.PropiedadesTS>
<tsWPF:PropiedadesTS Modificable="NoModificable" />
</tsWPF:tsLayoutItem.PropiedadesTS>
<dxe:TextEdit EditValue="{Binding Poblacion, Mode=OneWay, NotifyOnSourceUpdated=True, NotifyOnValidationError=true, ValidatesOnExceptions=true}" TabIndex="15" />
</tsWPF:tsLayoutItem>
<tsWPF:tsLayoutItem Label="Provincia:" Width="350">
<tsWPF:tsLayoutItem.PropiedadesTS>
<tsWPF:PropiedadesTS Modificable="NoModificable" />
</tsWPF:tsLayoutItem.PropiedadesTS>
<dxe:TextEdit EditValue="{Binding Provincia, Mode=OneWay, NotifyOnSourceUpdated=True, NotifyOnValidationError=true, ValidatesOnExceptions=true}" TabIndex="16" />
</tsWPF:tsLayoutItem>
</dxlc:LayoutGroup>
</dxlc:LayoutGroup>
</dxlc:LayoutGroup>
<dx:DXTabControl Width="Auto" HorizontalAlignment="Stretch">
<dx:DXTabControl.View>
<dx:TabControlScrollView />
</dx:DXTabControl.View>
<dx:DXTabItem Header="Productos">
<dxlc:LayoutGroup Orientation="Vertical">
<tsWPF:tsGridControl x:Name="gcProductos" NombreTablaBase="stocks" TabIndex="41">
<tsWPF:tsGridControl.PropiedadesTS>
<tsWPF:PropiedadesTS Modificable="NoModificable" />
</tsWPF:tsGridControl.PropiedadesTS>
<tsWPF:tsGridControl.View>
<tsWPF:tsTableView ShowGroupPanel="false" x:Name="tvProductos">
</tsWPF:tsTableView>
</tsWPF:tsGridControl.View>
<dxg:GridControl.Columns>
<tsWPF:tsGridColumn FieldName="Producto" IsSmart="True" Width="450" SoloLectura="True" CellTemplate="{DynamicResource VerDetalleTemplate}" />
<tsWPF:tsGridColumn FieldName="Unidades" IsSmart="True" Width="100" HorizontalHeaderContentAlignment="Right">
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings MaskType="Numeric" Mask="n0" MaskUseAsDisplayFormat="True" HorizontalContentAlignment="Right" />
</dxg:GridColumn.EditSettings>
</tsWPF:tsGridColumn>
</dxg:GridControl.Columns>
</tsWPF:tsGridControl>
</dxlc:LayoutGroup>
</dx:DXTabItem>
</dx:DXTabControl>
</dxlc:LayoutControl>
</Grid>
</tsWPF:tsUserControl>

View File

@@ -1,232 +0,0 @@
Imports DevExpress.Xpf.Editors
Imports DevExpress.Xpf.LayoutControl
Imports tsWPFCore
Imports System.ComponentModel
Imports System.Data
Imports DevExpress.Xpf.Editors.Validation
Imports DevExpress.Xpf.Editors.Helpers
Imports DevExpress.Xpf.Core
Imports tsWPFCore.modExtensiones
Imports System.Data.Common
Imports System.Data.Entity
Imports bdGrupoSanchoToro.db
Imports tsUtilidades.Datos
Imports DevExpress.Xpf.Bars
Imports System.Collections.ObjectModel
Imports bdGrupoSanchoToro.db.tscGrupoSanchoToro
Imports bdGrupoSanchoToro.db.Utilidades
Imports DevExpress.Xpf.Grid
Imports bdGrupoSanchoToro.db.almacenes
Imports tsEFCore8.Extensiones
Public Class ucAlmacen
Private bd As tscGrupoSanchoToro
Friend _idAlmacen As Nullable(Of Integer)
Private ra As almacenes
Public Overrides Function EstablecedcPrincipal(Optional Background As Boolean = False, Optional FuerzaNuevo As Boolean = False, Optional Refrescar As Boolean = False) As tsUtilidades.EstadosAplicacion
Dim NuevoEstado As tsUtilidades.EstadosAplicacion
If Estado = tsUtilidades.EstadosAplicacion.Nuevo OrElse _idAlmacen Is Nothing OrElse FuerzaNuevo Then
ra = New almacenes
Me.DataContext = ra
_idAlmacen = Nothing
NuevoEstado = tsUtilidades.EstadosAplicacion.Nuevo
Else
ra = bd.almacenes.First(Function(x) x.idAlmacen = _idAlmacen.Value)
NuevoEstado = tsUtilidades.EstadosAplicacion.ModificandoRegistro
End If
Me.DataContext = ra
gcProductos.ItemsSource = ra.stocks
Return NuevoEstado
End Function
Public Overrides Function ObtieneBD() As tsUtilidades.ItsContexto
bd = tscGrupoSanchoToro.NuevoContexto()
Return bd
End Function
Public Overrides ReadOnly Property NombreTablaBase As String
Get
Return "almacenes"
End Get
End Property
Public Overrides ReadOnly Property idRegistroAplicacionActual As String
Get
If Estado = tsUtilidades.EstadosAplicacion.Nuevo Then
Return "Almacen.Nuevo"
Else
Return "Almacen." & DirectCast(Me.DataContext, almacenes).idAlmacen.ToString
End If
End Get
End Property
Public Overrides ReadOnly Property DescripcionRegistro As String
Get
Return "Almacén"
End Get
End Property
Public Sub New(Optional idAlmacen As Integer? = Nothing)
' Llamada necesaria para el diseñador.
InitializeComponent()
_idAlmacen = idAlmacen
' Agregue cualquier inicialización después de la llamada a InitializeComponent().
End Sub
Public Overrides Sub EstableceDataContextSecundarios(Optional Background As Boolean = False)
Me.cbTipo.ItemsSource = tsUtilidades.DescripcionValor.EnumADescripcionValor(GetType(TipoAlmacenEnum))
End Sub
Public Overrides Sub EstableceTitulo()
If Me.Estado = tsUtilidades.EstadosAplicacion.ModificandoRegistro Then
Dim cj As almacenes = Me.DataContext
Me.docpanel.Caption = "Almacen " & cj.Descripcion
Me.docpanel.Tag = "Almacen." & cj.idAlmacen.ToString
Else
Me.docpanel.Caption = "Almacen Nuevo"
Me.docpanel.Tag = "Almacen.Nuevo"
End If
End Sub
Public Overrides Function ObtienePermisos() As tsUtilidades.Permisos
Return Comun.ObtienePermisos(Me.bd, "AP.ADMINISTRATIVOS", idUsuario)
End Function
Public Overrides Sub Cargado()
Me.Tipo_ucControlBusqueda = GetType(ucAlmacenes)
End Sub
Private Sub ucAlmacen_Enlazar(Celda As EditGridCellData, Defecto As Boolean) Handles Me.Enlazar
Select Case Celda.Column.FieldName.ToLower
Case "producto"
Dim st As stocks = gcProductos.CurrentItem
FuncionesDinamicas.AbrirAP(New ucProducto(st.idProducto), OtrosParametros)
End Select
End Sub
Private Sub ucAlmacen_DespuesGuardar(sender As Object, e As ItemClickEventArgs, OpcionGuardado As Integer) Handles Me.DespuesGuardar
_idAlmacen = ra.idAlmacen
End Sub
Private Sub ap_ValidarControl(sender As Object, e As ValidationEventArgs, ByRef ev As ErrorValidacion, ByRef ValorOriginalCambiado As Object) Handles Me.ValidarControl
Dim pts As PropiedadesTS = sender.parent.propiedadests
Try
If Not pts Is Nothing Then
ErroresValidacion.EliminaError("validando-" & pts.NombreCampo)
Select Case pts.NombreCampo.ToLower
Case "email"
If e.Value IsNot Nothing AndAlso e.Value.ToString <> "" Then
If Not e.Value.ToString.Trim.ToLower.EsEmailValido Then Throw New Exception("El email es incorrecto")
End If
Case "codigopostal"
If Not e.Value Is Nothing AndAlso e.Value.ToString <> "" AndAlso e.Value.ToString <> ra.CodigoPostal Then
Dim sCpo As String = e.Value.ToString
If sCpo.Length <> 5 Then Throw New Exception("El código postal no es correcto")
Dim sCodigoprovincia As String = sCpo.Substring(0, 2)
If Not bd.provincias.Any(Function(x) x.CodigoProvincia = sCodigoprovincia) Then Throw New Exception("El código postal no es correcto")
Select Case bd.codigospostales.Where(Function(x) x.CodigoPostal = sCpo).Count
Case 0
Dim vncp As New dxwAgregarNuevoCodigoPostal(sCpo, bd)
If vncp.ShowDialog Then
Dim pob = bd.codigospostales.First(Function(x) x.CodigoPostal = sCpo)
ra.CodigoMunicipio = pob.CodigoMunicipio
Else
ValorOriginalCambiado = ra.CodigoPostal
Throw New Exception("El código postal no es correcto")
End If
Case 1
Dim pob = bd.codigospostales.First(Function(x) x.CodigoPostal = sCpo)
ra.CodigoMunicipio = pob.CodigoMunicipio
Case Else
Dim wMunicipios As New dxwCodigosPostales(bd, sCpo)
If wMunicipios.ShowDialog Then
ra.CodigoMunicipio = wMunicipios.CodigoMunicipio
Else
Throw New Exception("El código postal no es correcto")
End If
End Select
End If
End Select
End If
Catch ex As Exception
Dim sCodigoError As String = "validando-"
If pts IsNot Nothing Then
sCodigoError &= pts.NombreCampo
End If
ev = New ErrorValidacion(sCodigoError, sender, ex.Message, ex, DevExpress.XtraEditors.DXErrorProvider.ErrorType.Critical)
e.IsValid = False
End Try
End Sub
Private Sub BeCodigoPostal_DefaultButtonClick(sender As Object, e As RoutedEventArgs)
Dim dxw As New dxwCodigosPostales(bd, "")
If dxw.ShowDialog Then
ra.CodigoMunicipio = dxw.CodigoMunicipio
ra.CodigoPostal = dxw.CodigoPostal
End If
End Sub
Private Sub BtCancelarCodigoPostal_Click(sender As Object, e As RoutedEventArgs)
ra.CodigoMunicipio = ""
End Sub
Private Sub ucAlmacen_CampoActualizado(sender As Object, e As DataTransferEventArgs) Handles Me.CampoActualizado
Dim pts As PropiedadesTS = sender.parent.propiedadests
If Not pts Is Nothing Then
Select Case pts.NombreCampo.ToLower
Case "codigopostal"
ra.RefrescaCamposSoloLectura()
End Select
End If
End Sub
Private Sub beCodigoPostal_LostFocus(sender As Object, e As RoutedEventArgs) Handles beCodigoPostal.LostFocus
If Me.ErroresValidacion.Errores.Any(Function(x) x.id = "validando-CodigoPostal") Then
Dim cp = beCodigoPostal.EditText.ToString
If bd.codigospostales.Any(Function(x) x.CodigoPostal = cp) Then
ErroresValidacion.EliminaError("validando-CodigoPostal")
End If
End If
End Sub
Private Sub ucAlmacen_AntesGuardar(sender As Object, e As ItemClickEventArgs, ByRef Cancelar As Boolean, ByRef MensajesError As Hashtable, EliminacionManual As Integer) Handles Me.AntesGuardar
Dim hte As New Hashtable
ra.idEmpresa = EmpresaActual.idEmpresa
Dim almexi = bd.almacenes.FirstOrDefault(Function(x) x.idAlmacen <> ra.idAlmacen AndAlso x.Descripcion = ra.Descripcion AndAlso x.idEmpresa = EmpresaActual.idEmpresa)
If almexi IsNot Nothing Then
hte.Add("ALMACENAR-ALMACEN_DUPLIADO", "Almacén Duplicado")
End If
If hte.Count > 0 Then
MensajesError = hte
Cancelar = True
End If
End Sub
End Class

View File

@@ -1,46 +0,0 @@
<tsWPF:tsUserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:dxlc="http://schemas.devexpress.com/winfx/2008/xaml/layoutcontrol"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
x:Class="ucAlmacenes"
xmlns:tsWPF="clr-namespace:tsWPFCore;assembly=tsWPFCore"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
mc:Ignorable="d"
d:DesignHeight="600" d:DesignWidth="850">
<tsWPF:tsUserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/tsWPFCore;component/Plantillas.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</tsWPF:tsUserControl.Resources>
<Grid x:Name="grid">
<dxlc:LayoutControl Orientation="Vertical" Margin="-11" >
<tsWPF:tsGridControl x:Name="gc" TabIndex="4" >
<tsWPF:tsGridControl.PropiedadesTS>
<tsWPF:PropiedadesTS Modificable="NoModificable" />
</tsWPF:tsGridControl.PropiedadesTS>
<tsWPF:tsGridControl.PropiedadesTSGC>
<tsWPF:PropiedadesTSGC PermitirEliminar="False" />
</tsWPF:tsGridControl.PropiedadesTSGC>
<dxg:GridControl.Columns>
<tsWPF:tsGridColumn FieldName="Descripcion" Header="Almacén" Width="400" IsSmart="True" CellTemplate="{DynamicResource VerDetalleTemplate}" />
<tsWPF:tsGridColumn FieldName="DescripcionTipo" Header="Tipo" IsSmart="True" Width="150"/>
<tsWPF:tsGridColumn FieldName="FechaBaja" Width="150" IsSmart="True" SoloLectura="True" />
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<tsWPF:tsTableView x:Name="tv" >
</tsWPF:tsTableView>
</dxg:GridControl.View>
</tsWPF:tsGridControl>
</dxlc:LayoutControl>
</Grid>
</tsWPF:tsUserControl>

View File

@@ -1,84 +0,0 @@

Imports bdGrupoSanchoToro.db
Imports System.Data.Entity
Imports DevExpress.Xpf.Core
Imports tsWPFCore
Imports System.Collections
Imports DevExpress.Xpf.Bars
Imports System.Threading.Tasks
Imports System.Linq.Dynamic
Imports bdGrupoSanchoToro.db.Utilidades
Public Class ucAlmacenes
Private DatacontextEstablecido As Boolean
Private bd As tscGrupoSanchoToro
Public Overrides Sub Cargado()
GridBusqueda = Me.gc
End Sub
Public Overrides Function EstablecedcPrincipal(Optional Background As Boolean = False, Optional FuerzaNuevo As Boolean = False, Optional Refrescar As Boolean = False) As tsUtilidades.EstadosAplicacion
gc.ItemsSource = bd.almacenes.Where(Function(x) x.idEmpresa = EmpresaActual.idEmpresa).ToList
Return tsUtilidades.EstadosAplicacion.AplicacionSinIndice
End Function
Public Overrides Sub EstableceDataContextSecundarios(Optional Background As Boolean = False)
End Sub
Public Overrides Sub EstableceTitulo()
Me.docpanel.Caption = "Almacenes"
End Sub
Public Overrides ReadOnly Property idRegistroAplicacionActual As String
Get
Return "Almacenes"
End Get
End Property
Public Overrides ReadOnly Property NombreTablaBase As String
Get
Return "Almacenes"
End Get
End Property
Public Overrides ReadOnly Property DescripcionRegistro As String
Get
Return "Almacén"
End Get
End Property
Public Overrides Function ObtieneBD() As tsUtilidades.ItsContexto
bd = tscGrupoSanchoToro.NuevoContexto()
Return bd
End Function
Public Overrides Function ObtienePermisos() As tsUtilidades.Permisos
Return Comun.ObtienePermisos(Me.bd, "AP.ADMINISTRATIVOS", idUsuario)
End Function
Private Sub ap_Enlazar(Celda As DevExpress.Xpf.Grid.EditGridCellData, Defecto As Boolean) Handles Me.Enlazar
Dim al = DirectCast(Me.gc.CurrentItem, almacenes)
Dim id = al.idAlmacen
FuncionesDinamicas.AbrirAP(New ucAlmacen(id), OtrosParametros)
End Sub
Private Sub ucAlmacenes_BotonNuevoPulsado() Handles Me.BotonNuevoPulsado
FuncionesDinamicas.AbrirAP(New ucAlmacen(Nothing), OtrosParametros)
End Sub
End Class

View File

@@ -39,12 +39,12 @@ Public Class ucProducto
Else
If Estado = tsUtilidades.EstadosAplicacion.Nuevo OrElse _idproducto Is Nothing OrElse FuerzaNuevo Then
ra = New productos
ra.TotalUnidades = 0
ra.UnidadesVendidas = 0
ra.UnidadesAlquiladas = 0
ra.UnidadesAveriadas = 0
ra.UnidadesDesechadas = 0
ra.FacturarComoVentaPorDefecto = False
'ra.TotalUnidades = 0
'ra.UnidadesVendidas = 0
'ra.UnidadesAlquiladas = 0
'ra.UnidadesAveriadas = 0
'ra.UnidadesDesechadas = 0
'ra.FacturarComoVentaPorDefecto = False
Me.DataContext = ra
_idproducto = Nothing
NuevoEstado = tsUtilidades.EstadosAplicacion.Nuevo
@@ -56,7 +56,7 @@ Public Class ucProducto
' Me.gcLogs.ItemsSource = bd.logs.Where(Function(x) x.id = ra.idProducto AndAlso x.Aplicacion = "PRODUCTOS").ToList
'Me.gcServicios.ItemsSource = ra.DesgloseServicios
If ra.Tipo = TipoProductoEnum.PRODUCTO Then
If ra.Servicio Then
Me.gcStocksAlmacenes.ItemsSource = ObtieneISAlmacenes()
Else
Me.gcStocksAlmacenes.ItemsSource = Nothing