This commit is contained in:
2021-09-17 16:29:32 -07:00
34 changed files with 1467 additions and 285 deletions

View File

@@ -4695,7 +4695,7 @@ Partial Class Inventarios_EntradasSalidas
If CvePS > 0 Then
Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).Rows(0)
If DrPS IsNot Nothing AndAlso String.IsNullOrEmpty(UM) Then
If DrPS IsNot Nothing Then
CveUM = DrPS("CveUnidadMedida").ToString().ToEntero()
UM = GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa).FiltroPrimeroValor("UnidadMedida", $"CveUnidadMedida={CveUM}")
End If

View File

@@ -1819,7 +1819,7 @@ Partial Class Inventarios_EntregaAlmacen
For Each Dr As DataRow In DtDatos.Rows
FechaCaducidad = If(CBool(Dr("AplicaCaducidad")) AndAlso Dr("FechaCaducidad").ToString() <> "", Dr("FechaCaducidad").ToString().ToDate, MinFecha)
Lote = If(CBool(Dr("AplicaLote")), Dr("Lote").ToString(), "-1")
Lote = If(CBool(Dr("AplicaLote")), Dr("Lote").ToString().Trim, "-1")
If Not ValidaLoteCaducidad Then
FechaCaducidad = MinFecha

View File

@@ -296,6 +296,10 @@ Partial Class Inventarios_TraspasoAlmacen
dt.Columns.Add("Obs")
dt.Columns.Add("ImporteIVA", Type.GetType("System.Double"))
dt.Columns.Add("PorcentajeIVA", Type.GetType("System.Double"))
dt.Columns.Add("ClaveMaterialPeligroso")
dt.Columns.Add("ClaveEmbalaje")
dt.Columns.Add("Embalaje")
dt.Columns.Add("PesoKg", Type.GetType("System.Decimal"))
DtMovimientos = dt
@@ -663,42 +667,48 @@ Partial Class Inventarios_TraspasoAlmacen
Dim CveClasificacion As Integer
Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("")
If DrPS IsNot Nothing Then CveClasificacion = DrPS("CveClasificacion").ToString.ToEntero
If DrPS IsNot Nothing Then
CveClasificacion = DrPS("CveClasificacion").ToString.ToEntero
Dim DrUM = GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa).FiltroPrimero($"CveUnidadMedida = {CveUnidadMedida}")
Dim DrUM = GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa).FiltroPrimero($"CveUnidadMedida = {CveUnidadMedida}")
Dim registro As DataRow = DtMovimientos.NewRow
registro.Item("Cantidad") = Cantidad
registro.Item("CveUM") = CveUnidadMedida
registro.Item("UM") = DrUM("UnidadMedida")
registro.Item("UnidadMedida") = DrUM("UnidadMedida")
registro.Item("CvePS") = CvePS
registro.Item("PS") = DrPS("PSCodigo")
registro.Item("Observaciones") = Observaciones
registro.Item("Serie") = Serie
registro.Item("Lote") = Lote
If FechaCaducidad > MinFecha Then registro.Item("FechaCaducidad") = FechaCaducidad
registro.Item("CveClasificacion") = CveClasificacion
registro.Item("CveAF") = -1
registro.Item("EstatusExistencia") = "1"
registro.Item("CveSeccionAlmacen") = CveSeccionAlmacen
registro.Item("SeccionAlmacen") = SeccionAlmacen
registro.Item("CveSeccionAlmacenDestino") = CveSeccionAlmacenDestino
Dim registro As DataRow = DtMovimientos.NewRow
registro.Item("Cantidad") = Cantidad
registro.Item("CveUM") = CveUnidadMedida
registro.Item("UM") = DrUM("UnidadMedida")
registro.Item("UnidadMedida") = DrUM("UnidadMedida")
registro.Item("CvePS") = CvePS
registro.Item("PS") = DrPS("PSCodigo")
registro.Item("Observaciones") = Observaciones
registro.Item("Serie") = Serie
registro.Item("Lote") = Lote
If FechaCaducidad > MinFecha Then registro.Item("FechaCaducidad") = FechaCaducidad
registro.Item("CveClasificacion") = CveClasificacion
registro.Item("CveAF") = -1
registro.Item("EstatusExistencia") = "1"
registro.Item("CveSeccionAlmacen") = CveSeccionAlmacen
registro.Item("SeccionAlmacen") = SeccionAlmacen
registro.Item("CveSeccionAlmacenDestino") = CveSeccionAlmacenDestino
registro.Item("TotalImporte") = 0
registro.Item("PU") = 0
registro.Item("Descuento") = 0
registro.Item("SATClaveUM") = DrPS("SATClaveUnidadMedida")
registro.Item("SATClaveProdServ") = DrPS("SATClavePS")
registro.Item("Noidentificacion") = DrPS("Codigo")
registro.Item("CuentaPredial") = ""
registro.Item("Obs") = ""
registro.Item("ImporteIVA") = 0
registro.Item("PorcentajeIVA") = 0
registro("ClaveMaterialPeligroso") = DrPS("ClaveMaterialPeligroso")
registro("ClaveEmbalaje") = DrPS("ClaveEmbalaje")
registro("PesoKg") = DrPS("PesoKg")
registro.Item("TotalImporte") = 0
registro.Item("PU") = 0
registro.Item("Descuento") = 0
registro.Item("SATClaveUM") = DrPS("SATClaveUnidadMedida")
registro.Item("SATClaveProdServ") = DrPS("SATClavePS")
registro.Item("Noidentificacion") = DrPS("Codigo")
registro.Item("CuentaPredial") = ""
registro.Item("Obs") = ""
registro.Item("ImporteIVA") = 0
registro.Item("PorcentajeIVA") = 0
DtMovimientos.Rows.Add(registro)
RegistraScript("playsonidito('beep-07.wav')")
End If
DtMovimientos.Rows.Add(registro)
RegistraScript("playsonidito('beep-07.wav')")
CargaGvDatos()
If Limpia Then
@@ -2587,7 +2597,7 @@ Partial Class Inventarios_TraspasoAlmacen
ObjFactura.ConvertirPesos = False
ObjFactura.CveMoneda = 1
ObjFactura.Moneda = GlobalDTMonedas.FiltroPrimeroValor("Moneda", $"CveMoneda = {ObjFactura.CveMoneda} ")
ObjFactura.MonedaSAT = "XXX" 'GlobalDTMonedas.FiltroPrimeroValor("AbreviaturaSAT", "CveMoneda = 1")
ObjFactura.MonedaSAT = GlobalDTMonedas.FiltroPrimeroValor("AbreviaturaSAT", "CveMoneda = 1") '"XXX"
ObjFactura.MonedaAbreviatura = GlobalDTMonedas.FiltroPrimeroValor("Abreviatura", $"CveMoneda = {ObjFactura.CveMoneda} ")
ObjFactura.TipoDocto = "Tra"
ObjFactura.RefDocto = ""
@@ -2655,7 +2665,11 @@ Partial Class Inventarios_TraspasoAlmacen
ObjFactura.Inv_CveMovimiento = CveMovimientoTimbrado
ObjFactura.Timbre = PreParaTimbreCartaPorte(ObjFactura)
If UsuarioActual.Empresa.Funcionalidad(161) = "1" Then
ObjFactura.Timbre = PreParaTimbreCartaPorte(ObjFactura)
Else
ObjFactura.Timbre = PreParaTimbre(ObjFactura)
End If
End Sub
Private Function PreParaTimbreCartaPorte(Obj As Modelos.Factura) As CFDITimbre
@@ -2698,47 +2712,86 @@ Partial Class Inventarios_TraspasoAlmacen
CartaPorte.Mercancias.UnidadPeso = ""
CartaPorte.Mercancias.CargoporTasacion = 0
CartaPorte.FiguraTransporte.AutoTransporteFederal.PermSCT = "TPAF01"
CartaPorte.FiguraTransporte.AutoTransporteFederal.NumPermisoSCT = "1234567890"
CartaPorte.FiguraTransporte.AutoTransporteFederal.NombreAseg = "GNP"
CartaPorte.FiguraTransporte.AutoTransporteFederal.NumPolizaSeguro = "P123"
CartaPorte.FiguraTransporte.AutoTransporteFederal.Vehiculo.ConfigVehicular = "C2"
CartaPorte.FiguraTransporte.AutoTransporteFederal.Vehiculo.PlacaVM = "WTF757A"
CartaPorte.FiguraTransporte.AutoTransporteFederal.Vehiculo.AnioModeloVM = 2007
Dim Dr As DataRow = DtCamiones.FiltroPrimero(String.Format("CveCamion= {0}", DdlUnidadCamion.SelectedValue))
If Dr IsNot Nothing Then
CartaPorte.FiguraTransporte.AutoTransporteFederal.PermSCT = Dr("TipoPermisoSCT").ToString '"TPAF01"
CartaPorte.FiguraTransporte.AutoTransporteFederal.NumPermisoSCT = Dr("NumPermisoSCT").ToString
CartaPorte.FiguraTransporte.AutoTransporteFederal.NombreAseg = Dr("NombreAseguradora").ToString
CartaPorte.FiguraTransporte.AutoTransporteFederal.NumPolizaSeguro = Dr("NumPolizaSeguro").ToString
CartaPorte.FiguraTransporte.AutoTransporteFederal.Vehiculo.ConfigVehicular = Dr("ConfigCartaPorte").ToString '"C2"
CartaPorte.FiguraTransporte.AutoTransporteFederal.Vehiculo.PlacaVM = Dr("Placa").ToString
CartaPorte.FiguraTransporte.AutoTransporteFederal.Vehiculo.AnioModeloVM = Dr("Anio").ToString.ToEntero
End If
Dim CveSubProyectoOrigen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=DdlAlmacenOrigen.SelectedValue.ToEntero).FiltroPrimeroValor("CveSubProyecto", "").ToEntero
Dim DomOrigen As CFDICartaPorteDomicilio = Nothing
If CveSubProyectoOrigen > 0 Then
Dim drr As DataRow = GlobalDTSubProyectos(-1, CveSubProyecto:=CveSubProyectoOrigen).FiltroPrimero("")
DomOrigen = New CFDICartaPorteDomicilio With {.Calle = drr("Calle").ToString,
.Colonia = drr("Colonia").ToString,
.CP = drr("CP").ToString,
.Estado = drr("Estado").ToString,
.Pais = drr("Pais").ToString,
.Municipio = drr("Municipio").ToString,
.Localidad = drr("Localidad").ToString}
End If
Dim CveSubProyectoDestino As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=DdlAlmacenDestino.SelectedValue.ToEntero).FiltroPrimeroValor("CveSubProyecto", "").ToEntero
Dim DomDestino As CFDICartaPorteDomicilio = Nothing
If CveSubProyectoOrigen > 0 Then
Dim drr As DataRow = GlobalDTSubProyectos(-1, CveSubProyecto:=CveSubProyectoOrigen).FiltroPrimero("")
DomDestino = New CFDICartaPorteDomicilio With {.Calle = drr("Calle").ToString,
.Colonia = drr("Colonia").ToString,
.CP = drr("CP").ToString,
.Estado = drr("Estado").ToString,
.Pais = drr("Pais").ToString,
.Municipio = drr("Municipio").ToString,
.Localidad = drr("Localidad").ToString}
End If
Dim DomOrigen As New CFDICartaPorteDomicilio With {.Calle = "calle",
.Colonia = "",
.CP = "45200",
.Estado = "JAL",
.Pais = "MEX",
.Localidad = ""}
Dim DomDestino As New CFDICartaPorteDomicilio With {.Calle = "calle destino",
.Colonia = "",
.CP = "45200",
.Estado = "JAL",
.Pais = "MEX",
.Localidad = ""}
Dim Ubica As New CFDICartaPorteUbicaciones
Ubica.TipoEstacion = "01"
Ubica.DistanciaRecorrida = 6
Ubica.Origen = New CFDICartaPorteUbicacionOrigen With {.RFCRemitente = "CAMJ841219I33",
.FechaHoraSalida = "2021-08-23T11:13:01",
.NombreRemitente = "Empresa",
Ubica.Origen = New CFDICartaPorteUbicacionOrigen With {.RFCRemitente = UsuarioActual.Empresa.RFC,
.FechaHoraSalida = Now.ToString("yyyy-MM-ddTH:mm:ss"),' "2021-08-23T11:13:01",
.NombreRemitente = UsuarioActual.Empresa.Empresa,
.Domicilio = DomOrigen}
Ubica.Destino = New CFDICartaPorteUbicacionDestino With {.RFCDestinatario = "CAMJ841219I33",
.FechaHoraProgLlegada = "2021-08-23T11:13:01",
.NombreDestinatario = "Empresa dest",
Ubica.Destino = New CFDICartaPorteUbicacionDestino With {.RFCDestinatario = UsuarioActual.Empresa.RFC,'"CAMJ841219I33",
.FechaHoraProgLlegada = TxtFechaEntrega.Text.ToDate.ToString("yyyy-MM-ddT23:59:59"),
.NombreDestinatario = UsuarioActual.Empresa.Empresa,
.Domicilio = DomDestino}
CartaPorte.Ubicaciones.Add(Ubica)
CartaPorte.FiguraTransporte.ClaveTransporte = "01"
CartaPorte.FiguraTransporte.Operadores.Add(New CFDICartaPorteOperador With {.RFCOperador = "CAMJ841219I33",
.Domicilio = Nothing,
.NombreOperador = "juan Perez",
.NumLicencia = "Num Lic",
.NumRegidTribOperador = "",
.ResidenciaFiscalOperador = ""})
Dim ObjAcar As New ClsAcarreos()
If ObjAcar.GetChofer(DdlChofer.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, 1, -1) Then
Dim dro As DataRow = ObjAcar.DtResultados.Rows(0)
If dro IsNot Nothing Then
Dim DomicilioOperador As New CFDICartaPorteDomicilio With {.Calle = dro("Domicilio").ToString,
.NumeroExterior = dro("NumeroExterior").ToString,
.NumeroInterior = dro("NumeroInterior").ToString,
.Colonia = dro("Colonia").ToString,
.Municipio = dro("Ciudad").ToString,
.Estado = dro("Estado").ToString,
.CP = dro("CP").ToString}
CartaPorte.FiguraTransporte.Operadores.Add(New CFDICartaPorteOperador With {.RFCOperador = dro("RFC").ToString,
.NombreOperador = dro("Chofer").ToString,
.NumLicencia = dro("Licencia").ToString,
.NumRegidTribOperador = dro("NumRegidTribOperador").ToString,
.ResidenciaFiscalOperador = dro("ResidenciaFiscalOperador").ToString,
.Domicilio = DomicilioOperador})
End If
End If
ObjAcar.Dispose()
'concepto único
@@ -2768,18 +2821,19 @@ Partial Class Inventarios_TraspasoAlmacen
End If
Dim conceptoCarta As New CFDICartaPorteMercancia With {
.BienesTransp = drr("SATClaveProdServ").ToString,
.ClaveSTCC = "01334",
.ClaveSTCC = "", 'para metodo ferroviario
.Cantidad = drr("Cantidad").ToString.ToDecimal,
.Descripción = tPS,
.ClaveUnidad = drr("SATClaveUM").ToString,
.Unidad = drr("UM").ToString,
.Dimensiones = "",
.MaterialPeligroso = "",
.Embalaje = "",
.DescripEmbalaje = "",
.PesoenKg = 203,
.MaterialPeligroso = If(drr("ClaveMaterialPeligroso").ToString <> "", "Sí", "No"),
.ClaveMaterialPeligroso = drr("ClaveMaterialPeligroso").ToString,
.Embalaje = drr("ClaveEmbalaje").ToString,
.DescripEmbalaje = drr("Embalaje").ToString,
.PesoenKg = drr("PesoKg").ToString.ToDecimal,
.ValorMercancia = drr("PU").ToString.ToDecimal,
.Moneda = "MXN", 'tempral
.Moneda = "MXN", 'temporal
.FraccionArrancelaria = "",
.UUIDComercioExt = ""
}
@@ -2795,6 +2849,75 @@ Partial Class Inventarios_TraspasoAlmacen
Return Timbre
End Function
Private Function PreParaTimbre(Obj As Modelos.Factura) As CFDITimbre
Dim Timbre As New CFDITimbre
Timbre.Comprobante.TipoComprobante = "T"
Timbre.Comprobante.Folio = Obj.Folio.ToString
Timbre.Comprobante.Serie = Obj.Serie
Timbre.Comprobante.Fecha = Obj.Fecha
Timbre.Comprobante.FormadePago = Obj.FormaPagoSAT33
Timbre.Comprobante.CondicionesdePago = ""
Timbre.Comprobante.MetodoPago = Obj.ClaveMetodoPagoSAT
Timbre.Comprobante.Subtotal = Obj.SubTotal
Timbre.Comprobante.Descuentos = Obj.Descuento
Timbre.Comprobante.Moneda = Obj.MonedaSAT
Timbre.Comprobante.TipoCambio = If(Obj.CveMoneda = 1, "1", Obj.TipoCambio.ToString)
Timbre.Comprobante.Total = Obj.Total
Timbre.Comprobante.LugarExpedicion = Obj.SubProyecto.CP
Timbre.Comprobante.Confirmacion = ""
Timbre.Receptor.RFC = "XAXX010101000"
Timbre.Receptor.Nombre = UsuarioActual.Empresa.Empresa
Timbre.Receptor.UsoCFDI = "P01"
Dim totSubTotal As Decimal = Obj.SubTotal
Dim totIVA As Decimal = Obj.IVA
Dim totRetIVA As Decimal = Obj.RetIVA
Dim totRetISR As Decimal = Obj.RetISR
Dim i As Integer = 1
'DETALLES
Dim tPS As String = ""
For Each drr As DataRow In Obj.DtDetalle.Rows
If drr("PS").ToString.Length = 1 Then
tPS = drr("Obs").ToString
Else
If drr("PS").ToString.Length = 0 Then
tPS = ""
Else
tPS = String.Format("{0} {1}", drr("PS"), drr("Obs"))
End If
End If
'CONDICIONANTE, ESPECIAL
If UsuarioActual.CveEmpresa = 15 Then drr("UM") = "" 'LES COMENTAN QUE NO DEBE IR LA ETIQUETA DE LA UNIDAD EN EL PRODUCTO
Dim concepto As New CFDIConceptos With {.Cantidad = drr("Cantidad").ToString.ToDecimal,
.Descripcion = tPS,
.ValorUnitario = drr("PU").ToString.ToDecimal,
.Importe = drr("TotalImporte").ToString.ToDecimal,
.Descuento = drr("Descuento").ToString.ToDecimal,
.Unidad = drr("UM").ToString,
.ClaveUnidad = drr("SATClaveUM").ToString,
.ClaveProdServ = drr("SATClaveProdServ").ToString,
.Noidentificacion = drr("Noidentificacion").ToString,
.CuentaPredial = drr("CuentaPredial").ToString}
'VERIFICA SUMA SUBTOTALES
If i = Obj.DtDetalle.Rows.Count AndAlso totSubTotal <> concepto.Importe Then 'PROCESO DE AJUSTA DE DECIMALES
concepto.Importe = totSubTotal
End If
totSubTotal = totSubTotal - concepto.Importe
'SIEMPRE ESTAMOS AGREGANDO EL IVA
'concepto.Impuestos.Add(New CFDIConceptosImpuestos With {.TrasladooRetencion = "T", .Base = concepto.Importe - concepto.Descuento, .TasaOCuota = drr("PorcentajeIVA").ToString.ToDecimal, .Impuesto = "002", .Importe = drr("ImporteIVA").ToString.ToDecimal})
Timbre.Conceptos.Add(concepto)
i += 1
Next
Return Timbre
End Function
Private Sub PrepararTimbrado(ByRef FM As Modelos.FemsaFactura, ByRef TmpDT7Eleven As DataTable, ByRef TmpDTComplementosTimbrado As DataTable)
FM.AplicaFEMSA = False
FM.FEMSA_NumSociedad = ""