diff --git a/Contratos/Contrato.aspx.vb b/Contratos/Contrato.aspx.vb
index 4a59ab77a..59f211c7d 100644
--- a/Contratos/Contrato.aspx.vb
+++ b/Contratos/Contrato.aspx.vb
@@ -705,9 +705,12 @@ Partial Class Contratos_Default
End If
TipoContrato = DdlTipoContrato.SelectedValue.ToEntero
- TxtDescripcionTipoContrato.Text = GlobalDTContratosTipos(UsuarioActual.CveEmpresa).FiltraParametros("CveContratoTipo = " & DdlTipoContrato.SelectedValue)(0)("Descripcion").ToString()
- TxtDescripcionTipoContrato.Visible = True
-
+ If GlobalDTContratosTipos(UsuarioActual.CveEmpresa).FiltraParametros("CveContratoTipo = " & DdlTipoContrato.SelectedValue).Rows.Count > 0 Then
+ TxtDescripcionTipoContrato.Text = GlobalDTContratosTipos(UsuarioActual.CveEmpresa).FiltraParametros("CveContratoTipo = " & DdlTipoContrato.SelectedValue)(0)("Descripcion").ToString()
+ TxtDescripcionTipoContrato.Visible = True
+ End If
+
+
CargaContratoPadre()
UpProyecto.Update()
End Sub
@@ -725,6 +728,15 @@ Partial Class Contratos_Default
TableDatosCabecera.Visible = True
End If
+ If CveTipoContrato = 25 Then
+ DvMax.Visible = False
+ DvMin.Visible = False
+ DvTotal.Visible = False
+
+ DivFianzas.Visible = False
+ DivImpuestosLocales.Visible = False
+ End If
+
ElseIf modalidadDetalleInt = 2 Then
ModalidadDetalle = 2
@@ -735,6 +747,15 @@ Partial Class Contratos_Default
If CveContrato > 0 AndAlso CveTipoContrato <> 25 Then
TableDatosCabecera.Visible = True
+ End If
+
+ If CveTipoContrato = 25 Then
+ DvMax.Visible = False
+ DvMin.Visible = False
+ DvTotal.Visible = False
+
+ DivFianzas.Visible = False
+ DivImpuestosLocales.Visible = False
End If
End If
@@ -755,11 +776,13 @@ Partial Class Contratos_Default
Exit Sub
End If
+ Me.CveTipoContrato = DdlTipoContrato.SelectedValue.ToEntero
+
'Dim TipoMov = GlobalDTContratosTipos.FiltroPrimeroValor("TipoMovimiento", $"CveContratoTipo='{CveTipoContrato}'").ToEntero
- If rpCompra.Checked Then
- Dim CveContratoTipo = DdlTipoContrato.SelectedValue.ToEntero
- Response.Redirect($"/Contratos/Presupuestos.aspx?CveContrato=-1&CveContratoTipo={CveContratoTipo}")
+ If rpCompra.Checked Then
+
+ Response.Redirect($"/Contratos/Presupuestos.aspx?CveContrato=-1&CveContratoTipo={Me.CveTipoContrato}")
'RegistraScript("window.location='/Contratos/Presupuestos.aspx")
Else
diff --git a/Contratos/FacturacionMasiva.aspx b/Contratos/FacturacionMasiva.aspx
index c4366650e..ad378c4fb 100644
--- a/Contratos/FacturacionMasiva.aspx
+++ b/Contratos/FacturacionMasiva.aspx
@@ -93,7 +93,7 @@
La {0}: {1} se generó correctamente.
", ObjFactura.TipoDocumento, ObjFactura.SerieFolio))
-
-
- If SeTimbro Then
- 'XML
- Dim ArchivoXML = String.Format("{0}/XML/{1}/{2}.xml", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto, ObjFactura.SerieFolio)
- If File.Exists(ArchivoXML) Then
- MensajeAlert.AppendFormat("", Encripta(String.Format("OP=FactVta&CVEVENTA={0}&EXT={1}&SERIEFOLIO={2}&TIPODOCTO={3}", ObjFactura.CveVenta, "XML", ObjFactura.SerieFolio, ObjFactura.TipoDocto)))
- End If
-
- 'IMPRESION
- GeneraPDFFactura(False)
- Else
- MensajeAlert.AppendFormat("La factura no se pudo timbrar. Por favor intentelo de nuevo a traves del boton Emitir o póngase en contacto con soporte técnico.")
- End If
-
- 'MUESTA ALERT OK
- Dim Liga = If(UsuarioActual.CveRol = 1165, "document.location.href=""/Ventas/Ventas.aspx?CveVenta=-1"";", $"document.location.href=""/Ventas/Clientes.aspx?CveCliente={ObjFactura.CveCliente}&Opt=3"";")
- Alert(MensajeAlert.ToString, TipoMensaje.MsgInformacion)
-
- ObjFactura = Nothing
- Else
- ObjVentas.RollBack()
- If ObjContPaq IsNot Nothing Then ObjContPaq.RollBack()
-
- For Each ErrorItem In ErrorList
- Alert(ErrorItem, TipoMensaje.MsgAdvertencia)
- Next
-
- 'MUESTA ALERT ERROR
- Alert("Ocurrió un error al procesar los datos. Por favor rectifique y vuelta a intentar.", TipoMensaje.MsgError)
- End If
-
- ObjVentas.Dispose()
- ObjConta.Dispose()
- ObjInventario.Dispose()
- ObjContr.Dispose()
- ErrorList = Nothing
- MensajeAlert = Nothing
- If ObjContPaq IsNot Nothing Then ObjContPaq.Dispose()
- CargaDatos(DdlContrato.SelectedValue.ToEntero, DdlCliente.SelectedValue.ToEntero)
- Else
- ObjVentas.RollBack()
- If ObjContPaq IsNot Nothing Then ObjContPaq.RollBack()
-
- For Each ErrorItem In ErrorList
- Alert(ErrorItem, TipoMensaje.MsgAdvertencia)
- Next
-
- 'MUESTA ALERT ERROR
- Alert("Ocurrió un error al procesar los datos. Por favor rectifique y vuelta a intentar.", TipoMensaje.MsgError)
- ObjVentas.Dispose()
- ObjConta.Dispose()
- ObjInventario.Dispose()
- ObjContr.Dispose()
- 'ObjFolios.Dispose()
- ErrorList = Nothing
- MensajeAlert = Nothing
- If ObjContPaq IsNot Nothing Then ObjContPaq.Dispose()
-
- End If
- Else
- Mensaje = "Las facturas del contrato"
- End If
- End If
-
-
+ Protected Sub btnFacturarAqui_Click(sender As Object, e As EventArgs)
+ EjecutarFacturacion()
End Sub
- Private Function EmitirImprimir(pCveCicloComercial As Integer) As Boolean
- Dim retorno As Boolean = False
+ Private Function EmitirImprimir(pCveCicloComercial As Integer, Etiqueta As String) As Modelos.Factura.MMensajeFactura
+ Dim Resp As New Modelos.Factura.MMensajeFactura
ViewState("CveCicloComercial") = pCveCicloComercial
- CreaObjetosVenta()
+ CreaObjetosVenta(Etiqueta)
If ObjFactura Is Nothing Or ObjFactura.Cliente Is Nothing Then
Alert("Ocurrió un error al procesar los datos de la Venta.", TipoMensaje.MsgError)
ObjFactura = Nothing
- Return False
+ Return Resp
End If
If ObjFactura.CveCliente > 0 Then
- If DTDetalle.Rows.Count > 0 Then
+ If DTDetalle.Rows.Count > 0 Then
+
+ Resp = ObjFactura.EmitirFactura()
- Dim ObjVentas As New ClsVentas()
- Dim ObjConta As New ClsContabilidad(ObjVentas.IniciaTransacSQL())
- Dim ObjInventario As New ClsInventarios(ObjVentas.IniciaTransacSQL())
- Dim ObjContr As New ClsContratos(ObjVentas.IniciaTransacSQL())
- Dim ObjOS As New ClsOS(ObjVentas.IniciaTransacSQL())
- Dim ObjBancos As New ClsBancos(ObjVentas.IniciaTransacSQL())
- Dim ObjClientes As New ClsClientes(ObjVentas.IniciaTransacSQL())
- Dim ObjContPaq As ClsContPAQi = Nothing
- 'Dim ObjFolios As New ClsGralFolios(ObjVentas.IniciaTransacSQL())
- ErrorList = New List(Of String)
- MensajeAlert = New StringBuilder
+ 'Dim ObjVentas As New ClsVentas()
+ 'Dim ObjConta As New ClsContabilidad(ObjVentas.IniciaTransacSQL())
+ 'Dim ObjInventario As New ClsInventarios(ObjVentas.IniciaTransacSQL())
+ 'Dim ObjContr As New ClsContratos(ObjVentas.IniciaTransacSQL())
+ 'Dim ObjOS As New ClsOS(ObjVentas.IniciaTransacSQL())
+ 'Dim ObjBancos As New ClsBancos(ObjVentas.IniciaTransacSQL())
+ 'Dim ObjClientes As New ClsClientes(ObjVentas.IniciaTransacSQL())
+ 'Dim ObjContPaq As ClsContPAQi = Nothing
+ ''Dim ObjFolios As New ClsGralFolios(ObjVentas.IniciaTransacSQL())
+ 'ErrorList = New List(Of String)
+ 'MensajeAlert = New StringBuilder
- 'CONTABILIDAD AUTOMATICA Y AC
- If UsuarioActual.Empresa.UsaAC OrElse UsuarioActual.Empresa.Funcionalidad(200) = "1" Then
- ObjContPaq = New ClsContPAQi(UsuarioActual.Empresa)
- End If
+ ''CONTABILIDAD AUTOMATICA Y AC
+ 'If UsuarioActual.Empresa.UsaAC OrElse UsuarioActual.Empresa.Funcionalidad(200) = "1" Then
+ ' ObjContPaq = New ClsContPAQi(UsuarioActual.Empresa)
+ 'End If
- 'GUARDA VENTA
- GuardarVenta(ObjVentas, ObjConta, ObjInventario, ObjContr, ObjFactura, TmpDT, ObjFactura.CveNCaVincular, ObjContPaq, ObjBancos, ObjOS)
+ ''GUARDA VENTA
+ 'GuardarVenta(ObjVentas, ObjConta, ObjInventario, ObjContr, ObjFactura, TmpDT, ObjFactura.CveNCaVincular, ObjContPaq, ObjBancos, ObjOS)
- If pCveCicloComercial > 0 AndAlso ErrorList.Count = 0 Then
- If Not ObjContr.CicloComercialUpdate(pCveCicloComercial, True, UsuarioActual.CveEmpresa) Then
- ErrorList.Add("No se pudo actualizar ")
- End If
- End If
+ 'If pCveCicloComercial > 0 AndAlso ErrorList.Count = 0 Then
+ ' If Not ObjContr.CicloComercialUpdate(pCveCicloComercial, True, UsuarioActual.CveEmpresa) Then
+ ' ErrorList.Add("No se pudo actualizar ")
+ ' End If
+ 'End If
- If ObjFactura.CveVenta > 0 AndAlso ErrorList.Count = 0 AndAlso (SeGuardoPrePoliza Or ObjFactura.TipoDocto.Contiene("Ped", "Cot")) Then
- ObjVentas.Commit()
- If ObjContPaq IsNot Nothing Then ObjContPaq.Commit()
- ViewState("CveVenta") = ObjFactura.CveVenta
+ 'If ObjFactura.CveVenta > 0 AndAlso ErrorList.Count = 0 AndAlso (SeGuardoPrePoliza Or ObjFactura.TipoDocto.Contiene("Ped", "Cot")) Then
+ ' ObjVentas.Commit()
+ ' If ObjContPaq IsNot Nothing Then ObjContPaq.Commit()
+ ' ViewState("CveVenta") = ObjFactura.CveVenta
- Dim SeTimbro As Boolean = False
- 'TIMBRADO Y CASO ESPECIAL NOTA DE CREDITO
+ ' Dim SeTimbro As Boolean = False
+ ' 'TIMBRADO Y CASO ESPECIAL NOTA DE CREDITO
- If ObjFactura.TipoDocto.Contiene("Ing", "Egs", "Ant") Then
- If UsuarioActual.Empresa.TipoFacturacion = "CFDi" AndAlso UsuarioActual.Empresa.FacturaProduccion Then
+ ' If ObjFactura.TipoDocto.Contiene("Ing", "Egs", "Ant") Then
+ ' If UsuarioActual.Empresa.TipoFacturacion = "CFDi" AndAlso UsuarioActual.Empresa.FacturaProduccion Then
- Dim sw As New Diagnostics.Stopwatch
- sw.Start()
+ ' Dim sw As New Diagnostics.Stopwatch
+ ' sw.Start()
- 'FACTURA INGRESO/EGRESO
- Dim ObjTimbrado As New Timbrado
+ ' 'FACTURA INGRESO/EGRESO
+ ' Dim ObjTimbrado As New Timbrado
- SeTimbro = ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura)
+ ' SeTimbro = ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura)
- sw.Stop()
- GuardaLogTimbrado(sw.ElapsedMilliseconds.ToString, UsuarioActual.Empresa.CvePAC)
- End If
+ ' sw.Stop()
+ ' GuardaLogTimbrado(sw.ElapsedMilliseconds.ToString, UsuarioActual.Empresa.CvePAC)
+ ' End If
- 'MENSAJE PRINCIPAL
- MensajeAlert.AppendFormat(String.Format("
La {0}: {1} se generó correctamente.
", ObjFactura.TipoDocumento, ObjFactura.SerieFolio))
+ ' 'MENSAJE PRINCIPAL
+ ' MensajeAlert.AppendFormat(String.Format("
La {0}: {1} se generó correctamente.
", ObjFactura.TipoDocumento, ObjFactura.SerieFolio))
- If SeTimbro Then
- 'XML
- Dim ArchivoXML = String.Format("{0}/XML/{1}/{2}.xml", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto, ObjFactura.SerieFolio)
- If File.Exists(ArchivoXML) Then
- MensajeAlert.AppendFormat("", Encripta(String.Format("OP=FactVta&CVEVENTA={0}&EXT={1}&SERIEFOLIO={2}&TIPODOCTO={3}", ObjFactura.CveVenta, "XML", ObjFactura.SerieFolio, ObjFactura.TipoDocto)))
- End If
+ ' If SeTimbro Then
+ ' 'XML
+ ' Dim ArchivoXML = String.Format("{0}/XML/{1}/{2}.xml", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto, ObjFactura.SerieFolio)
+ ' If File.Exists(ArchivoXML) Then
+ ' MensajeAlert.AppendFormat("", Encripta(String.Format("OP=FactVta&CVEVENTA={0}&EXT={1}&SERIEFOLIO={2}&TIPODOCTO={3}", ObjFactura.CveVenta, "XML", ObjFactura.SerieFolio, ObjFactura.TipoDocto)))
+ ' End If
- 'IMPRESION
- GeneraPDFFactura(False)
- Else
- MensajeAlert.AppendFormat("La factura no se pudo timbrar. Por favor intentelo de nuevo a traves del boton Emitir o póngase en contacto con soporte técnico.")
- End If
+ ' 'IMPRESION
+ ' GeneraPDFFactura(False)
+ ' Else
+ ' MensajeAlert.AppendFormat("La factura no se pudo timbrar. Por favor intentelo de nuevo a traves del boton Emitir o póngase en contacto con soporte técnico.")
+ ' End If
- 'MUESTA ALERT OK
- Dim Liga = If(UsuarioActual.CveRol = 1165, "document.location.href=""/Ventas/Ventas.aspx?CveVenta=-1"";", $"document.location.href=""/Ventas/Clientes.aspx?CveCliente={ObjFactura.CveCliente}&Opt=3"";")
- retorno = True
- ObjFactura = Nothing
- Else
- ObjVentas.RollBack()
- If ObjContPaq IsNot Nothing Then ObjContPaq.RollBack()
+ ' 'MUESTA ALERT OK
+ ' Dim Liga = If(UsuarioActual.CveRol = 1165, "document.location.href=""/Ventas/Ventas.aspx?CveVenta=-1"";", $"document.location.href=""/Ventas/Clientes.aspx?CveCliente={ObjFactura.CveCliente}&Opt=3"";")
+ ' retorno = True
+ ' ObjFactura = Nothing
+ ' Else
+ ' ObjVentas.RollBack()
+ ' If ObjContPaq IsNot Nothing Then ObjContPaq.RollBack()
- For Each ErrorItem In ErrorList
- Alert(ErrorItem, TipoMensaje.MsgAdvertencia)
- Next
+ ' For Each ErrorItem In ErrorList
+ ' Alert(ErrorItem, TipoMensaje.MsgAdvertencia)
+ ' Next
- 'MUESTA ALERT ERROR
- Alert("Ocurrió un error al procesar los datos. Por favor rectifique y vuelta a intentar.", TipoMensaje.MsgError)
- End If
+ ' 'MUESTA ALERT ERROR
+ ' Alert("Ocurrió un error al procesar los datos. Por favor rectifique y vuelta a intentar.", TipoMensaje.MsgError)
+ ' End If
- ObjVentas.Dispose()
- ObjConta.Dispose()
- ObjInventario.Dispose()
- ObjContr.Dispose()
- ErrorList = Nothing
- MensajeAlert = Nothing
- If ObjContPaq IsNot Nothing Then ObjContPaq.Dispose()
- Else
- ObjVentas.RollBack()
- If ObjContPaq IsNot Nothing Then ObjContPaq.RollBack()
+ ' ObjVentas.Dispose()
+ ' ObjConta.Dispose()
+ ' ObjInventario.Dispose()
+ ' ObjContr.Dispose()
+ ' ErrorList = Nothing
+ ' MensajeAlert = Nothing
+ ' If ObjContPaq IsNot Nothing Then ObjContPaq.Dispose()
+ 'Else
+ ' ObjVentas.RollBack()
+ ' If ObjContPaq IsNot Nothing Then ObjContPaq.RollBack()
- For Each ErrorItem In ErrorList
- Alert(ErrorItem, TipoMensaje.MsgAdvertencia)
- Next
+ ' For Each ErrorItem In ErrorList
+ ' Alert(ErrorItem, TipoMensaje.MsgAdvertencia)
+ ' Next
- 'MUESTA ALERT ERROR
- Alert("Ocurrió un error al procesar los datos. Por favor rectifique y vuelta a intentar.", TipoMensaje.MsgError)
- ObjVentas.Dispose()
- ObjConta.Dispose()
- ObjInventario.Dispose()
- ObjContr.Dispose()
- 'ObjFolios.Dispose()
- ErrorList = Nothing
- MensajeAlert = Nothing
- If ObjContPaq IsNot Nothing Then ObjContPaq.Dispose()
- End If
+ ' 'MUESTA ALERT ERROR
+ ' Alert("Ocurrió un error al procesar los datos. Por favor rectifique y vuelta a intentar.", TipoMensaje.MsgError)
+ ' ObjVentas.Dispose()
+ ' ObjConta.Dispose()
+ ' ObjInventario.Dispose()
+ ' ObjContr.Dispose()
+ ' 'ObjFolios.Dispose()
+ ' ErrorList = Nothing
+ ' MensajeAlert = Nothing
+ ' If ObjContPaq IsNot Nothing Then ObjContPaq.Dispose()
+ 'End If
Else
Mensaje = "No se pudo completar facturación por que no se encontraron partidas "
End If
End If
TmpDT.Clear()
- Return retorno
+ Return Resp
End Function
- Private Sub CreaDTVentas()
+ Private Sub CreaDTVentas()
TmpDT = New DataTable
- TmpDT.Columns.Add("CveVenta", GetType(Integer))
- TmpDT.Columns.Add("Consec", GetType(Integer))
- TmpDT.Columns.Add("Cantidad", GetType(Double))
- TmpDT.Columns.Add("Codigo", GetType(String))
- TmpDT.Columns.Add("CveUM", GetType(Integer))
- TmpDT.Columns.Add("UM", GetType(String))
- TmpDT.Columns.Add("CveClasificacion", GetType(Integer))
- TmpDT.Columns.Add("Clasificacion", GetType(String))
- TmpDT.Columns.Add("CvePS", GetType(Integer))
- TmpDT.Columns.Add("PS", GetType(String))
- TmpDT.Columns.Add("CodigoPS", GetType(String))
- TmpDT.Columns.Add("CveTipoInvPS", GetType(Integer))
- TmpDT.Columns.Add("SerieLote", GetType(String))
- TmpDT.Columns.Add("Obs", GetType(String))
- TmpDT.Columns.Add("TiempoEntrega", GetType(String))
- TmpDT.Columns.Add("PU", GetType(Double))
- TmpDT.Columns.Add("IVA", GetType(Double))
- TmpDT.Columns.Add("IEPS", GetType(Double))
- TmpDT.Columns.Add("Descuento", GetType(Double))
- TmpDT.Columns.Add("TipoDescuento", GetType(Integer))
- TmpDT.Columns.Add("Total", GetType(Double))
- TmpDT.Columns.Add("CveProyecto", GetType(Integer))
- TmpDT.Columns.Add("Proyecto", GetType(String))
- TmpDT.Columns.Add("CveSubProyecto", GetType(Integer))
- TmpDT.Columns.Add("SubProyecto", GetType(String))
- TmpDT.Columns.Add("CvePresupuestoIngreso", GetType(Integer))
- TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer))
- TmpDT.Columns.Add("CveVentaDetalle", GetType(Integer))
- TmpDT.Columns.Add("Observacion", GetType(String))
- TmpDT.Columns.Add("SATClaveUM", GetType(String))
- TmpDT.Columns.Add("SATClaveProdServ", GetType(String))
- TmpDT.Columns.Add("CuentaPredial", GetType(String))
- TmpDT.Columns.Add("NoIdentificacion", GetType(String))
- TmpDT.Columns.Add("TotalImporte", GetType(Double))
- TmpDT.Columns.Add("PorcentajeIVA", GetType(Double))
- TmpDT.Columns.Add("ImporteIVA", GetType(Double))
- TmpDT.Columns.Add("PorcentajeIEPS", GetType(Double))
- TmpDT.Columns.Add("ImporteIEPS", GetType(Double))
- TmpDT.Columns.Add("PorcentajeRetIVA", GetType(Double))
- TmpDT.Columns.Add("ImporteRetIVA", GetType(Double))
- TmpDT.Columns.Add("PorcentajeRetISR", GetType(Double))
- TmpDT.Columns.Add("ImporteRetISR", GetType(Double))
-
+ TmpDT.Columns.Add("CveVenta", GetType(Integer))
+ TmpDT.Columns.Add("Consec", GetType(Integer))
+ TmpDT.Columns.Add("Cantidad", GetType(Decimal))
+ TmpDT.Columns.Add("Codigo", GetType(String))
+ TmpDT.Columns.Add("CveUM", GetType(Integer))
+ TmpDT.Columns.Add("UM", GetType(String))
+ TmpDT.Columns.Add("SATClaveUM", GetType(String))
+ TmpDT.Columns.Add("CveClasificacion", GetType(Integer))
+ TmpDT.Columns.Add("Clasificacion", GetType(String))
+ TmpDT.Columns.Add("CvePS", GetType(Integer))
+ TmpDT.Columns.Add("PS", GetType(String))
+ TmpDT.Columns.Add("CodigoPS", GetType(String))
+ TmpDT.Columns.Add("SATClaveProdServ", GetType(String))
+ TmpDT.Columns.Add("NoIdentificacion", GetType(String))
+ TmpDT.Columns.Add("CveTipoPS", GetType(Integer))
+ TmpDT.Columns.Add("CveTipoInvPS", GetType(Integer))
+ TmpDT.Columns.Add("Serie", GetType(String))
+ TmpDT.Columns.Add("CuentaPredial", GetType(String))
+ TmpDT.Columns.Add("Obs", GetType(String))
+ TmpDT.Columns.Add("TiempoEntrega", GetType(String))
+ TmpDT.Columns.Add("PU", GetType(Decimal))
+ TmpDT.Columns.Add("IVA", GetType(Decimal))
+ TmpDT.Columns.Add("ImporteIVA", GetType(Decimal))
+ TmpDT.Columns.Add("PorcentajeIVA", GetType(Decimal))
+ TmpDT.Columns.Add("ImporteRetIVA", GetType(Decimal))
+ TmpDT.Columns.Add("ImporteRetISR", GetType(Decimal))
+ TmpDT.Columns.Add("PorcentajeRetIVA", GetType(Decimal))
+ TmpDT.Columns.Add("PorcentajeRetISR", GetType(Decimal))
+ TmpDT.Columns.Add("ImporteIEPS", GetType(Decimal))
+ TmpDT.Columns.Add("IEPS", GetType(Decimal))
+ TmpDT.Columns.Add("PorcentajeIEPS", GetType(Decimal))
+ TmpDT.Columns.Add("Descuento", GetType(Decimal))
+ TmpDT.Columns.Add("TipoDescuento", GetType(Integer))
+ TmpDT.Columns.Add("TotalImporte", GetType(Decimal))
+ TmpDT.Columns.Add("Total", GetType(Decimal))
+ 'Para uso del módulo contable
+ TmpDT.Columns.Add("AsientoContableVentas", GetType(Integer))
+ TmpDT.Columns.Add("IdCtaContVentas", GetType(Integer))
+ TmpDT.Columns.Add("AplicaParaConcepto", GetType(Boolean))
+ TmpDT.Columns.Add("CveProyecto", GetType(Integer))
+ TmpDT.Columns.Add("Proyecto", GetType(String))
+ TmpDT.Columns.Add("CveSubProyecto", GetType(Integer))
+ TmpDT.Columns.Add("SubProyecto", GetType(String))
+ TmpDT.Columns.Add("CveVentaDetallePadre", GetType(Integer))
+
+ 'TipoDescuento: 1 = Descuento * PU; 2 = Descuento por Total del concepto
+ TmpDT.Columns.Add("CvePresupuestoIngreso", GetType(Integer))
+ TmpDT.Columns.Add("CveFuenteRecaudacion", GetType(Integer))
+ 'Contratos
+ TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer))
+ 'Remisiones a Facturas
+ TmpDT.Columns.Add("CveVentaDetalle", GetType(Integer))
+ TmpDT.Columns.Add("CveVentaDetalleRemision", GetType(Integer))
+ TmpDT.Columns.Add("CveVentaDetalleCotizacion", GetType(Integer))
+
+ 'Pedido2 a Facturas
+ TmpDT.Columns.Add("CveVentaDetallePedido2", GetType(Integer))
+
+ TmpDT.Columns.Add("Origen", GetType(Integer))
+ 'Ordenes Servicio
+ TmpDT.Columns.Add("CveOS", GetType(Integer))
+ TmpDT.Columns.Add("CveOSDetalle", GetType(Integer))
+ TmpDT.Columns.Add("SeFacturara", GetType(Integer))
+ TmpDT.Columns.Add("Folio", GetType(Integer))
+ TmpDT.Columns.Add("Estatus", GetType(String))
+ 'Ordenamiento
+ TmpDT.Columns.Add("Orden", GetType(Integer))
+ TmpDT.Columns.Add("TipoDocto", GetType(String))
+ 'OC
+ TmpDT.Columns.Add("CveOrdenCompraDetalle", GetType(Integer))
+ TmpDT.Columns.Add("EntregaDirecta", GetType(Integer))
+
+ TmpDT.Columns.Add("CveMovimientoDetallePedido", GetType(Integer))
+ TmpDT.Columns.Add("CantidadFacturadaRem", GetType(Decimal))
+ TmpDT.Columns.Add("CantidadFacturadaCot", GetType(Decimal))
+ TmpDT.Columns.Add("CantidadFacturadaPed2", GetType(Decimal))
+ TmpDT.Columns.Add("CantidadInventario", GetType(Decimal))
+
+ TmpDT.Columns.Add("ClaveSATFraccionArancelaria", GetType(String))
+ TmpDT.Columns.Add("ClaveSATUnidadAduana", GetType(String))
+ TmpDT.Columns.Add("ClaveSATFraccionArancelariaDescripcion", GetType(String))
+ TmpDT.Columns.Add("ClaveSATUnidadAduanaDescripcion", GetType(String))
+
+ TmpDT.Columns.Add("CveTamaño", GetType(Integer))
+ TmpDT.Columns.Add("EsCargo", GetType(Boolean))
End Sub
- Private Sub CreaObjetosVenta(Optional VistaPrevia As Boolean = False)
+ Private Sub CreaObjetosVenta(Etiqueta As String, Optional VistaPrevia As Boolean = False)
Dim ObjFolios As New ClsGralFolios()
Dim Folio As String = ""
Dim Serie As String = ""
@@ -518,10 +447,9 @@ Partial Class Contratos_FacturacionMasiva
Dim Proyecto As String = ""
Dim SubProyecto As String = ""
-
-
- ObjFactura = New Modelos.Factura
- Dim objContratos As New ClsContratos
+ ObjFactura = New Modelos.Factura(UsuarioActual)
+ ObjFactura.DirectorioServidor = Server.MapPath("/")
+ ObjFactura.CveCicloComercial = CveCicloComercial
Dim DR As DataRow = DTCicloComercial.FiltroPrimero($"CveCicloComercial = {CveCicloComercial}")
ObjFactura.Version = "3.3"
@@ -544,7 +472,7 @@ Partial Class Contratos_FacturacionMasiva
ObjFactura.MetodoPago = "Efectivo"
ObjFactura.FechaPago = DateTime.Today
ObjFactura.MotivoDescuento = ""
- ObjFactura.Observaciones = DR("Observaciones").ToString
+ ObjFactura.Observaciones = Etiqueta + " " + TxtObservaciones.Text + " " + DR("Observaciones").ToString
ObjFactura.FechaEjecucion = DateTime.Today
'ObjFactura.ClaveMetodoPagoSAT = GlobalDTMetodosPago.FiltroPrimeroValor("ClaveSAT", $"CveMetodoPago = {1}")
ObjFactura.UsuarioCreo = UsuarioActual.Usuario
@@ -587,15 +515,16 @@ Partial Class Contratos_FacturacionMasiva
End If
DT.Dispose()
End If
- ObjFolios.Dispose()
-
+ ObjFolios.Dispose()
+
+ Dim objContratos As New ClsContratos
If objContratos.GetContratosDetalle(DR("CveContrato").ToString.ToEntero) Then
DTDetalle = objContratos.DtResultados
Else
DTDetalle = Nothing
End If
-
- objContratos.Dispose()
+ objContratos.Dispose()
+
Dim DtR As DataRow
ObjFactura.SubTotal = SUM(DTDetalle, "Total").ToDecimal
ObjFactura.IVA = SUM(DTDetalle, "ImporteIVA").ToDecimal
@@ -607,34 +536,27 @@ Partial Class Contratos_FacturacionMasiva
ObjFactura.Folio = Folio.ToEntero
For Each row As DataRow In DTDetalle.Rows
+ Dim drPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=row("CvePS").ToString().ToEntero()).FiltroPrimero("")
+
DtR = TmpDT.NewRow
DtR("CveVenta") = -1
DtR("Codigo") = row("Codigo")
DtR("Consec") = TmpDT.Rows.Count + 1
DtR("Cantidad") = row("CantidadContratada")
DtR("CveUM") = row("CveUM")
- DtR("UM") = row("UM")
+ DtR("UM") = row("UM")
+ DtR("SATClaveUM") = row("SATClaveUM")
DtR("CveClasificacion") = row("CveClasificacion")
DtR("Clasificacion") = row("Clasificacion")
DtR("CvePS") = row("CvePS")
DtR("PS") = row("PS")
- DtR("CodigoPS") = row("CodigoPS")
- DtR("Obs") = ""
- DtR("PU") = row("PU")
- DtR("Descuento") = 0
- DtR("TipoDescuento") = 0
- DtR("CveProyecto") = CveProyecto
- DtR("Proyecto") = Proyecto
- DtR("CveSubProyecto") = CveSubProyecto
- DtR("SubProyecto") = SubProyecto
- DtR("CveVentaDetalle") = 0
- DtR("CveContratoDetalle") = row("CveContratoDetalle")
- DtR("Observacion") = row("Observacion")
- DtR("SATClaveUM") = row("SATClaveUM")
+ DtR("CodigoPS") = row("CodigoPS")
DtR("SATClaveProdServ") = row("SATClaveProdServ")
- DtR("CuentaPredial") = row("CuentaPredial")
- DtR("NoIdentificacion") = row("NoIdentificacion")
- DtR("TotalImporte") = row("Total")
+ DtR("NoIdentificacion") = row("NoIdentificacion")
+ DtR("CveTipoPS") = DrPS("CveTipoPS")
+ DtR("CveTipoInvPS") = DrPS("Inv_CveMetodoInventario")
+ DtR("Obs") = Etiqueta + " " + TxtObservaciones.Text + " " + row("Observacion").ToString
+ DtR("PU") = row("PU")
DtR("IVA") = row("PorcentajeIVA")
DtR("PorcentajeIVA") = row("PorcentajeIVA")
DtR("ImporteIVA") = row("ImporteIVA")
@@ -644,6 +566,17 @@ Partial Class Contratos_FacturacionMasiva
DtR("ImporteRetIVA") = row("ImporteRetIVA")
DtR("PorcentajeRetISR") = row("PorcentajeRetISR")
DtR("ImporteRetISR") = row("ImporteRetISR")
+ DtR("Descuento") = 0
+ DtR("TipoDescuento") = 0
+ DtR("CveProyecto") = CveProyecto
+ DtR("Proyecto") = Proyecto
+ DtR("CveSubProyecto") = CveSubProyecto
+ DtR("SubProyecto") = SubProyecto
+ DtR("CveVentaDetalle") = 0
+ DtR("CveContratoDetalle") = row("CveContratoDetalle")
+ DtR("CuentaPredial") = row("CuentaPredial")
+ DtR("TotalImporte") = row("Total")
+
TmpDT.Rows.Add(DtR)
Next
@@ -952,7 +885,9 @@ Partial Class Contratos_FacturacionMasiva
IdCtaContable = 0
CveCuenta = 0
Multiplicador = (Row("Multiplicador").ToString.ToEntero)
- Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, ConceptoContable, ObjFactura.Cliente.Nombre, $"{ObjFactura.Serie}-{ObjFactura.Folio}", "")
+ Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, ConceptoContable, ObjFactura.Cliente.Nombre, $"{ObjFactura.Serie}-{ObjFactura.Folio}", "")
+
+ Dim PorcentajeImpuesto As Decimal = 0
Select Case ConceptoContable
Case 1 'Cliente
@@ -1077,6 +1012,7 @@ Partial Class Contratos_FacturacionMasiva
FechaMovimiento = ObjFactura.FechaPago
IdCtaContable = UsuarioActual.Empresa.IdCuentaIVAxTrasladar
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
+ PorcentajeImpuesto = TmpDTDetalle.MAX("PorcentajeIVA").ToDecimal
Case 38 'IEPS por Trasladar
If Not ObjFactura.TipoDocto.Contiene("Rem") Then
@@ -1089,7 +1025,8 @@ Partial Class Contratos_FacturacionMasiva
IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxTrasladar").ToString.ToEntero
CveCuenta = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxTrasladarSIG").ToString.ToEntero
End If
- End If
+ End If
+ PorcentajeImpuesto = TmpDTDetalle.MAX("PorcentajeIEPS").ToDecimal
End If
End Select
@@ -1101,7 +1038,7 @@ Partial Class Contratos_FacturacionMasiva
idCuentaContabilizacion = 0
End If
- If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento)) Then
+ If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), PorcentajeImpuesto:=PorcentajeImpuesto) Then
ErrorPrepoliza = True
Else
ViewState("SeGuardoPrePoliza") = True
diff --git a/Inventarios/RecepcionAlmacen.aspx b/Inventarios/RecepcionAlmacen.aspx
index a4d52dd3d..e0791c45f 100644
--- a/Inventarios/RecepcionAlmacen.aspx
+++ b/Inventarios/RecepcionAlmacen.aspx
@@ -283,7 +283,7 @@