This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2021-02-25 20:35:15 -07:00
54 changed files with 7195 additions and 3889 deletions

View File

@@ -384,11 +384,12 @@
</div>
<div class="row">
<div class="col-md-12">
<div style="overflow-y: auto; height: 400px; width: 1200px;" runat="server">
<div style="overflow-y: auto; height: 400px; min-width: 1200px;" runat="server">
<asp:GridView ID="GvGarantiasDetalle" runat="server" AutoGenerateColumns="false" Width="100%" EmptyDataText="No se encontraron datos" CssClass="table table-striped table-hover Widthall"
DataKeyNames="Consecutivo,CodigoCliente,Codigo,CodigoTipoUso,CodigoTipoDefecto,CodigoEnsamble,CodigoLinea,CodigoInspeccion,FechaVenta,FechaReclamacion,TipoComprobante,Comprobante,Autorizo,Comentarios,ClaveAutorizacion" BorderColor="#D3D3D3" GridLines="None">
OnRowDataBound="GvGarantiasDetalle_RowDataBound" DataKeyNames="Consecutivo,CodigoCliente,CodigoSucursal,Codigo,CodigoProducto2,CodigoTipoUso,CodigoTipoDefecto,CodigoEnsamble,CodigoLinea,CodigoInspeccion,FechaVenta,FechaReclamacion,TipoComprobante,Comprobante,Autorizo,Comentarios,ClaveAutorizacion" BorderColor="#D3D3D3" GridLines="None">
<Columns>
<asp:BoundField DataField="Consecutivo" HeaderText="Consecutivo" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="5%" />
<asp:BoundField DataField="FolioRemision" HeaderText="Remisión" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="10%" />
<asp:BoundField DataField="FolioFactura" HeaderText="Factura" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="10%" />
<asp:BoundField DataField="Cliente" HeaderText="Cliente" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="30%" />
<asp:BoundField DataField="Codigo" HeaderText="Código" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="5%" />
@@ -397,9 +398,15 @@
<asp:BoundField DataField="CodigoEnsamble" HeaderText="Código Ensamble" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="5%" />
<asp:BoundField DataField="CodigoLinea" HeaderText="Código Linea" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="5%" />
<asp:BoundField DataField="CodigoInspeccion" HeaderText="Código Inspeccion" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="5%" />
<asp:BoundField DataField="NumPoliza" HeaderText="Num.Póliza" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="5%" />
<asp:BoundField DataField="TipoComprobanteTexto" HeaderText="Tipo Comprobante" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="5%" />
<asp:BoundField DataField="Comprobante" HeaderText="Comprobante" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="5%" />
<asp:BoundField DataField="FechaAjuste" HeaderText="Fecha Ajuste" DataFormatString="{0:dd/MM/yyyy}" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="10%" />
<asp:BoundField DataField="Importe" HeaderText="Importe" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="10%" />
<asp:TemplateField HeaderText="Descargar PDF" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="80px">
<ItemTemplate>
<asp:HyperLink ID="HlDescargarPDF" runat="server" Text="<i class='fa fa-file-pdf-o' style='font-size:15px; font-weight:bold; color:dimgray;'></i>" Target="_blank" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>

View File

@@ -1,6 +1,6 @@
Imports System.Data
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Partial Class Acumuladores_CatFoliosGarantia
Inherits ClsPaginas
@@ -41,10 +41,10 @@ Partial Class Acumuladores_CatFoliosGarantia
CargadatosGvFolioGarantia(DdlEstatus.SelectedValue.ToEntero, DdlTipoFolio.SelectedValue)
End If
End Sub
End Sub
#Region "Folios Garantía"
Private Sub CargaSubProyectos()
CargarCentrosDeCosto(Nothing, DdlSubProyectos, Nothing, lblSubProyecto)
@@ -162,27 +162,22 @@ Partial Class Acumuladores_CatFoliosGarantia
End Sub
Public Sub Remove_ClickFolioGarantia(sender As Object, e As EventArgs)
Dim objAcum As New ClsAcumuladores
Public Sub Remove_ClickFolioGarantia(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
Dim activo As Boolean = 0
Dim CveCapacitador As Integer = GvRow.DataKey("CveFolioGarantia")
Dim objAcum As New ClsAcumuladores
If objAcum.FoliosGarantiaRemove(CveCapacitador, UsuarioActual.CveEmpresa) Then
CargadatosGvFolioGarantia(-1, "-1")
Alert("Capacitador Eliminó Correctamente ", TipoMensaje.MsgInformacion)
Else
Alert("Ocurrió un error al Eliminar el Folio de Garantía", TipoMensaje.MsgError)
End If
objAcum.Dispose()
CargadatosGvFolioGarantia(-1, "-1")
CveFolioGarantia = -1
End Sub
Public Sub Edit_ClickFolioGarantia(sender As Object, e As EventArgs)
@@ -263,9 +258,9 @@ Partial Class Acumuladores_CatFoliosGarantia
'1.- Consecutivo Partida-->1
SbTxt.AppendFormat("{0}@", GvRow.DataKey("Consecutivo"))
'2.- Cliente-->100407
SbTxt.AppendFormat("{0}@", GvRow.DataKey("CodigoCliente"))
SbTxt.AppendFormat("{0}@", GvRow.DataKey("CodigoSucursal"))
'3. Codigo De Articulo --> 171402
SbTxt.AppendFormat("{0}@", GvRow.DataKey("Codigo"))
SbTxt.AppendFormat("{0}@", GvRow.DataKey("CodigoProducto2"))
'4. Tipo De Uso --> A
SbTxt.AppendFormat("{0}@", GvRow.DataKey("CodigoTipoUso"))
'5. Defecto --> P
@@ -277,9 +272,9 @@ Partial Class Acumuladores_CatFoliosGarantia
'8. Codigo De Inspeccion --> J8K
SbTxt.AppendFormat("{0}@", GvRow.DataKey("CodigoInspeccion"))
'9. Fecha De Venta --> 05/09/2009
SbTxt.AppendFormat("{0}@", GvRow.DataKey("FechaVenta").ToDateTime().ToString("dd/MM/yyyy"))
SbTxt.AppendFormat("{0}@", GvRow.DataKey("FechaVenta").ToDateTime().ToString("MM-dd-yyyyy"))
'10. Fecha De Reclamacion --> 05/07/2010
SbTxt.AppendFormat("{0}@", GvRow.DataKey("FechaReclamacion").ToDateTime().ToString("dd/MM/yyyy"))
SbTxt.AppendFormat("{0}@", GvRow.DataKey("FechaReclamacion").ToDateTime().ToString("MM-dd-yyyyy"))
'11. TipoComprobante --> 1
SbTxt.AppendFormat("{0}@", GvRow.DataKey("TipoComprobante"))
'12. Comprobante --> N/A
@@ -305,4 +300,10 @@ Partial Class Acumuladores_CatFoliosGarantia
Response.End()
End Sub
Protected Sub GvGarantiasDetalle_RowDataBound(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
e.Row.FCHyperLink("HlDescargarPDF").NavigateUrl = $"/Compras/PopUpVerFactura.aspx?P={Encripta($"OP=AJUSTE&CveGarantiaDetalle={e.Row.DBCampo("CveGarantiaDetalle")}")}"
End If
End Sub
End Class

View File

@@ -14,7 +14,7 @@
<asp:LinkButton runat="server" ID="BtnDescargaSabana" OnClick="BtnDescargaSabana_Click" data-toggle="tooltip" data-placement="left" title="Descargar Sabana de Venta" Text="<i class='fa fa-download'></i> Descargar Sabana de Venta"></asp:LinkButton>
</li>
<li>
<asp:LinkButton runat="server" ID="BtnImprimir" OnClick="BtnImprimir_Click" data-toggle="tooltip" data-placement="left" title="Agregar un Defecto" Text="<i class='fa fa-file-pdf-o'></i> Imprimir"></asp:LinkButton>
<asp:LinkButton runat="server" ID="BtnImprimir" OnClick="BtnImprimir_Click" data-toggle="tooltip" data-placement="left" title="PDF" Text="<i class='fa fa-file-pdf-o'></i> PDF"></asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>

View File

@@ -9,6 +9,7 @@ Partial Class Acumuladores_RepEntradasUsados
Private DiasSemana(7) As String
Private Meses(12) As String
Private Cargado As Integer = 0
Private Property DatosEntradasUsados() As DataTable
Get
@@ -25,8 +26,6 @@ Partial Class Acumuladores_RepEntradasUsados
txtFechaF.Text = Today
CargarDatos()
CargarCombos()
End If
End Sub
@@ -36,14 +35,18 @@ Partial Class Acumuladores_RepEntradasUsados
End Sub
Protected Sub CargarCombos()
Dim ObjAcum As New ClsAcumuladores
Dim fecha As Date = Date.Now.AddMonths(-1)
ObjAcum.GetAñosVentas(UsuarioActual.CveEmpresa)
DdlAño.DataSource = ObjAcum.DtResultados
DdlAño.DataBind()
DdlAño.SelectedValue = fecha.Year.ToEntero
ObjAcum.Dispose()
Dim Años As New ListItem
Dim i As Integer
If Cargado = 0 Then
For i = Date.Now.Year.ToEntero To (fecha.Year.ToEntero - 5) Step -1
Años = New ListItem(i, i)
DdlAño.Items.Add(Años)
Next
End If
Cargado = 1
DdlAño.SelectedValue = fecha.Year.ToEntero
DdlMes.SelectedValue = fecha.Month.ToEntero
End Sub

View File

@@ -16,7 +16,7 @@
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton runat="server" ID="BtnImprimir" OnClick="BtnImprimir_Click" data-toggle="tooltip" data-placement="left" title="Agregar un Defecto" Text="<i class='fa fa-file-pdf-o'></i>Imprimir"></asp:LinkButton>
<asp:LinkButton runat="server" ID="BtnImprimir" OnClick="BtnImprimir_Click" data-toggle="tooltip" data-placement="left" title="PDF" Text="<i class='fa fa-file-pdf-o'></i> PDF"></asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>
@@ -39,7 +39,7 @@
<asp:CheckBox ID="chkexpand" CssClass="hidden" runat="server" />
</div>
<div class="titlefiltros caption">
<div class="col-md-1 truncate v-center" style="text-align: right!important">Almacen:</div>
<div class="col-md-1 truncate v-center" style="text-align: right!important">Almacén:</div>
<div class="col-md-2 v-center">
<asp:ListBox ID="DdlAlmacen" CssClass="form-control input-sm select2me" DataTextField="Almacen" DataValueField="CveAlmacen" Style="width: 100%;" runat="server"></asp:ListBox>
</div>

View File

@@ -727,8 +727,9 @@ Public Class ClsAcumuladores
Public Function AddGarantiasDetalle(CveVentaDetalle As Integer, CvePS As Integer, CveFolioGarantia As Integer, CveTipoUso As Integer,
CodigoEnsamble As String, CodigoLinea As String, CodigoInspeccion As String,
CveTipoDefecto As Integer, NumPoliza As String, Importe As Double,
Consecutivo As String, FechaAjuste As DateTime, PorcentajeAjuste As Decimal) As Boolean
CveTipoDefecto As Integer, CodigoTD As String, TipoComprobante As Integer, Comprobante As String, Importe As Double,
Consecutivo As String, FechaAjuste As DateTime, PorcentajeAjuste As Decimal, CveBCIAjuste As Integer, Etiqueta As String, CveClienteDistribuidor As Integer,
CveModeloAuto As Integer, Año As String) As Boolean
Dim Retorno As Boolean = False
SqlDataAdapter("PA_Acum_GarantiasDetalleAdd")
With SqlAdapter.SelectCommand.Parameters
@@ -739,12 +740,19 @@ Public Class ClsAcumuladores
.Add("@CodigoEnsamble", SqlDbType.VarChar).Value = CodigoEnsamble
.Add("@CodigoLinea", SqlDbType.VarChar).Value = CodigoLinea
.Add("@CodigoInspeccion", SqlDbType.VarChar).Value = CodigoInspeccion
.Add("@CveTipoDefecto", SqlDbType.Int).Value = CveTipoDefecto
.Add("@NumPoliza", SqlDbType.VarChar).Value = NumPoliza
.Add("@CveTipoDefecto", SqlDbType.Int).Value = CveTipoDefecto
.Add("@CodigoTD", SqlDbType.VarChar).Value = CodigoTD
.Add("@TipoComprobante", SqlDbType.TinyInt).Value = TipoComprobante
.Add("@Comprobante", SqlDbType.VarChar).Value = Comprobante
.Add("@Importe", SqlDbType.Float).Value = Importe
.Add("@Consecutivo", SqlDbType.VarChar).Value = Consecutivo
.Add("@FechaAjuste", SqlDbType.DateTime).Value = FechaAjuste
.Add("@FechaAjuste", SqlDbType.DateTime).Value = FechaAjuste
.Add("@PorcentajeAjuste", SqlDbType.Float).Value = PorcentajeAjuste
.Add("@CveBCIAjuste", SqlDbType.Int).Value = CveBCIAjuste
.Add("@Etiqueta", SqlDbType.VarChar).Value = Etiqueta
.Add("@CveClienteDistribuidor", SqlDbType.Int).Value = CveClienteDistribuidor
.Add("@CveModeloAuto", SqlDbType.Int).Value = CveModeloAuto
.Add("@Año", SqlDbType.VarChar).Value = Año
End With
Try
SqlAdapter.Fill(Data)
@@ -754,6 +762,8 @@ Public Class ClsAcumuladores
End Try
Return Retorno
End Function
Public Function GetGarantiasDetalle(CveVenta As Integer) As Boolean
Dim Retorno As Boolean = False
SqlDataAdapter("PA_Acum_GarantiasDetalleGet")
@@ -1153,13 +1163,14 @@ Public Class ClsAcumuladores
Return Retorno
End Function
Public Function GetFoliosGarantiasDetalle(CveFolioGarantia As Integer) As Boolean
Public Function GetFoliosGarantiasDetalle(CveFolioGarantia As Integer, Optional CveGarantiaDetalle As Integer = -1) As Boolean
Dim Retorno As Boolean = False
SqlDataAdapter("PA_Acum_GarantiasDetalleFolioGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveFolioGarantia", SqlDbType.Int).Value = CveFolioGarantia
.Add("@CveFolioGarantia", SqlDbType.Int).Value = CveFolioGarantia
.Add("@CveGarantiaDetalle", SqlDbType.Int).Value = CveGarantiaDetalle
End With
Try
@@ -1195,20 +1206,6 @@ Public Class ClsAcumuladores
Return Retorno
End Function
Public Function GetAñosVentas(CveEmprea As Integer) As Boolean
Dim Retorno As Boolean = False
SqlDataAdapter(String.Format("select year(Fecha) as Año from Ventas where CveEmpresa = {0} group by year(Fecha) Order by year(Fecha)", CveEmprea.ToString), CommandType.Text)
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError(String.Format("Ocurrió un error al consultar los año de venta"), ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
#Region " IDisposable Support "
' IDisposable

View File

@@ -68,7 +68,7 @@ Public Class ClsClientes
Public Property RecepcionPagos As String
Public Property TipoPago As String
Public Property CuentaContable As String
Public Property ConvenioCIE As String
'Public Property ConvenioCIE As String
Public Property FormaFacturacion As String
Public Property IdCtaContClientes As Integer
Public Property IdCtaContMonedaExtranjera As Integer
@@ -86,8 +86,8 @@ Public Class ClsClientes
Public Property CveCuentaFondoGarantia As Integer
Public Property Codigo As String
Public Property LimiteCredito As Double
Public Property NumCtaPago As String
Public Property CveMetodoPago As Integer
'Public Property NumCtaPago As String
'Public Property CveMetodoPago As Integer
Public Property AplicaFEMSA As Boolean
Public Property FEMSA_NumSociedad As String
Public Property FEMSA_NumProveedor As String
@@ -341,11 +341,11 @@ Public Class ClsClientes
_CveCuentaRetIVA = Data.Rows(0)("IdCtaContRetIVASIG").ToString.ToEntero
_CveCuentaRetISR = Data.Rows(0)("IdCtaContRetISRSIG").ToString.ToEntero
_CveCuentaFondoGarantia = Data.Rows(0)("IdCtaContFondoGarantiaSIG").ToString.ToEntero
_ConvenioCIE = Data.Rows(0)("ConvenioCIE").ToString
'_ConvenioCIE = Data.Rows(0)("ConvenioCIE").ToString
_FormaFacturacion = Data(0)("FormaFacturacion").ToString
_LimiteCredito = Data(0)("LimiteCredito").ToString.ToDouble
_NumCtaPago = Data(0)("NumCtaPago").ToString
_CveMetodoPago = Data(0)("CveMetodoPago").ToString.ToEntero
'_NumCtaPago = Data(0)("NumCtaPago").ToString
'_CveMetodoPago = Data(0)("CveMetodoPago").ToString.ToEntero
_AplicaFEMSA = CBool(Data(0)("AplicaFEMSA").ToString)
_FEMSA_NumSociedad = Data(0)("FEMSA_NumSociedad").ToString
_FEMSA_NumProveedor = Data(0)("FEMSA_NumProveedor").ToString
@@ -569,7 +569,7 @@ Public Class ClsClientes
RetieneIVAFletes As Boolean, CveUsuario As Integer, CveEmpresa As Integer, NombreCorto As String, CveVendedor As Integer, PlazoCobranza As Integer, PlazoCobranzaRemision As Integer, RecepcionPagos As String, TipoPago As String,
IdCtaContClientes As Integer, CtaContClientes As String, IdCtaContAnticipos As Integer, CtaContAnticipos As String, IdCtaContRetIVA As Integer, CtaContRetIVA As String, IdCtaContRetISR As Integer, CtaContRetISR As String, IdCtaFondoGarantia As Integer, CtaFondoGarantia As String,
IdCtaContCompClientes As Integer, CtaCompClientes As String, IdCtaContCompAnticipos As Integer, CtaCompAnticipos As String,
ConvenioCIE As String, FormaFacturacion As String, Codigo As String, LimiteCredito As Double, NumCtaPago As String, CveMetodoPago As Integer, AplicaFEMSA As Boolean, FEMSA_NumSociedad As String, FEMSA_NumProveedor As String,
FormaFacturacion As String, Codigo As String, LimiteCredito As Double, AplicaFEMSA As Boolean, FEMSA_NumSociedad As String, FEMSA_NumProveedor As String,
FEMSA_Mail As String, AplicaDetallista As Boolean, Detallista_GLNComprador As String, Detallista_Departamento As String, Detallista_GLNVendedor As String, Detallista_NumProveedor As String,
SevenEleven_NumProveedor As String, AplicaFord As Boolean, Ford_GSDB As String, TelefonoExtension As String, TelefonoOtros As String, PermiteCredito As Boolean, CveSubProyecto As Integer, CveClienteCorporativo As Integer,
Optional CveClienteClasificacion As Integer = -1, Optional CveUsuarioResponsable As Integer = -1,
@@ -637,14 +637,12 @@ Public Class ClsClientes
.Add("@CtaContCompClientes", SqlDbType.VarChar).Value = CtaCompClientes
.Add("@IdCtaContCompAnticipos", SqlDbType.Int).Value = IdCtaContCompAnticipos
.Add("@CtaContCompAnticipos", SqlDbType.VarChar).Value = CtaCompAnticipos
.Add("@ConvenioCIE", SqlDbType.VarChar).Value = ConvenioCIE
.Add("@CtaContCompAnticipos", SqlDbType.VarChar).Value = CtaCompAnticipos
.Add("@FormaFacturacion", SqlDbType.VarChar).Value = FormaFacturacion
.Add("@Codigo", SqlDbType.VarChar).Value = Codigo
.Add("@LimiteCredito", SqlDbType.Float).Value = LimiteCredito
.Add("@NumCtaPago", SqlDbType.VarChar).Value = NumCtaPago
.Add("@CveMetodoPago", SqlDbType.Int).Value = CveMetodoPago
.Add("@LimiteCredito", SqlDbType.Float).Value = LimiteCredito
.Add("@AplicaFEMSA", SqlDbType.Bit).Value = If(AplicaFEMSA, 1, 0)
.Add("@FEMSA_NumSociedad", SqlDbType.VarChar).Value = FEMSA_NumSociedad
.Add("@FEMSA_NumProveedor", SqlDbType.VarChar).Value = FEMSA_NumProveedor
@@ -754,7 +752,7 @@ Public Class ClsClientes
IdCtaContClientes As Integer, CtaContClientes As String, IdCtaContAnticipos As Integer, CtaContAnticipos As String, IdCtaContRetIVA As Integer, CtaContRetIVA As String, IdCtaContRetISR As Integer, CtaContRetISR As String, IdCtaFondoGarantia As Integer, CtaFondoGarantia As String,
IdCtaContCompClientes As Integer, CtaCompClientes As String, IdCtaContCompAnticipos As Integer, CtaCompAnticipos As String,
IdCtaContMonedaExtranjera As Integer, CtaContMonedaExtranjera As String, IdCtaContMonedaExtranjeraAnticipos As Integer, CtaContMonedaExtranjeraAnticipos As String,
ConvenioCIE As String, FormaFacturacion As String, Codigo As String, LimiteCredito As Double, NumCtaPago As String, CveMetodoPago As Integer, AplicaFEMSA As Boolean, FEMSA_NumSociedad As String,
FormaFacturacion As String, Codigo As String, LimiteCredito As Double, AplicaFEMSA As Boolean, FEMSA_NumSociedad As String,
FEMSA_NumProveedor As String, FEMSA_Mail As String, AplicaDetallista As Boolean, Detallista_GLNComprador As String, Detallista_Departamento As String, Detallista_GLNVendedor As String,
Detallista_NumProveedor As String, SevenEleven_NumProveedor As String, AplicaFord As Boolean, Ford_GSDB As String, CveUsuario As Integer, CveCliente As Integer, CveUsuarioModifico As Integer, CveEmpresa As Integer, TelefonoExtension As String, TelefonoOtros As String,
PermiteCredito As Boolean, CveSubProyecto As Integer, CveClienteCorporativo As Integer,
@@ -833,14 +831,13 @@ Public Class ClsClientes
.Add("@IdCtaContMonedaExtranjera", SqlDbType.Int).Value = IdCtaContMonedaExtranjera
.Add("@CtaContMonedaExtranjera", SqlDbType.VarChar).Value = CtaContMonedaExtranjera
.Add("@IdCtaContMonedaExtranjeraAnticipos", SqlDbType.Int).Value = IdCtaContMonedaExtranjeraAnticipos
.Add("@CtaContMonedaExtranjeraAnticipos", SqlDbType.VarChar).Value = IdCtaContMonedaExtranjeraAnticipos
.Add("@ConvenioCIE", SqlDbType.VarChar).Value = ConvenioCIE
.Add("@CtaContMonedaExtranjeraAnticipos", SqlDbType.VarChar).Value = IdCtaContMonedaExtranjeraAnticipos
.Add("@FormaFacturacion", SqlDbType.VarChar).Value = FormaFacturacion
.Add("@Codigo", SqlDbType.VarChar).Value = Codigo
.Add("@LimiteCredito", SqlDbType.Float).Value = LimiteCredito
.Add("@NumCtaPago", SqlDbType.VarChar).Value = NumCtaPago
.Add("@CveMetodoPago", SqlDbType.Int).Value = CveMetodoPago
.Add("@LimiteCredito", SqlDbType.Float).Value = LimiteCredito
.Add("@AplicaFEMSA", SqlDbType.Bit).Value = If(AplicaFEMSA, 1, 0)
.Add("@FEMSA_NumSociedad", SqlDbType.VarChar).Value = FEMSA_NumSociedad
.Add("@FEMSA_NumProveedor", SqlDbType.VarChar).Value = FEMSA_NumProveedor

View File

@@ -7373,10 +7373,10 @@ Public Class ClsContPAQi
AND PP.Fecha >= @Inicio AND PP.Fecha <= @Fin")
StrSQL.Append(" END; ")
StrSQL.Append(" SELECT P.Id,P.Fecha,T.Nombre as TipoPoliza, MP.IdPoliza, P.IdUsuario, P.Concepto AS ConceptoPoliza,P.Cargos,P.Abonos,P.Folio ,P.Folio AS Numero , SN.Nombre AS SegNeg, MP.Concepto, ")
StrSQL.Append(" CASE WHEN ISNUMERIC(C.CODIGO) = 1 THEN FORMAT(CAST (C.CODIGO AS FLOAT),(SELECT REPLACE(Mascarilla,'X','0') FROM Parametros)) ELSE C.CODIGO END AS CuentaFormato , MP.TipoMovto ")
StrSQL.Append(" ,C.Nombre AS Cuenta ,MP.Referencia AS Referencia, CASE WHEN MP.TipoMovto=0 THEN MP.Importe ELSE 0 END AS Cargo ")
StrSQL.Append(" , CASE WHEN MP.TipoMovto=1 THEN MP.Importe ELSE 0 END AS Abono,U.Nombre AS UsuarioRegistro ")
StrSQL.Append(" SELECT P.Id,P.Fecha,T.Nombre as TipoPoliza, MP.Id, P.IdUsuario, P.Concepto AS ConceptoPoliza,P.Cargos,P.Abonos,P.Folio ,P.Folio AS Numero , SN.Nombre AS SegNeg, MP.Concepto, ")
StrSQL.Append(" CASE WHEN ISNUMERIC(C.CODIGO) = 1 THEN FORMAT(CAST (C.CODIGO AS FLOAT),(SELECT REPLACE(Mascarilla,'X','0') FROM Parametros)) ELSE C.CODIGO END AS CodigoCuenta , MP.TipoMovto ")
StrSQL.Append(" ,C.Nombre AS NombreCuenta ,MP.Referencia AS Referencia, CASE WHEN MP.TipoMovto=0 THEN MP.Importe ELSE 0 END AS Cargo ")
StrSQL.Append(" , CASE WHEN MP.TipoMovto=1 THEN MP.Importe ELSE 0 END AS Abono,U.Nombre AS NombreUsuario ")
StrSQL.Append(" FROM Polizas P ")
StrSQL.Append(" LEFT JOIN MovimientosPoliza MP ON P.Id= MP.IdPoliza ")

View File

@@ -5923,7 +5923,7 @@ Public Class ClsContabilidad
Public Function GetPrePolizasImpresion(CveEmpresa As Integer, FechaI As String, FechaF As String, Optional CveTipoPoliza As Integer = -1, Optional FolioI As Integer = -1,
Optional FolioF As Integer = -1, Optional CveUsuario As Integer = -1, Optional CveSubProyecto As Integer = -1,
Optional CveCuenta As Integer = -1, Optional CvePlantillaPoliza As Integer = -1, Optional CveProveedor As Integer = -1) As Boolean
Optional CveCuenta As Integer = -1, Optional CvePlantillaPoliza As Integer = -1, Optional CveTipoProveedor As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Conta_PrePolizasImpresionGet")
@@ -5939,14 +5939,14 @@ Public Class ClsContabilidad
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
.Add("@CveCuenta", SqlDbType.Int).Value = CveCuenta
.Add("@CvePlantillaPoliza", SqlDbType.Int).Value = CvePlantillaPoliza
.Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor
.Add("@CveTipoProveedor", SqlDbType.Int).Value = CveTipoProveedor
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
Me.OnError("Ocurrió un error al eliminar el catálogo de Conta Ejercicios", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
Me.OnError("Ocurrió un error al obtener impresión pólizas", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno

View File

@@ -237,13 +237,15 @@ Public Class ClsSisRoles
Return Retorno
End Function
Public Function GetRolesModulos(CveRol As Integer, CveModulo As Integer) As Boolean
Public Function GetRolesModulos(CveRol As Integer, CveModulo As Integer, CvePlataforma As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Sis_RolesModulosGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveRol", SqlDbType.Int).Value = CveRol
.Add("@CveModulo", SqlDbType.Int).Value = CveModulo
.Add("@CvePlataforma", SqlDbType.Int).Value = CvePlataforma
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try

View File

@@ -327,13 +327,13 @@ Public Class ClsSubProyectos
OnError("Ocurrió un error al obtener las ventas no timbradas por centro de costo.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
End Function
#Region "N U E V O C E N T R O D E C O S T O S"
Public Function AddCentroCosto(SubProyecto As String, IdSegNeg As Integer, CveUsuario As Integer, CveEmpresa As Integer, CveProyecto As Integer, Optional Serie As String = "", Optional IVA As Double = 0.0, Optional Calle As String = "", Optional NoExt As String = "",
Optional NoInt As String = "", Optional Colonia As String = "", Optional Localidad As String = "", Optional Municipio As String = "", Optional Estado As String = "", Optional Pais As String = "", Optional CP As String = "", Optional TipoSucursal As Integer = 0, Optional EsSucursal As Integer = 0,
Optional CvePais As Integer = -1, Optional CveEstado As Integer = -1, Optional CveMunicipio As Integer = -1, Optional CveColonia As Integer = -1, Optional AplicaComercioExterior As Boolean = False, Optional Correo As String = "", Optional CvePrecioLista As Integer = -1,
Optional Telefono As String = "", Optional NoVerificaAlmacen As Boolean = False) As Boolean
Optional Telefono As String = "", Optional NoVerificaAlmacen As Boolean = False, Optional CodigoSucursal As String = "") As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_CentroCostoAdd")
@@ -365,7 +365,8 @@ Public Class ClsSubProyectos
.Add("@Correo", SqlDbType.VarChar).Value = Correo
.Add("@CvePrecioLista", SqlDbType.Int).Value = CvePrecioLista
.Add("@Telefono", SqlDbType.VarChar).Value = Telefono
.Add("@NoVerificaAlmacen", SqlDbType.Bit).Value = NoVerificaAlmacen
.Add("@NoVerificaAlmacen", SqlDbType.Bit).Value = NoVerificaAlmacen
.Add("@CodigoSucursal", SqlDbType.VarChar).Value = CodigoSucursal
.Add("@CveSubProyecto", SqlDbType.Int).Direction = ParameterDirection.Output
End With
@@ -388,7 +389,7 @@ Public Class ClsSubProyectos
Public Function UpdateCentroCosto(CveSubProyecto As Integer, SubProyecto As String, IdSegNeg As Integer, Estatus As Integer, CveUsuario As Integer, CveEmpresa As Integer, CveProyecto As Integer, Optional Serie As String = "", Optional IVA As Double = 0.0, Optional Calle As String = "", Optional NoExt As String = "",
Optional NoInt As String = "", Optional Colonia As String = "", Optional Localidad As String = "", Optional Municipio As String = "", Optional Estado As String = "", Optional Pais As String = "", Optional CP As String = "", Optional TipoSucursal As Integer = 0, Optional EsSucursal As Integer = 0,
Optional CvePais As Integer = -1, Optional CveEstado As Integer = -1, Optional CveMunicipio As Integer = -1, Optional CveColonia As Integer = -1, Optional AplicaComercioExterior As Boolean = False, Optional Correo As String = "", Optional CvePrecioLista As Integer = -1,
Optional Telefono As String = "", Optional HorarioVerano As Integer = Nothing, Optional HorarioInvierno As Integer = Nothing, Optional NoVerificaAlmacen As Boolean = False) As Boolean
Optional Telefono As String = "", Optional HorarioVerano As Integer = Nothing, Optional HorarioInvierno As Integer = Nothing, Optional NoVerificaAlmacen As Boolean = False, Optional CodigoSucursal As String = "") As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_CentroCostoUpdate")
@@ -425,6 +426,7 @@ Public Class ClsSubProyectos
.Add("@HorarioVerano", SqlDbType.Int).Value = HorarioVerano
.Add("@HorarioInvierno", SqlDbType.Int).Value = HorarioInvierno
.Add("@NoVerificaAlmacen", SqlDbType.Bit).Value = NoVerificaAlmacen
.Add("@CodigoSucursal", SqlDbType.VarChar).Value = CodigoSucursal
End With
Try
@@ -442,10 +444,10 @@ Public Class ClsSubProyectos
End Try
Return Retorno
End Function
End Function
#End Region
#Region " IDisposable Support "
' Visual Basic agregó este código para implementar correctamente el modelo descartable.
' Visual Basic agregó este código para implementar correctamente el modelo descartable.
Public Sub Dispose() Implements IDisposable.Dispose
' No cambie este código. Coloque el código de limpieza en Dispose (ByVal que se dispone como Boolean).
ConexionClose()

View File

@@ -1527,8 +1527,9 @@ Namespace Modelos
If DtAjustes IsNot Nothing AndAlso DtAjustes.Rows.Count > 0 Then
For Each Dr As DataRow In DtAjustes.Rows
If Not ObjAcum.AddGarantiasDetalle(Dr("CveVentaDetalle").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("CveFolioGarantia").ToString.ToEntero, Dr("CveTipoUso").ToString.ToEntero,
Dr("CodigoEnsamble").ToString, Dr("CodigoLinea").ToString, Dr("CodigoInspeccion").ToString, Dr("CveTipoDefecto").ToString.ToEntero,
Dr("NumPoliza").ToString, Dr("Importe").ToString.ToDouble, Dr("Consecutivo").ToString, Dr("FechaAjuste").ToString.ToDateTime(), Dr("PorcentajeAjuste").ToString.ToDecimal()) Then
Dr("CodigoEnsamble").ToString, Dr("CodigoLinea").ToString, Dr("CodigoInspeccion").ToString, Dr("CveTipoDefecto").ToString.ToEntero, Dr("CodigoTD").ToString, Dr("TipoComprobante").ToString.ToEntero(),
Dr("Comprobante").ToString, Dr("Importe").ToString.ToDouble, Dr("Consecutivo").ToString, Dr("FechaAjuste").ToString.ToDateTime(), Dr("PorcentajeAjuste").ToString.ToDecimal(),
Dr("CveBCIAjuste").ToString.ToEntero(), Dr("Etiqueta").ToString, Dr("CveClienteDistribuidor").ToString.ToEntero(), Dr("CveModeloAuto").ToString.ToEntero(), Dr("Año").ToString) Then
ErrorList.Add("Ocurrió un error al agregar la garantia detalle.")
End If
Next
@@ -4839,14 +4840,14 @@ Namespace Modelos
Dim CveCliente As Integer = ObjVentas.DtResultados(0)("CveCliente").ToString.ToEntero
Dim ClienteNombre As String = ObjVentas.DtResultados(0)("ClienteNombre").ToString
Dim SerieFolio As String = ObjVentas.DtResultados(0)("SerieFolio").ToString
Dim TotalCosto As Decimal = DtCostos.SUMD("Total").RoundSQL()
Dim TotalCosto As Decimal = DtCostos.SUMD("Total").RoundAD()
Dim TotalCostoAcumulado As Decimal = 0
Dim cont As Integer = 1
Dim CvePrePolizaDev As Integer = ObjConta.AddPrePolizas("Modelos/RecepcionEntrega", 4, TotalCosto, TotalCosto, 1, Fecha, ClienteNombre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
'SE AGREGA MOVIMIENTO SEPARADO POR LA CUENTA DE VENTAS (ER)
For Each RowInv As DataRow In tmpCostos.Rows
ValorInventario = DtCostos.SUMD("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").RoundSQL()
ValorInventario = DtCostos.SUMD("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").RoundAD()
TotalCostoAcumulado += ValorInventario
'CUANDO ES EL ÚLTIMO MOVIMIENTO Y HAY DIFERENCIAS EN LOS IMPORTES

View File

@@ -380,7 +380,7 @@ Namespace Extensiones
Dim Pag As Page = DirectCast(System.Web.HttpContext.Current.Handler, Page)
Dim script As String = ""
If showalert Then
script = String.Format("bootbox.dialog({{message: ""{0} "", className: ""{11}"", {12} onEscape: function() {{ {12} }},title: ""{1}"",buttons: {{ success: {{ label: ""{2}"", className: "" {3}""," &
script = String.Format("bootbox.dialog({{message: ""{0} "", className: ""{11}"", {13} onEscape: function() {{ {12} }},title: ""{1}"",buttons: {{ success: {{ label: ""{2}"", className: "" {3}""," &
"callback: function() {{ {4} }} }}, danger: {{ label: ""{5}"", className: "" {6}"",callback: function() {{ {7} }} }}," &
"main: {{ label: ""{8}"", className: "" {9}"", callback: function() {{ {10} }} }} }} }});",
Mensaje, Titulo, b3title, b3clas, b3js, b2title, b2clas, b2js, b1title, b1clas, b1js, headerclas, onEscape, closeButtonOption)

View File

@@ -1382,12 +1382,21 @@ Partial Class Bancos_PopIECompras
Dim rv As RangeValidator = CType(e.Row.FindControl("RVSaldoDeudor"), RangeValidator)
End If
End Sub
End Sub
#End Region
#Region "G U A R D A R"
Private Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click
'VALIDACION PARA LOS IMPORTES CUANDO SE QUIERE PAGAR EN DIFERENTE MONEDA
If FechaCompra.ToString("dd/MM/yyyy").ToDate > TxtFechaDocumento.Text.ToDate Then
Alert($"La fecha de compra no puede ser mayor que la fecha de pago <br/> Fecha de compra: { FechaCompra.ToString("dd/MM/yyyy") } ", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
'VALIDACION PARA LOS IMPORTES CUANDO SE QUIERE PAGAR EN DIFERENTE MONEDA
If Not Page.IsValid Then
Exit Sub
End If

View File

@@ -1382,12 +1382,21 @@ Partial Class Bancos_PopIEVentas
End If
UpDatos.Update()
End Sub
End Sub
#End Region
#Region "G U A R D A R"
Private Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click
'VALIDACION PARA LOS IMPORTES CUANDO SE QUIERE PAGAR EN DIFERENTE MONEDA
Private Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click
If FechaVenta.ToString("dd/MM/yyyy").ToDate > TxtFechaDocumento.Text.ToDate Then
Alert($"La fecha de venta no puede ser mayor que la fecha de pago <br/> Fecha de venta: { FechaVenta.ToString("dd/MM/yyyy") }", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
'VALIDACION PARA LOS IMPORTES CUANDO SE QUIERE PAGAR EN DIFERENTE MONEDA
If Not Page.IsValid Then
Exit Sub
End If
@@ -2148,34 +2157,34 @@ Partial Class Bancos_PopIEVentas
Else
ImporteMovimiento = 0
End If
CveSubProyectoContabilizar = CveSubProyectoVenta
'Case 65 'Perdida
' If CveMoneda <> 1 OrElse CveMonedaVenta <> 1 Then
' IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria
' CveCuenta = UsuarioActual.Empresa.CveCuentaPerdidaCambiaria
' Dim TCImpuestos As Decimal = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioVenta)
' TimpocambioGeneral = TCImpuestos
' Dim Diferencia As Decimal = ((MovimientoPagar.Total * PorcentajePago) * tipoCambioVentaValuacion) - ((MovimientoPagar.Total * PorcentajePago) * tipoCambioPago) 'Añadimos la diferencia de perdida en la venta
' Diferencia -= ((MovimientoPagar.IVA * PorcentajePago) * tipoCambioVenta) - ((MovimientoPagar.IVA * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el IVA
' Diferencia += ((MovimientoPagar.RetIVA * PorcentajePago) * tipoCambioVenta) - ((MovimientoPagar.RetIVA * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el RetIVA
' Diferencia += ((MovimientoPagar.RetISR * PorcentajePago) * tipoCambioVenta) - ((MovimientoPagar.RetISR * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el RetISR
' Diferencia -= ((MovimientoPagar.IEPS * PorcentajePago) * tipoCambioVenta) - ((MovimientoPagar.IEPS * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el IEPS
' Diferencia = Math.Round(Diferencia, 2)
' 'si la diferencia es negativa es pérdida, si es positiva es ganancia
' If Diferencia > 0 AndAlso CveMonedaVenta = 2 Then
' ImporteMovimiento = Math.Abs(Diferencia)
' ImporteMX = ImporteMovimiento
' End If
' Else
' ImporteMovimiento = 0
' End If
' CveSubProyectoContabilizar = CveSubProyectoVenta
CveSubProyectoContabilizar = CveSubProyectoVenta
'Case 65 'Perdida
' If CveMoneda <> 1 OrElse CveMonedaVenta <> 1 Then
' IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria
' CveCuenta = UsuarioActual.Empresa.CveCuentaPerdidaCambiaria
' Dim TCImpuestos As Decimal = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioVenta)
' TimpocambioGeneral = TCImpuestos
' Dim Diferencia As Decimal = ((MovimientoPagar.Total * PorcentajePago) * tipoCambioVentaValuacion) - ((MovimientoPagar.Total * PorcentajePago) * tipoCambioPago) 'Añadimos la diferencia de perdida en la venta
' Diferencia -= ((MovimientoPagar.IVA * PorcentajePago) * tipoCambioVenta) - ((MovimientoPagar.IVA * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el IVA
' Diferencia += ((MovimientoPagar.RetIVA * PorcentajePago) * tipoCambioVenta) - ((MovimientoPagar.RetIVA * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el RetIVA
' Diferencia += ((MovimientoPagar.RetISR * PorcentajePago) * tipoCambioVenta) - ((MovimientoPagar.RetISR * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el RetISR
' Diferencia -= ((MovimientoPagar.IEPS * PorcentajePago) * tipoCambioVenta) - ((MovimientoPagar.IEPS * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el IEPS
' Diferencia = Math.Round(Diferencia, 2)
' 'si la diferencia es negativa es pérdida, si es positiva es ganancia
' If Diferencia > 0 AndAlso CveMonedaVenta = 2 Then
' ImporteMovimiento = Math.Abs(Diferencia)
' ImporteMX = ImporteMovimiento
' End If
' Else
' ImporteMovimiento = 0
' End If
' CveSubProyectoContabilizar = CveSubProyectoVenta
Case 30
If RBLContado.SelectedValue = "1" Then
If CveMoneda = 1 AndAlso CveMonedaVenta = 1 Then
@@ -2878,249 +2887,249 @@ Partial Class Bancos_PopIEVentas
End If
Next
ImporteMovimiento = 0
End If
'Case 16 'Ret ISR X Acreditar COMPRA
' If RBLContado.SelectedValue = "5" Then
' For Each rw As GridViewRow In GvCompras.Rows
' If rw.FCCheckBox("Chk").Checked Then
' If rw.DataKey("CveRetIVAConcepto").ToString.ToDecimal = 1 Then
' Dim PorcentajePagoCompra = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / rw.DataKey("Total").ToString.ToDecimal
' If CveMoneda = 1 AndAlso CveMonedaVenta = 1 Then
' ImporteMovimiento = rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra
' ImporteMX = ImporteMovimiento
' ElseIf CveMoneda = 1 AndAlso CveMonedaVenta = 2 Then
' ImporteMovimiento = (rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra)
' ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal
' ElseIf CveMoneda = 2 AndAlso CveMonedaVenta = 1 Then
' ImporteMovimiento = (rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra)
' ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal
' ElseIf CveMoneda = 2 AndAlso CveMonedaVenta = 2 Then
' ImporteMovimiento = (rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra)
' ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal
' End If
' ImporteMovimiento = Math.Round(ImporteMovimiento, 2)
' ImporteMX = Math.Round(ImporteMX, 2)
' If rw.DataKey("TipoCambio").ToString.ToDecimal > 1 Then ConceptoMovimiento += $" TC:{rw.DataKey("TipoCambio").ToString.ToDecimal} ${ImporteMovimiento.FormatoNumero(2)}"
' 'Conta ContPAQ
' If IdCtaContRetISRProveedor > 0 Then
' IdCtaContable = IdCtaContRetISRProveedor
' ElseIf UsuarioActual.Empresa.Funcionalidad(315).ToEntero > 0 Then
' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(315).ToEntero
' Else
' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
' If ObjMov.DtResultados.Rows.Count > 0 Then
' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero
' End If
' End If
' End If
' 'Conta SIG
' If CveCuentaRetISRProveedor <> 0 Then
' CveCuenta = CveCuentaRetISRProveedor
' Else
' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
' If ObjMov.DtResultados.Rows.Count > 0 Then
' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero
' End If
' End If
' End If
' If ImporteMovimiento > 0 Then
' If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, rw.FCLiteral("LtlFolio").Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, CveVenta:=CveVenta, CveCompra:=rw.DataKey("CveCompra").ToString.ToEntero, CveProveedor:=rw.DataKey("CveProveedor").ToString.ToEntero, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, CveCuenta:=CveCuenta, TipoCambio:=rw.DataKey("TipoCambio").ToString.ToDecimal) Then
' MsgError = "No se pudo insertar la póliza"
' End If
' End If
' End If
' End If
' Next
' ImporteMovimiento = 0
' End If
'Case 23 'Ret ISR Acreditable COMPRA
' If RBLContado.SelectedValue = "5" Then
' For Each rw As GridViewRow In GvCompras.Rows
' If rw.FCCheckBox("Chk").Checked Then
' If rw.DataKey("CveRetIVAConcepto").ToString.ToDecimal = 1 Then
' Dim PorcentajePagoCompra = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / rw.DataKey("Total").ToString.ToDecimal
' If CveMoneda = 1 AndAlso CveMonedaVenta = 1 Then
' ImporteMovimiento = rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra
' ImporteMX = ImporteMovimiento
' ElseIf CveMoneda = 1 AndAlso CveMonedaVenta = 2 Then
' ImporteMovimiento = (rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra)
' ImporteMX = ImporteMovimiento '* If(FuncionalidadFluctuacionImpuestos, rw.DataKey("TipoCambio").ToString.ToDecimal, tipoCambioPago)
' ElseIf CveMoneda = 2 AndAlso CveMonedaVenta = 1 Then
' ImporteMovimiento = (rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra)
' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, rw.DataKey("TipoCambio").ToString.ToDecimal, tipoCambioPago)
' ElseIf CveMoneda = 2 AndAlso CveMonedaVenta = 2 Then
' ImporteMovimiento = (rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra)
' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, rw.DataKey("TipoCambio").ToString.ToDecimal, tipoCambioPago)
' End If
' ImporteMovimiento = Math.Round(ImporteMovimiento, 2)
' ImporteMX = Math.Round(ImporteMX, 2)
' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
' 'Conta ContPAQ
' If IdCtaContRetISRAcreditableProveedor > 0 Then
' IdCtaContable = IdCtaContRetISRAcreditableProveedor
' ElseIf UsuarioActual.Empresa.Funcionalidad(316).ToEntero > 0 Then
' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(316).ToEntero
' Else
' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
' If ObjMov.DtResultados.Rows.Count > 0 Then
' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero
' End If
' End If
' End If
' 'Conta SIG
' If CveCuentaRetISRProveedor <> 0 Then
' CveCuenta = CveCuentaRetISRProveedor
' Else
' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
' If ObjMov.DtResultados.Rows.Count > 0 Then
' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero
' End If
' End If
' End If
' If ImporteMovimiento > 0 Then
' If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, rw.FCLiteral("LtlFolio").Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, CveVenta:=CveVenta, CveCompra:=rw.DataKey("CveCompra").ToString.ToEntero, CveProveedor:=rw.DataKey("CveProveedor").ToString.ToEntero, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, CveCuenta:=CveCuenta, TipoCambio:=If(FuncionalidadFluctuacionImpuestos, rw.DataKey("TipoCambio").ToString.ToDecimal, tipoCambioPago)) Then
' MsgError = "No se pudo insertar la póliza"
' End If
' End If
' End If
' End If
' Next
' ImporteMovimiento = 0
' End If
'Case 243 'Ret ISR x Acreditar Terceros y Arrendamiento
' If RBLContado.SelectedValue = "5" Then
' For Each rw As GridViewRow In GvCompras.Rows
' If rw.FCCheckBox("Chk").Checked Then
' If rw.DataKey("CveRetISRConcepto").ToString.ToDecimal = 2 Then
' Dim PorcentajePagoCompra = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / rw.DataKey("Total").ToString.ToDecimal
' If CveMoneda = 1 AndAlso CveMonedaVenta = 1 Then
' ImporteMovimiento = rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra
' ImporteMX = ImporteMovimiento
' ElseIf CveMoneda = 1 AndAlso CveMonedaVenta = 2 Then
' ImporteMovimiento = (rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra)
' ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal
' ElseIf CveMoneda = 2 AndAlso CveMonedaVenta = 1 Then
' ImporteMovimiento = (rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra)
' ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal
' ElseIf CveMoneda = 2 AndAlso CveMonedaVenta = 2 Then
' ImporteMovimiento = (rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra)
' ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal
' End If
' ImporteMovimiento = Math.Round(ImporteMovimiento, 2)
' ImporteMX = Math.Round(ImporteMX, 2)
' If rw.DataKey("TipoCambio").ToString.ToDecimal > 1 Then ConceptoMovimiento += $" TC:{rw.DataKey("TipoCambio").ToString.ToDecimal} ${ImporteMovimiento.FormatoNumero(2)}"
' 'Conta ContPAQ
' If IdCtaContRetISRProveedor > 0 Then
' IdCtaContable = IdCtaContRetISRProveedor
' ElseIf UsuarioActual.Empresa.Funcionalidad(317).ToEntero > 0 Then
' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(317).ToEntero
' Else
' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
' If ObjMov.DtResultados.Rows.Count > 0 Then
' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero
' End If
' End If
' End If
' 'Conta SIG
' If CveCuentaRetISRProveedor <> 0 Then
' CveCuenta = CveCuentaRetISRProveedor
' Else
' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
' If ObjMov.DtResultados.Rows.Count > 0 Then
' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero
' End If
' End If
' End If
' If ImporteMovimiento > 0 Then
' If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, rw.FCLiteral("LtlFolio").Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, CveVenta:=CveVenta, CveCompra:=rw.DataKey("CveCompra").ToString.ToEntero, CveProveedor:=rw.DataKey("CveProveedor").ToString.ToEntero, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, CveCuenta:=CveCuenta, TipoCambio:=rw.DataKey("TipoCambio").ToString.ToDecimal) Then
' MsgError = "No se pudo insertar la póliza"
' End If
' End If
' End If
' End If
' Next
' ImporteMovimiento = 0
' End If
'Case 244 'Ret ISR Acreditable Terceros y Arrendamiento
' If RBLContado.SelectedValue = "5" Then
' For Each rw As GridViewRow In GvCompras.Rows
' If rw.FCCheckBox("Chk").Checked Then
' If rw.DataKey("CveRetISRConcepto").ToString.ToDecimal = 2 Then
' Dim PorcentajePagoCompra = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / rw.DataKey("Total").ToString.ToDecimal
' If CveMoneda = 1 AndAlso CveMonedaVenta = 1 Then
' ImporteMovimiento = rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra
' ImporteMX = ImporteMovimiento
' ElseIf CveMoneda = 1 AndAlso CveMonedaVenta = 2 Then
' ImporteMovimiento = (rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra)
' ImporteMX = ImporteMovimiento '* If(FuncionalidadFluctuacionImpuestos, rw.DataKey("TipoCambio").ToString.ToDecimal, tipoCambioPago)
' ElseIf CveMoneda = 2 AndAlso CveMonedaVenta = 1 Then
' ImporteMovimiento = (rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra)
' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, rw.DataKey("TipoCambio").ToString.ToDecimal, tipoCambioPago)
' ElseIf CveMoneda = 2 AndAlso CveMonedaVenta = 2 Then
' ImporteMovimiento = (rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra)
' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, rw.DataKey("TipoCambio").ToString.ToDecimal, tipoCambioPago)
' End If
' ImporteMovimiento = Math.Round(ImporteMovimiento, 2)
' ImporteMX = Math.Round(ImporteMX, 2)
' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
' 'Conta ContPAQ
' If IdCtaContRetISRAcreditableProveedor > 0 Then
' IdCtaContable = IdCtaContRetISRAcreditableProveedor
' ElseIf UsuarioActual.Empresa.Funcionalidad(318).ToEntero > 0 Then
' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(318).ToEntero
' Else
' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
' If ObjMov.DtResultados.Rows.Count > 0 Then
' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero
' End If
' End If
' End If
' 'Conta SIG
' If CveCuentaRetISRProveedor <> 0 Then
' CveCuenta = CveCuentaRetISRProveedor
' Else
' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
' If ObjMov.DtResultados.Rows.Count > 0 Then
' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero
' End If
' End If
' End If
' If ImporteMovimiento > 0 Then
' If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, rw.FCLiteral("LtlFolio").Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, CveVenta:=CveVenta, CveCompra:=rw.DataKey("CveCompra").ToString.ToEntero, CveProveedor:=rw.DataKey("CveProveedor").ToString.ToEntero, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, CveCuenta:=CveCuenta, TipoCambio:=If(FuncionalidadFluctuacionImpuestos, rw.DataKey("TipoCambio").ToString.ToDecimal, tipoCambioPago)) Then
' MsgError = "No se pudo insertar la póliza"
' End If
' End If
' End If
' End If
' Next
' ImporteMovimiento = 0
' End If
End If
'Case 16 'Ret ISR X Acreditar COMPRA
' If RBLContado.SelectedValue = "5" Then
' For Each rw As GridViewRow In GvCompras.Rows
' If rw.FCCheckBox("Chk").Checked Then
' If rw.DataKey("CveRetIVAConcepto").ToString.ToDecimal = 1 Then
' Dim PorcentajePagoCompra = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / rw.DataKey("Total").ToString.ToDecimal
' If CveMoneda = 1 AndAlso CveMonedaVenta = 1 Then
' ImporteMovimiento = rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra
' ImporteMX = ImporteMovimiento
' ElseIf CveMoneda = 1 AndAlso CveMonedaVenta = 2 Then
' ImporteMovimiento = (rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra)
' ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal
' ElseIf CveMoneda = 2 AndAlso CveMonedaVenta = 1 Then
' ImporteMovimiento = (rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra)
' ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal
' ElseIf CveMoneda = 2 AndAlso CveMonedaVenta = 2 Then
' ImporteMovimiento = (rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra)
' ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal
' End If
' ImporteMovimiento = Math.Round(ImporteMovimiento, 2)
' ImporteMX = Math.Round(ImporteMX, 2)
' If rw.DataKey("TipoCambio").ToString.ToDecimal > 1 Then ConceptoMovimiento += $" TC:{rw.DataKey("TipoCambio").ToString.ToDecimal} ${ImporteMovimiento.FormatoNumero(2)}"
' 'Conta ContPAQ
' If IdCtaContRetISRProveedor > 0 Then
' IdCtaContable = IdCtaContRetISRProveedor
' ElseIf UsuarioActual.Empresa.Funcionalidad(315).ToEntero > 0 Then
' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(315).ToEntero
' Else
' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
' If ObjMov.DtResultados.Rows.Count > 0 Then
' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero
' End If
' End If
' End If
' 'Conta SIG
' If CveCuentaRetISRProveedor <> 0 Then
' CveCuenta = CveCuentaRetISRProveedor
' Else
' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
' If ObjMov.DtResultados.Rows.Count > 0 Then
' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero
' End If
' End If
' End If
' If ImporteMovimiento > 0 Then
' If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, rw.FCLiteral("LtlFolio").Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, CveVenta:=CveVenta, CveCompra:=rw.DataKey("CveCompra").ToString.ToEntero, CveProveedor:=rw.DataKey("CveProveedor").ToString.ToEntero, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, CveCuenta:=CveCuenta, TipoCambio:=rw.DataKey("TipoCambio").ToString.ToDecimal) Then
' MsgError = "No se pudo insertar la póliza"
' End If
' End If
' End If
' End If
' Next
' ImporteMovimiento = 0
' End If
'Case 23 'Ret ISR Acreditable COMPRA
' If RBLContado.SelectedValue = "5" Then
' For Each rw As GridViewRow In GvCompras.Rows
' If rw.FCCheckBox("Chk").Checked Then
' If rw.DataKey("CveRetIVAConcepto").ToString.ToDecimal = 1 Then
' Dim PorcentajePagoCompra = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / rw.DataKey("Total").ToString.ToDecimal
' If CveMoneda = 1 AndAlso CveMonedaVenta = 1 Then
' ImporteMovimiento = rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra
' ImporteMX = ImporteMovimiento
' ElseIf CveMoneda = 1 AndAlso CveMonedaVenta = 2 Then
' ImporteMovimiento = (rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra)
' ImporteMX = ImporteMovimiento '* If(FuncionalidadFluctuacionImpuestos, rw.DataKey("TipoCambio").ToString.ToDecimal, tipoCambioPago)
' ElseIf CveMoneda = 2 AndAlso CveMonedaVenta = 1 Then
' ImporteMovimiento = (rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra)
' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, rw.DataKey("TipoCambio").ToString.ToDecimal, tipoCambioPago)
' ElseIf CveMoneda = 2 AndAlso CveMonedaVenta = 2 Then
' ImporteMovimiento = (rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra)
' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, rw.DataKey("TipoCambio").ToString.ToDecimal, tipoCambioPago)
' End If
' ImporteMovimiento = Math.Round(ImporteMovimiento, 2)
' ImporteMX = Math.Round(ImporteMX, 2)
' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
' 'Conta ContPAQ
' If IdCtaContRetISRAcreditableProveedor > 0 Then
' IdCtaContable = IdCtaContRetISRAcreditableProveedor
' ElseIf UsuarioActual.Empresa.Funcionalidad(316).ToEntero > 0 Then
' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(316).ToEntero
' Else
' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
' If ObjMov.DtResultados.Rows.Count > 0 Then
' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero
' End If
' End If
' End If
' 'Conta SIG
' If CveCuentaRetISRProveedor <> 0 Then
' CveCuenta = CveCuentaRetISRProveedor
' Else
' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
' If ObjMov.DtResultados.Rows.Count > 0 Then
' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero
' End If
' End If
' End If
' If ImporteMovimiento > 0 Then
' If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, rw.FCLiteral("LtlFolio").Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, CveVenta:=CveVenta, CveCompra:=rw.DataKey("CveCompra").ToString.ToEntero, CveProveedor:=rw.DataKey("CveProveedor").ToString.ToEntero, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, CveCuenta:=CveCuenta, TipoCambio:=If(FuncionalidadFluctuacionImpuestos, rw.DataKey("TipoCambio").ToString.ToDecimal, tipoCambioPago)) Then
' MsgError = "No se pudo insertar la póliza"
' End If
' End If
' End If
' End If
' Next
' ImporteMovimiento = 0
' End If
'Case 243 'Ret ISR x Acreditar Terceros y Arrendamiento
' If RBLContado.SelectedValue = "5" Then
' For Each rw As GridViewRow In GvCompras.Rows
' If rw.FCCheckBox("Chk").Checked Then
' If rw.DataKey("CveRetISRConcepto").ToString.ToDecimal = 2 Then
' Dim PorcentajePagoCompra = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / rw.DataKey("Total").ToString.ToDecimal
' If CveMoneda = 1 AndAlso CveMonedaVenta = 1 Then
' ImporteMovimiento = rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra
' ImporteMX = ImporteMovimiento
' ElseIf CveMoneda = 1 AndAlso CveMonedaVenta = 2 Then
' ImporteMovimiento = (rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra)
' ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal
' ElseIf CveMoneda = 2 AndAlso CveMonedaVenta = 1 Then
' ImporteMovimiento = (rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra)
' ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal
' ElseIf CveMoneda = 2 AndAlso CveMonedaVenta = 2 Then
' ImporteMovimiento = (rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra)
' ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal
' End If
' ImporteMovimiento = Math.Round(ImporteMovimiento, 2)
' ImporteMX = Math.Round(ImporteMX, 2)
' If rw.DataKey("TipoCambio").ToString.ToDecimal > 1 Then ConceptoMovimiento += $" TC:{rw.DataKey("TipoCambio").ToString.ToDecimal} ${ImporteMovimiento.FormatoNumero(2)}"
' 'Conta ContPAQ
' If IdCtaContRetISRProveedor > 0 Then
' IdCtaContable = IdCtaContRetISRProveedor
' ElseIf UsuarioActual.Empresa.Funcionalidad(317).ToEntero > 0 Then
' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(317).ToEntero
' Else
' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
' If ObjMov.DtResultados.Rows.Count > 0 Then
' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero
' End If
' End If
' End If
' 'Conta SIG
' If CveCuentaRetISRProveedor <> 0 Then
' CveCuenta = CveCuentaRetISRProveedor
' Else
' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
' If ObjMov.DtResultados.Rows.Count > 0 Then
' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero
' End If
' End If
' End If
' If ImporteMovimiento > 0 Then
' If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, rw.FCLiteral("LtlFolio").Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, CveVenta:=CveVenta, CveCompra:=rw.DataKey("CveCompra").ToString.ToEntero, CveProveedor:=rw.DataKey("CveProveedor").ToString.ToEntero, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, CveCuenta:=CveCuenta, TipoCambio:=rw.DataKey("TipoCambio").ToString.ToDecimal) Then
' MsgError = "No se pudo insertar la póliza"
' End If
' End If
' End If
' End If
' Next
' ImporteMovimiento = 0
' End If
'Case 244 'Ret ISR Acreditable Terceros y Arrendamiento
' If RBLContado.SelectedValue = "5" Then
' For Each rw As GridViewRow In GvCompras.Rows
' If rw.FCCheckBox("Chk").Checked Then
' If rw.DataKey("CveRetISRConcepto").ToString.ToDecimal = 2 Then
' Dim PorcentajePagoCompra = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / rw.DataKey("Total").ToString.ToDecimal
' If CveMoneda = 1 AndAlso CveMonedaVenta = 1 Then
' ImporteMovimiento = rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra
' ImporteMX = ImporteMovimiento
' ElseIf CveMoneda = 1 AndAlso CveMonedaVenta = 2 Then
' ImporteMovimiento = (rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra)
' ImporteMX = ImporteMovimiento '* If(FuncionalidadFluctuacionImpuestos, rw.DataKey("TipoCambio").ToString.ToDecimal, tipoCambioPago)
' ElseIf CveMoneda = 2 AndAlso CveMonedaVenta = 1 Then
' ImporteMovimiento = (rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra)
' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, rw.DataKey("TipoCambio").ToString.ToDecimal, tipoCambioPago)
' ElseIf CveMoneda = 2 AndAlso CveMonedaVenta = 2 Then
' ImporteMovimiento = (rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoCompra)
' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, rw.DataKey("TipoCambio").ToString.ToDecimal, tipoCambioPago)
' End If
' ImporteMovimiento = Math.Round(ImporteMovimiento, 2)
' ImporteMX = Math.Round(ImporteMX, 2)
' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
' 'Conta ContPAQ
' If IdCtaContRetISRAcreditableProveedor > 0 Then
' IdCtaContable = IdCtaContRetISRAcreditableProveedor
' ElseIf UsuarioActual.Empresa.Funcionalidad(318).ToEntero > 0 Then
' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(318).ToEntero
' Else
' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
' If ObjMov.DtResultados.Rows.Count > 0 Then
' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero
' End If
' End If
' End If
' 'Conta SIG
' If CveCuentaRetISRProveedor <> 0 Then
' CveCuenta = CveCuentaRetISRProveedor
' Else
' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
' If ObjMov.DtResultados.Rows.Count > 0 Then
' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero
' End If
' End If
' End If
' If ImporteMovimiento > 0 Then
' If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, rw.FCLiteral("LtlFolio").Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, CveVenta:=CveVenta, CveCompra:=rw.DataKey("CveCompra").ToString.ToEntero, CveProveedor:=rw.DataKey("CveProveedor").ToString.ToEntero, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, CveCuenta:=CveCuenta, TipoCambio:=If(FuncionalidadFluctuacionImpuestos, rw.DataKey("TipoCambio").ToString.ToDecimal, tipoCambioPago)) Then
' MsgError = "No se pudo insertar la póliza"
' End If
' End If
' End If
' End If
' Next
' ImporteMovimiento = 0
' End If
Case 14 'Iva por Acreditar COMPRA
If RBLContado.SelectedValue = "5" Then
For Each rw As GridViewRow In GvCompras.Rows

View File

@@ -711,6 +711,30 @@ Partial Class Bancos_ProveedoresAbonar
#Region " GUARDAR "
Protected Sub BtnIEGuardar_Click(sender As Object, e As EventArgs) Handles BtnIEGuardar.Click
Dim ValFechaDocumento As Boolean = False
Dim FoliosFechasValFechaDocumento As New StringBuilder
FoliosFechasValFechaDocumento.AppendLine("Se seleccionaron facturas con fecha superior a la fecha de pago: <br/>")
For Each gvRowVal As GridViewRow In GvCxP.Rows
If gvRowVal.FCCheckBox("Chk").Checked Then
If gvRowVal.DataKey("Fecha").ToDate > TxtFechaDocumento.Text.ToDate Then
FoliosFechasValFechaDocumento.AppendLine($"Folio: { gvRowVal.DataKey("SerieFolio") } fecha: {gvRowVal.DataKey("Fecha").ToDate.ToString("dd/MM/yyyy") }<br/>")
ValFechaDocumento = True
End If
End If
Next
If ValFechaDocumento Then
Alert(FoliosFechasValFechaDocumento.ToString, TipoMensaje.MsgAdvertencia)
Exit Sub
End If
If DdlTipoTransaccion.SelectedValue.ToEntero < 0 Then
Alert("Seleccione un tipo de transacción", TipoMensaje.MsgAdvertencia)
Exit Sub

View File

@@ -3988,6 +3988,20 @@ Partial Class Compras_Compras
Protected Sub BtnGuardar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnGuardar.Click
'------------------INICIA VALIDACIONES------------------
Dim TempIva As Decimal
For Each drowv As DataRow In TmpDT.Rows
TempIva = TempIva + (drowv("Total").ToString.ToDecimal * drowv("IVAPorcentaje").ToString.ToDecimal)
Next
Dim DifGenelraIvas As Decimal = (TxtIVA.Text.ToDecimal - TempIva)
If Math.Abs(DifGenelraIvas) > 0.2 Then
Alert($"Los importes no coinciden, error en calculo de IVA diferencia { DifGenelraIvas }", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
Dim EstatusCredito As Integer = 0
Dim CveSubProyecto As Integer = 0
'Credito Multiple
@@ -4586,7 +4600,7 @@ Partial Class Compras_Compras
'End If
'METODO DE PREPOLIZA DE ALMACEN
If UsuarioActual.CveEmpresa.Contiene(1, 119, 72, 80, 140, 141, 152, 153, 159, 160, 161, 162, 163) And UsuarioActual.Empresa.UsaInventarios And Not UsuarioActual.Empresa.Funcionalidad(126) = "1" Then
If UsuarioActual.CveEmpresa.Contiene(1, 119, 72, 80, 140, 141, 152, 153, 154, 159, 160, 161, 162, 163) And UsuarioActual.Empresa.UsaInventarios And Not UsuarioActual.Empresa.Funcionalidad(126) = "1" Then
Dim ImporteAlmacen = TmpDT.SUM(If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0, "ImporteSinImpuestos", "Total"), $"ISNULL(TipoAF,0) <> 2 AND ISNULL(CveAlmacen,0) = 0 AND ISNULL(AplicaCostoIndirecto,0) <> 1 AND CveTipoPS = 2").ToString.ToDecimal
If ImporteAlmacen > 0 Then
If Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV", "Ant") Then

View File

@@ -491,6 +491,13 @@ Partial Class PopUpVerFactura
If UrlParametros("CVEASIGNACIONENTREGA") IsNot Nothing And UrlParametros("USUARIOENTREGA") IsNot Nothing Then
ImprimeEntregasPorRealizar(UrlParametros("CVEASIGNACIONENTREGA").ToString.ToLong, UrlParametros("USUARIOENTREGA").ToString)
End If
End If
'PDF AJUSTE
If UrlParametros("OP").ToString = "AJUSTE" Then
If UrlParametros("CVEGARANTIADETALLE") IsNot Nothing Then
ImprimirPDFAjuste(UrlParametros("CVEGARANTIADETALLE").ToString.ToEntero)
End If
End If
End Sub
@@ -1302,7 +1309,7 @@ Partial Class PopUpVerFactura
Dim ResponsableRecibio As String = ObjInventarios.ResponsableRecibio
Dim UsuarioCapturo As String = ObjInventarios.DtResultados.FiltroPrimeroValor("UsuarioCapturo")
If Recibio.Trim = "" Then
If String.IsNullOrEmpty(Recibio) Then
Dim ObjRH As New ClsRH
If ObjRH.GetPersonal(ObjInventarios.CvePersonal, UsuarioActual.CveEmpresa) AndAlso ObjRH.DtResultados.Rows.Count > 0 Then
Recibio = ObjRH.DtResultados.Rows(0)("NombreCompleto").ToString
@@ -4509,4 +4516,153 @@ Partial Class PopUpVerFactura
End Function
#End Region
#Region "OP = AJUSTE"
Private Sub ImprimirPDFAjuste(CveGarantiaDetalle As Integer)
' Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
Dim RowAjuste As DataRow = Nothing
Using ObjAcum As New ClsAcumuladores
If ObjAcum.GetFoliosGarantiasDetalle(-1, CveGarantiaDetalle) Then
If ObjAcum.DtResultados.Rows.Count > 0 Then
RowAjuste = ObjAcum.DtResultados.Rows(0)
End If
End If
End Using
Dim CvePSAjuste As Integer = RowAjuste("CvePS").ToString.ToEntero()
Dim CveCliente As Integer = RowAjuste("CveCliente").ToString.ToEntero()
Dim CveClienteDistribuidor As Integer = RowAjuste("CveClienteDistribuidor").ToString.ToEntero()
Dim Consec As String = RowAjuste("Consecutivo").ToString
Dim FolioGarantia As String = RowAjuste("FolioGarantia").ToString
Dim FechaAjuste As DateTime = RowAjuste("FechaVenta").ToString.ToDateTime()
Dim FechaReclamacion As DateTime = RowAjuste("FechaReclamacion").ToString.ToDateTime()
Dim TipoDefecto As String = RowAjuste("TipoDefecto").ToString
Dim CveTipoUso As Integer = RowAjuste("CveTipoUso").ToString.ToEntero()
Dim CodigoEnsamble As String = RowAjuste("CodigoEnsamble").ToString
Dim CodigoLinea As String = RowAjuste("CodigoLinea").ToString
Dim CodigoInspeccion As String = RowAjuste("CodigoInspeccion").ToString
Dim MesesUso As String = "0"
Dim PorcentajeAjuste As String = RowAjuste("PorcentajeAjuste").ToString
Dim BCIAjuste As String = RowAjuste("BCIAjuste").ToString
Dim Etiqueta As String = RowAjuste("Etiqueta").ToString
Dim Año As String = RowAjuste("Año").ToString
Dim Comprobante As String = RowAjuste("Comprobante").ToString
Dim ModeloAuto As String = RowAjuste("ModeloAuto").ToString
Dim MarcaAuto As String = RowAjuste("MarcaAuto").ToString
Dim MarcaPS As String = ""
Dim CveMarca As Integer = -1
Dim FechaI As Date = FechaAjuste.AddDays(1)
Dim FechaF As Date = FechaReclamacion
Dim Dia As Integer = FechaI.Day
Try
'validación adicional, para saber si el mes tiene 31 días y el actua es menor.
If FechaI.Day > Today.LastDayOfMonth.Day Then Dia = Today.LastDayOfMonth.Day
Dim FechaT As Date = String.Format("{0}/{1}/{2}", Dia, FechaF.Month, FechaF.Year).ToDate 'armo la fecha con el día del mes actual
Dim MesesTrascurridos As Integer = Math.Round(DateDiff(DateInterval.Day, FechaI, FechaT) / 30.4, 2).ToEntero 'saco los meses y lo redondeo
If FechaT > FechaF Then
'todavía está en el mes actual.
MesesTrascurridos = MesesTrascurridos
Else
MesesTrascurridos = MesesTrascurridos + 1
End If
MesesUso = MesesTrascurridos.ToString
Catch ex As Exception
OnError("Ocurrió un error al calcular los meses de uso", ex)
End Try
Dim ObjPS As New ClsProductosServicios
If ObjPS.GetPS(CvePSAjuste, -1, UsuarioActual.CveEmpresa) Then
MarcaPS = ObjPS.DtResultados.FiltroPrimeroValor("Marca", String.Format("CvePS = {0}", CvePSAjuste))
End If
ObjPS.Dispose()
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
Dim DtDatos As New DataTable
Dim params As New List(Of ReportParameter)
'Informacion Distribuidor
If (CveClienteDistribuidor > 0) Then
Dim DatosClienteSeleccionado As DataRow = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CveCliente = {0}", CveClienteDistribuidor))
Dim CiudadEstado As String = ""
Dim Telefono As String = ""
Dim Nombre As String = ""
If DatosClienteSeleccionado IsNot Nothing Then
CiudadEstado = String.Format("{0}, {1}", DatosClienteSeleccionado("Ciudad"), DatosClienteSeleccionado("Estado"))
Telefono = DatosClienteSeleccionado("Telefono").ToString
Nombre = DatosClienteSeleccionado("Nombre").ToString
End If
params.Add(New ReportParameter("NombreDistribuidor", Nombre))
params.Add(New ReportParameter("CiudadEstado", CiudadEstado))
params.Add(New ReportParameter("TelCliente", Telefono))
End If
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("Consec", Consec))
params.Add(New ReportParameter("FolioAcuse", FolioGarantia))
'Informacion de Garantia o ajuste
params.Add(New ReportParameter("FechaInst", FechaAjuste.ToString("dd/MM/yyyy")))
params.Add(New ReportParameter("Fecha", FechaReclamacion.ToString("dd/MM/yyyy")))
params.Add(New ReportParameter("Defecto", TipoDefecto))
params.Add(New ReportParameter("MesesUso", MesesUso))
params.Add(New ReportParameter("PorcentajeAjuste", PorcentajeAjuste))
'Informacion Acumulador
params.Add(New ReportParameter("CodEnsamble", CodigoEnsamble))
params.Add(New ReportParameter("CodLinea", CodigoLinea))
params.Add(New ReportParameter("CodInspeccion", CodigoInspeccion))
params.Add(New ReportParameter("Tipo", BCIAjuste))
params.Add(New ReportParameter("Marca", MarcaPS))
params.Add(New ReportParameter("Etiqueta", Etiqueta))
'Informacion Vehiculo
params.Add(New ReportParameter("MarcaAuto", MarcaAuto))
params.Add(New ReportParameter("TipoAuto", ModeloAuto))
'Informacion Consumidor
'Informacion Distribuidor
If (CveCliente > 0) Then
Dim DatosClienteSeleccionado As DataRow = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CveCliente = {0}", CveCliente))
Dim Nombre As String = DatosClienteSeleccionado.Item("Nombre").ToString
Dim Ciudad As String = DatosClienteSeleccionado.Item("Ciudad").ToString
Dim Estado As String = DatosClienteSeleccionado.Item("Estado").ToString
params.Add(New ReportParameter("NombreCliente", Nombre))
params.Add(New ReportParameter("Direccion", String.Format("{0}, {1}", Ciudad.Trim, Estado)))
params.Add(New ReportParameter("CiudadEstadoConsumidor", String.Format("{0}, {1}", Ciudad.Trim, Estado)))
params.Add(New ReportParameter("TelConsumidor", DatosClienteSeleccionado.Item("Telefono").ToString))
End If
params.Add(New ReportParameter("Anio", Año))
params.Add(New ReportParameter("Comprobante", Comprobante))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
ImprimirPDF("Empresas/Grales/Formatos/Ajuste.rdlc", DtDatos, params, "Reporte de Ajuste", "PDF")
End Sub
#End Region
End Class

View File

@@ -244,7 +244,7 @@
<asp:TextBox ID="TxtTotal" runat="server" CssClass="form-control input-sm" Visible="false" MaxLength="12" Width="140px" placeholder="Total" Enabled="false" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
</div>
</div>
<div class="row" runat="server" id="rowComisiones" visible="false">
<div class="row" runat="server" >
<label class="col-md-2" runat="server" id="lblpagocomisiones">Otros Ingresos:</label>
<div class="col-md-3">
<asp:CheckBox ID="ChkAjusteOI" runat="server" AutoPostBack="true" />

View File

@@ -112,11 +112,11 @@ Partial Class Compras_ReembolsosComprobaciones
CbPermitirExcedente.Visible = False
End If
If UsuarioActual.CveEmpresa.Contiene(1, 4, 7, 11, 12, 72, 80, 119) Then
rowComisiones.Visible = True
End If
' If UsuarioActual.CveEmpresa.Contiene(1, 4, 7, 11, 12, 72, 80, 119) Then
'rowComisiones.Visible = True
' End If
If UsuarioActual.CveEmpresa = 119 Then
If UsuarioActual.CveEmpresa = 119 Then
ChkReembolsarSinBancos.Visible = True
End If

View File

@@ -49,8 +49,8 @@ Partial Class Contabilidad_PolizasImpresion
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("Empresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("TipoPoliza", dr("TipoPoliza").ToString))
params.Add(New ReportParameter("Finicio", dr("Fecha").ToString.ToDate.ToShortDateString))
params.Add(New ReportParameter("FFin", dr("Fecha").ToString.ToDate.ToShortDateString))
params.Add(New ReportParameter("Finicio", TxtFechaInicio.Text))
params.Add(New ReportParameter("FFin", TxtFechaFin.Text))
params.Add(New ReportParameter("Fecha", dr("Fecha").ToString.ToDate.ToShortDateString))
'params.Add(New ReportParameter("Nombre", dr("Cuenta").ToString))
'params.Add(New ReportParameter("Cuenta", dr("Codigo").ToString))

View File

@@ -42,7 +42,7 @@ Partial Class Contabilidad2_PolizasImpresion
If ObjConta.GetPrePolizasImpresion(UsuarioActual.CveEmpresa, TxtFechaInicio.Text, TxtFechaFin.Text, CveTipoPoliza:=ddlTipoPoliza.SelectedValue.ToEntero, FolioI:=foli,
FolioF:=folf, CveUsuario:=DdlUsuarioRegistro.SelectedValue.ToEntero, CveSubProyecto:=DdlSubProyectos.SelectedValue.ToEntero,
CveCuenta:=DdlCuenta.SelectedValue.ToEntero, CvePlantillaPoliza:=DdlGrupoPlantilla.SelectedValue.ToEntero,
CveProveedor:=DdlTipoProveedor.SelectedValue.ToEntero) Then
CveTipoProveedor:=DdlTipoProveedor.SelectedValue.ToEntero) Then
If ObjConta.DtResultados.Rows.Count < 10000 Then
If ObjConta.DtResultados.Rows.Count > 0 Then
@@ -51,8 +51,8 @@ Partial Class Contabilidad2_PolizasImpresion
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("Empresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("TipoPoliza", dr("TipoPoliza").ToString))
params.Add(New ReportParameter("Finicio", dr("Fecha").ToString.ToDate.ToShortDateString))
params.Add(New ReportParameter("FFin", dr("Fecha").ToString.ToDate.ToShortDateString))
params.Add(New ReportParameter("Finicio", TxtFechaInicio.Text))
params.Add(New ReportParameter("FFin", TxtFechaFin.Text))
params.Add(New ReportParameter("Fecha", dr("Fecha").ToString.ToDate.ToShortDateString))
'params.Add(New ReportParameter("Nombre", dr("Cuenta").ToString))
'params.Add(New ReportParameter("Cuenta", dr("Codigo").ToString))

View File

@@ -291,7 +291,7 @@
<div class="row">
<label class="col-md-2 truncate">No. Contrato:</label>
<div class="col-md-10">
<asp:TextBox ID="TxtNumeroContrato" runat="server" Width="200px"></asp:TextBox>
<asp:TextBox ID="TxtNumeroContrato" runat="server" Width="200px" MaxLength="50"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVNumeroContrato" runat="server" ControlToValidate="TxtNumeroContrato" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''No. Contrato''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCENumeroContrato" runat="server" HighlightCssClass="vco" TargetControlID="RFVNumeroContrato" Width="300px" BehaviorID="_content_VCENumeroContrato"></ajax:ValidatorCalloutExtender>
</div>
@@ -741,16 +741,7 @@
</div>
</div>
</div>
<div class="row">
<div class="col-md-12" style="vertical-align: middle;" align="center">
<div style="z-index: 5; position: relative;">
<div id="DivAdvertencia" clientidmode="Static" runat="server" class="alert alert-warning" style="padding: 5px; margin-bottom: 5px; padding-right: 25px;">
<button type="button" class="close" data-dismiss="alert" style="margin-top: 5px;" aria-hidden="true"></button>
<asp:Literal Text="En las observaciones se puede generar una plantilla a partir de diferentes etiquetas: {DIA},{MES},{AÑO},{TC}" runat="server" ID="LtlAdvertencia"></asp:Literal>
</div>
</div>
</div>
</div>
<div class="row" runat="server" id="DivImpuestosLocales">
<div class="col-md-12">
<div class="portlet smmallpadding light bordered">
@@ -1972,8 +1963,21 @@
<br />
<div class="row">
<label class="col-md-3 truncate ">Observación de Facturación:</label>
<div class="col-md-9">
<asp:TextBox ID="TxtObservaciones" runat="server" Width="400px" TextMode="MultiLine" Rows="2"></asp:TextBox>
<div class="col-md-7">
<asp:TextBox ID="TxtObservaciones" runat="server" Width="100%" TextMode="MultiLine" Rows="2"></asp:TextBox>
</div>
<div class="col-md-2">
<asp:Button ID="BtnVerPlantilla" runat="server" Text="Ver Plantilla" CssClass="btn btn-sm btn-primary" Width="100%" OnClick="BtnVerPlantilla_Click"/>
</div>
</div>
<div class="row">
<div class="col-md-12" style="vertical-align: middle;" align="center">
<div style="z-index: 5; position: relative;">
<div id="DivAdvertencia" clientidmode="Static" runat="server" class="alert alert-warning" style="padding: 5px; margin-bottom: 5px; padding-right: 25px;">
<button type="button" class="close" data-dismiss="alert" style="margin-top: 5px;" aria-hidden="true"></button>
<asp:Literal Text="En las observaciones se puede generar una plantilla a partir de diferentes etiquetas:<br/> {DIA},{MES},{AÑO},{TC},{MESANTERIOR},{INICIOMESANTERIOR},{FINMESANTERIOR}" runat="server" ID="LtlAdvertencia"></asp:Literal>
</div>
</div>
</div>
</div>
</div>
@@ -2003,11 +2007,11 @@
<Columns>
<asp:BoundField HeaderText="Fecha Vencimiento" DataField="FechaVenc" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" />
<asp:BoundField HeaderText="Fue Facturado" DataField="FueFacturadoTexto" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" />
<%-- <asp:BoundField HeaderText="Periodo" DataField="Periodo" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" />--%>
<%-- <asp:BoundField HeaderText="Periodo" DataField="Periodo" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" />--%>
<asp:HyperLinkField HeaderText="Serie-Folio" DataTextField="VentaFacturada" Target="_blank" ItemStyle-Width="10%" ItemStyle-CssClass="Texto Izquierda" DataNavigateUrlFields="CveVentaFacturada" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" />
<asp:BoundField HeaderText="Moneda" DataField="MonedaVenta" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField HeaderText="Fecha Facturación" DataField="FechaIngVenta" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" />
<%-- <asp:BoundField HeaderText="SubTotal" DataField="SubTotalVenta" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<%-- <asp:BoundField HeaderText="SubTotal" DataField="SubTotalVenta" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField HeaderText="IVA" DataField="IVAVenta" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField HeaderText="IEPS" DataField="IVAVenta" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />--%>
<asp:BoundField HeaderText="Total" DataField="TotalVenta" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />

View File

@@ -4450,15 +4450,17 @@ Partial Class Contratos_Default
Select Case TipoContrato
Case 7 'Contrato Comodato
SufijoContrato = "COM"
SufijoContrato = "COMODATO"
Case 8 'Contrato Consignacion
SufijoContrato = "CONSIG"
SufijoContrato = "CONSIGNACION"
Case 9 'Contrato de Arrendamiento
SufijoContrato = "ARRENDAMIENTO"
Case 10 'Contrato de Financiamiento
SufijoContrato = "FIN"
SufijoContrato = "FINANCIAMIENTO"
Case 13 'Contrato Servicio Administrado de Impresion (?)
SufijoContrato = "MPS"
Case 28 'Convenio Precio Fijo
SufijoContrato = "CON"
SufijoContrato = "CONVENIO"
End Select
Dim Serie As String = String.Format("-{0}-{1}", DateTime.Today.Year, SufijoContrato)
@@ -4504,6 +4506,61 @@ Partial Class Contratos_Default
UpFacCiclica.Update()
End Sub
Protected Sub BtnVerPlantilla_Click(sender As Object, e As EventArgs)
Dim Plantilla As String = TxtObservaciones.Text
If Plantilla.Contains("{DIA}") Then
Plantilla = Plantilla.Replace("{DIA}", DateTime.Now.Day.ToString())
End If
If Plantilla.Contains("{MES}") Then
Dim fecha As DateTime = DateTime.Now
Dim formatoFecha = Globalization.CultureInfo.CurrentCulture.DateTimeFormat
Dim nombreMes = formatoFecha.GetMonthName(fecha.Month).ToUpper()
Plantilla = Plantilla.ToString().Replace("{MES}", nombreMes)
End If
If Plantilla.Contains("{AÑO}") Then
Plantilla = Plantilla.Replace("{AÑO}", DateTime.Now.Year.ToString())
End If
If Plantilla.Contains("{TC}") Then
Plantilla = Plantilla.Replace("{TC}", GlobalTipoCambio(Now).FormatoNumero)
End If
If Plantilla.Contains("{MESANTERIOR}") Then
Dim fecha As DateTime = DateTime.Now.AddMonths(-1)
Dim formatoFecha = Globalization.CultureInfo.CurrentCulture.DateTimeFormat
Dim nombreMes = formatoFecha.GetMonthName(fecha.Month).ToUpper()
Plantilla = Plantilla.ToString().Replace("{MESANTERIOR}", nombreMes)
End If
If Plantilla.Contains("{INICIOMESANTERIOR}") Then
Dim fecha As DateTime = DateTime.Now.AddMonths(-1)
Dim formatoFecha = Globalization.CultureInfo.CurrentCulture.DateTimeFormat
Dim nombreMes = formatoFecha.GetMonthName(fecha.Month).ToUpper()
Dim mesAnterior As String = String.Format("01 {0} {1}", nombreMes, fecha.Year)
Plantilla = Plantilla.ToString().Replace("{INICIOMESANTERIOR}", mesAnterior)
End If
If Plantilla.Contains("{FINMESANTERIOR}") Then
Dim fecha As DateTime = DateTime.Now.AddMonths(-1)
Dim formatoFecha = Globalization.CultureInfo.CurrentCulture.DateTimeFormat
Dim nombreMes = formatoFecha.GetMonthName(fecha.Month).ToUpper()
Dim LastDayOfMonth = DateTime.DaysInMonth(fecha.Year, fecha.Month)
Dim mesAnterior As String = String.Format("{0} {1} {2}", LastDayOfMonth, nombreMes, fecha.Year)
Plantilla = Plantilla.ToString().Replace("{FINMESANTERIOR}", mesAnterior)
End If
Alert(Plantilla)
End Sub
End Class

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Report xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns:cl="http://schemas.microsoft.com/sqlserver/reporting/2010/01/componentdefinition" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition">
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
<AutoRefresh>0</AutoRefresh>
<DataSources>
<DataSource Name="DataSet1">
@@ -17,86 +17,78 @@
<CommandText>/* Local Query */</CommandText>
</Query>
<Fields>
<Field Name="Id">
<DataField>Id</DataField>
<rd:TypeName>System.Int16</rd:TypeName>
</Field>
<Field Name="IdPoliza">
<DataField>IdPoliza</DataField>
<rd:TypeName>System.Int16</rd:TypeName>
</Field>
<Field Name="Fecha">
<DataField>Fecha</DataField>
<rd:TypeName>System.DateTime</rd:TypeName>
</Field>
<Field Name="TipoPol">
<DataField>TipoPol</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Nombre">
<DataField>Nombre</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Cuenta">
<DataField>Cuenta</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="CuentaFormato">
<DataField>CuentaFormato</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Numero">
<DataField>Numero</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Referencia">
<DataField>Referencia</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Concepto">
<DataField>Concepto</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="ConceptoPoliza">
<DataField>ConceptoPoliza</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Cargos">
<DataField>Cargos</DataField>
<rd:TypeName>System.Double</rd:TypeName>
</Field>
<Field Name="Abonos">
<DataField>Abonos</DataField>
<rd:TypeName>System.Double</rd:TypeName>
</Field>
<Field Name="Cargo">
<DataField>Cargo</DataField>
<rd:TypeName>System.Double</rd:TypeName>
</Field>
<Field Name="Abono">
<DataField>Abono</DataField>
<rd:TypeName>System.Double</rd:TypeName>
</Field>
<Field Name="Folio">
<DataField>Folio</DataField>
<rd:TypeName>System.Double</rd:TypeName>
</Field>
<Field Name="Codigo">
<DataField>Codigo</DataField>
<rd:TypeName>System.Double</rd:TypeName>
</Field>
<Field Name="SegNeg">
<DataField>SegNeg</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="TipoMovto">
<DataField>TipoMovto</DataField>
<rd:TypeName>System.Double</rd:TypeName>
</Field>
<Field Name="UsuarioRegistro">
<DataField>UsuarioRegistro</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Id">
<DataField>Id</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="Fecha">
<DataField>Fecha</DataField>
<rd:TypeName>System.DateTime</rd:TypeName>
</Field>
<Field Name="TipoPoliza">
<DataField>TipoPoliza</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="NombreCuenta">
<DataField>NombreCuenta</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="CodigoCuenta">
<DataField>CodigoCuenta</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Numero">
<DataField>Numero</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="Folio">
<DataField>Folio</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="Referencia">
<DataField>Referencia</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Concepto">
<DataField>Concepto</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="ConceptoPoliza">
<DataField>ConceptoPoliza</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="TipoMovto">
<DataField>TipoMovto</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="Cargos">
<DataField>Cargos</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Abonos">
<DataField>Abonos</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="SegNeg">
<DataField>SegNeg</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Cargo">
<DataField>Cargo</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
<Field Name="Abono">
<DataField>Abono</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
<Field Name="Codigo">
<DataField>Codigo</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="NombreUsuario">
<DataField>NombreUsuario</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
<rd:DataSetInfo>
<rd:DataSetName>DataSet1</rd:DataSetName>
@@ -116,22 +108,31 @@
<TablixBody>
<TablixColumns>
<TablixColumn>
<Width>2.5cm</Width>
<Width>2.15421cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.5cm</Width>
<Width>2.15421cm</Width>
</TablixColumn>
<TablixColumn>
<Width>8.64979cm</Width>
<Width>2.15421cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.15333cm</Width>
<Width>2.15421cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.15604cm</Width>
<Width>2.15421cm</Width>
</TablixColumn>
<TablixColumn>
<Width>1.89146cm</Width>
<Width>2.15421cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.15421cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.15421cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.15421cm</Width>
</TablixColumn>
</TablixColumns>
<TablixRows>
@@ -240,6 +241,108 @@
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox34">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value />
<Style>
<FontFamily>Calibri</FontFamily>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox34</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox25">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value />
<Style>
<FontFamily>Calibri</FontFamily>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox25</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox17">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value />
<Style>
<FontFamily>Calibri</FontFamily>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox17</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox5">
@@ -283,7 +386,7 @@
<Paragraph>
<TextRuns>
<TextRun>
<Value>="Folio: " &amp; Fields!Folio.Value</Value>
<Value>="Folio: " &amp; Fields!Numero.Value</Value>
<Style>
<FontFamily>Calibri</FontFamily>
<FontSize>14pt</FontSize>
@@ -356,12 +459,15 @@
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<ColSpan>4</ColSpan>
<ColSpan>7</ColSpan>
</CellContents>
</TablixCell>
<TablixCell />
<TablixCell />
<TablixCell />
<TablixCell />
<TablixCell />
<TablixCell />
<TablixCell>
<CellContents>
<Textbox Name="Textbox107">
@@ -517,8 +623,12 @@
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<ColSpan>4</ColSpan>
</CellContents>
</TablixCell>
<TablixCell />
<TablixCell />
<TablixCell />
<TablixCell>
<CellContents>
<Textbox Name="Textbox50">
@@ -671,7 +781,7 @@
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!CuentaFormato.Value</Value>
<Value>=Fields!CodigoCuenta.Value</Value>
<Style>
<FontFamily>calibri</FontFamily>
<FontSize>8pt</FontSize>
@@ -704,7 +814,7 @@
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Cuenta.Value</Value>
<Value>=Fields!NombreCuenta.Value</Value>
<Style>
<FontFamily>calibri</FontFamily>
<FontSize>8pt</FontSize>
@@ -728,8 +838,12 @@
<PaddingBottom>1pt</PaddingBottom>
</Style>
</Textbox>
<ColSpan>4</ColSpan>
</CellContents>
</TablixCell>
<TablixCell />
<TablixCell />
<TablixCell />
<TablixCell>
<CellContents>
<Textbox Name="SegNeg">
@@ -944,8 +1058,12 @@
<PaddingBottom>1pt</PaddingBottom>
</Style>
</Textbox>
<ColSpan>4</ColSpan>
</CellContents>
</TablixCell>
<TablixCell />
<TablixCell />
<TablixCell />
<TablixCell>
<CellContents>
<Textbox Name="Textbox113">
@@ -1065,7 +1183,7 @@
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Code.IsNewPage(Fields!IdPoliza.Value,nothing,nothing)</Value>
<Value>=Code.IsNewPage(Fields!Id.Value,nothing,nothing)</Value>
<Style>
<FontFamily>calibri</FontFamily>
<FontSize>8pt</FontSize>
@@ -1099,7 +1217,7 @@
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!UsuarioRegistro.Value</Value>
<Value>=Fields!NombreUsuario.Value</Value>
<Style>
<FontFamily>calibri</FontFamily>
<FontSize>1pt</FontSize>
@@ -1154,6 +1272,102 @@
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox40">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value />
<Style>
<FontFamily>calibri</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox40</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>1pt</PaddingLeft>
<PaddingRight>1pt</PaddingRight>
<PaddingTop>1pt</PaddingTop>
<PaddingBottom>1pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox29">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value />
<Style>
<FontFamily>calibri</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox29</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>1pt</PaddingLeft>
<PaddingRight>1pt</PaddingRight>
<PaddingTop>1pt</PaddingTop>
<PaddingBottom>1pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox21">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value />
<Style>
<FontFamily>calibri</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox21</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>1pt</PaddingLeft>
<PaddingRight>1pt</PaddingRight>
<PaddingTop>1pt</PaddingTop>
<PaddingBottom>1pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox11">
@@ -1274,6 +1488,175 @@
</TablixCell>
</TablixCells>
</TablixRow>
<TablixRow>
<Height>2.26688cm</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="UsuarioRegistro1">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Usuario:</Value>
<Style>
<FontFamily>calibri</FontFamily>
<FontSize>9pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!NombreUsuario.Value</Value>
<Style>
<FontFamily>calibri</FontFamily>
<FontSize>9pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>UsuarioRegistro1</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<VerticalAlign>Bottom</VerticalAlign>
<PaddingLeft>1pt</PaddingLeft>
<PaddingRight>1pt</PaddingRight>
<PaddingTop>1pt</PaddingTop>
<PaddingBottom>1pt</PaddingBottom>
</Style>
</Textbox>
<ColSpan>3</ColSpan>
</CellContents>
</TablixCell>
<TablixCell />
<TablixCell />
<TablixCell>
<CellContents>
<Textbox Name="Textbox41">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Revisado Por:</Value>
<Style>
<FontFamily>calibri</FontFamily>
<FontSize>9pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value />
<Style>
<FontFamily>calibri</FontFamily>
<FontSize>9pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox41</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<VerticalAlign>Bottom</VerticalAlign>
<PaddingLeft>1pt</PaddingLeft>
<PaddingRight>1pt</PaddingRight>
<PaddingTop>1pt</PaddingTop>
<PaddingBottom>1pt</PaddingBottom>
</Style>
</Textbox>
<ColSpan>3</ColSpan>
</CellContents>
</TablixCell>
<TablixCell />
<TablixCell />
<TablixCell>
<CellContents>
<Textbox Name="UsuarioRegistro">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Autorizado Por:</Value>
<Style>
<FontFamily>calibri</FontFamily>
<FontSize>9pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value />
<Style>
<FontFamily>calibri</FontFamily>
<FontSize>9pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>UsuarioRegistro</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<TopBorder>
<Style>Solid</Style>
</TopBorder>
<VerticalAlign>Bottom</VerticalAlign>
<PaddingLeft>1pt</PaddingLeft>
<PaddingRight>1pt</PaddingRight>
<PaddingTop>1pt</PaddingTop>
<PaddingBottom>1pt</PaddingBottom>
</Style>
</Textbox>
<ColSpan>3</ColSpan>
</CellContents>
</TablixCell>
<TablixCell />
<TablixCell />
</TablixCells>
</TablixRow>
</TablixRows>
</TablixBody>
<TablixColumnHierarchy>
@@ -1284,14 +1667,17 @@
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
</TablixMembers>
</TablixColumnHierarchy>
<TablixRowHierarchy>
<TablixMembers>
<TablixMember>
<Group Name="IdPoliza">
<Group Name="Id">
<GroupExpressions>
<GroupExpression>=Fields!IdPoliza.Value</GroupExpression>
<GroupExpression>=Fields!Id.Value</GroupExpression>
</GroupExpressions>
<PageBreak>
<BreakLocation>End</BreakLocation>
@@ -1299,7 +1685,7 @@
</PageBreak>
<Variables>
<Variable Name="UsuarioRegistro">
<Value>=Fields!UsuarioRegistro.Value</Value>
<Value>=Fields!NombreUsuario.Value</Value>
</Variable>
</Variables>
</Group>
@@ -1328,6 +1714,9 @@
<TablixMember>
<KeepWithGroup>Before</KeepWithGroup>
</TablixMember>
<TablixMember>
<KeepWithGroup>Before</KeepWithGroup>
</TablixMember>
</TablixMembers>
</TablixMember>
</TablixMembers>
@@ -1339,8 +1728,8 @@
<ResetPageNumber>true</ResetPageNumber>
</PageBreak>
<Top>0.05076cm</Top>
<Height>3.18542cm</Height>
<Width>19.85062cm</Width>
<Height>5.4523cm</Height>
<Width>19.38789cm</Width>
<Style>
<Border>
<Style>None</Style>
@@ -1375,153 +1764,11 @@
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox31">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Usuario:</Value>
<Style>
<FontFamily>calibri</FontFamily>
<FontSize>9pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
<TextRun>
<Value xml:space="preserve"> </Value>
<Style>
<FontFamily>calibri</FontFamily>
<FontSize>9pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=ReportItems!TxtUsuarioRegistro.Value</Value>
<Style>
<FontFamily>calibri</FontFamily>
<FontSize>9pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox31</rd:DefaultName>
<Top>4.47958cm</Top>
<Height>0.9cm</Height>
<Width>6cm</Width>
<ZIndex>2</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox32">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Revisado Por:</Value>
<Style>
<FontFamily>calibri</FontFamily>
<FontSize>9pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
<TextRun>
<Value xml:space="preserve"> </Value>
<Style>
<FontFamily>calibri</FontFamily>
<FontSize>9pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox31</rd:DefaultName>
<Top>4.47958cm</Top>
<Left>7.295cm</Left>
<Height>0.9cm</Height>
<Width>6cm</Width>
<ZIndex>3</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox33">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Autorizado Por:</Value>
<Style>
<FontFamily>calibri</FontFamily>
<FontSize>9pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
<TextRun>
<Value xml:space="preserve"> </Value>
<Style>
<FontFamily>calibri</FontFamily>
<FontSize>9pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox31</rd:DefaultName>
<Top>4.47958cm</Top>
<Left>14.14166cm</Left>
<Height>0.9cm</Height>
<Width>5.70896cm</Width>
<ZIndex>4</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Height>5.82055cm</Height>
<Style />
</Body>
<Width>19.87995cm</Width>
<Width>19.38791cm</Width>
<Page>
<PageHeader>
<Height>2.14642cm</Height>
@@ -1692,9 +1939,10 @@
</Style>
</TextRun>
<TextRun>
<Value>=Today</Value>
<Value>=Now()</Value>
<Style>
<FontSize>8pt</FontSize>
<Format>dd/MM/yyy HH:mm:ss tt</Format>
</Style>
</TextRun>
</TextRuns>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,782 @@
<?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
<AutoRefresh>0</AutoRefresh>
<DataSources>
<DataSource Name="DataSet">
<ConnectionProperties>
<DataProvider>System.Data.DataSet</DataProvider>
<ConnectString>/* Local Connection */</ConnectString>
</ConnectionProperties>
<rd:DataSourceID>db271139-498f-42f1-b0bc-9c6d57014da7</rd:DataSourceID>
</DataSource>
</DataSources>
<DataSets>
<DataSet Name="DataSet1">
<Query>
<DataSourceName>DataSet</DataSourceName>
<CommandText>/* Local Query */</CommandText>
</Query>
<Fields>
<Field Name="Codigo">
<DataField>Codigo</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Codigo_Clientes">
<DataField>Codigo_Clientes</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Total">
<DataField>Total</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="EsHeader">
<DataField>EsHeader</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
<rd:DataSetInfo>
<rd:DataSetName>DataSet</rd:DataSetName>
<rd:SchemaPath>C:\Users\Janeth\documents\visual studio 2015\WebSites\Reporteweb\App_Code\DataSet1.xsd</rd:SchemaPath>
<rd:TableName>DataTable4</rd:TableName>
<rd:TableAdapterFillMethod />
<rd:TableAdapterGetDataMethod />
<rd:TableAdapterName />
</rd:DataSetInfo>
</DataSet>
</DataSets>
<ReportSections>
<ReportSection>
<Body>
<ReportItems>
<Tablix Name="Tablix1">
<TablixBody>
<TablixColumns>
<TablixColumn>
<Width>1.60534cm</Width>
</TablixColumn>
<TablixColumn>
<Width>15.36419cm</Width>
</TablixColumn>
<TablixColumn>
<Width>3.08282cm</Width>
</TablixColumn>
</TablixColumns>
<TablixRows>
<TablixRow>
<Height>0.58521cm</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Codigo">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Codigo.Value</Value>
<Style>
<FontSize>7pt</FontSize>
<FontWeight>=IIF(Fields!EsHeader.Value = "-1" or Fields!Codigo.Value = "","Bold","Normal")</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Codigo</rd:DefaultName>
<Style>
<Border>
<Color>White</Color>
<Style>Solid</Style>
</Border>
<BackgroundColor>=IIF(Fields!EsHeader.Value = "-1" or Fields!Codigo.Value = "","LightGrey","Transparent")</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Codigo_Clientes">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Codigo_Clientes.Value</Value>
<Style>
<FontSize>7pt</FontSize>
<FontWeight>=IIF(Fields!EsHeader.Value = "-1" or Fields!Codigo.Value = "","Bold","Normal")</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Codigo_Clientes</rd:DefaultName>
<Style>
<Border>
<Color>White</Color>
<Style>Solid</Style>
</Border>
<BackgroundColor>=IIF(Fields!EsHeader.Value = "-1" or Fields!Codigo.Value = "","LightGrey","Transparent")</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Cantidad">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Total.Value</Value>
<Style>
<FontSize>7pt</FontSize>
<FontWeight>=IIF(Fields!EsHeader.Value = "-1" or Fields!Codigo.Value = "","Bold","Normal")</FontWeight>
<Format>#,0;(#,0)</Format>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Cantidad</rd:DefaultName>
<Style>
<Border>
<Color>White</Color>
<Style>Solid</Style>
</Border>
<BackgroundColor>=IIF(Fields!EsHeader.Value = "-1" or Fields!Codigo.Value = "","LightGrey","Transparent")</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
</TablixRows>
</TablixBody>
<TablixColumnHierarchy>
<TablixMembers>
<TablixMember />
<TablixMember />
<TablixMember />
</TablixMembers>
</TablixColumnHierarchy>
<TablixRowHierarchy>
<TablixMembers>
<TablixMember>
<Group Name="Detalles" />
</TablixMember>
</TablixMembers>
</TablixRowHierarchy>
<DataSetName>DataSet1</DataSetName>
<Top>0.17639cm</Top>
<Left>0.08377cm</Left>
<Height>0.58521cm</Height>
<Width>20.05235cm</Width>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Tablix>
</ReportItems>
<Height>0.64657in</Height>
<Style>
<Border>
<Color>White</Color>
<Style>None</Style>
</Border>
</Style>
</Body>
<Width>8.2362in</Width>
<Page>
<PageHeader>
<Height>3.87766cm</Height>
<PrintOnFirstPage>true</PrintOnFirstPage>
<PrintOnLastPage>true</PrintOnLastPage>
<ReportItems>
<Image Name="Image1">
<Source>Embedded</Source>
<Value>Logo</Value>
<Sizing>Fit</Sizing>
<Top>0.09927in</Top>
<Left>0.10752in</Left>
<Height>0.99993in</Height>
<Width>1.6045in</Width>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Image>
<Textbox Name="Textbox2">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>BDH BATERÍAS DISTRIBUCIONES DE</Value>
<Style>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value>HERMOSILLO S.A. DE C.V.</Value>
<Style>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Parameters!Direccion.Value</Value>
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox2</rd:DefaultName>
<Top>0.25214cm</Top>
<Left>4.45435cm</Left>
<Height>1.92292cm</Height>
<Width>11.8589cm</Width>
<ZIndex>1</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox4">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Entradas de Usados del </Value>
<Style>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
<TextRun>
<Value>=Parameters!FechaInicial.Value</Value>
<Style>
<FontWeight>Bold</FontWeight>
<Format>dd/MM/yyyy</Format>
</Style>
</TextRun>
<TextRun>
<Value> al </Value>
<Style>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
<TextRun>
<Value>=Parameters!FechaFinal.Value</Value>
<Style>
<FontWeight>Bold</FontWeight>
<Format>dd/MM/yyyy</Format>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox4</rd:DefaultName>
<Top>2.35145cm</Top>
<Left>6.20715cm</Left>
<Height>0.6cm</Height>
<Width>10.1061cm</Width>
<ZIndex>2</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="FechaConFormato">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Parameters!FechaConFormato.Value</Value>
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>FechaConFormato</rd:DefaultName>
<Top>0.28742cm</Top>
<Left>16.48964cm</Left>
<Height>0.6cm</Height>
<Width>3.64648cm</Width>
<ZIndex>3</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox1">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Tipo</Value>
<Style>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox1</rd:DefaultName>
<Top>3.27766cm</Top>
<Height>0.6cm</Height>
<Width>1.68911cm</Width>
<ZIndex>4</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<BackgroundColor>LightGrey</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox3">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Clientes/Grupos</Value>
<Style>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox3</rd:DefaultName>
<Top>3.27766cm</Top>
<Left>1.68911cm</Left>
<Height>0.6cm</Height>
<Width>15.36419cm</Width>
<ZIndex>5</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<BackgroundColor>LightGrey</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox5">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Cantidad</Value>
<Style>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox1</rd:DefaultName>
<Top>3.27766cm</Top>
<Left>17.0533cm</Left>
<Height>0.6cm</Height>
<Width>3.08282cm</Width>
<ZIndex>6</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<BackgroundColor>LightGrey</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</PageHeader>
<PageFooter>
<Height>0.727cm</Height>
<PrintOnFirstPage>true</PrintOnFirstPage>
<PrintOnLastPage>true</PrintOnLastPage>
<ReportItems>
<Line Name="Line2">
<Top>0.127cm</Top>
<Left>0.01325cm</Left>
<Height>0cm</Height>
<Width>20.90669cm</Width>
<Style>
<Border>
<Style>Solid</Style>
</Border>
</Style>
</Line>
</ReportItems>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</PageFooter>
<PageHeight>27.94cm</PageHeight>
<PageWidth>21.59cm</PageWidth>
<LeftMargin>0.5cm</LeftMargin>
<RightMargin>0cm</RightMargin>
<TopMargin>0.5cm</TopMargin>
<BottomMargin>1cm</BottomMargin>
<ColumnSpacing>0.13cm</ColumnSpacing>
<Style />
</Page>
</ReportSection>
</ReportSections>
<ReportParameters>
<ReportParameter Name="FechaInicial">
<DataType>DateTime</DataType>
<Nullable>true</Nullable>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="FechaFinal">
<DataType>DateTime</DataType>
<Nullable>true</Nullable>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="Sucursal">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="Direccion">
<DataType>String</DataType>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="FechaConFormato">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
</ReportParameters>
<EmbeddedImages>
<EmbeddedImage Name="Logo">
<MIMEType>image/png</MIMEType>
<ImageData>iVBORw0KGgoAAAANSUhEUgAAEHQAAAgICAYAAAC1Y1ExAAAGkWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICAgeG1sbnM6eG1wRE09Imh0dHA6Ly9ucy5hZG9iZS5jb20veG1wLzEuMC9EeW5hbWljTWVkaWEvIgogICAgeG1sbnM6c3REaW09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9EaW1lbnNpb25zIyIKICAgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1NUMwODVDQjkxQ0JFNTExQUJBMkNBMkZFODhFOEFDMCIKICAgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1M0MwODVDQjkxQ0JFNTExQUJBMkNBMkZFODhFOEFDMCIKICAgeG1wTU06T3Jp
Z2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzA4NUNCOTFDQkU1MTFBQkEyQ0EyRkU4OEU4QUMwIgogICB4bXA6TWV0YWRhdGFEYXRlPSIyMDE2LTAyLTA0VDE1OjU4OjAxLTA3OjAwIgogICB4bXA6TW9kaWZ5RGF0ZT0iMjAxNi0wMi0wNFQxNTo1OC0wNzowMCIKICAgeG1wRE06dmlkZW9QaXhlbEFzcGVjdFJhdGlvPSIxMDAwMDAwLzEwMDAwMDAiCiAgIHhtcERNOnZpZGVvQWxwaGFNb2RlPSJzdHJhaWdodCIKICAgeG1wRE06dmlkZW9GcmFtZVJhdGU9IjAuMDAwMDAwIj4KICAgPHhtcE1NOkhpc3Rvcnk+CiAgICA8cmRmOlNlcT4KICAgICA8cmRmOmxpCiAgICAgIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiCiAgICAgIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NTRDMDg1Q0I5MUNCRTUxMUFCQTJDQTJGRTg4RThBQzAiCiAgICAgIHN0RXZ0OndoZW49IjIwMTYtMDItMDRUMTU6NTgtMDc6MDAiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFByZW1pZXJlIFBybyBDUzYgKFdpbmRvd3MpIgogICAgICBzdEV2dDpjaGFuZ2VkPSIvIi8+CiAgICAgPHJkZjpsaQogICAgICBzdEV2dDphY3Rpb249InNhdmVkIgogICAgICBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjU1QzA4NUNCOTFDQkU1MTFBQkEyQ0EyRkU4OEU4QUMwIgogICAgICBzdEV2dDp3aGVuPSIyMDE2LTAyLTA0VDE1OjU4OjAxLTA3OjAwIgogICAgICBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQcmVtaWVyZSBQcm8gQ1M2IChXaW5kb3dzKSIK
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
AAAAADIT6AAAAAAAAAAAAAAAAAAAAACQmUAHAAAAAAAAAAAAAAAAAAAAgMwEOgAAAAAAAAAAAAAAAAAAAABkJtABAAAAAAAAAAAAAAAAAAAAIDOBDgAAAAAAAAAAAAAAAAAAAACZCXQAAAAAAAAAAAAAAAAAAAAAyEygAwAAAAAAAAAAAAAAAAAAAEBmAh0AAAAAAAAAAAAAAAAAAAAAMhPoAAAAAAAAAAAAAAAAAAAAAJCZQAcAAAAAAAAAAAAAAAAAAACAzAQ6AAAAAAAAAAAAAAAAAAAAAGQm0AEAAAAAAAAAAAAAAAAAAAAgM4EOAAAAAAAAAAAAAAAAAAAAAJkJdAAAAAAAAAAAAAAAAAAAAADITKADAAAAAAAAAAAAAAAAAAAAQGYCHQAAAAAAAAAAAAAAAAAAAAAyE+gAAAAAAAAAAAAAAAAAAAAAkJlABwAAAAAAAAAAAAAAAAAAAIDMBDoAAAAAAAAAAAAAAAAAAAAAZCbQAQAAAAAAAAAAAAAAAAAAACAzgQ4AAAAAAAAAAAAAAAAAAAAAmQl0AAAAAAAAAAAAAAAAAAAAAMhMoAMAAAAAAAAAAAAAAAAAAABAZgIdAAAAAAAAAAAAAAAAAAAAADIT6AAAAAAAAAAAAAAAAAAAAACQmUAHAAAAAAAAAAAAAAAAAAAAgMwEOgAAAAAAAAAAAAAAAAAAAABkJtABAAAAAAAAAAAAAAAAAAAAIDOBDgAAAAAAAAAAAAAAAAAAAACZCXQAAAAAAAAAAAAAAAAAAAAAyEygAwAAAAAAAAAAAAAAAAAAAEBmAh0AAAAAAAAAAAAAAAAAAAAAMhPoAAAAAAAAAAAAAAAAAAAAAJCZQAcAAAAAAAAAAAAAAAAAAACAzAQ6AAAAAAAAAAAAAAAAAAAAAGQm0AEAAAAAAAAAAAAAAAAAAAAgM4EOAAAAAAAAAAAAAAAAAAAAAJkJdAAAAAAAAAAAAAAAAAAAAADITKADAAAAAAAA
AAAAAAAAAAAAQGYCHQAAAAAAAAAAAAAAAAAAAAAyE+gAAAAAAAAAAAAAAAAAAAAAkJlABwAAAAAAAAAAAAAAAAAAAIDMBDoAAAAAAAAAAAAAAAAAAAAAZCbQAQAAAAAAAAAAAAAAAAAAACAzgQ4AAAAAAAAAAAAAAAAAAAAAmQl0AAAAAAAAAAAAAAAAAAAAAMhMoAMAAAAAAAAAAAAAAAAAAABAZgIdAAAAAAAAAAAAAAAAAAAAADIT6AAAAAAAAAAAAAAAAAAAAACQmUAHAAAAAAAAAAAAAAAAAAAAgMwEOgAAAAAAAAAAAAAAAAAAAABkJtABAAAAAAAAAAAAAAAAAAAAIDOBDgAAAAAAAAAAAAAAAAAAAACZCXQAAAAAAAAAAAAAAAAAAAAAyEygAwAAAAAAAAAAAAAAAAAAAEBmAh0AAAAAAAAAAAAAAAAAAAAAMhPoAAAAAAAAAAAAAAAAAAAAAJCZQAcAAAAAAAAAAAAAAAAAAACAzAQ6AAAAAAAAAAAAAAAAAAAAAGQm0AEAAAAAAAAAAAAAAAAAAAAgM4EOAAAAAAAAAAAAAAAAAAAAAJkJdAAAAAAAAAAAAAAAAAAAAADITKADAAAAAAAAAAAAAAAAAAAAQGYCHQAAAAAAAAAAAAAAAAAAAAAyE+gAAAAAAAAAAAAAAAAAAAAAkJlABwAAAAAAAAAAAAAAAAAAAIDMBDoAAAAAAAAAAAAAAAAAAAAAZCbQAQAAAAAAAAAAAAAAAAAAACAzgQ4AAAAAAAAAAAAAAAAAAAAAmQl0AAAAAAAAAAAAAAAAAAAAAMhMoAMAAAAAAAAAAAAAAAAAAABAZgIdAAAAAAAAAAAAAAAAAAAAADIT6AAAAAAAAAAAAAAAAAAAAACQmUAHAAAAAAAAAAAAAAAAAAAAgMwEOgAAAAAAAAAAAAAAAAAAAABkJtABAAAAAAAAAAAAAAAAAAAAIDOBDgAAAAAAAAAAAAAAAAAAAACZCXQA
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
ADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAA
ADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwCzg8zze50D8YwAAAABJRU5ErkJggg==</ImageData>
</EmbeddedImage>
</EmbeddedImages>
<rd:ReportUnitType>Cm</rd:ReportUnitType>
<rd:ReportID>1d5d9525-4bdd-4783-9df6-cce93069c30f</rd:ReportID>
</Report>

File diff suppressed because it is too large Load Diff

View File

@@ -1172,7 +1172,7 @@ Partial Class General_SaldosIniciales
Dim CveSATEstado As Integer = GlobalDTEstado("MEX").FiltroPrimeroValor("CveSATEstado", String.Format("NombreEstado ='{0}'", Estado)).ToEntero
If Not ObjClientes.AddCliente(RazonSocial, RazonSocial, Calle, NumExt.ToString, "", Colonia, Poblacion, Poblacion, Estado, Pais, RFC, CodigoPostal, Telefono, Contacto, "", "", "", "", "", -1, False, 0, 0, False, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, "", CveVendedor, PlazoCobranza, -1,
"-1", "-1", -1, "-1", -1, "0", -1, "0", 0, "", 0, "", 0, "", 0, "", "", "", Codigo, LimiteCredito, "", 1, False, "", "", "", False, "", "", "", "", "", False, "", "", "", False, 0, -1, EsDistribuidor:=EsDistribuidor, CveClienteClasificacion:=CveClasificación, CargoUsado:=CargoUsado,
"-1", "-1", -1, "-1", -1, "0", -1, "0", 0, "", 0, "", 0, "", 0, "", "", Codigo, LimiteCredito, False, "", "", "", False, "", "", "", "", "", False, "", "", "", False, 0, -1, EsDistribuidor:=EsDistribuidor, CveClienteClasificacion:=CveClasificación, CargoUsado:=CargoUsado,
BonificacionUsado:=BonificacionUsado, CobranzaContacto:=CobranzaContacto, CobranzaCorreo:=CobranzaCorreo, DiasEspecifico:=DiasPagoEspecifico, DiasRevision:=DìaVisita, CobranzaTelefono:=CobranzaTelefono, CveFormaPago33:=CveFormaPago33, CveUsoCFDI:=CveUsoCFDI, CveSATEstado:=CveSATEstado) Then
ErrorClientes = True
@@ -1398,7 +1398,7 @@ Partial Class General_SaldosIniciales
'If Not CveCliente > 0 Then Alert(String.Format("No se encontró el cliente con el RFC: {0}", {RFC}), TipoMensaje.MsgError) : ErrorVentas = True : RFC.GuardaLog : Exit For
TipoDocto = IIf(TipoDocto.Contiene("INGRESO", "INGRESOS"), "Ing", IIf(TipoDocto = "EGRESO", "Egs", "Rem")).ToString
TipoDocto = IIf(TipoDocto.Contiene("INGRESO", "INGRESOS"), "Ing", IIf(TipoDocto.Contiene("EGRESO", "EGRESOS"), "Egs", "Rem")).ToString
'PrePóliza
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Venta/SaldoInicial", 1, Total, Total, 1, Fecha, String.Format("{0}-{1}", Serie, Folio), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
@@ -1410,8 +1410,9 @@ Partial Class General_SaldosIniciales
End If
'Moneda
If Moneda.ToUpper.Contiene("PESOS", "PESO", "MN") Then
If Moneda.ToUpper.Contiene("PESOS", "PESO", "MXN") Then
CveMoneda = 1
TipoCambio = "1"
ElseIf Moneda.ToUpper.Contiene("DÓLARES", "DOLARES", "USD") Then
CveMoneda = 2
End If
@@ -1460,12 +1461,20 @@ Partial Class General_SaldosIniciales
End If
End If
Dim UsaComplementaria As Boolean = False
If UsuarioActual.CveEmpresa.Contiene(119, 158) Then UsaComplementaria = True
'PrePólizaDetalle
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SubTotal, Folio.ToString, 4, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveClasificacion:=CveClasificacion, ImporteMX:=SubTotal, CveSubProyecto:=Sucursal.ToEntero) Then ErrorVentas = True : Exit For
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total, Folio.ToString, ConceptoContable, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteMX:=Total) Then ErrorVentas = True : Exit For
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, IVA, Folio.ToString, 13, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteMX:=IVA, PorcentajeImpuesto:=PorcentajeIVA) Then ErrorVentas = True : Exit For
'If IEPS > 0 AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, IEPS, Folio.ToString, 38, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteMX:=IEPS) Then ErrorVentas = True : Exit For
If UsaComplementaria Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total, Folio.ToString, 203, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteME:=Total, ImporteMX:=Total * TipoCambio.ToDecimal, TipoCambio:=TipoCambio.ToDecimal) Then ErrorVentas = True : Exit For
End If
'Saldo
If Saldo < Total Then

View File

@@ -88,7 +88,7 @@
<asp:TemplateField ItemStyle-Width="7%">
<ItemTemplate>
<%--<asp:Literal ID="LtlExistencia" runat="server" Text='<%# Eval("Existencia").ToString().Split("."c)(0) %>'></asp:Literal>--%>
<asp:TextBox ID="TxtCantidad" runat="server" Text='<%# Eval("Existencia").ToString().Split("."c)(0) %>' Width="35px" />
<asp:TextBox ID="TxtCantidad" runat="server" Text='<%# Eval("Existencia").ToString().Split("."c)(0) %>' Width="45px" style='text-align:right;' />
<asp:RangeValidator ID="RVR" Display="Dynamic" ControlToValidate="TxtCantidad" runat="server" MinimumValue="0" Type="Double" ErrorMessage="No cumple con la cantidad especificada"></asp:RangeValidator>
</ItemTemplate>
</asp:TemplateField>

View File

@@ -42,7 +42,7 @@ Partial Class Inventarios_AjustesSeccionAlmacen
If ObjInv.DtResultados.FiltraParametros("Serie <> '' ").Rows.Count = 0 Then GvD.columns(2).visible = False
If ObjInv.DtResultados.FiltraParametros("Lote <> ''").Rows.Count = 0 Then GvD.columns(3).visible = False
If ObjInv.DtResultados.FiltraParametros("FechaCaducidad <> ''").Rows.Count = 0 Then GvD.columns(4).visible = False
If ObjInv.DtResultados.FiltraParametros("FechaCaducidad IS NOT NULL ").Rows.Count = 0 Then GvD.columns(4).visible = False
If ObjInv.DtResultados.FiltraParametros("CveSeccionAlmacen > 0").Rows.Count = 0 Then GvD.columns(5).visible = False
End If
@@ -368,6 +368,7 @@ Partial Class Inventarios_AjustesSeccionAlmacen
Dim ObjInventario As New ClsInventarios()
Dim ObjPS As New ClsProductosServicios(ObjInventario.IniciaTransacSQL())
Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL)
Try
Dim DtExistenciasSecciones As DataTable = Nothing
@@ -381,10 +382,11 @@ Partial Class Inventarios_AjustesSeccionAlmacen
'ENTRADA ALMACÉN
Dim CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacen, 2, 1, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:="", TipoCambio:=-1,
MovimientoFijo:=False, Modulo:="ASA/EA")
MovimientoFijo:=False, Modulo:="ASA/EA", CveMovimientoRelacionado:=CveMovimientoSalida)
Dim dtSecciones As DataTable = GlobalDTSeccionAlmacen(UsuarioActual.CveEmpresa, CveAlmacen)
dtSecciones.CaseSensitive = False
Dim resultado As DataTable = Nothing
For Each RowExcel As DataRow In DtExcel.Rows
@@ -415,9 +417,9 @@ Partial Class Inventarios_AjustesSeccionAlmacen
Dim RowExistencia As DataRow = DtExistenciasSecciones.FiltroPrimero($"CvePS={CvePS} and ISNULL(Serie,'') = '{Serie}'")
If RowExistencia IsNot Nothing AndAlso CveSeccionAlmacen > 0 Then
If RowExistencia IsNot Nothing Then
Dim CveSeccionAlmacenSalida As Integer = RowExistencia("CveSeccionAlmacen").ToString().ToEntero()
Dim CantidadSalida As Decimal = RowExistencia("Existencia").ToString().ToDecimal()
Dim CantidadSalida As Decimal = RowExcel("Cantidad").ToString().ToDecimal()
Dim SerieSalida As String = RowExistencia("Serie").ToString()
Dim LoteSalida As String = RowExistencia("Lote").ToString()
Dim FechaCaducidadSalida As Date = IfNull(RowExistencia("FechaCaducidad"), MinFecha).ToString.ToDate
@@ -440,9 +442,11 @@ Partial Class Inventarios_AjustesSeccionAlmacen
ErrorMovInv = CveMovimientoDetalleSalida <= 0
'GENERA LA ENTRADA DE LOS PRODUCTOS QUE SE DIERON ENTRADA
'GENERA LA ENTRADA DE LOS PRODUCTOS QUE SE DIERON SALIDA
If Not ErrorMovInv Then
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa, CveMovimientoDetalle:=CveMovimientoDetalleSalida) AndAlso ObjInventario.DtResultados.Rows.Count > 0 Then
resultado = ObjInventario.DtResultados
Dim RowEntrada As DataRow = ObjInventario.DtResultados.Rows(0)
Dim CvePSEntrada = RowEntrada("CvePS").ToString().ToEntero()
@@ -452,9 +456,12 @@ Partial Class Inventarios_AjustesSeccionAlmacen
Dim CostoIndirecto As Decimal = RowEntrada("CostoIndirecto").ToString().ToDecimal()
'ACTUALIZAMOS EL PS, PARA QUE TENGA EL APLICA SECCION
ErrorMovInv = Not ObjPS.UpdateAplicaSeccionAlmacen(CvePS, UsuarioActual.CveEmpresa, True)
If Not ObjInventario.AddProductosServiciosAlmacenSeccion(CvePS, CveAlmacen, CveSeccionAlmacen) Then
ErrorMovInv = True
If CveSeccionAlmacen > 0 Then
ErrorMovInv = Not ObjPS.UpdateAplicaSeccionAlmacen(CvePS, UsuarioActual.CveEmpresa, True)
If Not ObjInventario.AddProductosServiciosAlmacenSeccion(CvePS, CveAlmacen, CveSeccionAlmacen) Then
ErrorMovInv = True
End If
End If
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, CantidadEntrada, CveUMEntrada, CvePSEntrada, PUEntrada, -1, CostoIndirecto:=CostoIndirecto, CveSeccionAlmacen:=CveSeccionAlmacen, Serie:=Serie, Lote:=Lote, FechaCaducidad:=FechaCaducidad, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
@@ -475,7 +482,7 @@ Partial Class Inventarios_AjustesSeccionAlmacen
ErrorMovInv = True
End If
If CveSeccionAlmacen <= 0 Then
If CveSeccionAlmacen <= 0 And SeccionAlmacen <> "" Then
SeccionesNoEncontradas.AppendFormat("{0},", SeccionAlmacen)
ErrorMovInv = True
End If
@@ -489,6 +496,26 @@ Partial Class Inventarios_AjustesSeccionAlmacen
Next
dtSecciones.Dispose()
'inserto la prepoliza
If CveMovimientoEntrada > 0 AndAlso CveMovimientoSalida > 0 Then
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) AndAlso ObjInventario.DtResultados.Rows.Count > 0 Then
resultado = ObjInventario.DtResultados
Dim Concepto As String = "Ajuste Sección"
Dim IdCtaContableOrigen As Integer = 0
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inventario/AjusteAlmacen", 53, 0, 0, 1, Now, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
Dim importe As Decimal = resultado.SUMD("Total").RoundSQL
Dim contabilizable As Boolean = False
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importe, Concepto, 68, Concepto, Now, IdCtaContableOrigen, -1, CveMovimientoAlmacen:=CveMovimientoSalida, Contabilizable:=contabilizable, ImporteMX:=importe) Then
ErrorMovInv = True
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, Concepto, 68, Concepto, Now, IdCtaContableOrigen, -1, CveMovimientoAlmacen:=CveMovimientoEntrada, Contabilizable:=contabilizable, ImporteMX:=importe) Then
ErrorMovInv = True
End If
End If
End If
Catch ex As Exception
ErrorMovInv = True
OnError("Ocurrió un error al agregar el inventario", ex)

View File

@@ -3001,31 +3001,34 @@ Partial Class Inventarios_RecepcionAlmacen
Dim CveAlmacenVirtual As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=DdlAlmacen.SelectedValue.ToEntero()).FiltroPrimeroValor("CveAlmacenVirtual").ToEntero()
CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirtual, 13, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompraSurtir, -1, -1, -1, CveMovimientoRelacionado:=CveMovimientoRef, Observaciones:=TxtObservaciones.Text.Trim, Modulo:="RA/VD")
If CveMovimientoVirtual > 0 Then
FolioVirtual = ObjInventario.Folio
For Each RowUsado As DataRow In DtPSVirtual.Rows
Dim CvePS = RowUsado("CvePS").ToString().ToEntero()
Dim CantidadUsado As Decimal = RowUsado("Cantidad").ToString().ToDecimal()
Dim PU As Decimal = RowUsado("Cargo").ToString().ToDecimal()
Dim CveUM As Integer = RowUsado("CveUM").ToString().ToEntero()
CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirtual, 13, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompraSurtir, -1, -1, -1, CveMovimientoRelacionado:=CveMovimientoRef, Observaciones:=TxtObservaciones.Text.Trim, Modulo:="RA/VD")
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtual, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
ErrorMovInv = True
Exit For
If CveMovimientoVirtual > 0 Then
FolioVirtual = ObjInventario.Folio
For Each RowUsado As DataRow In DtPSVirtual.Rows
Dim CvePS = RowUsado("CvePS").ToString().ToEntero()
Dim CantidadUsado As Decimal = RowUsado("Cantidad").ToString().ToDecimal()
Dim PU As Decimal = RowUsado("Cargo").ToString().ToDecimal()
Dim CveUM As Integer = RowUsado("CveUM").ToString().ToEntero()
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtual, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
ErrorMovInv = True
Exit For
End If
Next
If SumarImporteUsados Then
If ObjInventario.GetMovimientosDetalle(CveMovimientoVirtual, UsuarioActual.CveEmpresa) Then
ImporteIngresoAdicional = ObjInventario.DtResultados.SUMD("TotalOriginal")
End If
End If
Next
If SumarImporteUsados Then
If ObjInventario.GetMovimientosDetalle(CveMovimientoVirtual, UsuarioActual.CveEmpresa) Then
ImporteIngresoAdicional = ObjInventario.DtResultados.SUMD("TotalOriginal")
End If
Else
ErrorMovInv = True
End If
Else
ErrorMovInv = True
End If
Else

View File

@@ -369,20 +369,26 @@
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlBCIAjuste" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" CausesValidation="true" DataTextField="BCI" DataValueField="CveBCIUsado" Width="100%" AutoPostBack="true">
</asp:DropDownList>
<label for="<%= DdlBCIAjuste.ClientID.ToString()%>">BCI:</label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtEtiqueta" CssClass="form-control" runat="server" MaxLength="50"></asp:TextBox>
<label for="<%= TxtEtiqueta.ClientID.ToString()%>">Etiqueta:</label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-8">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlFolioGarantia" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" CausesValidation="true" DataTextField="FolioGarantia" DataValueField="CveFolioGarantia" Width="100%" AutoPostBack="true">
</asp:DropDownList>
<%-- <asp:RequiredFieldValidator ID="RFVFolioGarantia" runat="server" ControlToValidate="DdlFolioGarantia" InitialValue="-1" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Folio''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAjuste"></asp:RequiredFieldValidator>
<%-- <asp:RequiredFieldValidator ID="RFVFolioGarantia" runat="server" ControlToValidate="DdlFolioGarantia" InitialValue="-1" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Folio''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAjuste"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEFolioGarantia" runat="server" HighlightCssClass="vco" TargetControlID="RFVFolioGarantia"></ajax:ValidatorCalloutExtender>--%>
<label for="<%= DdlFolioGarantia.ClientID.ToString()%>">Folio:</label>
</div>

View File

@@ -2656,6 +2656,7 @@ Partial Class Inventarios_RecepcionUsados
TmpDTAjustes.Columns.Add("CveFolioGarantia", GetType(Integer))
TmpDTAjustes.Columns.Add("CveTipoUso", GetType(Integer))
TmpDTAjustes.Columns.Add("CveTipoDefecto", GetType(Integer))
TmpDTAjustes.Columns.Add("CodigoTD", GetType(String))
TmpDTAjustes.Columns.Add("CodigoEnsamble", GetType(String))
TmpDTAjustes.Columns.Add("CodigoLinea", GetType(String))
TmpDTAjustes.Columns.Add("CodigoInspeccion", GetType(String))
@@ -2664,7 +2665,8 @@ Partial Class Inventarios_RecepcionUsados
TmpDTAjustes.Columns.Add("FechaAjuste", GetType(Date))
TmpDTAjustes.Columns.Add("Meses", GetType(String))
TmpDTAjustes.Columns.Add("PorcentajeAjuste", GetType(Double))
TmpDTAjustes.Columns.Add("NumPoliza", GetType(String))
TmpDTAjustes.Columns.Add("TipoComprobante", GetType(Integer))
TmpDTAjustes.Columns.Add("Comprobante", GetType(String))
TmpDTAjustes.Columns.Add("Importe", GetType(Double))
TmpDTAjustes.Columns.Add("CvePS", GetType(Integer))
TmpDTAjustes.Columns.Add("PS", GetType(String))
@@ -2673,6 +2675,11 @@ Partial Class Inventarios_RecepcionUsados
TmpDTAjustes.Columns.Add("CveVentaDetalle", GetType(Integer))
TmpDTAjustes.Columns.Add("CveVenta", GetType(Integer))
TmpDTAjustes.Columns.Add("PUFactura", GetType(Double))
TmpDTAjustes.Columns.Add("CveBCIAjuste", GetType(Integer))
TmpDTAjustes.Columns.Add("Etiqueta", GetType(String))
TmpDTAjustes.Columns.Add("CveClienteDistribuidor", GetType(Integer))
TmpDTAjustes.Columns.Add("CveModeloAuto", GetType(Integer))
TmpDTAjustes.Columns.Add("Año", GetType(String))
End Sub
Private Sub CargaPSAjuste()
DdlPSAjuste.setEsWebService(True)
@@ -2963,6 +2970,7 @@ Partial Class Inventarios_RecepcionUsados
Row("CveFolioGarantia") = DdlFolioGarantia.SelectedValue.ToEntero
Row("CveTipoUso") = DdlTipoUso.SelectedValue.ToEntero
Row("CveTipoDefecto") = DdlTipoDefecto.SelectedValue.ToEntero
Row("CodigoTD") = TxtCodigoTD.Text
Row("CodigoEnsamble") = TxtCodEnsamble.Text
Row("CodigoLinea") = TxtCodLinea.Text
Row("CodigoInspeccion") = TxtCodInspeccion.Text
@@ -2970,7 +2978,8 @@ Partial Class Inventarios_RecepcionUsados
Row("FechaAjuste") = TxtFechaAjuste.Text.ToDate
Row("Meses") = TxtMesesUso.Text.ToEntero
Row("PorcentajeAjuste") = TxtPorcentajeAjuste.Text.ToDouble
Row("NumPoliza") = TxtPoliza.Text
Row("TipoComprobante") = 1
Row("Comprobante") = TxtPoliza.Text
Row("Importe") = TxtImporteAjuste.Text.ToDouble
Row("ConsecutivoVenta") = TxtConsecutivoAjuste.Text.ToEntero()
Row("CvePS") = DdlPSAjuste.SelectedValue
@@ -2988,6 +2997,11 @@ Partial Class Inventarios_RecepcionUsados
End If
Row("CveUM") = CveUM
Row("CveVentaDetalle") = -1
Row("CveBCIAjuste") = DdlBCIAjuste.SelectedValue.ToEntero()
Row("Etiqueta") = TxtEtiqueta.Text.TrimStart.TrimEnd
Row("CveClienteDistribuidor") = -1
Row("CveModeloAuto") = -1
Row("Año") = ""
TmpDTAjustes.Rows.Add(Row)

View File

@@ -864,7 +864,7 @@ Partial Class Inventarios_ResguardoMaterial
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
Dim CveSeccionAlmacen As Integer = 0
Importe = ObjInventario.DtResultados.SUMD("Total").RoundSQL
Importe = ObjInventario.DtResultados.SUMD("Total").RoundAD
For Each Dr As DataRow In ObjInventario.DtResultados.Rows
If CBool(Dr("AplicaSeccion")) Then
CveSeccionAlmacen = GlobalDTInvPSSeccionesAlmacen(UsuarioActual.CveEmpresa, DdlAlmacenDestino.SelectedValue.ToEntero, Dr("CvePS").ToString.ToEntero).FiltroPrimeroValor("CveSeccionAlmacen").ToEntero
@@ -929,7 +929,7 @@ Partial Class Inventarios_ResguardoMaterial
Else
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
Cont = 0
Importe = ObjInventario.DtResultados.SUMD("Total").RoundSQL
Importe = ObjInventario.DtResultados.SUMD("Total").RoundAD
For Each Dr As DataRow In ObjInventario.DtResultados.Rows
Dim CveSeccionAlmacen As Integer = DiccionarioSecciones(Dr("CveMovimientoDetalle").ToString.ToEntero).ToString.ToEntero
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, Dr("CveAF").ToString.ToEntero, CveSeccionAlmacen:=CveSeccionAlmacen, Serie:=Dr("Serie").ToString, Observaciones:=Dr("Observaciones").ToString) Then

View File

@@ -121,6 +121,9 @@ public partial class OI_Tablero : ClsPaginas
{
CargaTablero();
this.Alert("El Tablero Se ha Eliminado");
}else
{
this.Alert("El Tablero Se ha Eliminado", ModExtensiones.TipoMensaje.MsgAdvertencia);
}
}
protected void LnkTableros_Click(object sender, EventArgs e)

View File

@@ -83,7 +83,7 @@
<div style="">
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False"
DataKeyNames="CveSubProyecto,SubProyecto,IdSegNeg,Estatus,Serie,IVA,Calle,NoExt,NoInt,Colonia,Localidad,Municipio,Estado,Pais,CP,CveProyecto,TipoSucursal,EsSucursal,
CvePais,CveEstado,CveMunicipio,CveColonia,AplicaComercioExterior,CvePrecioLista,Correo,Telefono,UTCOffsetVerano,UTCOffsetInvierno,NoVerificaAlmacen"
CvePais,CveEstado,CveMunicipio,CveColonia,AplicaComercioExterior,CvePrecioLista,Correo,Telefono,UTCOffsetVerano,UTCOffsetInvierno,NoVerificaAlmacen,CodigoSucursal"
EmptyDataText="No se encontraron SubProyectos" ShowHeader="true" CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" data-sort="true" BorderWidth="1" BorderColor="#D3D3D3" GridLines="None">
<Columns>
<asp:BoundField DataField="SubProyecto" HeaderText="Centro de costo" />
@@ -158,6 +158,10 @@
</asp:DropDownList>
<label for="<%= DdlSegmentoNegocio.ClientID.ToString()%>">Segmento Negocio:</label>
</div>
<div id="DivCodigoSucursal" runat="server" visible="false" class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtCodigoSucursal" runat="server" CssClass="form-control"></asp:TextBox>
<label for="<%= TxtCentroCosto.ClientID.ToString()%>">Código Sucursal:</label>
</div>
<br />
<div class="row">
<div class="col-md-6">

View File

@@ -61,6 +61,11 @@ Partial Class CatSubProyectos
GvDatos.Columns(2).Visible = False
End If
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
DivCodigoSucursal.Visible = True
End If
CargaProyecto()
CargaSegmentosNegocio()
@@ -296,7 +301,8 @@ Partial Class CatSubProyectos
CargaColonia()
DdlColonia.SelectedValueExist(GvRow.DataKey("CveColonia"))
AplicaComercio()
ChkNoVerificaAlmacen.Checked = If(GvRow.DataKey("NoVerificaAlmacen").ToString = "True", True, False)
ChkNoVerificaAlmacen.Checked = If(GvRow.DataKey("NoVerificaAlmacen").ToString = "True", True, False)
TxtCodigoSucursal.Text = (GvRow.DataKey("CodigoSucursal"))
BtnGuardar.Text = "Actualizar"
CargaRequired()
@@ -366,7 +372,7 @@ Partial Class CatSubProyectos
If Not ObjSubproyectos.AddCentroCosto(TxtCentroCosto.Text.Trim, IdSeg, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, DdlProyecto.SelectedValue.ToEntero, Serie:=TxtSerie.Text.Trim, IVA:=TxtIVA.Text.ToDecimal, Calle:=TxtCalle.Text.Trim, NoExt:=TxtNoExt.Text.Trim,
NoInt:=TxtNoInt.Text.Trim, Colonia:=TxtColonia.Text.Trim, Localidad:=TxtLocalidad.Text.Trim, Municipio:=TxtMunicipio.Text.Trim, Estado:=TxtEstado.Text.Trim, Pais:=TxtPais.Text.Trim, CP:=TxtCP.Text.Trim, TipoSucursal:=TipoSucursal, EsSucursal:=EsSucursal,
CvePais:=DdlPais.SelectedValue.ToEntero, CveEstado:=DdlEstado.SelectedValue.ToEntero, CveMunicipio:=DdlMunicipio.SelectedValue.ToEntero, CveColonia:=DdlColonia.SelectedValue.ToEntero, AplicaComercioExterior:=ChkAplicaComercioExterior.Checked, Correo:=TxtCorreo.Text, CvePrecioLista:=DdlPrecioLista.SelectedValue.ToEntero,
Telefono:=TxtTelefono.Text, NoVerificaAlmacen:=ChkNoVerificaAlmacen.Checked) Then
Telefono:=TxtTelefono.Text, NoVerificaAlmacen:=ChkNoVerificaAlmacen.Checked, CodigoSucursal:=TxtCodigoSucursal.Text.Trim) Then
TieneError = True
Else
CveSubProyecto = ObjSubproyectos.CveSubProyecto
@@ -376,7 +382,7 @@ Partial Class CatSubProyectos
If Not ObjSubproyectos.UpdateCentroCosto(CveCentroCosto, TxtCentroCosto.Text.Trim, IdSeg, If(ChkEstatus.Checked = True, 1, 0), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, DdlProyecto.SelectedValue.ToEntero, Serie:=TxtSerie.Text.Trim, IVA:=TxtIVA.Text.ToDecimal, Calle:=TxtCalle.Text.Trim, NoExt:=TxtNoExt.Text.Trim,
NoInt:=TxtNoInt.Text.Trim, Colonia:=TxtColonia.Text.Trim, Localidad:=TxtLocalidad.Text.Trim, Municipio:=TxtMunicipio.Text.Trim, Estado:=TxtEstado.Text.Trim, Pais:=TxtPais.Text.Trim, CP:=TxtCP.Text.Trim, TipoSucursal:=TipoSucursal, EsSucursal:=EsSucursal,
CvePais:=DdlPais.SelectedValue.ToEntero, CveEstado:=DdlEstado.SelectedValue.ToEntero, CveMunicipio:=DdlMunicipio.SelectedValue.ToEntero, CveColonia:=DdlColonia.SelectedValue.ToEntero, AplicaComercioExterior:=ChkAplicaComercioExterior.Checked, Correo:=TxtCorreo.Text, CvePrecioLista:=DdlPrecioLista.SelectedValue.ToEntero,
Telefono:=TxtTelefono.Text, HorarioVerano:=TxtHorarioVerano.Text.ToEntero, HorarioInvierno:=TxtHorarioInvierno.Text.ToEntero, NoVerificaAlmacen:=ChkNoVerificaAlmacen.Checked) Then
Telefono:=TxtTelefono.Text, HorarioVerano:=TxtHorarioVerano.Text.ToEntero, HorarioInvierno:=TxtHorarioInvierno.Text.ToEntero, NoVerificaAlmacen:=ChkNoVerificaAlmacen.Checked, CodigoSucursal:=TxtCodigoSucursal.Text.Trim) Then
TieneError = True
End If
Else

View File

@@ -683,7 +683,7 @@ Partial Class Sistemas_WizardRegistro
If Array.Length = 2 Then
Dim ObjPermisos As New ClsSisRoles()
ViewState("CveRol") = Array(0).ToEntero
If ObjPermisos.GetRolesModulos(Array(0).ToEntero, -1) Then
If ObjPermisos.GetRolesModulos(Array(0).ToEntero, -1, CvePlataforma:=1, CveEmpresa:=CveEmpresa) Then
GvPermisos.DataSource = ObjPermisos.DtResultados.FiltraParametros("AGRUPACION ='N'")
Else
GvPermisos.DataSource = Nothing

View File

@@ -90,7 +90,7 @@ Partial Class CatRoles
If Array.Length = 2 Then
Dim ObjPermisos As New ClsSisRoles()
ViewState("CveRol") = Array(0).ToEntero
If ObjPermisos.GetRolesModulos(Array(0).ToEntero, -1) Then
If ObjPermisos.GetRolesModulos(Array(0).ToEntero, -1, 1, UsuarioActual.CveEmpresa) Then
GvPermisos.DataSource = ObjPermisos.DtResultados.FiltraParametros("AGRUPACION ='N'")
Else
GvPermisos.DataSource = Nothing

View File

@@ -76,7 +76,7 @@ Partial Class Sistemas_PermisosPorUsuario
UsuarioControlado = False
End If
Dim ObjRoles As New ClsSisRoles
If ObjRoles.GetRolesModulos(-1, -1) Then
If ObjRoles.GetRolesModulos(-1, -1, 1, UsuarioActual.CveEmpresa) Then
DTRolesModulos = ObjRoles.DtResultados
End If
ObjRoles.Dispose()

View File

@@ -92,7 +92,7 @@ Partial Class Sistemas_RolesDetalle
Private Sub CargaGridPermisos()
Dim ObjPermisos As New ClsSisRoles()
If ObjPermisos.GetRolesModulos(CveRol, -1) Then
If ObjPermisos.GetRolesModulos(CveRol, -1, 1, UsuarioActual.CveEmpresa) Then
GvPermisos.DataSource = ObjPermisos.DtResultados.FiltraParametros("AGRUPACION ='N'")
Else
GvPermisos.DataSource = Nothing

View File

@@ -2941,7 +2941,7 @@ Partial Class Sistemas_UsuarioDetalle
#Region "TAB - ACCESO MODULOS"
Public Sub CargaModulosAcceso()
Dim ObjPermisos As New ClsSisUsuarios
If ObjPermisos.GetUsuariosModulos(CveUsuario, UsuarioActual.CveEmpresa, If(UsuarioControlado, UsuarioActual.CveUsuario, -1)) Then
If ObjPermisos.GetUsuariosModulos(CveUsuario, UsuarioActual.CveEmpresa, If(UsuarioControlado, UsuarioActual.CveUsuario, -1), CvePlataforma:=1) Then
DTModulos = ObjPermisos.DtResultados.FiltraParametros("Liga <> '' ")
Else
DTModulos = Nothing

View File

@@ -316,12 +316,14 @@
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField Visible="false">
<%--<asp:TemplateField Visible="false">
<HeaderTemplate>CIE</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlCIE" runat="server" Text='<%# Eval("ConvenioCIE") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</asp:TemplateField>--%>
<asp:TemplateField Visible="false" ItemStyle-HorizontalAlign="Left">
<HeaderTemplate>Calle</HeaderTemplate>
<ItemTemplate>
@@ -441,7 +443,7 @@
</tr>
<tr>
<td style="text-align: left">
<asp:CheckBox ID="ChkCIE" runat="server" Text="CIE" /></td>
<%--<asp:CheckBox ID="ChkCIE" runat="server" Text="CIE" /></td>--%>
<td style="text-align: left">
<asp:CheckBox ID="ChkCalle" runat="server" Text="Calle" /></td>
</tr>

View File

@@ -163,11 +163,11 @@ Partial Class CatClientes
GvDatos.Columns(21).Visible = ChkRetISR.Checked
GvDatos.Columns(22).Visible = ChkPlazoCobranza.Checked
GvDatos.Columns(23).Visible = ChkLimiteCredito.Checked
GvDatos.Columns(24).Visible = ChkCIE.Checked
GvDatos.Columns(25).Visible = ChkCalle.Checked
GvDatos.Columns(26).Visible = ChkCelular.Checked
GvDatos.Columns(27).Visible = ChkCorreoCotizacion.Checked
GvDatos.Columns(28).Visible = ChkOtroTelefono.Checked
'GvDatos.Columns(24).Visible = ChkCIE.Checked
GvDatos.Columns(24).Visible = ChkCalle.Checked
GvDatos.Columns(25).Visible = ChkCelular.Checked
GvDatos.Columns(26).Visible = ChkCorreoCotizacion.Checked
GvDatos.Columns(27).Visible = ChkOtroTelefono.Checked
CargaDatos()

View File

@@ -906,27 +906,27 @@
</div>
</div>
<div class="portlet-body form">
<div class="form-group form-md-line-input">
<%-- <div class="form-group form-md-line-input">
<asp:TextBox ID="TxtConvenioCIE" CssClass="form-control" runat="server" MaxLength="50" Enabled="false"></asp:TextBox>
<label for="<%= TxtConvenioCIE.ClientID.ToString()%>">Convenio CIE:</label>
</div>
</div>--%>
<div class="form-group form-md-line-input">
<asp:TextBox ID="TxtReferenciaFiscal" CssClass="form-control" runat="server" Enabled="false"></asp:TextBox>
<label for="<%= TxtReferenciaFiscal.ClientID.ToString()%>">Referencia:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<%-- <div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtNumCtaPago" CssClass="form-control" runat="server" MaxLength="30" Enabled="false"></asp:TextBox>
<label for="<%= TxtNumCtaPago.ClientID.ToString()%>">Número de cuenta de Pago: </label>
<i></i>
</div>
<div class="form-group form-md-line-input input-iconright">
</div>--%>
<%-- <div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlMetodoPago" CssClass="form-control select2me" runat="server" AppendDataBoundItems="true" CausesValidation="true" DataTextField="MetodoPago" DataValueField="CveMetodoPago" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<label for="<%= DdlMetodoPago.ClientID.ToString()%>">Método de Pago:</label>
<asp:RequiredFieldValidator ID="RFVMetodoPago" runat="server" ControlToValidate="DdlMetodoPago" CssClass="help-block" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Método de Pago''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<i></i>
</div>
</div>--%>
<div id="DivRetenciones" runat="server">
<div class="row">
<div class="col-md-6">

View File

@@ -1242,10 +1242,10 @@ Partial Class Clientes
End Sub
Private Sub CargaMetodosPago()
DdlMetodoPago.DataSource = GlobalDTMetodosPago.FiltraParametros("Estatus = 'Activo'", "ClaveSAT") '.FiltraParametros("CveMetodoPago > 0 ")
'DdlMetodoPago.DataSource = GlobalDTMetodosPago.FiltraParametros("Estatus = 'Activo'", "ClaveSAT") '.FiltraParametros("CveMetodoPago > 0 ")
DdlMetodoPagoSucursal.DataSource = GlobalDTMetodosPago.FiltraParametros("Estatus = 'Activo'", "ClaveSAT")
DdlMetodoPagoSucursal.DataBind()
DdlMetodoPago.DataBind()
'DdlMetodoPago.DataBind()
End Sub
Private Sub CargaPrecioLista()
DdlPrecioLista.DataSource = GlobalDTPrecioListas(UsuarioActual.CveEmpresa)
@@ -1495,10 +1495,8 @@ Partial Class Clientes
IdCtaAnticipos = ObjClientes.IdCtaContAnticipos.ToString
IdCtaRetIVA = ObjClientes.IdCtaContRetIVA.ToString
IdCtaRetISR = ObjClientes.IdCtaContRetISR.ToString
IdCtaFondoGarantia = ObjClientes.IdCtaContFondoGarantia.ToString
TxtConvenioCIE.Text = ObjClientes.ConvenioCIE
TxtNumCtaPago.Text = ObjClientes.NumCtaPago
DdlMetodoPago.SelectedValue = ObjClientes.CveMetodoPago.ToString
IdCtaFondoGarantia = ObjClientes.IdCtaContFondoGarantia.ToString
'DdlMetodoPago.SelectedValue = ObjClientes.CveMetodoPago.ToString
TxtFormaFacturacion.Text = ObjClientes.FormaFacturacion
ChkPermiteCredito.Checked = ObjClientes.PermiteCredito
TxtLimiteCredito.Text = ObjClientes.LimiteCredito.FormatoNumero
@@ -2515,10 +2513,10 @@ Partial Class Clientes
End If
End If
Dim MetodoPago = DdlMetodoPago.SelectedValue.ToEntero
If UsuarioActual.Empresa.CvePlataforma = 3 Then
MetodoPago = 1
End If
'Dim MetodoPago = DdlMetodoPago.SelectedValue.ToEntero
'If UsuarioActual.Empresa.CvePlataforma = 3 Then
' MetodoPago = 1
'End If
Dim Giro As String = If(DdlClasificacion.SelectedValue.ToEntero() <> -1, DdlClasificacion.SelectedItem.Text, "")
@@ -2529,7 +2527,7 @@ Partial Class Clientes
DiasPago, DdlTipoPago.SelectedValue, DdlCtaContableClientes.SelectedValue.ToEntero, DdlCtaContableClientes.SelectedItem.Text, DdlCtaContableAnticipos.SelectedValue.ToEntero,
DdlCtaContableClientes.SelectedItem.Text, DdlCtaContableRetIVA.SelectedValue.ToEntero, DdlCtaContableClientes.SelectedItem.Text, DdlCtaContableRetISR.SelectedValue.ToEntero, DdlCtaContableClientes.SelectedItem.Text, DdlCtaContableFondoGarantia.SelectedValue.ToEntero,
DdlCtaContableClientes.SelectedItem.Text, DdlCtaContableCompClientes.SelectedValue.ToEntero, DdlCtaContableCompClientes.SelectedItem.Text, DdlCtaContableCompAnticipos.SelectedValue.ToEntero, DdlCtaContableCompAnticipos.SelectedItem.Text,
TxtConvenioCIE.Text.Trim, TxtFormaFacturacion.Text.Trim, TxtCodigo.Text.Trim, TxtLimiteCredito.Text.ToDouble, TxtNumCtaPago.Text.Trim, MetodoPago, ChkAplicaFEMSA.Checked, TxtFEMSA_NumSociedad.Text.Trim,
TxtFormaFacturacion.Text.Trim, TxtCodigo.Text.Trim, TxtLimiteCredito.Text.ToDouble, ChkAplicaFEMSA.Checked, TxtFEMSA_NumSociedad.Text.Trim,
TxtFEMSA_NumProveedor.Text.Trim, TxtFEMA_Mail.Text.Trim, ChkAplicaDetallista.Checked, TxtDet_GLNComprador.Text.Trim, TxtDet_Departamento.Text.Trim, TxtDet_GLNVendedor.Text.Trim, TxtDet_NumProveedor.Text.Trim, TxtProveedor.Text.Trim, ChkAplicaFord.Checked, TxtFordGSDB.Text.Trim,
TxtExtension.Text.Trim, TxtTelefonoOtro.Text.Trim.Trim.Replace(" ", "").Replace("(", "").Replace(")", "").Replace("-", "").Replace("_", ""), ChkPermiteCredito.Checked, DdlSubProyecto.SelectedValue.ToEntero, DdlCorporativo.SelectedValue.ToEntero,
CveClienteClasificacion:=DdlClasificacion.SelectedValue.ToEntero, CveUsuarioResponsable:=DdlResponsable.SelectedValue.ToEntero,
@@ -2624,7 +2622,7 @@ Partial Class Clientes
DdlCtaContableClientes.SelectedValue.ToEntero, DdlCtaContableClientes.SelectedItem.Text, DdlCtaContableAnticipos.SelectedValue.ToEntero, DdlCtaContableAnticipos.SelectedItem.Text, DdlCtaContableRetIVA.SelectedValue.ToEntero, DdlCtaContableClientes.SelectedItem.Text, DdlCtaContableRetISR.SelectedValue.ToEntero,
DdlCtaContableClientes.SelectedItem.Text, DdlCtaContableFondoGarantia.SelectedValue.ToEntero, DdlCtaContableClientes.SelectedItem.Text, DdlCtaContableCompClientes.SelectedValue.ToEntero, DdlCtaContableCompClientes.SelectedItem.Text, DdlCtaContableCompAnticipos.SelectedValue.ToEntero, DdlCtaContableCompAnticipos.SelectedItem.Text,
DdlMonedaExtranjeraClientes.SelectedValue.ToEntero, DdlMonedaExtranjeraClientes.SelectedItem.Text, DdlMonedaExtranjeraAnticipos.SelectedValue.ToEntero, DdlMonedaExtranjeraAnticipos.SelectedItem.Text,
TxtConvenioCIE.Text.Trim, TxtFormaFacturacion.Text.Trim, TxtCodigo.Text.Trim, TxtLimiteCredito.Text.ToDouble, TxtNumCtaPago.Text.Trim, DdlMetodoPago.SelectedValue.ToEntero, ChkAplicaFEMSA.Checked, TxtFEMSA_NumSociedad.Text.Trim, TxtFEMSA_NumProveedor.Text.Trim, TxtFEMA_Mail.Text.Trim,
TxtFormaFacturacion.Text.Trim, TxtCodigo.Text.Trim, TxtLimiteCredito.Text.ToDouble, ChkAplicaFEMSA.Checked, TxtFEMSA_NumSociedad.Text.Trim, TxtFEMSA_NumProveedor.Text.Trim, TxtFEMA_Mail.Text.Trim,
ChkAplicaDetallista.Checked, TxtDet_GLNComprador.Text.Trim, TxtDet_Departamento.Text.Trim, TxtDet_GLNVendedor.Text.Trim, TxtDet_NumProveedor.Text.Trim, TxtProveedor.Text.Trim, ChkAplicaFord.Checked, TxtFordGSDB.Text.Trim, UsuarioActual.CveUsuario,
CveCliente, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, TxtExtension.Text.Trim, TxtTelefonoOtro.Text.Trim.Replace(" ", "").Replace("(", "").Replace(")", "").Replace("-", "").Replace("_", ""), ChkPermiteCredito.Checked, DdlSubProyecto.SelectedValue.ToEntero, DdlCorporativo.SelectedValue.ToEntero, CveClienteClasificacion:=DdlClasificacion.SelectedValue.ToEntero, CveUsuarioResponsable:=DdlResponsable.SelectedValue.ToEntero,
CveCondicionEntrega:=DdlCondicionesEntrega.SelectedValue.ToEntero, ImprimeNombreSucursal:=ChkMuestraNombre.Checked, CveZonaHoraria:=DdlZonaHoraria.SelectedValue.ToEntero, CobranzaContacto:=TxtCobranzaContacto.Text.Trim, CobranzaTelefono:=TxtCobranzaTelefono.Text.Trim.Replace(" ", "").Replace("(", "").Replace(")", "").Replace("-", "").Replace("_", ""), CobranzaExt:=TxtCobranzaExt.Text,
@@ -6122,7 +6120,7 @@ Partial Class Clientes
End If
If TxtNumeroCuenta2.Text.Trim.Length = 0 AndAlso TxtCLABE.Text.Trim.Length = 0 AndAlso TxtSWIFT.Text.Trim.Length = 0 AndAlso TxtConvenioCIE.Text.Trim.Length = 0 Then
If TxtNumeroCuenta2.Text.Trim.Length = 0 AndAlso TxtCLABE.Text.Trim.Length = 0 AndAlso TxtSWIFT.Text.Trim.Length = 0 Then
Alert("Debe especificar al menos un numero de cuenta.", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
@@ -9458,9 +9456,9 @@ Partial Class Clientes
ObjFactura.Fecha = Now
ObjFactura.CvePrePoliza = -1
ObjFactura.CveMetodoPago = DdlMetodoPago.SelectedValue.ToEntero
ObjFactura.MetodoPago = DdlMetodoPago.SelectedItem.Text
ObjFactura.ClaveMetodoPagoSAT = GlobalDTMetodosPago.FiltroPrimeroValor("ClaveSAT", $"CveMetodoPago = {DdlMetodoPago.SelectedValue}")
'ObjFactura.CveMetodoPago = DdlMetodoPago.SelectedValue.ToEntero
'ObjFactura.MetodoPago = DdlMetodoPago.SelectedItem.Text
'ObjFactura.ClaveMetodoPagoSAT = GlobalDTMetodosPago.FiltroPrimeroValor("ClaveSAT", $"CveMetodoPago = {DdlMetodoPago.SelectedValue}")
ObjFactura.FechaVencimiento = TxtFechaPago.Text.ToDate
ObjFactura.CveMetodoPago33 = DdlMetodoPago33.SelectedValue.ToEntero

View File

@@ -652,6 +652,32 @@ Partial Class Ventas_ClientesAbonar
Protected Sub BtnIEGuardar_Click(sender As Object, e As EventArgs) Handles BtnIEGuardar.Click
Dim ValFechaDocumento As Boolean = False
Dim FoliosFechasValFechaDocumento As New StringBuilder
FoliosFechasValFechaDocumento.AppendLine("Se seleccionaron facturas con fecha superior a la fecha de pago: <br/>")
For Each gvRowVal As GridViewRow In GvCxC.Rows
If gvRowVal.FCCheckBox("Chk").Checked Then
If gvRowVal.DataKey("Fecha").ToDate.ToString("dd/MM/yyyy").ToDate > TxtFechaDocumento.Text.ToDate Then
FoliosFechasValFechaDocumento.AppendLine($"Folio: { gvRowVal.DataKey("SerieFolio") } fecha: {gvRowVal.DataKey("Fecha").ToDate.ToString("dd/MM/yyyy") } <br/>")
ValFechaDocumento = True
End If
End If
Next
If ValFechaDocumento Then
Alert(FoliosFechasValFechaDocumento.ToString, TipoMensaje.MsgAdvertencia)
Exit Sub
End If
If Not TxtImporte.Text.ToDecimal > 0 Then
Alert("Debe de llevar un Importe", TipoMensaje.MsgAdvertencia)
Exit Sub

View File

@@ -167,6 +167,14 @@
.no-padding {
padding: 0 !important;
}
.labelgray {
top: 0;
margin-bottom: 0;
font-size: 13px;
color: #888888;
opacity: 1;
}
</style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
@@ -819,7 +827,7 @@
<td>
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:TextBox ID="TxtTotal" runat="server" ClientIDMode="Static" BorderStyle="None" Style="text-align: right;" Text="0.00" Width="78px"></asp:TextBox>
<asp:TextBox ID="TxtTotal" runat="server" ClientIDMode="Static" BorderStyle="None" Style="text-align: right; font-weight:bold" Text="0.00" Width="78px"></asp:TextBox>
<asp:HiddenField ID="HdnVentaSaldo" runat="server" ClientIDMode="Static" Value="0" />
<asp:HiddenField ID="HdnTotalVenta" runat="server" ClientIDMode="Static" Value="0" />
</ContentTemplate>
@@ -2645,8 +2653,8 @@
<div class="row">
<div class="col-md-12">
<div class="form-group form-md-line-input input-iconright">
<label for="<%= DdlPS.ClientID.ToString()%>">Producto/Servicio:</label>
<ADS:Dropdownlost runat="server" ID="DdlPS" CssStyle="width: 100%;" CssClass=" form-control input-sm DdlPS" IncluyeTodos="false" CssClassDdl="select2me form-control" DataTextField="PSCodigo" DataValueField="CvePS" data-onresult="CargaExistenciaAlmacenes" Onselectedindexchange="DdlPS_SelectedIndexChanged" />
<label for="<%= DdlPS.ClientID.ToString()%>">Producto/Servicio:</label>
</div>
</div>
</div>
@@ -2667,7 +2675,7 @@
</asp:UpdatePanel>
<div class="row">
<div class="col-md-7">
<label>Observación:</label>
<label class="labelgray">Observación:</label>
<br />
<asp:TextBox ID="TxtObsPS" runat="server" Height="100%" Width="100%" TextMode="MultiLine" CausesValidation="true" MaxLength="500"></asp:TextBox>
</div>
@@ -2763,7 +2771,7 @@
<div class="form-group form-md-line-input input-iconright">
<div class="row">
<div class="col-md-6">
<asp:Label ID="LblTot" runat="server">Total: $</asp:Label>
<asp:Label ID="LblTot" runat="server" CssClass="labelgray">Total: $</asp:Label>
<asp:Label ID="LblTotalPS" runat="server" ClientIDMode="Static" Text="0.00"></asp:Label>
</div>
<div class="col-md-6" align="right" id="divagregrarotrops" runat="server">
@@ -2816,12 +2824,13 @@
</div>
<div class="row">
<div class="col-md-5">
<div>
<label for="<%= DdlDistribuidor.ClientID.ToString()%>">Distribuidor:</label><br />
<ADS:Dropdownlost ID="DdlDistribuidor" data-metodo="getcliente" CssStyle="width:100%" CssClassDdl="select2me" runat="server" DataTextField="CodigoNombre" DataValueField="CveCliente" Width="300px"></ADS:Dropdownlost>
<div class="form-group form-md-line-input input-iconright">
<ADS:Dropdownlost ID="DdlDistribuidor" data-metodo="getcliente" CssStyle="width:100%" CssClass=" form-control input-sm DdlPS" CssClassDdl="select2me form-control" runat="server" DataTextField="CodigoNombre" DataValueField="CveCliente" Width="300px"></ADS:Dropdownlost>
<label for="<%= DdlDistribuidor.ClientID.ToString()%>">Distribuidor:</label>
</div>
</div>
</div>
<br />
<div class="row">
<div class="col-md-9">
<div class="form-group form-md-line-input input-iconright">
@@ -2842,13 +2851,19 @@
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlBCIAjuste" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" CausesValidation="true" DataTextField="BCI" DataValueField="CveBCIUsado" Width="100%" AutoPostBack="true">
</asp:DropDownList>
<label for="<%= DdlBCIAjuste.ClientID.ToString()%>">BCI:</label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtEtiqueta" CssClass="form-control" runat="server" MaxLength="50"></asp:TextBox>
<label for="<%= TxtEtiqueta.ClientID.ToString()%>">Etiqueta:</label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-8">
@@ -2897,7 +2912,7 @@
</div>
</div>
<div class="col-md-4">
<label for="<%= TxtFechaAjuste.ClientID.ToString()%>">Fecha:</label>
<label for="<%= TxtFechaAjuste.ClientID.ToString()%>" class="labelgray">Fecha:</label>
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 120px !important; padding: 0px;">
<asp:TextBox ID="TxtFechaAjuste" CssClass="form-control input-sm ADSMaskDate" Width="100%" runat="server"></asp:TextBox>
<span class="input-group-btn ">
@@ -2923,11 +2938,11 @@
</div>
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtMesesUso" CssClass="form-control" runat="server" MaxLength="50" Enabled="false"></asp:TextBox>
<asp:TextBox ID="TxtMesesUso" CssClass="form-control" runat="server" MaxLength="50" Enabled="false" style="font-weight:bold"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVMesesUso" runat="server" ControlToValidate="TxtMesesUso" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Meses de Uso''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAddVenta"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEMesesUso" runat="server" HighlightCssClass="vco" TargetControlID="RFVMesesUso"></ajax:ValidatorCalloutExtender>
<ajax:FilteredTextBoxExtender ID="FTBEMesesUso" runat="server" TargetControlID="TxtMesesUso" FilterType="Custom, Numbers" ValidChars="." />
<label for="<%= TxtMesesUso.ClientID.ToString()%>">Meses de Uso:</label>
<label for="<%= TxtMesesUso.ClientID.ToString()%>" style="font-weight:bold">Meses de Uso:</label>
</div>
</div>
</div>
@@ -2952,33 +2967,45 @@
</div>
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtPorcentajeAjuste" CssClass="form-control" Enabled="false" runat="server" MaxLength="50"></asp:TextBox>
<asp:TextBox ID="TxtPorcentajeAjuste" CssClass="form-control" Enabled="false" runat="server" MaxLength="50" style="font-weight:bold"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVPorcentajeAjuste" runat="server" ControlToValidate="TxtPorcentajeAjuste" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''% Ajuste''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAddVenta"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEPorcentajeAjuste" runat="server" HighlightCssClass="vco" TargetControlID="RFVPorcentajeAjuste"></ajax:ValidatorCalloutExtender>
<ajax:FilteredTextBoxExtender ID="FTBEPorcentajeAjuste" runat="server" TargetControlID="TxtPorcentajeAjuste" FilterType="Custom, Numbers" ValidChars="." />
<label for="<%= TxtPorcentajeAjuste.ClientID.ToString()%>">% Ajuste:</label>
<label for="<%= TxtPorcentajeAjuste.ClientID.ToString()%>" style="font-weight:bold">% Ajuste:</label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtPoliza" CssClass="form-control" runat="server" MaxLength="50" Width="100%"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVPoliza" runat="server" ControlToValidate="TxtPoliza" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Póliza''</b> es incorrecto, por favor ingréselo correctamente." ValidationGroup="GrpAddVenta"></asp:RequiredFieldValidator>
<asp:DropDownList ID="DdlTipoComprobanteAjuste" CssClass="form-control input-sm select2me" runat="server" Width="100%">
<asp:ListItem Selected="True" Text="Póliza" Value="1"></asp:ListItem>
<asp:ListItem Text="Factura" Value="2"></asp:ListItem>
<asp:ListItem Text="Clave_Red * Req Autorización" Value="3"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVTipoComprobanteAjuste" runat="server" ControlToValidate="DdlTipoComprobanteAjuste" InitialValue="-1" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo de Comprobante''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAddVenta"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCETipoComprobanteAjuste" runat="server" HighlightCssClass="vco" TargetControlID="RFVTipoComprobanteAjuste"></ajax:ValidatorCalloutExtender>
<label for="<%= DdlTipoDefecto.ClientID.ToString()%>">Tipo de Comprobante:</label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtComprobante" CssClass="form-control" runat="server" MaxLength="50" Width="100%"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVPoliza" runat="server" ControlToValidate="TxtComprobante" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Comprobante''</b> es incorrecto, por favor ingréselo correctamente." ValidationGroup="GrpAddVenta"></asp:RequiredFieldValidator>
<%--<asp:RequiredFieldValidator ID="RFVPoliza" runat="server" ControlToValidate="TxtPoliza" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Poliza''</b> es necesario, por favor ingréselo." ValidationGroup="VGMAjuste"></asp:RequiredFieldValidator>--%>
<%--<ajax:ValidatorCalloutExtender ID="VCEPoliza" runat="server" HighlightCssClass="vco" TargetControlID="RFVPoliza"></ajax:ValidatorCalloutExtender>--%>
<label for="<%= TxtPoliza.ClientID.ToString()%>">Póliza:</label>
<label for="<%= TxtComprobante.ClientID.ToString()%>">Comprobante:</label>
</div>
</div>
</div>
<div class="row" style="margin-top: 17px;">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtImporteAjuste" CssClass="form-control" runat="server" Enabled="false" MaxLength="50"></asp:TextBox>
<asp:TextBox ID="TxtImporteAjuste" CssClass="form-control" runat="server" Enabled="false" MaxLength="50" style="font-weight:bold"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVImporteAjuste" runat="server" ControlToValidate="TxtImporteAjuste" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Importe''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAddVenta"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEImporteAjuste" runat="server" HighlightCssClass="vco" TargetControlID="RFVImporteAjuste"></ajax:ValidatorCalloutExtender>
<ajax:FilteredTextBoxExtender ID="FTBEImporteAjuste" runat="server" TargetControlID="TxtImporteAjuste" FilterType="Custom, Numbers" ValidChars="." />
<label for="<%= TxtImporteAjuste.ClientID.ToString()%>">Importe:</label>
<label for="<%= TxtImporteAjuste.ClientID.ToString()%>" style="font-weight:bold">Importe:</label>
</div>
</div>
<div class="col-md-6">

View File

@@ -1144,6 +1144,11 @@ Partial Class PV
CargaVenta()
End If
If CveVenta > 0 Then
CargaTmpDTAjustes()
End If
'CARGA PARA FACTURAR
ViewState("CveRemision") = IfNull(Request("CveRemision").ToEntero, 0)
ViewState("CveCotizacion") = IfNull(Request("CveCotizacion").ToEntero, 0)
@@ -1807,6 +1812,28 @@ Partial Class PV
OcurrioError = True
Exit For
End If
If TmpDTRecepcionUsados IsNot Nothing Then
If TmpDTRecepcionUsados.Select($"CvePS={Row("CvePS").ToString.ToEntero}").Length > 0 Then
Dim rowInv As DataRow = TmpDTRecepcionUsados.Select($"CvePS={Row("CvePS").ToString.ToEntero}")(0)
rowInv("CveVentaDetalle") = CveVentaDetalle
End If
End If
If TmpDTAjustes IsNot Nothing AndAlso TmpDTAjustes.Rows.Count > 0 Then
If TmpDTAjustes.Select($"ConsecutivoVenta={Row("Consec").ToString.ToEntero}").Length > 0 Then
Dim DrAju As DataRow = TmpDTAjustes.Select($"ConsecutivoVenta={Row("Consec").ToString.ToEntero}")(0)
DrAju("CveVentaDetalle") = CveVentaDetalle
End If
End If
If TmpDTPolizaVirtual IsNot Nothing Then
If TmpDTPolizaVirtual.Select($"CvePS={Row("CvePS").ToString.ToEntero}").Length > 0 Then
Dim RowPoliza As DataRow = TmpDTPolizaVirtual.Select($"CvePS={Row("CvePS").ToString.ToEntero}")(0)
RowPoliza("CveVentaDetalle") = CveVentaDetalle
End If
End If
Else
If Not ObjVentas.AddVentaDetalle(CveVenta, Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDouble, Row("CveUM").ToString.ToEntero,
Row("PU").ToString.ToDouble(If(ChkConvertirDoctoPesos.Checked, TxtTipoCambio.Text.ToDecimal, 1)), Row("ImporteIVA").ToString.ToDouble, Math.Round((Row("Total").ToString.ToDouble(If(ChkConvertirDoctoPesos.Checked, TxtTipoCambio.Text.ToDecimal, 1)) * (1 + Row("PorcentajeIVA").ToString.ToDouble(If(ChkConvertirDoctoPesos.Checked, TxtTipoCambio.Text.ToDecimal, 1)))), 6),
@@ -1901,9 +1928,11 @@ Partial Class PV
If Not OcurrioError AndAlso TmpDTAjustes IsNot Nothing AndAlso TmpDTAjustes.Rows.Count > 0 Then
For Each Dr As DataRow In TmpDTAjustes.Rows
If Not ObjAcum.AddGarantiasDetalle(Dr("CveVentaDetalle").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("CveFolioGarantia").ToString.ToEntero, Dr("CveTipoUso").ToString.ToEntero,
Dr("CodigoEnsamble").ToString, Dr("CodigoLinea").ToString, Dr("CodigoInspeccion").ToString, Dr("CveTipoDefecto").ToString.ToEntero,
Dr("NumPoliza").ToString, Dr("Importe").ToString.ToDouble, Dr("Consecutivo").ToString, Dr("FechaAjuste").ToString.ToDateTime(), Dr("PorcentajeAjuste").ToString.ToDecimal()) Then
ErrorList.Add("Ocurrió un error al agregar la garantia detalle.")
Dr("CodigoEnsamble").ToString, Dr("CodigoLinea").ToString, Dr("CodigoInspeccion").ToString, Dr("CveTipoDefecto").ToString.ToEntero, Dr("CodigoTD").ToString, Dr("TipoComprobante").ToString.ToEntero,
Dr("Comprobante").ToString, Dr("Importe").ToString.ToDouble, Dr("Consecutivo").ToString, Dr("FechaAjuste").ToString.ToDateTime(), Dr("PorcentajeAjuste").ToString.ToDecimal(),
Dr("CveBCIAjuste").ToString.ToEntero(), Dr("Etiqueta").ToString, Dr("CveClienteDistribuidor").ToString.ToEntero(), Dr("CveModeloAuto").ToString.ToEntero(), Dr("Año").ToString) Then
OcurrioError = True
Exit For
End If
Next
End If
@@ -2451,9 +2480,9 @@ Partial Class PV
End If
If CveVenta <= 0 Then
CveMetodoPagoCliente = ObjCliente.DtResultados.Rows(0)("CveMetodoPago").ToString.ToEntero
CveMetodoPagoCliente = ObjCliente.DtResultados.Rows(0)("CveMetodoPago33").ToString.ToEntero
DdlUsoCFDI.SelectedValueExist(ObjCliente.CveUsoCFDI.ToString)
DdlMetodoPago.SelectedValueExist(ObjCliente.CveMetodoPago.ToString)
'DdlMetodoPago.SelectedValueExist(ObjCliente.CveMetodoPago.ToString)
DdlMetodoPago33.SelectedValueExist(ObjCliente.CveMetodoPago33.ToString)
'DdlMetodoPago33.SelectedValueExist(ObjCliente.DtResultados.Rows(0)("CveMetodoPago33").ToString)
DdlMetodoPago33_SelectedIndexChanged(DdlMetodoPago33, EventArgs.Empty)
@@ -2624,7 +2653,7 @@ Partial Class PV
End If
If CveVenta <= 0 Then
CveMetodoPagoCliente = ObjCliente.DtResultados.Rows(0)("CveMetodoPago").ToString.ToEntero
CveMetodoPagoCliente = ObjCliente.DtResultados.Rows(0)("CveMetodoPago33").ToString.ToEntero
DdlMetodoPago.SelectedValueExist(CveMetodoPagoCliente.ToString)
DdlFormaPago33.SelectedValueExist(ObjCliente.DtResultados.Rows(0)("CveFormaPago33").ToString)
DdlMetodoPago33.SelectedValueExist(ObjCliente.DtResultados.Rows(0)("CveMetodoPago33").ToString)
@@ -2652,7 +2681,7 @@ Partial Class PV
PlazoCobranza = ObjCliente.PlazoCobranza
If CveVenta <= 0 Then
CveMetodoPagoCliente = ObjCliente.CveMetodoPago
'CveMetodoPagoCliente = ObjCliente.CveMetodoPago
DdlMetodoPago.SelectedValueExist(CveMetodoPagoCliente.ToString)
DdlFormaPago33.SelectedValueExist(ObjCliente.CveFormaPago33)
@@ -3156,10 +3185,19 @@ Partial Class PV
If TmpDT.Rows.Count > 0 Then
Dim Retorno = ObjFactura.EmitirFactura()
If Retorno.CveVenta > 0 Then
Dim SbAlert As New StringBuilder
SbAlert.AppendFormat("{0}<br>", Retorno.Mensajes(Retorno.Mensajes.Count - 1))
SbAlert.AppendFormat("<ul><li><a class=""Texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar PDF</a></li></ul><br/>", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1", CveVenta)))
SbAlert.AppendFormat("<ul><li><a class=""Texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar PDF Factura</a></li></ul><br/>", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1", Retorno.CveVenta)))
Using ObjAcum As New ClsAcumuladores
If ObjAcum.GetGarantiasDetalle(Retorno.CveVenta) Then
Dim RowGarantia As DataRow = ObjAcum.DtResultados.FiltroPrimero("")
If RowGarantia IsNot Nothing Then
SbAlert.AppendFormat("<ul><li><a class=""Texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar PDF Ajuste</a></li></ul><br/>", Encripta(String.Format("OP=AJUSTE&CVEGARANTIADETALLE={0}", RowGarantia("CveGarantiaDetalle"))))
End If
End If
End Using
Retorno.Mensajes(Retorno.Mensajes.Count - 1) = SbAlert.ToString()
End If
@@ -3432,7 +3470,7 @@ Partial Class PV
'SI LA SUCURSAL NO TIENE ENTREGA POR ADELANTADO
If ObjFactura.CveAlmacenTraspasoDestino <= 0 And ObjFactura.TipoDocto = "Rem" Then
ErrorList.Add("Ocurrió un error al seleccionar el almacen de entrega por adelantado de la sucursal.")
ObjFactura.ErrorList.Add("Ocurrió un error al seleccionar el almacen de entrega por adelantado de la sucursal.")
End If
End If
@@ -4687,10 +4725,10 @@ Partial Class PV
LblTotalPS.Text = GvRow.DataKey("Total")
ChkAgregar.Checked = False
divagregrarotrops.Visible = False
If CveVenta <= 0 Then
Ajuste()
End If
Ajuste()
AddPolizaVirtual(DdlPS.SelectedValue.ToEntero())
UpVenta.Update()
RegistraScript("$('#DivAddVenta').modal({backdrop: 'static', keyboard: false});", "EdicionVenta")
End Sub
@@ -5967,6 +6005,7 @@ Partial Class PV
TmpDTAjustes.Columns.Add("CveFolioGarantia", GetType(Integer))
TmpDTAjustes.Columns.Add("CveTipoUso", GetType(Integer))
TmpDTAjustes.Columns.Add("CveTipoDefecto", GetType(Integer))
TmpDTAjustes.Columns.Add("CodigoTD", GetType(String))
TmpDTAjustes.Columns.Add("CodigoEnsamble", GetType(String))
TmpDTAjustes.Columns.Add("CodigoLinea", GetType(String))
TmpDTAjustes.Columns.Add("CodigoInspeccion", GetType(String))
@@ -5975,7 +6014,8 @@ Partial Class PV
TmpDTAjustes.Columns.Add("FechaAjuste", GetType(Date))
TmpDTAjustes.Columns.Add("Meses", GetType(String))
TmpDTAjustes.Columns.Add("PorcentajeAjuste", GetType(Double))
TmpDTAjustes.Columns.Add("NumPoliza", GetType(String))
TmpDTAjustes.Columns.Add("TipoComprobante", GetType(Integer))
TmpDTAjustes.Columns.Add("Comprobante", GetType(String))
TmpDTAjustes.Columns.Add("Importe", GetType(Double))
TmpDTAjustes.Columns.Add("CvePS", GetType(Integer))
TmpDTAjustes.Columns.Add("PS", GetType(String))
@@ -5984,6 +6024,93 @@ Partial Class PV
TmpDTAjustes.Columns.Add("CveVentaDetalle", GetType(Integer))
TmpDTAjustes.Columns.Add("CveVenta", GetType(Integer))
TmpDTAjustes.Columns.Add("PUFactura", GetType(Double))
TmpDTAjustes.Columns.Add("CveBCIAjuste", GetType(Integer))
TmpDTAjustes.Columns.Add("Etiqueta", GetType(String))
TmpDTAjustes.Columns.Add("CveClienteDistribuidor", GetType(Integer))
TmpDTAjustes.Columns.Add("Distribuidor", GetType(String))
TmpDTAjustes.Columns.Add("CveModeloAuto", GetType(Integer))
TmpDTAjustes.Columns.Add("Año", GetType(String))
End Sub
Private Sub CargaTmpDTAjustes()
Dim DtGarantias As DataTable = Nothing
Using ObjAcum As New ClsAcumuladores
If ObjAcum.GetGarantiasDetalle(CveVenta) Then
Dim RowGarantia As DataRow = ObjAcum.DtResultados.FiltroPrimero("")
If RowGarantia IsNot Nothing Then
If ObjAcum.GetFoliosGarantiasDetalle(-1, CveGarantiaDetalle:=RowGarantia("CveGarantiaDetalle").ToString().ToEntero()) Then
DtGarantias = ObjAcum.DtResultados.Copy()
End If
End If
End If
End Using
If DtGarantias IsNot Nothing Then
For Each Row As DataRow In DtGarantias.Rows
Dim RowAjuste As DataRow = TmpDTAjustes.NewRow
RowAjuste("CveFolioGarantia") = Row("CveFolioGarantia")
RowAjuste("CveTipoUso") = Row("CveTipoUso")
RowAjuste("CveTipoDefecto") = Row("CveTipoDefecto")
RowAjuste("CodigoTD") = Row("CodigoTipoDefecto")
RowAjuste("CodigoEnsamble") = Row("CodigoEnsamble")
RowAjuste("CodigoLinea") = Row("CodigoLinea")
RowAjuste("CodigoInspeccion") = Row("CodigoInspeccion")
RowAjuste("Consecutivo") = Row("Consecutivo")
RowAjuste("FechaAjuste") = Row("FechaAjuste")
Dim FechaAjuste As DateTime = Row("FechaVenta").ToString.ToDateTime()
Dim FechaReclamacion As DateTime = Row("FechaReclamacion").ToString.ToDateTime()
Dim FechaI As Date = FechaAjuste.AddDays(1)
Dim FechaF As Date = FechaReclamacion
Dim Dia As Integer = FechaI.Day
Try
'validación adicional, para saber si el mes tiene 31 días y el actua es menor.
If FechaI.Day > Today.LastDayOfMonth.Day Then Dia = Today.LastDayOfMonth.Day
Dim FechaT As Date = String.Format("{0}/{1}/{2}", Dia, FechaF.Month, FechaF.Year).ToDate 'armo la fecha con el día del mes actual
Dim MesesTrascurridos As Integer = Math.Round(DateDiff(DateInterval.Day, FechaI, FechaT) / 30.4, 2).ToEntero 'saco los meses y lo redondeo
If FechaT > FechaF Then
'todavía está en el mes actual.
MesesTrascurridos = MesesTrascurridos
Else
MesesTrascurridos = MesesTrascurridos + 1
End If
RowAjuste("Meses") = MesesTrascurridos.ToString
Catch ex As Exception
OnError("Ocurrió un error al calcular los meses de uso", ex)
End Try
RowAjuste("PorcentajeAjuste") = Row("PorcentajeAjuste")
RowAjuste("TipoComprobante") = Row("TipoComprobante")
RowAjuste("Comprobante") = Row("Comprobante")
RowAjuste("Importe") = Row("Importe")
If TmpDT IsNot Nothing Then
RowAjuste("ConsecutivoVenta") = TmpDT.FiltroPrimeroValor("Consec", $"CveVentaDetalle={Row("CveVentaDetalle")}")
End If
RowAjuste("CvePS") = Row("CvePS")
RowAjuste("PS") = Row("PS")
RowAjuste("CveVenta") = Row("CveRemision")
RowAjuste("PUFactura") = Row("Importe")
RowAjuste("Cantidad") = 1
RowAjuste("CveBCIAjuste") = Row("CveBCIAjuste")
RowAjuste("Etiqueta") = Row("Etiqueta")
RowAjuste("CveClienteDistribuidor") = Row("CveClienteDistribuidor")
RowAjuste("Distribuidor") = Row("Distribuidor")
RowAjuste("CveModeloAuto") = Row("CveModeloAuto")
RowAjuste("Año") = Row("Año")
TmpDTAjustes.Rows.Add(RowAjuste)
Next
End If
End Sub
@@ -6047,6 +6174,7 @@ Partial Class PV
CreaDTmpDTPolizaVirtual()
DdlDistribuidor.setEsWebService(True)
DivChkAjuste.Visible = True
End Sub
Private Sub CargaModelos()
@@ -6087,7 +6215,9 @@ Partial Class PV
' DdlPSAjuste.Items.Insert(0, New ListItem("Seleccione", "-1"))
DtPUFacturas.AcceptChanges()
UpAjuste.Update()
CalculaPorcentajeAjuste()
If CveVenta < 0 Then
CalculaPorcentajeAjuste()
End If
End Sub
Private Sub Ajuste()
@@ -6097,11 +6227,16 @@ Partial Class PV
TxtPrecio.Attributes.Add("onKeyUp", $"CambiaAjuste(this,{TxtPrecio.ClientID});")
ChkAjuste.Checked = True
DivAjuste.Visible = True
ChkAjuste_CheckedChanged(ChkAjuste, EventArgs.Empty)
CargaAjusteDetalle()
Else
ModalidadAjuste = "A"
TxtPrecio.Attributes.Add("onKeyUp ", "Recalcula();")
End If
UpAjuste.Update()
End Sub
Private Sub LimpiaAjuste()
@@ -6117,11 +6252,15 @@ Partial Class PV
TxtMesesUso.Text = ""
DdlTipoDefecto.SelectedIndex = -1
TxtPorcentajeAjuste.Text = ""
TxtPoliza.Text = ""
TxtComprobante.Text = ""
TxtImporteAjuste.Text = ""
DdlPSAjuste.SelectedValue = "-1"
ChkAjuste.Checked = False
DivAjuste.Visible = False
DdlBCIAjuste.SelectedValueExist(-1)
TxtEtiqueta.Text = ""
DdlModeloAuto.SelectedValueExist(-1)
TxtAnioVehiculo.Text = ""
End Sub
@@ -6137,6 +6276,18 @@ Partial Class PV
Next
If Dr IsNot Nothing Then
IndexAjuste = TmpDTAjustes.Rows.IndexOf(Dr)
CargaPSAjuste()
DdlPSAjuste.SelectedValue = Dr("CvePS").ToString()
DdlPSAjuste.SelectedText = Dr("PS").ToString()
DdlPSAjuste_selectedindexchange(DdlPSAjuste, EventArgs.Empty)
If Dr("CveClienteDistribuidor").ToString().ToEntero() > 0 Then
DdlDistribuidor.SelectedValue = Dr("CveClienteDistribuidor").ToString()
DdlDistribuidor.SelectedText = Dr("Distribuidor").ToString()
End If
DdlFolioGarantia.SelectedValueExist(Dr("CveFolioGarantia").ToString)
TxtConsecutivoAjuste.Text = Dr("Consecutivo").ToString
TxtCodEnsamble.Text = Dr("CodigoEnsamble").ToString
@@ -6145,15 +6296,32 @@ Partial Class PV
TxtCodInspeccion.Text = Dr("CodigoInspeccion").ToString
TxtMesesUso.Text = Dr("Meses").ToString
DdlTipoDefecto.SelectedValueExist(Dr("CveTipoDefecto").ToString)
TxtCodigoTD.Text = Dr("CodigoTD").ToString
TxtPorcentajeAjuste.Text = Dr("PorcentajeAjuste").ToString
TxtPoliza.Text = Dr("NumPoliza").ToString
DdlTipoComprobanteAjuste.SelectedValueExist(Dr("TipoComprobante").ToString())
TxtComprobante.Text = Dr("Comprobante").ToString
TxtImporteAjuste.Text = Dr("Importe").ToString
DdlFacturas.SelectedValueExist(Dr("CveVenta").ToString)
CargaPSAjuste()
DdlPSAjuste.SelectedValue = (Dr("CvePS").ToString)
If TxtDescuento.Text.ToDecimal() > 0 AndAlso Dr("Importe").ToString.ToDecimal() > 0 Then
Dim DescuentoSinAjuste As Decimal = TxtDescuento.Text.ToDecimal - Dr("Importe").ToString.ToDecimal
If DescuentoSinAjuste <= 0 Then
TxtDescuento.Text = "0"
Else
TxtDescuento.Text = DescuentoSinAjuste.FormatoNumero(2)
End If
End If
TxtFechaAjuste.Text = Dr("FechaAjuste").ToString.ToDate.ToShortDateString
TxtPrecio.Text = Dr("PUFactura").ToString.ToDecimal.FormatoNumero(2)
TxtPrecio.Enabled = Not Dr("CveVenta").ToString.ToEntero > 0
'TxtPrecio.Enabled = Dr("CveVenta").ToString.ToEntero > 0
DdlBCIAjuste.SelectedValueExist(Dr("CveBCIAjuste").ToString())
TxtEtiqueta.Text = Dr("Etiqueta").ToString
DdlModeloAuto.SelectedValueExist(Dr("CveModeloAuto").ToString())
TxtAnioVehiculo.Text = Dr("Año").ToString
End If
End Sub
'Protected Sub BtnCalculaMesesUso_Click(sender As Object, e As EventArgs)
@@ -6188,7 +6356,7 @@ Partial Class PV
TxtMesesUso.Text = MesesTrascurridos.ToString
Catch ex As Exception
OnError("Ocurrió un error al calcular los meses de uso", ex)
OnError("Ocurrió un Error al calcular los meses de uso", ex)
End Try
Return True
@@ -6342,7 +6510,7 @@ Partial Class PV
End If
End If
Dim DrCargo As DataRow = GlobalDTAcumTamaños.FiltroPrimero($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveTamaño = {CveTamaño}")
Dim DrCargo As DataRow = GlobalDTAcumTamaños.FiltroPrimero($"CveEmpresa = {UsuarioActual.CveEmpresa} And CveTamaño = {CveTamaño}")
If DrCargo IsNot Nothing Then
CargoVendido = DrCargo("Cargo").ToString.ToDecimal
@@ -6395,6 +6563,7 @@ Partial Class PV
Row("CveFolioGarantia") = DdlFolioGarantia.SelectedValue.ToEntero
Row("CveTipoUso") = DdlTipoUso.SelectedValue.ToEntero
Row("CveTipoDefecto") = DdlTipoDefecto.SelectedValue.ToEntero
Row("CodigoTD") = TxtCodigoTD.Text
Row("CodigoEnsamble") = TxtCodEnsamble.Text
Row("CodigoLinea") = TxtCodLinea.Text
Row("CodigoInspeccion") = TxtCodInspeccion.Text
@@ -6402,7 +6571,8 @@ Partial Class PV
Row("FechaAjuste") = TxtFechaAjuste.Text.ToDate
Row("Meses") = TxtMesesUso.Text.ToEntero
Row("PorcentajeAjuste") = TxtPorcentajeAjuste.Text.ToDouble
Row("NumPoliza") = TxtPoliza.Text
Row("TipoComprobante") = DdlTipoComprobanteAjuste.SelectedValue.ToEntero()
Row("Comprobante") = TxtComprobante.Text
Row("Importe") = TxtImporteAjuste.Text.ToDouble
Row("ConsecutivoVenta") = ConsecutivoVenta
Row("CvePS") = DdlPSAjuste.SelectedValue
@@ -6420,11 +6590,17 @@ Partial Class PV
End If
Row("CveUM") = CveUM
Row("CveVentaDetalle") = -1
Row("CveBCIAjuste") = DdlBCIAjuste.SelectedValue.ToEntero()
Row("Etiqueta") = TxtEtiqueta.Text.TrimStart.TrimEnd
Row("CveClienteDistribuidor") = DdlDistribuidor.SelectedValue.ToEntero()
Row("CveModeloAuto") = DdlModeloAuto.SelectedValue.ToEntero()
Row("Año") = TxtAnioVehiculo.Text.TrimStart.TrimEnd
TmpDTAjustes.Rows.Add(Row)
ElseIf ModalidadAjuste = "U" Then
TmpDTAjustes.Rows(IndexAjuste)("CveFolioGarantia") = DdlFolioGarantia.SelectedValue.ToEntero
TmpDTAjustes.Rows(IndexAjuste)("CveTipoUso") = DdlTipoUso.SelectedValue.ToEntero
TmpDTAjustes.Rows(IndexAjuste)("CveTipoDefecto") = DdlTipoDefecto.SelectedValue.ToEntero
TmpDTAjustes.Rows(IndexAjuste)("CodigoTD") = TxtCodigoTD.Text
TmpDTAjustes.Rows(IndexAjuste)("CodigoEnsamble") = TxtCodEnsamble.Text
TmpDTAjustes.Rows(IndexAjuste)("CodigoLinea") = TxtCodLinea.Text
TmpDTAjustes.Rows(IndexAjuste)("CodigoInspeccion") = TxtCodInspeccion.Text
@@ -6432,7 +6608,8 @@ Partial Class PV
TmpDTAjustes.Rows(IndexAjuste)("FechaAjuste") = TxtFechaAjuste.Text.ToDate
TmpDTAjustes.Rows(IndexAjuste)("Meses") = TxtMesesUso.Text.ToDouble
TmpDTAjustes.Rows(IndexAjuste)("PorcentajeAjuste") = TxtPorcentajeAjuste.Text.ToDecimal
TmpDTAjustes.Rows(IndexAjuste)("NumPoliza") = TxtPoliza.Text.ToDouble
TmpDTAjustes.Rows(IndexAjuste)("TipoComprobante") = DdlTipoComprobanteAjuste.SelectedValue.ToEntero()
TmpDTAjustes.Rows(IndexAjuste)("Comprobante") = TxtComprobante.Text.ToDouble
TmpDTAjustes.Rows(IndexAjuste)("Importe") = TxtImporteAjuste.Text.ToDouble
TmpDTAjustes.Rows(IndexAjuste)("ConsecutivoVenta") = ConsecutivoVenta
TmpDTAjustes.Rows(IndexAjuste)("CvePS") = DdlPSAjuste.SelectedValue
@@ -6440,6 +6617,11 @@ Partial Class PV
TmpDTAjustes.Rows(IndexAjuste)("CveVenta") = DdlFacturas.SelectedValue
TmpDTAjustes.Rows(IndexAjuste)("PUFactura") = TxtPrecio.Text.ToDouble
TmpDTAjustes.Rows(IndexAjuste)("Cantidad") = 1
TmpDTAjustes.Rows(IndexAjuste)("CveBCIAjuste") = DdlBCIAjuste.SelectedValue.ToEntero()
TmpDTAjustes.Rows(IndexAjuste)("Etiqueta") = TxtEtiqueta.Text.TrimStart.TrimEnd
TmpDTAjustes.Rows(IndexAjuste)("CveClienteDistribuidor") = DdlDistribuidor.SelectedValue.ToEntero()
TmpDTAjustes.Rows(IndexAjuste)("CveModeloAuto") = DdlModeloAuto.SelectedValue.ToEntero()
TmpDTAjustes.Rows(IndexAjuste)("Año") = TxtAnioVehiculo.Text.TrimStart.TrimEnd
Dim CveUM As Integer = -1
If DdlPSAjuste.SelectedValue.ToEntero > 0 Then
Dim Dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, DdlPSAjuste.SelectedValue.ToEntero).Rows(0)
@@ -7028,11 +7210,19 @@ Partial Class PV
If (DdlDistribuidor.SelectedValue.ToEntero > 0) Then
Dim DatosClienteSeleccionado As DataRow = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CveCliente = {0}", DdlDistribuidor.SelectedValue.ToEntero))
Dim Ciudad As String = DatosClienteSeleccionado.Item("Ciudad").ToString
Dim Estado As String = DatosClienteSeleccionado.Item("Estado").ToString
params.Add(New ReportParameter("NombreDistribuidor", DdlDistribuidor.SelectedText))
params.Add(New ReportParameter("CiudadEstado", String.Format("{0}, {1}", Ciudad.Trim, Estado)))
params.Add(New ReportParameter("TelCliente", DatosClienteSeleccionado.Item("Telefono").ToString))
Dim CiudadEstado As String = ""
Dim Telefono As String = ""
Dim Nombre As String = ""
If DatosClienteSeleccionado IsNot Nothing Then
CiudadEstado = String.Format("{0}, {1}", DatosClienteSeleccionado("Ciudad"), DatosClienteSeleccionado("Estado"))
Telefono = DatosClienteSeleccionado("Telefono").ToString
Nombre = DatosClienteSeleccionado("Nombre").ToString
End If
params.Add(New ReportParameter("NombreDistribuidor", Nombre))
params.Add(New ReportParameter("CiudadEstado", CiudadEstado))
params.Add(New ReportParameter("TelCliente", Telefono))
End If
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
@@ -7052,14 +7242,26 @@ Partial Class PV
params.Add(New ReportParameter("CodInspeccion", TxtCodInspeccion.Text.Trim))
params.Add(New ReportParameter("Tipo", DdlBCIAjuste.SelectedItem.Text))
params.Add(New ReportParameter("Marca", MarcaPS))
params.Add(New ReportParameter("Etiqueta", TxtEtiqueta.Text))
'Informacion Vehiculo
params.Add(New ReportParameter("MarcaAuto", If(DdlPS.SelectedValue.ToEntero > 0, DtModelosAuto.FiltroPrimeroValor("Marca", $"CveModeloAuto ={DdlModeloAuto.SelectedValue}"), "")))
params.Add(New ReportParameter("TipoAuto", If(DdlPS.SelectedValue.ToEntero > 0, DtModelosAuto.FiltroPrimeroValor("Modelo", $"CveModeloAuto ={DdlModeloAuto.SelectedValue}"), "")))
'Informacion Consumidor
params.Add(New ReportParameter("NombreCliente", LtlCliente.Text))
params.Add(New ReportParameter("Direccion", LblDireccion.Text))
'Informacion Distribuidor
If (CveCliente > 0) Then
Dim DatosClienteSeleccionado As DataRow = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CveCliente = {0}", DdlDistribuidor.SelectedValue.ToEntero))
Dim Ciudad As String = DatosClienteSeleccionado.Item("Ciudad").ToString
Dim Estado As String = DatosClienteSeleccionado.Item("Estado").ToString
params.Add(New ReportParameter("NombreCliente", LtlCliente.Text))
params.Add(New ReportParameter("Direccion", LblDireccion.Text))
params.Add(New ReportParameter("CiudadEstadoConsumidor", String.Format("{0}, {1}", Ciudad.Trim, Estado)))
params.Add(New ReportParameter("TelConsumidor", DatosClienteSeleccionado.Item("Telefono").ToString))
End If
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
@@ -7067,6 +7269,10 @@ Partial Class PV
params.Add(New ReportParameter("LogoPath", ""))
End If
params.Add(New ReportParameter("Anio", TxtAnioVehiculo.Text))
params.Add(New ReportParameter("Comprobante", TxtComprobante.Text))
ImprimirPDF("Empresas/Grales/Formatos/Ajuste.rdlc", DtDatos, params, "Reporte de Ajuste", "PDF")
End Sub

File diff suppressed because it is too large Load Diff

View File

@@ -659,27 +659,6 @@ Partial Class Ventas_RepVentas
Protected Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles ImgImprimir.Click
GenerarPDF()
End Sub
Private Sub LnkRepHP_Click(sender As Object, e As EventArgs) Handles LnkRepHP.Click
Dim Rep As New ClsVentas
Dim Str As New StringBuilder
Str.AppendLine("Header Section,,,,,,,,,,,End Customer Identification ,,,,,,,,,,,,, Ship To Identification,,,,,,,,,,,,, Sold To Identification,,,,,,,,,,,,, Bill To Identification,,,,,,,,,,,,, Salesperson Detail,,,,,, Line Item Detail,,,,,,,,,,,,,,,,,,,,,,,,,,,, New FIELDS,,,,,,,,,,,,,,,,,,,,,,,,,, ")
Str.AppendLine("Partner Purchase Price Currency Code, Exchange Rate, Reporter_id, Reported Partner Type, Reporter Company Name , Sell From Address line 1, Sell From Address line 2, Sell From City, Reported Partner State/Province, Sell from postal code, Sell from Country code,End User Customer Name,End User Company Tax ID,End User Address Line 1,End User Address Line 2,End User City,End User State/Province Code,End User Postal Code,End User Country Code,End User ID,End Customer Department,End Customer Contact Name,End Customer Contact Phone,End Customer County, Ship To Customer Name, Ship To Company Tax ID, Ship To Address Line 1, Ship To Address Line 2, Ship To City, Ship To State/Province Code, Ship To Postal Code, Ship To Country Code, Ship To Customer ID, Ship To Department, Ship To Contact Name, Ship To Contact Phone, Ship To County, Sold To Customer Name, Sold To Company Tax ID, Sold To Address Line 1, Sold To Address Line 2, Sold To City, Sold To State/Province Code, Sold To Postal Code, Sold To Country Code, Sold To Customer ID, Sold To Department, Sold To Contact Name, Sold To Contact Phone, Sold To County, Bill To Customer Name, Bill To Company Tax ID, Bill To Address Line 1 , Bill To Address Line 2, Bill To City, Bill To State/Province Code, Bill To Postal Code, Bill To Country Code, Bill To Customer ID, Bill To Agreement Number, Bill To Contact Name, Bill To Contact Phone, Bill To County, HP Representative Name, HP Sales Rep Email, Salesperson2 Name, Salesperson2 Unique Employee ID, Salesperson's Manager's Name,Salesperson's Manager Unique Employee ID,Quantity Qualifier,Product Quantity Shipped/Sold,Line Item ID,Partner Reported Product ID,Product Description,Date Type Qualifier,Channel Partner to Customer Transaction Date,Reseller’’s Product Number,Partner Purchase Price,Extended Price,Partner Sell Price,Extended Resale Price,Transaction Type,Rebate Tracking #,Partner Requested Rebate Amount,Extended Rebate Amount,Debit Number,Channel Partner to Customer Invoice ID,Reference Number,Customer to Channel Partner Purchase Order ID,Deal ID #1,Deal ID #2,Deal ID #3,Deal ID #4,Deal ID #5,Deal ID #6,Marketing Subprogram Code,Product Serial ID assigned by HP,Purchasing Source wholesaler indicator,Drop Ship Flag,Distributor's Invoice Number,Partner Internal transaction ID,Partner Comment,Deal Bundle ID #1,Deal Bundle ID #2,Deal Bundle ID #3,Deal Bundle ID #4,Deal Bundle ID #5,Deal Bundle ID #6,NMSO NAME,Sales Type,Purchase Agreement,Product Origin,Partner Reported CBN#,Partner Reference,Supplies Tracking ID (QR Code),Sell From Location ID (assigned by HP or Partner-assigned),Sell from name,Comment Deal ID #1,Comment Deal ID #2,Comment Deal ID #3,Comment Deal ID #4,Comment Deal ID #5,Comment Deal ID #6,Partner Sell Price Currency Code")
If Rep.GetReporteHP(72, Now.AddMonths(-1).FirstDayOfMonth, Now.AddMonths(-1).LastDayOfMonth) Then
For Each dr As DataRow In Rep.DtResultados.Rows
Str.AppendLine($"MXN,,AM30089,,""COMPUPROVEEDORES, S.A.DE C.V."",,,,,,,,,,,,,,,,,,,,{dr("Nombre")},{dr("RFC")},{dr("Direccion")},,{dr("Ciudad")},{dr("Estado")},{dr("CP")},MX,{dr("RFC")},,,,,{dr("Nombre")},{dr("RFC")},{dr("Direccion")},,{dr("Ciudad")},{dr("Estado")},{dr("CP")},MX,{dr("RFC")},,,,,,,,,,,,,,,,,,,,,,,,,{dr("Cantidad")},,{dr("Codigo")},,,{dr("Fecha")},,,,{dr("PU")},,,,,,,{dr("SerieFolio")},,,,,,,,,,{dr("Serie")},,,,,,,,,,,,,,,{dr("Proveedor")},,,,,,,,,,,,MXN")
Next
End If
Rep.Dispose()
'GenerarPDF una salida
Response.Clear()
Response.ContentType = "text/csv"
Response.AppendHeader("Content-Disposition", "attachment; filename=ReporteHP.csv")
Response.Write(Str.ToString)
Context.Response.End()
End Sub
#End Region
@@ -860,5 +839,58 @@ Partial Class Ventas_RepVentas
#End Region
Private Sub LnkRepHP_Click(sender As Object, e As EventArgs) Handles LnkRepHP.Click
CalcularIntervaloRepHP()
RegistraScript("$('#DivRepHP').modal('show');")
End Sub
Protected Sub RblIntervaloHP_SelectedIndexChanged(sender As Object, e As EventArgs)
CalcularIntervaloRepHP()
End Sub
Private Sub CalcularIntervaloRepHP()
Dim PrevMondayDate = DateTime.Today.AddDays(-Weekday(Today.AddDays(-1), Microsoft.VisualBasic.FirstDayOfWeek.Monday))
Dim Sunday As DateTime = PrevMondayDate.AddDays(6)
txtFechaIHP.Text = PrevMondayDate.ToString("dd/MM/yyyy")
txtFechaFHP.Text = Sunday.ToString("dd/MM/yyyy")
'Select Case RblIntervaloHP.SelectedValue
' Case "1" ' SEMANAL
' Dim PrevMondayDate = DateTime.Today.AddDays(-Weekday(Today.AddDays(-1), Microsoft.VisualBasic.FirstDayOfWeek.Monday))
' Dim Sunday As DateTime = PrevMondayDate.AddDays(6)
' txtFechaIHP.Text = PrevMondayDate.ToString("dd/MM/yyyy")
' txtFechaFHP.Text = Sunday.ToString("dd/MM/yyyy")
' Case "2" ' MENSUAL
' Dim FechaRef As DateTime = Now
' Dim LastDayOfMonth = DateTime.DaysInMonth(FechaRef.Year, FechaRef.Month)
' txtFechaIHP.Text = $"01/{FechaRef.Month}/{FechaRef.Year}"
' txtFechaFHP.Text = $"{LastDayOfMonth}/{FechaRef.Month}/{FechaRef.Year}"
'End Select
UpHP.Update()
End Sub
Protected Sub BtnGenerarRepHP_Click(sender As Object, e As EventArgs)
Dim FechaI As DateTime = txtFechaIHP.Text.ToDate()
Dim FechaF As DateTime = txtFechaFHP.Text.ToDate()
Dim Rep As New ClsVentas
Dim Str As New StringBuilder
Str.AppendLine("Header Section,,,,,,,,,,,End Customer Identification ,,,,,,,,,,,,, Ship To Identification,,,,,,,,,,,,, Sold To Identification,,,,,,,,,,,,, Bill To Identification,,,,,,,,,,,,, Salesperson Detail,,,,,, Line Item Detail,,,,,,,,,,,,,,,,,,,,,,,,,,,, New FIELDS,,,,,,,,,,,,,,,,,,,,,,,,,, ")
Str.AppendLine("Partner Purchase Price Currency Code, Exchange Rate, Reporter_id, Reported Partner Type, Reporter Company Name , Sell From Address line 1, Sell From Address line 2, Sell From City, Reported Partner State/Province, Sell from postal code, Sell from Country code,End User Customer Name,End User Company Tax ID,End User Address Line 1,End User Address Line 2,End User City,End User State/Province Code,End User Postal Code,End User Country Code,End User ID,End Customer Department,End Customer Contact Name,End Customer Contact Phone,End Customer County, Ship To Customer Name, Ship To Company Tax ID, Ship To Address Line 1, Ship To Address Line 2, Ship To City, Ship To State/Province Code, Ship To Postal Code, Ship To Country Code, Ship To Customer ID, Ship To Department, Ship To Contact Name, Ship To Contact Phone, Ship To County, Sold To Customer Name, Sold To Company Tax ID, Sold To Address Line 1, Sold To Address Line 2, Sold To City, Sold To State/Province Code, Sold To Postal Code, Sold To Country Code, Sold To Customer ID, Sold To Department, Sold To Contact Name, Sold To Contact Phone, Sold To County, Bill To Customer Name, Bill To Company Tax ID, Bill To Address Line 1 , Bill To Address Line 2, Bill To City, Bill To State/Province Code, Bill To Postal Code, Bill To Country Code, Bill To Customer ID, Bill To Agreement Number, Bill To Contact Name, Bill To Contact Phone, Bill To County, HP Representative Name, HP Sales Rep Email, Salesperson2 Name, Salesperson2 Unique Employee ID, Salesperson's Manager's Name,Salesperson's Manager Unique Employee ID,Quantity Qualifier,Product Quantity Shipped/Sold,Line Item ID,Partner Reported Product ID,Product Description,Date Type Qualifier,Channel Partner to Customer Transaction Date,Reseller’’s Product Number,Partner Purchase Price,Extended Price,Partner Sell Price,Extended Resale Price,Transaction Type,Rebate Tracking #,Partner Requested Rebate Amount,Extended Rebate Amount,Debit Number,Channel Partner to Customer Invoice ID,Reference Number,Customer to Channel Partner Purchase Order ID,Deal ID #1,Deal ID #2,Deal ID #3,Deal ID #4,Deal ID #5,Deal ID #6,Marketing Subprogram Code,Product Serial ID assigned by HP,Purchasing Source wholesaler indicator,Drop Ship Flag,Distributor's Invoice Number,Partner Internal transaction ID,Partner Comment,Deal Bundle ID #1,Deal Bundle ID #2,Deal Bundle ID #3,Deal Bundle ID #4,Deal Bundle ID #5,Deal Bundle ID #6,NMSO NAME,Sales Type,Purchase Agreement,Product Origin,Partner Reported CBN#,Partner Reference,Supplies Tracking ID (QR Code),Sell From Location ID (assigned by HP or Partner-assigned),Sell from name,Comment Deal ID #1,Comment Deal ID #2,Comment Deal ID #3,Comment Deal ID #4,Comment Deal ID #5,Comment Deal ID #6,Partner Sell Price Currency Code")
If Rep.GetReporteHP(UsuarioActual.CveEmpresa, FechaI, FechaF) Then
For Each dr As DataRow In Rep.DtResultados.Rows
Str.AppendLine($"MXN,,AM30089,,""COMPUPROVEEDORES, S.A.DE C.V."",,,,,,,,,,,,,,,,,,,,{dr("Nombre")},{dr("RFC")},{dr("Direccion")},,{dr("Ciudad")},{dr("Estado")},{dr("CP")},MX,{dr("RFC")},,,,,{dr("Nombre")},{dr("RFC")},{dr("Direccion")},,{dr("Ciudad")},{dr("Estado")},{dr("CP")},MX,{dr("RFC")},,,,,,,,,,,,,,,,,,,,,,,,,{dr("Cantidad")},,{dr("Codigo")},,,{dr("Fecha")},,,,{dr("PU")},,,,,,,{dr("SerieFolio")},,,,,,,,,,{dr("Serie")},,,,,,,,,,,,,,,{dr("Proveedor")},,,,,,,,,,,,MXN")
Next
End If
Rep.Dispose()
'GenerarPDF una salida
Response.Clear()
Response.ContentType = "text/csv"
Response.AppendHeader("Content-Disposition", $"attachment; filename=ReporteHP_{FechaI.ToString("dd_MM_yyyy")} a {FechaF.ToString("dd_MM_yyyy")}.csv")
Response.Write(Str.ToString)
Context.Response.End()
End Sub
End Class

View File

@@ -1588,14 +1588,16 @@ Partial Class Ventas
ViewState("EstatusCliente") = value
End Set
End Property
Private Property CveMetodoPagoCliente As Integer
Get
Return ViewState("CveMetodoPagoCliente").ToString().ToEntero()
End Get
Set(value As Integer)
ViewState("CveMetodoPagoCliente") = value
End Set
End Property
'Private Property CveMetodoPagoCliente As Integer
' Get
' Return ViewState("CveMetodoPagoCliente").ToString().ToEntero()
' End Get
' Set(value As Integer)
' ViewState("CveMetodoPagoCliente") = value
' End Set
'End Property
Private Property Modalidad As String
Get
Return ViewState("Modalidad").ToString()
@@ -2047,7 +2049,7 @@ Partial Class Ventas
ImprimeNombreSucursal = False
RegistraScript("SetDisabledTxtTotal(true);")
TrVistaPrevia.Visible = False
CveMetodoPagoCliente = 1
'CveMetodoPagoCliente = 1
CveAlmacenExistenciasContrato = -1
UpFacturar.Update()
'CargaTiposDocumentos()
@@ -5454,7 +5456,7 @@ Partial Class Ventas
If CveCliente = 239903 AndAlso UsuarioActual.CveEmpresa = 119 Then
DdlMetodoPago33.Enabled = False
ObjCliente.CveMetodoPago = 1 ' PUE, y que no se pueda modificar
'ObjCliente.CveMetodoPago = 1 ' PUE, y que no se pueda modificar
Else
DdlMetodoPago33.Enabled = True
End If
@@ -5462,7 +5464,7 @@ Partial Class Ventas
Dim CveCotizacion As Integer = IfNull(ViewState("CveCotizacion"), 0).ToString().ToEntero()
If (CveVenta <= 0 AndAlso CveCotizacion <= 0) Or EsCreaApartirDe Or NuevaFactura = 1 Then
CveMetodoPagoCliente = ObjCliente.CveMetodoPago
'CveMetodoPagoCliente = ObjCliente.CveMetodoPago
DdlMetodoPago33.SelectedValueExist(ObjCliente.CveMetodoPago33)
@@ -6214,7 +6216,7 @@ Partial Class Ventas
End If
If CveVenta <= 0 Then
CveMetodoPagoCliente = ObjCliente.DtResultados.Rows(0)("CveMetodoPago").ToString().ToEntero()
'CveMetodoPagoCliente = ObjCliente.DtResultados.Rows(0)("CveMetodoPago").ToString().ToEntero()
DdlMetodoPago33.SelectedValueExist(ObjCliente.DtResultados.Rows(0)("CveMetodoPago33").ToString())
DdlMetodoPago33_SelectedIndexChanged(DdlMetodoPago33, EventArgs.Empty)
@@ -6246,7 +6248,7 @@ Partial Class Ventas
Dim CveCotizacion As Integer = IfNull(ViewState("CveCotizacion"), 0).ToString().ToEntero()
If CveVenta <= 0 AndAlso CveCotizacion <= 0 Then
CveMetodoPagoCliente = ObjCliente.CveMetodoPago
'CveMetodoPagoCliente = ObjCliente.CveMetodoPago
DdlMetodoPago33.SelectedValueExist(ObjCliente.CveMetodoPago33)
DdlMetodoPago33_SelectedIndexChanged(DdlMetodoPago33, EventArgs.Empty)
@@ -6291,8 +6293,22 @@ Partial Class Ventas
If ObjVentasAplciar.DtResultados.Rows.Count > 0 Then
If tCveSucursalCliente > 0 Then
Retorno = ObjVentasAplciar.DtResultados(0)("LimiteRestanteSucursal").ToString().ToDecimal
PorcentajeCredito = ObjVentasAplciar.DtResultados(0)("PorcentajeSaldoSucursal").ToString().ToDecimal
Dim LimiteRestanteSucursal As Decimal = ObjVentasAplciar.DtResultados(0)("LimiteRestanteSucursal").ToString().ToDecimal
Dim PorcentajeSaldoSucursal As Decimal = ObjVentasAplciar.DtResultados(0)("PorcentajeSaldoSucursal").ToString().ToDecimal
Dim LimiteRestanteCliente As Decimal = ObjVentasAplciar.DtResultados(0)("LimiteRestanteCliente").ToString().ToDecimal
Dim PorcentajeSaldoCliente As Decimal = ObjVentasAplciar.DtResultados(0)("PorcentajeSaldoCliente").ToString().ToDecimal
'SI EL LIMITE DE LA SUCURSAL ES MAYOR AL DEL CLIENTE DEBE LIMITAR AL DEL CLIENTE
If LimiteRestanteSucursal > LimiteRestanteCliente Then
Retorno = LimiteRestanteCliente
PorcentajeCredito = PorcentajeSaldoCliente
ElseIf LimiteRestanteSucursal < LimiteRestanteCliente Then
Retorno = LimiteRestanteSucursal
PorcentajeCredito = PorcentajeSaldoSucursal
End If
Else
Retorno = ObjVentasAplciar.DtResultados(0)("LimiteRestanteCliente").ToString().ToDecimal
PorcentajeCredito = ObjVentasAplciar.DtResultados(0)("PorcentajeSaldoCliente").ToString().ToDecimal
@@ -14402,7 +14418,7 @@ Partial Class Ventas
' Alert("El importe registrado como descuento no coincide con el importe seleccionado de anticipo.", TipoMensaje.MsgAdvertencia)
' Exit Sub
'End If
Dim TotalCalculableImpuestos As Decimal = 0
Dim TotalCalculableImpuestos As Decimal = 0, TotalCalculableImpuestosIVA As Decimal = 0
Dim TotalDescuentosRound As Decimal = 0
Dim Cantidad, PU, Descuento, DescuentoRound As Decimal
@@ -14416,14 +14432,19 @@ Partial Class Ventas
TotalDescuentosRound += DescuentoRound
TotalCalculableImpuestos = (Cantidad * (PU)) - Descuento
TotalCalculableImpuestosIVA = TotalCalculableImpuestos * (1 + dr("PorcentajeIEPS").ToString().ToDecimal)
dr("Descuento") = DescuentoRound
dr("TotalImporte") = Math.Round(Cantidad * PU, NumeroDecimales)
dr("ImporteIVA") = Math.Round(dr("PorcentajeIVA").ToString().ToDecimal * TotalCalculableImpuestos, NumeroDecimales)
dr("ImporteIEPS") = Math.Round(dr("PorcentajeIEPS").ToString().ToDecimal * TotalCalculableImpuestos, NumeroDecimales)
dr("ImporteRetIVA") = Math.Round(ClienteRetIVA * TotalCalculableImpuestos, NumeroDecimales)
dr("ImporteRetISR") = Math.Round(ClienteRetISR * TotalCalculableImpuestos, NumeroDecimales)
dr("Total") = (Cantidad * PU)
dr("TotalImporte") = (Cantidad * PU).RoundSQL
dr("ImporteIVA") = (dr("PorcentajeIVA").ToString().ToDecimal * TotalCalculableImpuestosIVA).RoundSQL(NumeroDecimales)
dr("ImporteIEPS") = (dr("PorcentajeIEPS").ToString().ToDecimal * TotalCalculableImpuestos).RoundSQL(NumeroDecimales)
dr("ImporteRetIVA") = (ClienteRetIVA * TotalCalculableImpuestos).RoundSQL(NumeroDecimales)
dr("ImporteRetISR") = (ClienteRetISR * TotalCalculableImpuestos).RoundSQL(NumeroDecimales)
dr("PorcentajeRetIVA") = ClienteRetIVA
dr("PorcentajeRetISR") = ClienteRetISR
Next
'REVISA SI EXISTEN DIFERENCIAS ENTRE EL DESCUENTO Y LO AMORTIZADO PARA REALIZAR UN AJUSTE EN EL ULTIMO CONCEPTO AGREGADO
@@ -15685,11 +15706,10 @@ Partial Class Ventas
End If
If DdlTipoComprobante.SelectedValue.Contiene("Rem") Then
' IPP 15 Julio 2017 - ERA FALSE
ImgAntiPend.Visible = False
ElseIf Opcion <> "Op" Then
If DdlTipoComprobante.SelectedValue.Contiene("Ing") Then
ImgAntiPend.Visible = True
Else
ImgAntiPend.Visible = False
End If
@@ -15709,6 +15729,10 @@ Partial Class Ventas
TrVistaPrevia.Visible = EstatusCliente
End If
If DdlTipoComprobante.SelectedValue = "Ing" Then
ImgAntiPend.Visible = True
End If
MostrarOpcioensPaqueteria()
TrAtencionA.Visible = True
@@ -15724,9 +15748,7 @@ Partial Class Ventas
End Sub
Protected Sub DdlSucursalCliente_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlSucursalCliente.SelectedIndexChanged
CargaClienteSucursal(DdlSucursalCliente.SelectedValue.ToEntero())
'If Me.CveVenta > 0 Then
' CargaRestriccionesCreditoCliente(Alertas:=True)
'End If
CargaRestriccionesCreditoCliente(Alertas:=True, CveVenta:=Me.CveVenta)
End Sub
Protected Sub DdlCCEdit_SelectedIndexChanged(sender As Object, e As System.EventArgs)
Dim gvr As GridViewRow = DirectCast(DirectCast(sender, DropDownList).BindingContainer, GridViewRow)
@@ -27838,6 +27860,8 @@ Partial Class Ventas
' BtnCrearApartirDe.Visible = False
'End If
HdnCveVenta.Value = ""
BtnCrearApartirDe.Visible = False '[IPP-2Novimebre2018] REEMPLAZA LO COMENTADO ARRIBA
EsCreaApartirDe = True
ModalidadEdicion = True
@@ -27885,6 +27909,7 @@ Partial Class Ventas
'Cuando es cotización, Genera nueva cotizacion
If DdlTipoComprobante.SelectedValue = "Cot" Then
BtnEmitirImprimir.Text = "Cotizar"
ImgAntiPend.Visible = False
'TdReferencia.Style.Add("display", "none")
End If
@@ -28015,6 +28040,8 @@ Partial Class Ventas
GvFacturasRelacionadas.Columns(2).Visible = True
CalculaTotalesVenta()
UpnTools.Update()
UpCliente.Update()
UpParametros.Update()

View File

@@ -21,22 +21,35 @@ Public Class WsTSoft
<WebMethod()>
Public Function AddRemision(FolioRemision As String, NoEconomico As String, CveEstatus As Integer, GeoInicial As String, GeoCarga As String, GeoEntrega As String, Fecha As String) As String
Dim retorno As String = ""
Dim Continuar As Boolean = False
Dim objTsoft As New ClsTSoft
objTsoft.IniciaTransacSQL()
Dim Continuar As Boolean = objTsoft.AddRemisiones(FolioRemision, NoEconomico, CveEstatus, GeoInicial, GeoCarga, GeoEntrega, Fecha)
Dim objRem As New addRemisionObj
If Continuar Then
objTsoft.Commit()
objRem.CveRemision = objTsoft.DtResultados.Rows(0)("CveRemision").ToString().ToEntero()
objRem.CurrentError = ""
Else
objTsoft.RollBack()
objRem.CveRemision = 0
objRem.CurrentError = objTsoft.MyCurrentError
End If
objTsoft.IniciaTransacSQL()
Try
Continuar = objTsoft.AddRemisiones(FolioRemision, NoEconomico, CveEstatus, GeoInicial, GeoCarga, GeoEntrega, Fecha)
Dim objRem As New addRemisionObj
If Continuar Then
objRem.CveRemision = objTsoft.DtResultados.Rows(0)("CveRemision").ToString().ToEntero()
objRem.CurrentError = ""
Else
objRem.CveRemision = 0
objRem.CurrentError = objTsoft.MyCurrentError
End If
retorno = JsonConvert.SerializeObject(objRem)
objRem = Nothing
Catch ex As Exception
Continuar = False
Finally
If Continuar Then
objTsoft.Commit()
Else
objTsoft.RollBack()
End If
End Try
objTsoft.Dispose()
retorno = JsonConvert.SerializeObject(objRem)
objRem = Nothing
Return retorno
End Function
@@ -69,22 +82,29 @@ Public Class WsTSoft
DtPosicion = ObjGPS.DtResultados.Copy()
Continuar = True
End If
End Using
Dim ObjPos As New LatLng
If Continuar AndAlso DtPosicion IsNot Nothing Then
'CONSULTA DIRECCIONES
Try
End Using
Dim ObjPos As New LatLng
Try
If Continuar AndAlso DtPosicion IsNot Nothing Then
'CONSULTA DIRECCIONES
If DtPosicion IsNot Nothing AndAlso DtPosicion.Rows.Count > 0 Then
Try
Dim Direcciones As JArray = ConsultarDirecciones(DtPosicion, "Lat", "Lng")
Dim Direcciones As JArray = ConsultarDirecciones(DtPosicion, "Lat", "Lng")
If Direcciones IsNot Nothing Then
For Each Dir As JObject In Direcciones
DtPosicion.Rows(Dir("Indice").ToEntero())("Direccion") = Dir("Direccion").ToString()
Next
End If
If Direcciones IsNot Nothing Then
For Each Dir As JObject In Direcciones
DtPosicion.Rows(Dir("Indice").ToEntero())("Direccion") = Dir("Direccion").ToString()
Next
End If
Catch ex As Exception
ObjPos.CurrentError = "No se pudo obtener la posición."
OnError("Ocurrió un error al asignar las direcciones", ex)
End Try
Dim RowPosicion As DataRow = DtPosicion.Rows("0")
@@ -96,20 +116,20 @@ Public Class WsTSoft
ObjPos.CurrentError = "No se encontraron resultados."
End If
Catch ex As Exception
Else
ObjPos.CurrentError = "No se pudo obtener la posición."
OnError("Ocurrió un error al asignar las direcciones", ex)
End Try
Else
ObjPos.CurrentError = "No se pudo obtener la posición."
End If
End If
If DtPosicion IsNot Nothing Then
DtPosicion.Dispose()
DtPosicion = Nothing
End If
If DtPosicion IsNot Nothing Then
DtPosicion.Dispose()
DtPosicion = Nothing
End If
retorno = JsonConvert.SerializeObject(ObjPos)
Catch ex As Exception
OnError("Ocurrió un error al obtener los datos", ex)
End Try
retorno = JsonConvert.SerializeObject(ObjPos)
ObjPos = Nothing
Return retorno
End Function
@@ -135,36 +155,43 @@ Public Class WsTSoft
<WebMethod()>
Public Function GetRemisionHistorial(FolioRemision As String, NoEconomico As String) As String
Dim retorno As String = ""
Dim objTsoft As New ClsTSoft
Dim Continuar As Boolean = objTsoft.GETRemisionesHistorial(FolioRemision, NoEconomico)
Dim objRem As New GetRemisionHistorialesObj
If Continuar Then
Try
Dim objTsoft As New ClsTSoft
Try
Dim Continuar As Boolean = objTsoft.GETRemisionesHistorial(FolioRemision, NoEconomico)
Dim objRem As New GetRemisionHistorialesObj
If Continuar Then
Dim Dt = objTsoft.DtResultados.Copy()
Dt.Columns.Add("Direccion", GetType(String))
Try
Dt.Columns.Add("Direccion", GetType(String))
'CONSULTA DIRECCIONES
Dim Direcciones As JArray = ConsultarDirecciones(Dt, "Lat", "Lon")
If Direcciones IsNot Nothing Then
For Each Dir As JObject In Direcciones
Dt.Rows(Dir("Indice").ToEntero())("Direccion") = Dir("Direccion").ToString()
Next
End If
'CONSULTA DIRECCIONES
Dim Direcciones As JArray = ConsultarDirecciones(Dt, "Lat", "Lon")
If Direcciones IsNot Nothing Then
For Each Dir As JObject In Direcciones
Dt.Rows(Dir("Indice").ToEntero())("Direccion") = Dir("Direccion").ToString()
Next
End If
objRem.CurrentError = ""
Catch ex As Exception
objRem.CurrentError = "Ocurrió un error al asignar las direcciones"
OnError("Ocurrió un error al asignar las direcciones", ex)
End Try
objRem.Historial = Dt.DataTableToObject(Of GetRemisionHistorialsObj)
objRem.CurrentError = ""
Catch ex As Exception
objRem.CurrentError = "Ocurrió un error al asignar las direcciones"
OnError("Ocurrió un error al asignar las direcciones", ex)
End Try
Else
objRem.Historial = New List(Of GetRemisionHistorialsObj)
objRem.CurrentError = objTsoft.MyCurrentError
End If
Dt.Dispose()
Dt = Nothing
Else
objRem.Historial = New List(Of GetRemisionHistorialsObj)
objRem.CurrentError = objTsoft.MyCurrentError
End If
retorno = JsonConvert.SerializeObject(objRem)
objRem = Nothing
Catch ex As Exception
OnError("Ocurrió un error al obtener los datos", ex)
End Try
objTsoft.Dispose()
retorno = JsonConvert.SerializeObject(objRem)
retorno = Nothing
Return retorno
End Function
<WebMethod()>
@@ -172,27 +199,32 @@ Public Class WsTSoft
Dim retorno As String = "[]"
Dim objTsoft As New ClsTSoft
If objTsoft.GetInfoEventosPenske(FechaInicio.ToDateTime(), FechaFin.ToDateTime()) Then
If objTsoft.DtResultados.Rows.Count > 0 Then
Try
'CONSULTA DIRECCIONES
Dim Direcciones As JArray = ConsultarDirecciones(objTsoft.DtResultados)
If Direcciones IsNot Nothing Then
For Each Dir As JObject In Direcciones
objTsoft.DtResultados.Rows(Dir("Indice").ToEntero())("Direccion") = Dir("Direccion").ToString()
Next
End If
Catch ex As Exception
OnError("Ocurrió un error al asignar las direcciones", ex)
End Try
Try
If objTsoft.GetInfoEventosPenske(FechaInicio.ToDateTime(), FechaFin.ToDateTime()) Then
If objTsoft.DtResultados.Rows.Count > 0 Then
Try
'CONSULTA DIRECCIONES
Dim Direcciones As JArray = ConsultarDirecciones(objTsoft.DtResultados)
If Direcciones IsNot Nothing Then
For Each Dir As JObject In Direcciones
objTsoft.DtResultados.Rows(Dir("Indice").ToEntero())("Direccion") = Dir("Direccion").ToString()
Next
End If
Catch ex As Exception
OnError("Ocurrió un error al asignar las direcciones", ex)
End Try
retorno = objTsoft.DtResultados.DataTableToJSONIPP()
retorno = objTsoft.DtResultados.DataTableToJSONIPP()
Else
retorno = Newtonsoft.Json.JsonConvert.SerializeObject(New With {.Mensaje = "No se encontraron resultados"})
End If
Else
retorno = Newtonsoft.Json.JsonConvert.SerializeObject(New With {.Mensaje = "No se encontraron resultados"})
retorno = Newtonsoft.Json.JsonConvert.SerializeObject(New With {.Mensaje = "Ocurrío un error al consultar los datos"})
End If
Else
retorno = Newtonsoft.Json.JsonConvert.SerializeObject(New With {.Mensaje = "Ocurrío un error al consultar los datos"})
End If
Catch ex As Exception
retorno = "[]"
OnError("Ocurrió un error al obtener los datos", ex)
End Try
objTsoft.Dispose()
Return retorno
@@ -202,17 +234,22 @@ Public Class WsTSoft
Dim retorno As String = ""
Dim Continuar As Boolean = False
Dim ObjTSoft As New ClsTSoft
Continuar = ObjTSoft.TieneRemisionesActivas(NoEconomico)
Dim objRem As New MTieneRemisiones With
{
.TieneRemisiones = Continuar,
.CurrentError = ObjTSoft.MyCurrentError
}
ObjTSoft.Dispose()
retorno = JsonConvert.SerializeObject(objRem)
objRem = Nothing
Dim ObjTSoft As New ClsTSoft
Try
If ObjTSoft.TieneRemisionesActivas(NoEconomico) Then
Dim objRem As New MTieneRemisiones With
{
.TieneRemisiones = Continuar,
.CurrentError = ObjTSoft.MyCurrentError
}
retorno = JsonConvert.SerializeObject(objRem)
objRem = Nothing
End If
Catch ex As Exception
OnError("Ocurrió un error al obtener los datos", ex)
End Try
ObjTSoft.Dispose()
Return retorno
End Function