This commit is contained in:
2019-11-13 13:01:54 -07:00
14 changed files with 328 additions and 160 deletions

View File

@@ -192,7 +192,7 @@ Public Class ClsClasificaciones
End Function End Function
Public Function AddClasificaciones(Clasificacion As String, Codigo As String, IdCuentaGasto As Integer, CuentaGasto As String, IdCuentaCostos As Integer, CuentaCostos As String, IdCuentaIngreso As Integer, CuentaIngreso As String, CveCategoria As Integer, CveUsuario As Integer, CveEmpresa As Integer, Optional RequiereSerieLote As Integer = 0, Optional UsoClasificacion As Integer = -1, Optional CveSATPS As Integer = -1, Optional RequiereAFCompra As Boolean = True, Optional RequiereAFInsumo As Boolean = True, Optional RequierePersonal As Boolean = True, Public Function AddClasificaciones(Clasificacion As String, Codigo As String, IdCuentaGasto As Integer, CuentaGasto As String, IdCuentaCostos As Integer, CuentaCostos As String, IdCuentaIngreso As Integer, CuentaIngreso As String, CveCategoria As Integer, CveUsuario As Integer, CveEmpresa As Integer, Optional RequiereSerieLote As Integer = 0, Optional UsoClasificacion As Integer = -1, Optional CveSATPS As Integer = -1, Optional RequiereAFCompra As Boolean = True, Optional RequiereAFInsumo As Boolean = True, Optional RequierePersonal As Boolean = True,
Optional EsAcumulador As Boolean = False, Optional TopVentas As Boolean = False, Optional TopCompras As Boolean = False) As Boolean Optional EsAcumulador As Boolean = False, Optional TopVentas As Boolean = False, Optional TopCompras As Boolean = False, Optional PrecioBaseCosto As Decimal = -1) As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
DataAdapter("PA_ClasificacionesAdd") DataAdapter("PA_ClasificacionesAdd")
@@ -227,6 +227,7 @@ Public Class ClsClasificaciones
.Add("@EsAcumulador", SqlDbType.Bit).Value = EsAcumulador .Add("@EsAcumulador", SqlDbType.Bit).Value = EsAcumulador
.Add("@TopCompras", SqlDbType.Bit).Value = TopCompras .Add("@TopCompras", SqlDbType.Bit).Value = TopCompras
.Add("@TopVentas", SqlDbType.Bit).Value = TopVentas .Add("@TopVentas", SqlDbType.Bit).Value = TopVentas
.Add("@PrecioBaseCosto", SqlDbType.Money).Value = PrecioBaseCosto
End With End With
@@ -300,7 +301,7 @@ Public Class ClsClasificaciones
End Function End Function
Public Function UpdateClasificacion(Clasificacion As String, Codigo As String, IdCuentaGasto As Integer, CuentaGasto As String, IdCuentaCostos As Integer, CuentaCostos As String, IdCuentaIngresos As Integer, CuentaIngresos As String, Estatus As Boolean, Afectable As Boolean, CveCategoria As Integer, CveUsuario As Integer, CveClasificacion As Integer, Optional RequiereSerieLote As Integer = 0, Optional UsoClasificacion As Integer = -1, Optional CveSATPS As Integer = -1, Optional RequiereAFCompra As Boolean = True, Optional RequiereAFInsumo As Boolean = True, Optional RequierePersonal As Boolean = True, Public Function UpdateClasificacion(Clasificacion As String, Codigo As String, IdCuentaGasto As Integer, CuentaGasto As String, IdCuentaCostos As Integer, CuentaCostos As String, IdCuentaIngresos As Integer, CuentaIngresos As String, Estatus As Boolean, Afectable As Boolean, CveCategoria As Integer, CveUsuario As Integer, CveClasificacion As Integer, Optional RequiereSerieLote As Integer = 0, Optional UsoClasificacion As Integer = -1, Optional CveSATPS As Integer = -1, Optional RequiereAFCompra As Boolean = True, Optional RequiereAFInsumo As Boolean = True, Optional RequierePersonal As Boolean = True,
Optional EsAcumulador As Boolean = False, Optional TopVentas As Boolean = False, Optional TopCompras As Boolean = False) As Boolean Optional EsAcumulador As Boolean = False, Optional TopVentas As Boolean = False, Optional TopCompras As Boolean = False, Optional PrecioBaseCosto As Decimal = -1) As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
DataAdapter("PA_ClasificacionesUpdate") DataAdapter("PA_ClasificacionesUpdate")
@@ -335,6 +336,7 @@ Public Class ClsClasificaciones
.Add("@EsAcumulador", SqlDbType.Bit).Value = EsAcumulador .Add("@EsAcumulador", SqlDbType.Bit).Value = EsAcumulador
.Add("@TopCompras", SqlDbType.Bit).Value = TopCompras .Add("@TopCompras", SqlDbType.Bit).Value = TopCompras
.Add("@TopVentas", SqlDbType.Bit).Value = TopVentas .Add("@TopVentas", SqlDbType.Bit).Value = TopVentas
.Add("@PrecioBaseCosto", SqlDbType.Money).Value = PrecioBaseCosto
End With End With

View File

@@ -7360,20 +7360,30 @@ Public Class ClsContPAQi
StrSQL.Append(" AND (@CveUsuario = -1 OR P.IdUsuario = @CveUsuario) ") StrSQL.Append(" AND (@CveUsuario = -1 OR P.IdUsuario = @CveUsuario) ")
StrSQL.Append(" END; ") StrSQL.Append(" END; ")
StrSQL.Append(" DECLARE @DtProv TABLE (IdPoliza INT INDEX IX1 CLUSTERED) ")
StrSQL.Append(" IF @CveTipoProveedor > 0 ")
StrSQL.Append(" BEGIN ")
StrSQL.Append(" INSERT INTO @DtProv SELECT PP.IdPoliza
FROM SERVIDOR.Ventas.dbo.Conta_PrePolizasDetalle PPD ")
StrSQL.Append(" INNER JOIN SERVIDOR.Ventas.dbo.Conta_PrePolizas PP ON PP.CvePrePoliza = PPD.CvePrePoliza
INNER JOIN SERVIDOR.Ventas.dbo.Comp_Proveedores Prov ON Prov.CveProveedor = PPD.CveProveedor and PP.IdPoliza > 0
AND Prov.CveTipoProveedor = @CveTipoProveedor AND Prov.CveEmpresa = @CveEmpresa
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(" 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(" 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(" ,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(" , CASE WHEN MP.TipoMovto=1 THEN MP.Importe ELSE 0 END AS Abono,U.Nombre AS UsuarioRegistro ")
StrSQL.Append(" FROM Polizas P ") StrSQL.Append(" FROM Polizas P ")
StrSQL.Append(" LEFT JOIN MovimientosPoliza MP ON P.Id= MP.IdPoliza ") StrSQL.Append(" LEFT JOIN MovimientosPoliza MP ON P.Id= MP.IdPoliza ")
StrSQL.Append(" LEFT JOIN SERVIDOR.Ventas.dbo.Conta_PrePolizasDetalle PPD ON PPD.CvePrePolizaDetalle = MP.CvePrePolizaDetalle ")
StrSQL.Append(" LEFT JOIN SERVIDOR.Ventas.dbo.Conta_PrePolizas PP ON PP.CvePrePoliza = PPD.CvePrePoliza ")
StrSQL.Append(" LEFT JOIN SERVIDOR.Ventas.dbo.Usuarios U ON U.CveUsuario = P.IdUsuario ") StrSQL.Append(" LEFT JOIN SERVIDOR.Ventas.dbo.Usuarios U ON U.CveUsuario = P.IdUsuario ")
StrSQL.Append(" LEFT JOIN Cuentas C ON C.Id = MP.IdCuenta ") StrSQL.Append(" LEFT JOIN Cuentas C ON C.Id = MP.IdCuenta ")
StrSQL.Append(" LEFT JOIN TiposPolizas T ON T.Id = P.TipoPol ") StrSQL.Append(" LEFT JOIN TiposPolizas T ON T.Id = P.TipoPol ")
StrSQL.Append(" LEFT JOIN SegmentosNegocio SN ON SN.Id = MP.IdSegNeg ") StrSQL.Append(" LEFT JOIN SegmentosNegocio SN ON SN.Id = MP.IdSegNeg ")
StrSQL.Append(" WHERE P.Fecha >= @Inicio AND P.Fecha <= @Fin ") StrSQL.Append(" WHERE P.Fecha >= @Inicio AND P.Fecha <= @Fin ")
StrSQL.Append(" AND (@CveTipoProveedor = -1 OR PPD.CveProveedor in (SELECT CveProveedor FROM SERVIDOR.Ventas.dbo.Comp_Proveedores POV WHERE POV.CveEmpresa = @CveEmpresa AND POV.CveTipoProveedor = @CveTipoProveedor)) ") StrSQL.Append(" AND (@CveTipoProveedor = -1 OR ( MP.IdPoliza IN (SELECT IdPoliza FROM @DtProv))) ")
StrSQL.Append(" AND (@FolioI = -1 OR P.Folio >= @FolioI) ") StrSQL.Append(" AND (@FolioI = -1 OR P.Folio >= @FolioI) ")
StrSQL.Append(" AND (@FolioF = -1 OR P.Folio <= @FolioF) ") StrSQL.Append(" AND (@FolioF = -1 OR P.Folio <= @FolioF) ")
StrSQL.Append(" AND (@TipoP=-1 OR @TipoP =P.TipoPol) ") StrSQL.Append(" AND (@TipoP=-1 OR @TipoP =P.TipoPol) ")

View File

@@ -5,6 +5,7 @@ Imports System.Web
Imports System.Data Imports System.Data
Imports System.Text Imports System.Text
Imports Extensiones Imports Extensiones
Imports System.Web.Configuration
Public Class ClsTSoft Public Class ClsTSoft
Inherits ClsClaseBase Inherits ClsClaseBase
@@ -200,4 +201,32 @@ Public Class ClsTSoft
Return retorno Return retorno
End Function End Function
#End Region #End Region
Protected Overloads Function RunQuery(msgOnError As String) As Boolean
Dim retorno As Boolean = False
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
retorno = False
setOnError(msgOnError, ex)
End Try
Return retorno
End Function
Public Overloads Sub setOnError(Mensaje As String, Exeption As Exception)
Dim InfoAdicional As String = ""
If SqlAdapter IsNot Nothing AndAlso SqlAdapter.SelectCommand IsNot Nothing AndAlso SqlAdapter.SelectCommand.Parameters IsNot Nothing Then
InfoAdicional = SqlAdapter.SelectCommand.Parameters.ParametrosInfo()
End If
MyCurrentError = String.Format("{0} DESCRIPCIÓN DETALLADA: {1} {2} {3}", Mensaje, Exeption.ToString, vbCrLf, InfoAdicional)
OnError(Mensaje, Exeption, InfoAdicional)
End Sub
Public Sub OnError(Obj As Object, Mensaje As String, Exeption As Exception, Optional InfoAdicional As String = "")
GuardaLogAD(String.Format("{0} DESCRIPCIÓN DETALLADA: {1} {2} {3}", Mensaje, Exeption.ToString, vbCrLf, InfoAdicional), "LogClsTsoft")
Alert(Obj, Mensaje, TipoMensaje.MsgError)
'If WebConfigurationManager.AppSettings("SiteName") IsNot Nothing AndAlso WebConfigurationManager.AppSettings("SiteName").ToString = "1" Then MandaCorreoError(String.Format("{0} DESCRIPCIÓN DETALLADA: {1} {2} {3}", Mensaje, Exeption.ToString, vbCrLf, InfoAdicional))
End Sub
End Class End Class

View File

@@ -504,6 +504,7 @@ Partial Class Bancos_ProveedoresAbonar
End If End If
CargaDatos() '(tCveProveedor, CveMoneda, FechaI, FechaF, CveUsuarioRegistro, CveUsuarioProgramo, Serie) CargaDatos() '(tCveProveedor, CveMoneda, FechaI, FechaF, CveUsuarioRegistro, CveUsuarioProgramo, Serie)
CargaCuentasDepositos()
'CUANDO VIENE PROGRAMADO LLENA EL TEXTO OBSERVACIONES 'CUANDO VIENE PROGRAMADO LLENA EL TEXTO OBSERVACIONES
If CveUsuarioProgramo <> -1 Then RegistraScript("SumaValores();") If CveUsuarioProgramo <> -1 Then RegistraScript("SumaValores();")
@@ -2817,12 +2818,13 @@ Partial Class Bancos_ProveedoresAbonar
If DtDatos.Rows.Count > 0 Then If DtDatos.Rows.Count > 0 Then
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) 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 logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
Dim StrImporte As String = DtDatos.Rows(0)("Saldo").ToString.FormatoNumero
Dim params As New List(Of ReportParameter) Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToString)) params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToString))
params.Add(New ReportParameter("Sucursal", DtDatos.Rows(1)("SubProyecto").ToString)) params.Add(New ReportParameter("Sucursal", DtDatos.Rows(1)("SubProyecto").ToString))
params.Add(New ReportParameter("Importe", $"${DtDatos.Rows(0)("Saldo").ToString.FormatoNumero}")) params.Add(New ReportParameter("Importe", $"${StrImporte}"))
params.Add(New ReportParameter("RazonSocial", TxtPagueseA.Text)) params.Add(New ReportParameter("RazonSocial", TxtPagueseA.Text))
params.Add(New ReportParameter("Fecha", TxtFechaDocumento.Text)) params.Add(New ReportParameter("Fecha", TxtFechaDocumento.Text))
Dim Transferencia = "", Banco = "", CLABE = "", Cuenta = "", Correo = "" Dim Transferencia = "", Banco = "", CLABE = "", Cuenta = "", Correo = ""
@@ -2845,12 +2847,13 @@ Partial Class Bancos_ProveedoresAbonar
params.Add(New ReportParameter("Cuenta", Cuenta)) params.Add(New ReportParameter("Cuenta", Cuenta))
params.Add(New ReportParameter("Correo", Correo)) params.Add(New ReportParameter("Correo", Correo))
If Imagen.Exists Then If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri)) params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
ImprimirPDF("Empresas/Grales/Formatos/Solicitud.rdlc", DtDatos, params, "Solicitud", Opcion)
Else Else
params.Add(New ReportParameter("LogoPath", ""))
End If
Dim NombreArchivo As String = "SolicitudPago" ''String.Format("SolicitudPago{0}.pdf", TxtPagueseA.Text).Replace(" ", "")
ImprimirPDF("Empresas/Grales/Formatos/Solicitud.rdlc", DtDatos, params, NombreArchivo, Opcion)
Else
Alert("No se encontraron datos.", TipoMensaje.MsgAdvertencia) Alert("No se encontraron datos.", TipoMensaje.MsgAdvertencia)
End If End If
End Sub End Sub

View File

@@ -2657,6 +2657,21 @@
</div> </div>
<br /> <br />
</div> </div>
<div class="row">
<div class="col-md-6" id="DivPagarConPesos" runat="server" Visible="false">
<label class="col-md-6"><b>Pagar Con Pesos: </b></label>
<div class="col-md-6">
<asp:CheckBox ID="ChkPagarConPesos" runat="server" OnCheckedChanged="ChkPagarConPesos_CheckedChanged" AutoPostBack="true"/>
</div>
</div>
<div class="col-md-6" id="DivPagarConDolares" runat="server" Visible="false">
<label class="col-md-6"><b>Pagar Con Dolares: </b></label>
<div class="col-md-6">
<asp:CheckBox ID="ChkPagarConDolares" runat="server" OnCheckedChanged="ChkPagarConDolares_CheckedChanged" AutoPostBack="true"/>
</div>
</div>
<br />
</div>
<asp:GridView ID="GVAnticipos" runat="server" GridLines="None" AutoGenerateColumns="False" DataKeyNames="CveCompra,TipoDocto,CveIE,Fecha,CvePrePoliza,CveMoneda,TCCompra" EmptyDataText="No se encontraron Anticipos/NC del Proveedor" CssClass="table table-striped table-hover table-advance Widthall"> <asp:GridView ID="GVAnticipos" runat="server" GridLines="None" AutoGenerateColumns="False" DataKeyNames="CveCompra,TipoDocto,CveIE,Fecha,CvePrePoliza,CveMoneda,TCCompra" EmptyDataText="No se encontraron Anticipos/NC del Proveedor" CssClass="table table-striped table-hover table-advance Widthall">
<Columns> <Columns>
@@ -5234,18 +5249,29 @@
function chkAnt(t, txt, importe, TotalSaldo) { function chkAnt(t, txt, importe, TotalSaldo,CveMonedaAnticipo,TCAnticipo,CveMonedaOriginal) {
var Total = ToDouble($get('TxtTotal').value); var Total = ToDouble($get('TxtTotal').value);
//TotalSaldo = Total; //TotalSaldo = Total;
var txtvalue = ToDouble(txt.value);
var importevalue = ToDouble(importe);
if (CveMonedaAnticipo = 1 && CveMonedaOriginal == 2) {
txtvalue = ToDouble(txtvalue / TCAnticipo);
importevalue = ToDouble(importevalue / TCAnticipo);
} else if (CveMonedaAnticipo = 2 && CveMonedaOriginal == 1) {
txtvalue = ToDouble(txtvalue * TCAnticipo);
importevalue = ToDouble(importevalue * TCAnticipo);
}
//var SaldoCompra = parseFloat(parseFloat($get('HdnCompraSaldo').value).toFixed(2)); //var SaldoCompra = parseFloat(parseFloat($get('HdnCompraSaldo').value).toFixed(2));
var SaldoCompra = (TotalSaldo - FnSumaValoresAnt() + ToDouble(txt.value)).toFixed(2); // le agrego lo del valor actual para validarlo var SaldoCompra = (TotalSaldo - FnSumaValoresAnt() + txtvalue).toFixed(2); // le agrego lo del valor actual para validarlo
if (t.checked) { if (t.checked) {
if (SaldoCompra > 0) { if (SaldoCompra > 0) {
if (SaldoCompra > importe) { if (SaldoCompra > importevalue) {
txt.value = ToDouble(importe).toFixed(2); txt.value = ToDouble(importevalue).toFixed(2);
//SaldoCompra = SaldoCompra - importe; //SaldoCompra = SaldoCompra - importe;
//$get('HdnCompraSaldo').value = SaldoCompra; //$get('HdnCompraSaldo').value = SaldoCompra;
@@ -5273,21 +5299,28 @@
} }
function FnCambiaAnt(chk, txt, saldo, TotalSaldo) { function FnCambiaAnt(chk, txt, saldo, TotalSaldo, CveMonedaAnticipo, TCAnticipo, CveMonedaOriginal) {
var Total = ToDouble($get('TxtTotal').value); var Total = ToDouble($get('TxtTotal').value);
var SaldoCompra = (TotalSaldo - FnSumaValoresAnt() + ToDouble(txt.value)).toFixed(2); // le agrego lo del valor actual para validarlo //parseFloat(parseFloat($get('HdnCompraSaldo').value).toFixed(2)); var txtvalue = ToDouble(txt.value);
if (SaldoCompra < 0) txt.value = SaldoCompra - txt.value; if (CveMonedaAnticipo = 1 && CveMonedaOriginal == 2) {
txtvalue = ToDouble(txtvalue / TCAnticipo);
} else if (CveMonedaAnticipo = 2 && CveMonedaOriginal == 1) {
txtvalue = ToDouble(txtvalue * TCAnticipo);
}
var SaldoCompra = (TotalSaldo - FnSumaValoresAnt() + ToDouble(txtvalue)).toFixed(2); // le agrego lo del valor actual para validarlo //parseFloat(parseFloat($get('HdnCompraSaldo').value).toFixed(2));
if (SaldoCompra < 0) txt.value = SaldoCompra - txtvalue;
//minimo entre saldocompra y el saldoanticipo //minimo entre saldocompra y el saldoanticipo
if (SaldoCompra < saldo) saldo = SaldoCompra; if (SaldoCompra < saldo) saldo = SaldoCompra;
if (ToDouble(txt.value) > 0) { if (ToDouble(txtvalue) > 0) {
chk.checked = true; chk.checked = true;
} else { } else {
chk.checked = false; chk.checked = false;
} }
if (ToDouble(txt.value) > saldo) { if (ToDouble(txtvalue) > saldo) {
txt.value = saldo; txt.value = saldo;
alert("El Importe no debe de exceder a el saldo"); alert("El Importe no debe de exceder a el saldo");
} }

View File

@@ -3238,8 +3238,10 @@ Partial Class Compras_Compras
Private Sub CargaAnticipos(CveProveedor As Integer, Optional FiltroTipo As String = "-1") Private Sub CargaAnticipos(CveProveedor As Integer, Optional FiltroTipo As String = "-1")
Dim ObjMovtos As New ClsMovimientos() Dim ObjMovtos As New ClsMovimientos()
If ObjMovtos.GetAnticiposProveedor(CveProveedor, -1, CveMoneda:=DdlMoneda.SelectedValue.ToEntero, SelectTop:=-1, TipoDocto:=FiltroTipo) AndAlso ObjMovtos.DtResultados.Rows.Count > 0 Then If ObjMovtos.GetAnticiposProveedor(CveProveedor, -1, CveMoneda:=-1, SelectTop:=-1, TipoDocto:=FiltroTipo) AndAlso ObjMovtos.DtResultados.Rows.Count > 0 Then
GVAnticipos.DataSource = ObjMovtos.DtResultados.FiltraParametros("Tipo = 'Act'") Dim CveMoneda As Integer = If(ChkPagarConPesos.Checked, 1, If(ChkPagarConDolares.Checked, 2, DdlMoneda.SelectedValue.ToEntero))
If DdlMoneda.SelectedValue.ToEntero = 1 AndAlso CveCompra > 0 Then DivPagarConDolares.Visible = True Else If CveCompra > 0 Then DivPagarConPesos.Visible = True
GVAnticipos.DataSource = ObjMovtos.DtResultados.FiltraParametros($"Tipo = 'Act' AND CveMoneda = {CveMoneda}")
If ObjMovtos.DtResultados.FiltraParametros("Saldo > 0").Rows.Count > 0 Then If ObjMovtos.DtResultados.FiltraParametros("Saldo > 0").Rows.Count > 0 Then
BtnAceptarAnticipos.Enabled = True BtnAceptarAnticipos.Enabled = True
If DdlTipoComprobante.SelectedValue = "Fac" Then ImgAnticiposPendientes.Visible = True If DdlTipoComprobante.SelectedValue = "Fac" Then ImgAnticiposPendientes.Visible = True
@@ -8037,7 +8039,7 @@ Partial Class Compras_Compras
If gvr.FCCheckBox("Chk") IsNot Nothing AndAlso gvr.FCCheckBox("Chk").Checked Then If gvr.FCCheckBox("Chk") IsNot Nothing AndAlso gvr.FCCheckBox("Chk").Checked Then
CveCompraNC = gvr.DataKey("CveCompra").ToEntero CveCompraNC = gvr.DataKey("CveCompra").ToEntero
tipoCambioNC = gvr.DataKey("TCCompra").ToDecimal tipoCambioNC = If(ChkPagarConPesos.Checked, GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal, gvr.DataKey("TCCompra").ToDecimal)
sumaAmortizacion = 0 sumaAmortizacion = 0
If CvePrePolizaNueva > 0 Then If CvePrePolizaNueva > 0 Then
@@ -8066,6 +8068,12 @@ Partial Class Compras_Compras
sumaAmortizacion += ImporteMovimiento sumaAmortizacion += ImporteMovimiento
sumaAmortizacionCompleto += ImporteMovimiento sumaAmortizacionCompleto += ImporteMovimiento
If ChkPagarConPesos.Checked Then
ImporteMovimiento = ImporteMovimiento * GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal
ElseIf ChkPagarConDolares.Checked Then
ImporteMovimiento = ImporteMovimiento / gvr.DataKey("TCCompra").ToDecimal
End If
If DdlMoneda.SelectedValue.ToEntero <> 1 Then If DdlMoneda.SelectedValue.ToEntero <> 1 Then
IdCtaContable = CtaProveedorAnticiposExtranjera IdCtaContable = CtaProveedorAnticiposExtranjera
CveCuenta = CveCuentaProveedorAnticiposExtranjera CveCuenta = CveCuentaProveedorAnticiposExtranjera
@@ -8103,6 +8111,12 @@ Partial Class Compras_Compras
sumaAmortizacion += ImporteMovimiento sumaAmortizacion += ImporteMovimiento
sumaAmortizacionCompleto += ImporteMovimiento sumaAmortizacionCompleto += ImporteMovimiento
If ChkPagarConPesos.Checked Then
ImporteMovimiento = ImporteMovimiento * GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal
ElseIf ChkPagarConDolares.Checked Then
ImporteMovimiento = ImporteMovimiento / gvr.DataKey("TCCompra").ToDecimal
End If
If DdlMoneda.SelectedValue.ToEntero <> 1 And UsuarioActual.CveEmpresa.Contiene(119) Then If DdlMoneda.SelectedValue.ToEntero <> 1 And UsuarioActual.CveEmpresa.Contiene(119) Then
IdCtaContable = CtaProveedorExtranjera IdCtaContable = CtaProveedorExtranjera
CveCuenta = CveCuentaProveedorExtranjera CveCuenta = CveCuentaProveedorExtranjera
@@ -8139,10 +8153,19 @@ Partial Class Compras_Compras
sumaAmortizacionCompleto += ImporteMovimiento sumaAmortizacionCompleto += ImporteMovimiento
IdCtaContable = CtaProveedorAnticipos IdCtaContable = CtaProveedorAnticipos
CveCuenta = CveCuentaProveedorAnticipos CveCuenta = CveCuentaProveedorAnticipos
PorcentajePago = ImporteMovimiento / TxtTotal.Text.ToDecimal
If ChkPagarConPesos.Checked Then
ImporteMovimiento = ImporteMovimiento * GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal
ElseIf ChkPagarConDolares.Checked Then
ImporteMovimiento = ImporteMovimiento / gvr.DataKey("TCCompra").ToDecimal
End If
If ImporteMovimiento <> 0 Then If ImporteMovimiento <> 0 Then
PorcentajePago = ImporteMovimiento / TxtTotal.Text.ToDecimal
Dim TipoCambioAnt = gvr.DataKey("TCCompra").ToDecimal Dim TipoCambioAnt = gvr.DataKey("TCCompra").ToDecimal
Dim usacomplementariaAnticipo As Boolean = False Dim usacomplementariaAnticipo As Boolean = False
usacomplementariaAnticipo = If(TipoCambioAnt > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119), True, False) usacomplementariaAnticipo = If(TipoCambioAnt > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119), True, False)
@@ -8168,8 +8191,14 @@ Partial Class Compras_Compras
ErrorMovtosCxP = 1 ErrorMovtosCxP = 1
End If End If
If tipoCambio <> TipoCambioAnt Then If ChkPagarConPesos.Checked Or ChkPagarConDolares.Checked Then
Dim importeFluctuacion = (ImporteAnt * tipoCambio) - (ImporteAnt * TipoCambioAnt) ImporteAnt = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal
TipoCambioAnt = If(ChkPagarConPesos.Checked, GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal, gvr.DataKey("TCCompra").ToDecimal)
End If
Dim TipoCambioDiferencia = If(ChkPagarConDolares.Checked, GlobalTipoCambio(TxtFecha.Text.ToDate), TipoCambioCompra).ToDecimal
If TipoCambioDiferencia <> TipoCambioAnt Then
Dim importeFluctuacion = (ImporteAnt * TipoCambioDiferencia) - (ImporteAnt * TipoCambioAnt)
If importeFluctuacion > 0 Then If importeFluctuacion > 0 Then
ConceptoContable = 64 ConceptoContable = 64
@@ -8565,8 +8594,10 @@ Partial Class Compras_Compras
If DdlMoneda.SelectedValue.ToEntero <> 1 Or gvr.DataKey("CveMoneda").ToEntero <> 1 Then If DdlMoneda.SelectedValue.ToEntero <> 1 Or gvr.DataKey("CveMoneda").ToEntero <> 1 Then
IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria
CveCuenta = UsuarioActual.Empresa.CveCuentaGananciaCambiaria CveCuenta = UsuarioActual.Empresa.CveCuentaGananciaCambiaria
If TipoCambioCompra > tipoCambioNC Then Dim TipoCambioDiferenciaCambiaria = If(ChkPagarConPesos.Checked, GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal, tipoCambioNC)
ImporteMovimiento = (sumaAmortizacion * TipoCambioCompra) - (sumaAmortizacion * tipoCambioNC) Dim TipoCambioDiferenciaCompra = If(ChkPagarConDolares.Checked, GlobalTipoCambio(TxtFecha.Text.ToDate), TipoCambioCompra).ToDecimal
If TipoCambioDiferenciaCompra > TipoCambioDiferenciaCambiaria Then
ImporteMovimiento = (sumaAmortizacion * TipoCambioDiferenciaCompra) - (sumaAmortizacion * TipoCambioDiferenciaCambiaria)
ImporteMovimiento = ImporteMovimiento.RoundSQL() ImporteMovimiento = ImporteMovimiento.RoundSQL()
importeMN = ImporteMovimiento importeMN = ImporteMovimiento
End If End If
@@ -8586,8 +8617,10 @@ Partial Class Compras_Compras
If DdlMoneda.SelectedValue.ToEntero <> 1 Or gvr.DataKey("CveMoneda").ToEntero <> 1 Then If DdlMoneda.SelectedValue.ToEntero <> 1 Or gvr.DataKey("CveMoneda").ToEntero <> 1 Then
IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria
CveCuenta = UsuarioActual.Empresa.CveCuentaPerdidaCambiaria CveCuenta = UsuarioActual.Empresa.CveCuentaPerdidaCambiaria
If tipoCambioNC > TipoCambioCompra Then Dim TipoCambioDiferenciaCambiaria = If(ChkPagarConPesos.Checked, GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal, tipoCambioNC)
ImporteMovimiento = (sumaAmortizacion * tipoCambioNC) - (sumaAmortizacion * TipoCambioCompra) Dim TipoCambioDiferenciaCompra = If(ChkPagarConDolares.Checked, GlobalTipoCambio(TxtFecha.Text.ToDate), TipoCambioCompra).ToDecimal
If TipoCambioDiferenciaCambiaria > TipoCambioDiferenciaCompra Then
ImporteMovimiento = (sumaAmortizacion * TipoCambioDiferenciaCambiaria) - (sumaAmortizacion * TipoCambioDiferenciaCompra)
ImporteMovimiento = ImporteMovimiento.RoundSQL() ImporteMovimiento = ImporteMovimiento.RoundSQL()
importeMN = ImporteMovimiento importeMN = ImporteMovimiento
End If End If
@@ -10064,8 +10097,8 @@ Partial Class Compras_Compras
If e.Row.DBCampo("Saldo").ToDouble < 0 Then e.Row.Cells(3).ForeColor = Drawing.Color.Red If e.Row.DBCampo("Saldo").ToDouble < 0 Then e.Row.Cells(3).ForeColor = Drawing.Color.Red
If e.Row.DBCampo("Saldo").ToDouble = 0 Then e.Row.FCLiteral("LtlAnticipos").Text = "" If e.Row.DBCampo("Saldo").ToDouble = 0 Then e.Row.FCLiteral("LtlAnticipos").Text = ""
e.Row.FCCheckBox("Chk").Attributes.Add("onclick", String.Format("chkAnt(this,{0},{1},{2});", e.Row.FCTextBox("TxtAnticipo").ClientID, e.Row.DBCampo("Saldo"), If(CveCompra > 0, Saldo, If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, TmpDT.SUMD("ImporteConImpuestos"), TxtTotal.Text.ToDouble)))) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO e.Row.FCCheckBox("Chk").Attributes.Add("onclick", String.Format("chkAnt(this,{0},{1},{2});", e.Row.FCTextBox("TxtAnticipo").ClientID, e.Row.DBCampo("Saldo"), If(CveCompra > 0, Saldo, If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, TmpDT.SUMD("ImporteConImpuestos"), TxtTotal.Text.ToDouble)), e.Row.DBCampo("CveMoneda").ToEntero, If(Not e.Row.DBCampo("TCCompra").ToDouble > 1, GlobalTipoCambio(e.Row.DBCampo("Fecha").ToDate), e.Row.DBCampo("TCCompra").ToDouble), DdlMoneda.SelectedValue.ToEntero)) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO
e.Row.FCTextBox("TxtAnticipo").Attributes.Add("onKeyUp", String.Format("FnCambiaAnt({0},this,{1},{2});", e.Row.FCCheckBox("Chk").ClientID, e.Row.DBCampo("Saldo"), If(CveCompra > 0, Saldo, If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, TmpDT.SUMD("ImporteConImpuestos"), TxtTotal.Text.ToDouble)))) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO e.Row.FCTextBox("TxtAnticipo").Attributes.Add("onKeyUp", String.Format("FnCambiaAnt({0},this,{1},{2});", e.Row.FCCheckBox("Chk").ClientID, e.Row.DBCampo("Saldo"), If(CveCompra > 0, Saldo, If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, TmpDT.SUMD("ImporteConImpuestos"), TxtTotal.Text.ToDouble)), e.Row.DBCampo("CveMoneda").ToEntero, If(Not e.Row.DBCampo("TCCompra").ToDouble > 1, GlobalTipoCambio(e.Row.DBCampo("Fecha").ToDate), e.Row.DBCampo("TCCompra").ToDouble), DdlMoneda.SelectedValue.ToEntero)) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO
If ChkNCInv.Checked Then If ChkNCInv.Checked Then
e.Row.FCCheckBox("Chk").CssClass = "ChkAntNC" e.Row.FCCheckBox("Chk").CssClass = "ChkAntNC"
@@ -19017,4 +19050,16 @@ Partial Class Compras_Compras
End If End If
End If End If
End Sub End Sub
#Region "PAGAR CON DIFERENTE MONEDA"
Protected Sub ChkPagarConPesos_CheckedChanged(sender As Object, e As EventArgs)
CargaAnticipos(CveProveedor)
UpAnticipos.Update()
End Sub
Protected Sub ChkPagarConDolares_CheckedChanged(sender As Object, e As EventArgs)
CargaAnticipos(CveProveedor)
UpAnticipos.Update()
End Sub
#End Region
End Class End Class

View File

@@ -109,7 +109,7 @@
</div> </div>
</div> </div>
</asp:Panel> </asp:Panel>
<rvweb:ReportViewer ID="ReportViewer1" Width="100%" runat="server"></rvweb:ReportViewer>
</asp:Content> </asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server"> <asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
</asp:Content> </asp:Content>

View File

@@ -167,10 +167,13 @@ Partial Class OS_Asignaciones
End If End If
For Each SubProyecto As DataRow In DtOSSubProyectos.Rows For Each SubProyecto As DataRow In DtOSSubProyectos.Rows
Dim EstatusDeTipoProcesoMenor As Integer = TecnicosSubProyectos.FiltraParametros(String.Format("SubProyecto = '{0}'", SubProyecto.Item("SubProyecto"))).Rows(0).Item("CveEstatusOrdenServicio").ToString.ToEntero Dim TecnicosSubProyectoAux As DataTable = TecnicosSubProyectos.FiltraParametros(String.Format("SubProyecto = '{0}'", SubProyecto.Item("SubProyecto")))
Dim dtAuxiliar As New DataTable If TecnicosSubProyectoAux.Rows.Count > 0 Then
dtAuxiliar = TecnicosSubProyectos.FiltraParametros(String.Format("SubProyecto = '{0}' AND CveEstatusOrdenServicio = {1}", SubProyecto.Item("SubProyecto"), EstatusDeTipoProcesoMenor), "", {"CveUsuario", "Nombre"}) Dim EstatusDeTipoProcesoMenor As Integer = TecnicosSubProyectoAux.Rows(0).Item("CveEstatusOrdenServicio").ToString.ToEntero
TecnicosResultado.Merge(dtAuxiliar) Dim dtAuxiliar As New DataTable
dtAuxiliar = TecnicosSubProyectos.FiltraParametros(String.Format("SubProyecto = '{0}' AND CveEstatusOrdenServicio = {1}", SubProyecto.Item("SubProyecto"), EstatusDeTipoProcesoMenor), "", {"CveUsuario", "Nombre"})
TecnicosResultado.Merge(dtAuxiliar)
End If
Next Next
DtTecnicosSubProyectos = TecnicosResultado DtTecnicosSubProyectos = TecnicosResultado
DdlTecnico.DataSource = TecnicosResultado DdlTecnico.DataSource = TecnicosResultado
@@ -186,6 +189,7 @@ Partial Class OS_Asignaciones
Dim TieneError = False Dim TieneError = False
Dim CveEstatusOS = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 2", "CveEstatusOrdenServicio ASC") Dim CveEstatusOS = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 2", "CveEstatusOrdenServicio ASC")
Dim time As DateTime Dim time As DateTime
Dim contadorOrdenesAsignadas As Integer = 0
For Each row As GridViewRow In GvNA.Rows For Each row As GridViewRow In GvNA.Rows
If row.RowType = DataControlRowType.DataRow Then If row.RowType = DataControlRowType.DataRow Then
@@ -194,6 +198,7 @@ Partial Class OS_Asignaciones
If row.FCCheckBox("ChbxAsignar").Checked Then If row.FCCheckBox("ChbxAsignar").Checked Then
time = DateTime.Parse(String.Format("{0} {1}:{2} {3}", row.FCTextBox("FechaOS").Text, picker.Hour, picker.Minute, picker.AmPm)) time = DateTime.Parse(String.Format("{0} {1}:{2} {3}", row.FCTextBox("FechaOS").Text, picker.Hour, picker.Minute, picker.AmPm))
contadorOrdenesAsignadas += 1
If ObjOS.GetSubProyectosEstatusInicial(DdlTecnico.SelectedValue.ToEntero, 3, UsuarioActual.CveEmpresa) Then If ObjOS.GetSubProyectosEstatusInicial(DdlTecnico.SelectedValue.ToEntero, 3, UsuarioActual.CveEmpresa) Then
Dim subProyectoDelTecnico As DataTable Dim subProyectoDelTecnico As DataTable
@@ -217,11 +222,14 @@ Partial Class OS_Asignaciones
End If End If
End If End If
Next Next
If contadorOrdenesAsignadas > 0 Then
If Not TieneError Then If Not TieneError Then
Alert("Se asignaron las ordenes de servicio correctamente", TipoMensaje.MsgInformacion) Alert("Se asignaron las ordenes de servicio correctamente", TipoMensaje.MsgInformacion)
CargaOrdenesServiciosAsignadasXPersona() CargaOrdenesServiciosAsignadasXPersona()
CargaOrdenesServiciosNoAsignadas() CargaOrdenesServiciosNoAsignadas()
End If
Else
Alert("No se han seleccionado ordenes de servicio para asignar", TipoMensaje.MsgAdvertencia)
End If End If

View File

@@ -1016,13 +1016,13 @@ Partial Class OS_OrdenesServicios
MensajeAlert = New StringBuilder MensajeAlert = New StringBuilder
Dim Errores As Boolean = False Dim Errores As Boolean = False
Dim EstatusOrdenServicio As Integer = DdlEstatusOS.SelectedValue.ToEntero Dim EstatusOrdenServicio As Integer = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 1").ToEntero
Dim DirectorioEmpresa = UsuarioActual.Empresa.Ruta Dim DirectorioEmpresa = UsuarioActual.Empresa.Ruta
If Not CveOS > 0 Then If Not CveOS > 0 Then
Dim bandera As Integer = DdlEstatusOS.SelectedValue.ToEntero Dim bandera As Integer = DdlEstatusOS.SelectedValue.ToEntero
If Not ObjOrdenServicio.AddOrdenesServicios(CveCliente, DdlSubProyecto.SelectedValue.ToEntero, TxtSolicito.Text, TxtFechaRecibido.Text.ToDateTime, TxtDescripcion.Text, UsuarioActual.CveUsuario, DdlEstatusOS.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCotizacion, -1, -1, DdlTipoOrdenOS.SelectedValue.ToEntero, CveClienteSucursal:=DdlSucursalCliente.SelectedValue.ToEntero) Then If Not ObjOrdenServicio.AddOrdenesServicios(CveCliente, DdlSubProyecto.SelectedValue.ToEntero, TxtSolicito.Text, TxtFechaRecibido.Text.ToDateTime, TxtDescripcion.Text, UsuarioActual.CveUsuario, EstatusOrdenServicio, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCotizacion, -1, -1, DdlTipoOrdenOS.SelectedValue.ToEntero, CveClienteSucursal:=DdlSucursalCliente.SelectedValue.ToEntero) Then
Errores = True Errores = True
End If End If
CargaCliente(CveCliente) CargaCliente(CveCliente)
@@ -1303,7 +1303,6 @@ Partial Class OS_OrdenesServicios
TmpDT.Rows(Row.RowIndex)("Estatus") = "False" TmpDT.Rows(Row.RowIndex)("Estatus") = "False"
Row.FCLinkButton("imgEstatus").CssClass = "btn btn-circle btn-sm red" Row.FCLinkButton("imgEstatus").CssClass = "btn btn-circle btn-sm red"
End If End If
UpDetalleOS.Update()
End Sub End Sub
Private Sub BtnAddGvDetalle_Click(sender As Object, e As EventArgs) Handles BtnAddGvDetalle.Click Private Sub BtnAddGvDetalle_Click(sender As Object, e As EventArgs) Handles BtnAddGvDetalle.Click
Dim ObjOS As New ClsOS Dim ObjOS As New ClsOS
@@ -1547,7 +1546,7 @@ Partial Class OS_OrdenesServicios
Dim DetallesPendientes As Integer = TmpDT.COUNT("Estatus", "Estatus = 'False'").ToEntero Dim DetallesPendientes As Integer = TmpDT.COUNT("Estatus", "Estatus = 'False'").ToEntero
Dim TipoEstatusSeleccionado As Integer = EstatusOSDelUsuario.FiltroPrimeroValor("TipoEstatus", String.Format("CveEstatusOrdenServicio = {}", DdlEstatusOS.SelectedValue), "Orden ASC").ToEntero Dim TipoEstatusSeleccionado As Integer = EstatusOSDelUsuario.FiltroPrimeroValor("TipoEstatus", String.Format("CveEstatusOrdenServicio = {0}", DdlEstatusOS.SelectedValue), "Orden ASC").ToEntero
If DetallesPendientes = 0 AndAlso TipoEstatusSeleccionado = 2 Then If DetallesPendientes = 0 AndAlso TipoEstatusSeleccionado = 2 Then
'Se estatus de OS a TERMINADO 'Se estatus de OS a TERMINADO

View File

@@ -76,7 +76,7 @@
<asp:HiddenField ID="HiddenField2" runat="server" ClientIDMode="Static" Value="0" /> <asp:HiddenField ID="HiddenField2" runat="server" ClientIDMode="Static" Value="0" />
<div> <div>
<asp:GridView ID="GvDatos" runat="server" data-sort="true" AutoGenerateColumns="False" <asp:GridView ID="GvDatos" runat="server" data-sort="true" AutoGenerateColumns="False"
DataKeyNames="CveClasificacion, CveCategoria, Clasificacion, UsoClasificacion, CuentaGasto, CuentaCostos, CuentaIngresos, IdCuentaGasto, IdCuentaCostos, IdCuentaIngresos,RequiereSerieLote,CveSATPS,SATClaveProductoServicio, RequiereAFCompra, RequiereAFInsumo, RequierePersonal, Estatus,EsAcumulador,TopVentas,TopCompras" EmptyDataText="No se encontraron Clasificaciones Registradas" ToolTip="Listado de Clasificaciones" CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" GridLines="None"> DataKeyNames="CveClasificacion, CveCategoria, Clasificacion, UsoClasificacion, CuentaGasto, CuentaCostos, CuentaIngresos, IdCuentaGasto, IdCuentaCostos, IdCuentaIngresos,RequiereSerieLote,CveSATPS,SATClaveProductoServicio, RequiereAFCompra, RequiereAFInsumo, RequierePersonal, Estatus,EsAcumulador,TopVentas,TopCompras,PrecioBaseCosto" EmptyDataText="No se encontraron Clasificaciones Registradas" ToolTip="Listado de Clasificaciones" CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" GridLines="None">
<Columns> <Columns>
<asp:TemplateField HeaderText="Clasificación"> <asp:TemplateField HeaderText="Clasificación">
<ItemTemplate> <ItemTemplate>
@@ -210,41 +210,57 @@
<label for="<%= TxtClasificacion.ClientID.ToString()%>">Clasificación:</label> <label for="<%= TxtClasificacion.ClientID.ToString()%>">Clasificación:</label>
</div> </div>
<div class="form-group form-md-line-input input-iconright"> <br />
<asp:DropDownList ID="DdlCategoria" CssClass="form-control input-sm select2me js-cuenta-programmatic" runat="server" AppendDataBoundItems="true" DataTextField="Categoria" DataValueField="CveCategoria" Width="340px" ValidationGroup="GrpGuardar"></asp:DropDownList>
<label for="<%= DdlCategoria.ClientID.ToString()%>">Categoría:</label> <div class="row">
<div class="col-md-8">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlCategoria" CssClass="form-control input-sm select2me js-cuenta-programmatic" runat="server" AppendDataBoundItems="true" DataTextField="Categoria" DataValueField="CveCategoria" Width="340px" ValidationGroup="GrpGuardar"></asp:DropDownList>
<label for="<%= DdlCategoria.ClientID.ToString()%>">Categoría:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlUsoClasificacion" CssClass="form-control input-sm select2me js-cuenta-programmatic" runat="server" AppendDataBoundItems="true" Width="340px" ValidationGroup="GrpGuardar">
<asp:ListItem Text="Ingresos" Value="1"></asp:ListItem>
<asp:ListItem Text="Gasto" Value="2"></asp:ListItem>
<asp:ListItem Text="Ingresos/Gasto" Value="3"></asp:ListItem>
</asp:DropDownList>
<label for="<%= DdlUsoClasificacion.ClientID.ToString()%>">Uso Clasificación:</label>
</div>
<div class="form-group input-iconright" id="DivCuentaGasto" runat="server">
<label for="<%= DdlCuentaGasto.ClientID.ToString()%>" style="color: #888888; font-size: 13px;">Cuenta Gasto:</label>
<asp:DropDownList ID="DdlCuentaGasto" CssClass="form-control input-sm js-cuenta-programmatic" runat="server" AppendDataBoundItems="true" DataTextField="CtaCodigo" DataValueField="Id" Width="340px"></asp:DropDownList>
</div>
<div class="form-group input-iconright" id="DivCuentaCostos" runat="server">
<label for="<%= DdlCuentaCostos.ClientID.ToString()%>" style="color: #888888; font-size: 13px;">Cuenta Costos:</label>
<asp:DropDownList ID="DdlCuentaCostos" CssClass="form-control input-sm js-cuenta-programmatic" runat="server" AppendDataBoundItems="true" DataTextField="CtaCodigo" DataValueField="Id" Width="340px"></asp:DropDownList>
</div>
<div class="form-group input-iconright" id="DivCuentaIngresos" runat="server">
<label for="<%= DdlCuentaIngresos.ClientID.ToString()%>" style="color: #888888; font-size: 13px;">Cuenta Ingresos:</label>
<asp:DropDownList ID="DdlCuentaIngresos" CssClass="form-control input-sm js-cuenta-programmatic" runat="server" AppendDataBoundItems="true" DataTextField="CtaCodigo" DataValueField="Id" Width="340px"></asp:DropDownList>
</div>
<div class="form-group form-md-line-input input-iconright" runat="server" id="DivPSSAT">
<ADS:Dropdownlost runat="server" ID="DdlSATPS" CssStyle="width: 340px;" CssClass="form-control input-sm select2me" DataTextField="Descripcion" DataValueField="CveSATPS" />
<label for="<%= DdlSATPS.ClientID.ToString()%>">Producto Servicio SAT:</label>
</div>
</div>
<div class="col-md-4">
<div class="form-group form-md-line-input" runat="server">
<asp:TextBox ID="TxtPrecioBaseCosto" CssClass="form-control" Width="130px" MaxLength="5" runat="server" CausesValidation="true" Style="text-align: right!important" OnKeyup="FormatoMoneda(this);"></asp:TextBox>
<label for="<%= TxtPrecioBaseCosto.ClientID.ToString()%>" style="width: 130px;">Precio Base Costo:</label>
</div>
</div>
</div> </div>
<div class="form-group form-md-line-input input-iconright"> <br />
<asp:DropDownList ID="DdlUsoClasificacion" CssClass="form-control input-sm select2me js-cuenta-programmatic" runat="server" AppendDataBoundItems="true" Width="340px" ValidationGroup="GrpGuardar">
<asp:ListItem Text="Ingresos" Value="1"></asp:ListItem>
<asp:ListItem Text="Gasto" Value="2"></asp:ListItem>
<asp:ListItem Text="Ingresos/Gasto" Value="3"></asp:ListItem>
</asp:DropDownList>
<label for="<%= DdlUsoClasificacion.ClientID.ToString()%>">Uso Clasificación:</label>
</div>
<div class="form-group input-iconright" id="DivCuentaGasto" runat="server">
<label for="<%= DdlCuentaGasto.ClientID.ToString()%>" style="color: #888888; font-size: 13px;">Cuenta Gasto:</label>
<asp:DropDownList ID="DdlCuentaGasto" CssClass="form-control input-sm js-cuenta-programmatic" runat="server" AppendDataBoundItems="true" DataTextField="CtaCodigo" DataValueField="Id" Width="340px"></asp:DropDownList>
</div>
<div class="form-group input-iconright" id="DivCuentaCostos" runat="server">
<label for="<%= DdlCuentaCostos.ClientID.ToString()%>" style="color: #888888; font-size: 13px;">Cuenta Costos:</label>
<asp:DropDownList ID="DdlCuentaCostos" CssClass="form-control input-sm js-cuenta-programmatic" runat="server" AppendDataBoundItems="true" DataTextField="CtaCodigo" DataValueField="Id" Width="340px"></asp:DropDownList>
</div>
<div class="form-group input-iconright" id="DivCuentaIngresos" runat="server">
<label for="<%= DdlCuentaIngresos.ClientID.ToString()%>" style="color: #888888; font-size: 13px;">Cuenta Ingresos:</label>
<asp:DropDownList ID="DdlCuentaIngresos" CssClass="form-control input-sm js-cuenta-programmatic" runat="server" AppendDataBoundItems="true" DataTextField="CtaCodigo" DataValueField="Id" Width="340px"></asp:DropDownList>
</div>
<div class="form-group form-md-line-input input-iconright" runat="server" id="DivPSSAT">
<ADS:Dropdownlost runat="server" ID="DdlSATPS" CssStyle="width: 340px;" CssClass="form-control input-sm select2me" DataTextField="Descripcion" DataValueField="CveSATPS" />
<label for="<%= DdlSATPS.ClientID.ToString()%>">Producto Servicio SAT:</label>
</div>
<div class="row"> <div class="row">
<div class="col-md-6"> <div class="col-md-6">
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">

View File

@@ -178,11 +178,12 @@ Partial Class CatClasificaciones
DdlCuentaCostos.SelectedValue.ToEntero, DdlCuentaCostos.SelectedItem.Text, DdlCuentaCostos.SelectedValue.ToEntero, DdlCuentaCostos.SelectedItem.Text,
DdlCuentaIngresos.SelectedValue.ToEntero, DdlCuentaIngresos.SelectedItem.Text, DdlCuentaIngresos.SelectedValue.ToEntero, DdlCuentaIngresos.SelectedItem.Text,
DdlCategoria.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, RequiereSerieLote:=RequireSerieLote, UsoClasificacion:=DdlUsoClasificacion.SelectedValue.ToEntero, CveSATPS:=DdlSATPS.SelectedValue.ToEntero, DdlCategoria.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, RequiereSerieLote:=RequireSerieLote, UsoClasificacion:=DdlUsoClasificacion.SelectedValue.ToEntero, CveSATPS:=DdlSATPS.SelectedValue.ToEntero,
RequiereAFCompra:=ChkRequiereAFCompra.Checked, RequiereAFInsumo:=ChkRequiereAFInsumo.Checked, RequierePersonal:=ChkRequierePersonal.Checked, EsAcumulador:=ChkEsAcumulador.Checked, TopVentas:=ChkTopVentas.Checked, TopCompras:=ChkTopCompras.Checked) Then RequiereAFCompra:=ChkRequiereAFCompra.Checked, RequiereAFInsumo:=ChkRequiereAFInsumo.Checked, RequierePersonal:=ChkRequierePersonal.Checked, EsAcumulador:=ChkEsAcumulador.Checked, TopVentas:=ChkTopVentas.Checked, TopCompras:=ChkTopCompras.Checked, PrecioBaseCosto:=TxtPrecioBaseCosto.Text.ToDecimal) Then
ViewState("DTClasificaciones") = ObjClasificaciones.DtResultados.FiltraParametros($"(Codigo IS NULL OR Codigo = '') AND CveEmpresa = {UsuarioActual.CveEmpresa} AND (CveCategoria = {DdlCategoriaFiltro.SelectedValue.ToEntero} OR {DdlCategoriaFiltro.SelectedValue.ToEntero} = -1) AND (UsoClasificacion = {DdlTipoClasificacion.SelectedValue.ToEntero} OR {DdlTipoClasificacion.SelectedValue.ToEntero} = -1 ) AND (Estado = {DdlEstatus.SelectedValue.ToEntero} OR {DdlEstatus.SelectedValue.ToEntero} = -1)") ViewState("DTClasificaciones") = ObjClasificaciones.DtResultados.FiltraParametros($"(Codigo IS NULL OR Codigo = '') AND CveEmpresa = {UsuarioActual.CveEmpresa} AND (CveCategoria = {DdlCategoriaFiltro.SelectedValue.ToEntero} OR {DdlCategoriaFiltro.SelectedValue.ToEntero} = -1) AND (UsoClasificacion = {DdlTipoClasificacion.SelectedValue.ToEntero} OR {DdlTipoClasificacion.SelectedValue.ToEntero} = -1 ) AND (Estado = {DdlEstatus.SelectedValue.ToEntero} OR {DdlEstatus.SelectedValue.ToEntero} = -1)")
TxtClasificacion.Text = "" TxtClasificacion.Text = ""
TxtPrecioBaseCosto.Text = ""
DdlCuentaGasto.SelectedValueExist("0") DdlCuentaGasto.SelectedValueExist("0")
DdlCuentaCostos.SelectedValueExist("0") DdlCuentaCostos.SelectedValueExist("0")
DdlCuentaIngresos.SelectedValueExist("0") DdlCuentaIngresos.SelectedValueExist("0")
@@ -201,7 +202,7 @@ Partial Class CatClasificaciones
If ObjClasificaciones.UpdateClasificacion(Clasificacion, "", DdlGasto.SelectedValue.ToEntero, DdlGasto.SelectedItem.Text, If ObjClasificaciones.UpdateClasificacion(Clasificacion, "", DdlGasto.SelectedValue.ToEntero, DdlGasto.SelectedItem.Text,
DdlCosto.SelectedValue.ToEntero, DdlCosto.SelectedItem.Text, DdlIngresos.SelectedValue.ToEntero, DdlIngresos.SelectedItem.Text, DdlCosto.SelectedValue.ToEntero, DdlCosto.SelectedItem.Text, DdlIngresos.SelectedValue.ToEntero, DdlIngresos.SelectedItem.Text,
Estatus, False, DdlCategoria.SelectedValue.ToEntero, UsuarioActual.CveUsuario, CveClasificacion, RequiereSerieLote:=RequireSerieLote, UsoClasificacion:=DdlUsoClasificacion.SelectedValue.ToEntero, CveSATPS:=DdlSATPS.SelectedValue.ToEntero, Estatus, False, DdlCategoria.SelectedValue.ToEntero, UsuarioActual.CveUsuario, CveClasificacion, RequiereSerieLote:=RequireSerieLote, UsoClasificacion:=DdlUsoClasificacion.SelectedValue.ToEntero, CveSATPS:=DdlSATPS.SelectedValue.ToEntero,
RequiereAFCompra:=ChkRequiereAFCompra.Checked, RequiereAFInsumo:=ChkRequiereAFInsumo.Checked, RequierePersonal:=ChkRequierePersonal.Checked, EsAcumulador:=ChkEsAcumulador.Checked, TopVentas:=ChkTopVentas.Checked, TopCompras:=ChkTopCompras.Checked) Then RequiereAFCompra:=ChkRequiereAFCompra.Checked, RequiereAFInsumo:=ChkRequiereAFInsumo.Checked, RequierePersonal:=ChkRequierePersonal.Checked, EsAcumulador:=ChkEsAcumulador.Checked, TopVentas:=ChkTopVentas.Checked, TopCompras:=ChkTopCompras.Checked, PrecioBaseCosto:=TxtPrecioBaseCosto.Text.ToDecimal) Then
RegistraScript(String.Format("$('#{0}').modal('hide');", "ModalClasificaciones")) RegistraScript(String.Format("$('#{0}').modal('hide');", "ModalClasificaciones"))
Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion) Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion)
@@ -346,6 +347,7 @@ Partial Class CatClasificaciones
Limpiador() Limpiador()
TxtClasificacion.Text = "" TxtClasificacion.Text = ""
TxtPrecioBaseCosto.Text = ""
DdlCategoria.SelectedIndex = 0 DdlCategoria.SelectedIndex = 0
DdlSATPS.SelectedValue = "" DdlSATPS.SelectedValue = ""
DdlSATPS.SelectedText = "" DdlSATPS.SelectedText = ""
@@ -371,6 +373,7 @@ Partial Class CatClasificaciones
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
Dim CveClasificacion As String = GvRow.DataKey("CveClasificacion").ToString Dim CveClasificacion As String = GvRow.DataKey("CveClasificacion").ToString
Dim Clasificacion As String = GvRow.DataKey("Clasificacion").ToString Dim Clasificacion As String = GvRow.DataKey("Clasificacion").ToString
Dim PrecioBaseCosto As String = GvRow.DataKey("PrecioBaseCosto").ToString
Dim CveCategoria As String = GvRow.DataKey("CveCategoria").ToString Dim CveCategoria As String = GvRow.DataKey("CveCategoria").ToString
Dim CuentaGasto As String = GvRow.DataKey("CuentaGasto").ToString Dim CuentaGasto As String = GvRow.DataKey("CuentaGasto").ToString
Dim CuentaCostos As String = GvRow.DataKey("CuentaCostos").ToString Dim CuentaCostos As String = GvRow.DataKey("CuentaCostos").ToString
@@ -421,6 +424,7 @@ Partial Class CatClasificaciones
TxtClasificacion.Text = Clasificacion TxtClasificacion.Text = Clasificacion
TxtPrecioBaseCosto.Text = PrecioBaseCosto.FormatoNumero(2)
DdlCategoria.SelectedValueExist(CveCategoria) DdlCategoria.SelectedValueExist(CveCategoria)
DdlUsoClasificacion.SelectedValue = UsoClasificacion DdlUsoClasificacion.SelectedValue = UsoClasificacion
HdnIDClasificacion.Value = CveClasificacion HdnIDClasificacion.Value = CveClasificacion

View File

@@ -2738,7 +2738,7 @@
<label for="<%= TxtDescuento.ClientID.ToString()%>">Descuento:</label> <label for="<%= TxtDescuento.ClientID.ToString()%>">Descuento:</label>
</div> </div>
</div> </div>
<div class="col-md-1" > <div class="col-md-1">
<asp:UpdatePanel ID="UpBtnDescuento" runat="server" class="portlet-body form" UpdateMode="Conditional"> <asp:UpdatePanel ID="UpBtnDescuento" runat="server" class="portlet-body form" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<asp:LinkButton ID="ImgDescPU" runat="server" Text="<i class='fa fa-tags' style='color:dimgray;'></i>" Style="cursor: pointer;" AlternateText="Agregar Descuento" /> <asp:LinkButton ID="ImgDescPU" runat="server" Text="<i class='fa fa-tags' style='color:dimgray;'></i>" Style="cursor: pointer;" AlternateText="Agregar Descuento" />
@@ -2802,22 +2802,22 @@
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-9">
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlPSAjuste" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" CausesValidation="true" DataTextField="PSCodigo" DataValueField="CvePS" OnSelectedIndexChanged="DdlPSAjuste_selectedindexchange" Width="100%" AutoPostBack="true"> <asp:DropDownList ID="DdlPSAjuste" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" CausesValidation="true" DataTextField="PSCodigo" DataValueField="CvePS" OnSelectedIndexChanged="DdlPSAjuste_selectedindexchange" Width="100%" AutoPostBack="true">
</asp:DropDownList> </asp:DropDownList>
<label for="<%= DdlPSAjuste.ClientID.ToString()%>">Producto/Servicio a Recibir:</label> <label for="<%= DdlPSAjuste.ClientID.ToString()%>">Producto/Servicio a Recibir:</label>
</div> </div>
</div> </div>
<%-- <div class="col-md-3"> <div class="col-md-3">
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtPUFactura" CssClass="form-control" runat="server" MaxLength="50"></asp:TextBox> <asp:TextBox ID="TxtPUFactura" CssClass="form-control" runat="server" MaxLength="50" Enabled="false"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVPUFactura" runat="server" ControlToValidate="TxtPUFactura" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''PU Factura''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAddVenta"></asp:RequiredFieldValidator> <asp:RequiredFieldValidator ID="RFVPUFactura" runat="server" ControlToValidate="TxtPUFactura" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''PU Factura''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAddVenta"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEPUFactura" runat="server" HighlightCssClass="vco" TargetControlID="RFVPUFactura"></ajax:ValidatorCalloutExtender> <ajax:ValidatorCalloutExtender ID="VCEPUFactura" runat="server" HighlightCssClass="vco" TargetControlID="RFVPUFactura"></ajax:ValidatorCalloutExtender>
<ajax:FilteredTextBoxExtender ID="FTBEPUFactura" runat="server" TargetControlID="TxtPUFactura" FilterType="Custom, Numbers" ValidChars=".," /> <ajax:FilteredTextBoxExtender ID="FTBEPUFactura" runat="server" TargetControlID="TxtPUFactura" FilterType="Custom, Numbers" ValidChars=".," />
<label for="<%= TxtPUFactura.ClientID.ToString()%>">P.U.:</label> <label for="<%= TxtPUFactura.ClientID.ToString()%>">P.U.:</label>
</div> </div>
</div>--%> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-8"> <div class="col-md-8">
@@ -2842,7 +2842,7 @@
<div class="col-md-8"> <div class="col-md-8">
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtCodEnsamble" CssClass="form-control" runat="server" MaxLength="50"></asp:TextBox> <asp:TextBox ID="TxtCodEnsamble" CssClass="form-control" runat="server" MaxLength="50"></asp:TextBox>
<asp:RegularExpressionValidator ID="REVCodEnsamble" runat="server" ControlToValidate="TxtCodEnsamble" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cod.Ensamble''</b> es incorrecto, por favor ingréselo correctamente." ValidationGroup="GrpAddVenta" ValidationExpression="^[0-9][A-HJ-M]([[0-2][1-9]|3[0-1])([A-Z]|X[1-9])[ACEN][A-HJ-NO-Z][A-F]$"></asp:RegularExpressionValidator> <asp:RegularExpressionValidator ID="REVCodEnsamble" runat="server" ControlToValidate="TxtCodEnsamble" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cod.Ensamble''</b> es incorrecto, por favor ingréselo correctamente." ValidationGroup="GrpAddVenta" ValidationExpression="^[0-9][A-HJ-M]([[0-2][0-9]|3[0-1])[0-9A-Z][ACEN][2-5]$"></asp:RegularExpressionValidator>
<%--<asp:RequiredFieldValidator ID="RFVCodEnsamble" runat="server" ControlToValidate="TxtCodEnsamble" 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="VGMAjuste"></asp:RequiredFieldValidator>--% <%--<asp:RequiredFieldValidator ID="RFVCodEnsamble" runat="server" ControlToValidate="TxtCodEnsamble" 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="VGMAjuste"></asp:RequiredFieldValidator>--%
<%--<ajax:ValidatorCalloutExtender ID="VCECodEnsamble" runat="server" HighlightCssClass="vco" TargetControlID="RFVCodEnsamble"></ajax:ValidatorCalloutExtender>--%> <%--<ajax:ValidatorCalloutExtender ID="VCECodEnsamble" runat="server" HighlightCssClass="vco" TargetControlID="RFVCodEnsamble"></ajax:ValidatorCalloutExtender>--%>
<label for="<%= TxtCodEnsamble.ClientID.ToString()%>">Cod.Ensamble:</label> <label for="<%= TxtCodEnsamble.ClientID.ToString()%>">Cod.Ensamble:</label>
@@ -2863,6 +2863,7 @@
<div class="col-md-8"> <div class="col-md-8">
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtCodLinea" CssClass="form-control" runat="server" MaxLength="50"></asp:TextBox> <asp:TextBox ID="TxtCodLinea" CssClass="form-control" runat="server" MaxLength="50"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="TxtCodLinea" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cod.Linea''</b> es incorrecto, por favor ingréselo correctamente." ValidationGroup="GrpAddVenta" ValidationExpression="^[*]$"></asp:RegularExpressionValidator>
<%--<asp:RequiredFieldValidator ID="RFVCodLinea" runat="server" ControlToValidate="TxtCodLinea" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cod. Linea''</b> es necesario, por favor ingréselo." ValidationGroup="VGMAjuste"></asp:RequiredFieldValidator>--%> <%--<asp:RequiredFieldValidator ID="RFVCodLinea" runat="server" ControlToValidate="TxtCodLinea" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cod. Linea''</b> es necesario, por favor ingréselo." ValidationGroup="VGMAjuste"></asp:RequiredFieldValidator>--%>
<%--<ajax:ValidatorCalloutExtender ID="VCECodLinea" runat="server" HighlightCssClass="vco" TargetControlID="RFVCodLinea"></ajax:ValidatorCalloutExtender>--%> <%--<ajax:ValidatorCalloutExtender ID="VCECodLinea" runat="server" HighlightCssClass="vco" TargetControlID="RFVCodLinea"></ajax:ValidatorCalloutExtender>--%>
<label for="<%= TxtCodLinea.ClientID.ToString()%>">Cod.Linea:</label> <label for="<%= TxtCodLinea.ClientID.ToString()%>">Cod.Linea:</label>
@@ -2886,7 +2887,7 @@
<div class="col-md-8"> <div class="col-md-8">
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtCodInspeccion" CssClass="form-control" runat="server" MaxLength="50"></asp:TextBox> <asp:TextBox ID="TxtCodInspeccion" CssClass="form-control" runat="server" MaxLength="50"></asp:TextBox>
<asp:RegularExpressionValidator ID="REVCodInspeccion" runat="server" ControlToValidate="TxtCodInspeccion" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cod. Inspección''</b> es incorrecto, por favor ingréselo correctamente." ValidationGroup="GrpAddVenta" ValidationExpression="^[A-L][3-9][1-9A-V][A-FK-O]$"></asp:RegularExpressionValidator> <asp:RegularExpressionValidator ID="REVCodInspeccion" runat="server" ControlToValidate="TxtCodInspeccion" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cod. Inspección''</b> es incorrecto, por favor ingréselo correctamente." ValidationGroup="GrpAddVenta" ValidationExpression="^[A-L][0-9][1-9A-Z][A-HJ-M]$"></asp:RegularExpressionValidator>
<%--<asp:RequiredFieldValidator ID="RFVCodInspeccion" runat="server" ControlToValidate="TxtCodInspeccion" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cod. Inspeccion''</b> es necesario, por favor ingréselo." ValidationGroup="VGMAjuste"></asp:RequiredFieldValidator>--%> <%--<asp:RequiredFieldValidator ID="RFVCodInspeccion" runat="server" ControlToValidate="TxtCodInspeccion" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cod. Inspeccion''</b> es necesario, por favor ingréselo." ValidationGroup="VGMAjuste"></asp:RequiredFieldValidator>--%>
<%--<ajax:ValidatorCalloutExtender ID="VCECodInspeccion" runat="server" HighlightCssClass="vco" TargetControlID="RFVCodInspeccion"></ajax:ValidatorCalloutExtender>--%> <%--<ajax:ValidatorCalloutExtender ID="VCECodInspeccion" runat="server" HighlightCssClass="vco" TargetControlID="RFVCodInspeccion"></ajax:ValidatorCalloutExtender>--%>
<label for="<%= TxtCodInspeccion.ClientID.ToString()%>">Cod. Inspección:</label> <label for="<%= TxtCodInspeccion.ClientID.ToString()%>">Cod. Inspección:</label>
@@ -2940,7 +2941,7 @@
<label for="<%= TxtPoliza.ClientID.ToString()%>">Poliza:</label> <label for="<%= TxtPoliza.ClientID.ToString()%>">Poliza:</label>
</div> </div>
</div> </div>
<div class="col-md-3"> <div class="col-md-4">
<div class="form-group form-md-line-input input-iconright"> <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"></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> <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>
@@ -2949,16 +2950,7 @@
<label for="<%= TxtImporteAjuste.ClientID.ToString()%>">Importe:</label> <label for="<%= TxtImporteAjuste.ClientID.ToString()%>">Importe:</label>
</div> </div>
</div> </div>
<div class="col-md-3"> <div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtDescuentoAjuste" CssClass="form-control" runat="server" Enabled="false" MaxLength="50"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVDescuentoAjuste" runat="server" ControlToValidate="TxtDescuentoAjuste" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descuento''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAddVenta"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEDescuentoAjuste" runat="server" HighlightCssClass="vco" TargetControlID="RFVDescuentoAjuste"></ajax:ValidatorCalloutExtender>
<ajax:FilteredTextBoxExtender ID="FTBEDescuentoAjuste" runat="server" TargetControlID="TxtDescuentoAjuste" FilterType="Custom, Numbers" ValidChars=".," />
<label for="<%= TxtImporteAjuste.ClientID.ToString()%>">Descuento:</label>
</div>
</div>
<div class="col-md-3">
<asp:Button ID="BtnCalcularImporteAjuste" CssClass="btn green-haze btn-outline btn-circle btn-sm" OnClick="BtnCalcularImporteAjuste_Click" runat="server" Text="Recalcular" /> <asp:Button ID="BtnCalcularImporteAjuste" CssClass="btn green-haze btn-outline btn-circle btn-sm" OnClick="BtnCalcularImporteAjuste_Click" runat="server" Text="Recalcular" />
</div> </div>
</div> </div>

View File

@@ -5160,11 +5160,26 @@ Partial Class PV
End If End If
Contador += 1 Contador += 1
Next Next
'TxtPUFactura.Text = PUFactura.FormatoNumero(2) TxtPUFactura.Text = PUFactura.FormatoNumero(2)
End If End If
If Not DdlPSAjuste.SelectedValue.ToEntero > 0 AndAlso DdlFacturas.SelectedValue.ToEntero > 0 Then If DdlPSAjuste.SelectedValue.ToEntero > 0 AndAlso Not DdlFacturas.SelectedValue.ToEntero > 0 Then
'TxtPUFactura.Text = "" Dim Index As Integer = DdlPSAjuste.SelectedIndex
Dim CvePSParametro As Integer = DdlPSAjuste.SelectedValue.ToEntero
Dim PrecioSugerido As Decimal = 0
Dim drPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePSParametro).FiltroPrimero("")
If drPS IsNot Nothing Then
PrecioSugerido = drPS("Precio").ToString.ToDecimal
End If
TxtPUFactura.Text = PrecioSugerido.FormatoNumero(2)
End If
If Not DdlPSAjuste.SelectedValue.ToEntero > 0 AndAlso DdlFacturas.SelectedValue.ToEntero > 0 Then
TxtPUFactura.Text = ""
End If End If
CalculaPorcentajeAjuste() CalculaPorcentajeAjuste()
@@ -5188,16 +5203,16 @@ Partial Class PV
If ObjAcum.GarantiasMesesGet(-1, UsuarioActual.CveEmpresa, CveMarca, DdlTipoUso.SelectedValue.ToEntero, TxtMesesUso.Text.ToEntero) Then If ObjAcum.GarantiasMesesGet(-1, UsuarioActual.CveEmpresa, CveMarca, DdlTipoUso.SelectedValue.ToEntero, TxtMesesUso.Text.ToEntero) Then
If ObjAcum.DtResultados.Rows.Count > 0 Then If ObjAcum.DtResultados.Rows.Count > 0 Then
TxtPorcentajeAjuste.Text = (ObjAcum.DtResultados.Rows(0)("Valor").ToString.ToDouble / 100).ToString TxtPorcentajeAjuste.Text = (ObjAcum.DtResultados.Rows(0)("Valor").ToString.ToDouble / 100).ToString
TxtImporteAjuste.Text = (TxtPorcentajeAjuste.Text.ToDouble * TxtPrecio.Text.ToDouble).FormatoNumero TxtImporteAjuste.Text = (TxtPorcentajeAjuste.Text.ToDouble * TxtPUFactura.Text.ToDouble).FormatoNumero
Dim CargoActual As Decimal = 0 Dim CargoVendido As Decimal = 0
Dim CargoAnterior As Decimal = 0 Dim CargoGarantia As Decimal = 0
Dim CveTamaño As Integer = 0 Dim CveTamaño As Integer = 0
If DdlPSAjuste.SelectedValue.ToEntero > 0 Then If DdlPSAjuste.SelectedValue.ToEntero > 0 Then
Dim Dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, DdlPSAjuste.SelectedValue.ToEntero).Rows(0) Dim Dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, DdlPSAjuste.SelectedValue.ToEntero).Rows(0)
If Dr IsNot Nothing Then If Dr IsNot Nothing Then
CargoAnterior = Dr("Cargo").ToString.ToDecimal CargoGarantia = Dr("Cargo").ToString.ToDecimal
End If End If
End If End If
@@ -5208,24 +5223,22 @@ Partial Class PV
End If End If
End If End If
If GlobalDTAcumTamaños.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveTamaño = {CveTamaño}").Rows(0) IsNot Nothing AndAlso GlobalDTAcumTamaños.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveTamaño = {CveTamaño}").Rows.Count > 0 Then If GlobalDTAcumTamaños.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveTamaño = {CveTamaño}").Rows(0) IsNot Nothing AndAlso GlobalDTAcumTamaños.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveTamaño = {CveTamaño}").Rows.Count > 0 Then
Dim DrCargo As DataRow = GlobalDTAcumTamaños.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveTamaño = {CveTamaño}").Rows(0) Dim DrCargo As DataRow = GlobalDTAcumTamaños.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveTamaño = {CveTamaño}").Rows(0)
If DrCargo IsNot Nothing Then If DrCargo IsNot Nothing Then
CargoActual = DrCargo("Cargo").ToString.ToDecimal CargoVendido = DrCargo("Cargo").ToString.ToDecimal
End If End If
End If End If
'el ajuste no puede ser mayor al precio de lo vendido de nuevo 'el ajuste no puede ser mayor al precio de lo vendido de nuevo
If (TxtPrecio.Text.ToDouble - ((TxtPrecio.Text.ToDouble - TxtImporteAjuste.Text.ToDouble) - (CargoActual - CargoAnterior))) < 0 Then If (TxtPrecio.Text.ToDouble - ((TxtPUFactura.Text.ToDouble - TxtImporteAjuste.Text.ToDouble) - (CargoVendido - CargoGarantia))) < 0 Then
TxtDescuentoAjuste.Text = TxtPrecio.Text
TxtImporteAjuste.Text = "0.00" TxtImporteAjuste.Text = "0.00"
CargoAnterior = CargoActual CargoGarantia = CargoVendido
End If End If
TxtImporteAjuste.ToolTip = $"La diferencia de ajuste fue: {(TxtPrecio.Text.ToDouble - TxtImporteAjuste.Text.ToDouble).FormatoNumero()}. La diferencia de tamaños fue: {(CargoVendido - CargoGarantia).FormatoNumero}."
TxtImporteAjuste.Text = ((TxtImporteAjuste.Text.ToDouble) - (CargoVendido - CargoGarantia)).FormatoNumero
TxtDescuentoAjuste.Text = ((TxtPrecio.Text.ToDouble - TxtImporteAjuste.Text.ToDouble) - (CargoActual - CargoAnterior)).FormatoNumero
TxtDescuentoAjuste.ToolTip = $"La diferencia de ajuste fue: {(TxtPrecio.Text.ToDouble - TxtImporteAjuste.Text.ToDouble).FormatoNumero()}. La diferencia de tamaños fue: {(CargoActual - CargoAnterior).FormatoNumero}."
End If End If
End If End If
ObjAcum.Dispose() ObjAcum.Dispose()
@@ -5233,31 +5246,6 @@ Partial Class PV
UpAjuste.Update() UpAjuste.Update()
End Sub End Sub
'Private Function AsignaPUFijo(CvePS As Integer) As Double
' Select Case CvePS
' Case 360449
' Return 500
' Case 360450
' Return 1000
' Case 360451
' Return 2000
' Case 360452
' Return 3000
' Case 360453
' Return 4000
' Case 360455
' Return 5000
' Case 365353
' Return 6000
' Case 360454
' Return 1500 'lth. acumulador
' Case 370810
' Return 2500 'lth. 1872
' Case Else
' Return 5000
' End Select
'End Function
Private Sub GuardaAjuste() Private Sub GuardaAjuste()
TxtPrecio.Text = TxtPrecio.Text TxtPrecio.Text = TxtPrecio.Text
UpAjuste.Update() UpAjuste.Update()
@@ -5340,7 +5328,8 @@ Partial Class PV
End If End If
End If End If
Dr("Descuento") = Math.Round((TxtPrecio.Text.ToDouble - TxtImporteAjuste.Text.ToDouble) - (CargoActual - CargoAnterior), NumeroDecimales) Dr("Descuento") = Math.Round(TxtImporteAjuste.Text.ToDouble, NumeroDecimales)
'Dr("Descuento") = Math.Round((TxtPrecio.Text.ToDouble - TxtImporteAjuste.Text.ToDouble) + (CargoActual - CargoAnterior), NumeroDecimales)
If Dr("Descuento").ToString.ToDouble > TxtPrecio.Text.ToDouble Then Dr("Descuento") = TxtPrecio.Text.ToDouble If Dr("Descuento").ToString.ToDouble > TxtPrecio.Text.ToDouble Then Dr("Descuento") = TxtPrecio.Text.ToDouble
Dim TotalCalculableImpuestos As Decimal = (Dr("Cantidad").ToString.ToDecimal * (Dr("PU").ToString.ToDecimal)) - Dr("Descuento").ToString.ToDecimal Dim TotalCalculableImpuestos As Decimal = (Dr("Cantidad").ToString.ToDecimal * (Dr("PU").ToString.ToDecimal)) - Dr("Descuento").ToString.ToDecimal
@@ -5747,7 +5736,7 @@ Partial Class PV
params.Add(New ReportParameter("PorcentajeAjuste", TxtPorcentajeAjuste.Text.Trim)) params.Add(New ReportParameter("PorcentajeAjuste", TxtPorcentajeAjuste.Text.Trim))
'Informacion Acumulador 'Informacion Acumulador
params.Add(New ReportParameter("CodEnsamble", If(TxtCodEnsamble.Text.Length > 7, TxtCodEnsamble.Text.Trim.Substring(0, 7), ""))) params.Add(New ReportParameter("CodEnsamble", TxtCodEnsamble.Text.Trim))
params.Add(New ReportParameter("CodLinea", TxtCodLinea.Text.Trim)) params.Add(New ReportParameter("CodLinea", TxtCodLinea.Text.Trim))
params.Add(New ReportParameter("CodInspeccion", TxtCodInspeccion.Text.Trim)) params.Add(New ReportParameter("CodInspeccion", TxtCodInspeccion.Text.Trim))

View File

@@ -4217,6 +4217,11 @@ Partial Class Ventas
BtnPermisoEditarCotizacion.Visible = True BtnPermisoEditarCotizacion.Visible = True
End If End If
'SOLO LA PUEDE EDITAR USUATIOACTUAL-VENDEDOR | NO DEBE ESTAR FACTURADA
If UsuarioActual.TienePermisoProceso(281) And TmpDT.SUM("CantidadFacturadaCot") = 0 Then 'And TmpDT.SUM("CantidadFacturadaCot") < TmpDT.SUM("Cantidad")
BtnPermisoEditarCotizacion.Visible = True
End If
'ACTIVA BOTONERA | DEBE TENER CONCEPTOS PENDIENTES DE FACTURAR 'ACTIVA BOTONERA | DEBE TENER CONCEPTOS PENDIENTES DE FACTURAR
If TmpDT.SUM("CantidadFacturadaCot") < TmpDT.SUM("Cantidad") AndAlso DdlTipoComprobante.SelectedValue.Contiene("Cot") Then If TmpDT.SUM("CantidadFacturadaCot") < TmpDT.SUM("Cantidad") AndAlso DdlTipoComprobante.SelectedValue.Contiene("Cot") Then
BtnGenerarRemision.Visible = If(CveEstatus = 10, False, True) BtnGenerarRemision.Visible = If(CveEstatus = 10, False, True)
@@ -4279,10 +4284,21 @@ Partial Class Ventas
'CargaDetalle 'CargaDetalle
If ObjVentas.GetVentaDetalle(CveVenta) Then If ObjVentas.GetVentaDetalle(CveVenta) Then
TmpDT = ObjVentas.DtResultados
TmpDT.Columns.Add("EntregaDirecta", GetType(Integer))
TmpDT.Columns.Add("CveMovimientoDetallePedido", GetType(Integer)) For Each dr As DataRow In ObjVentas.DtResultados.Rows
'TmpDT.Columns.Add("CantidadFacturadaRem", GetType(Decimal)) AgregarProductoServicio(dr("Cantidad").ToString.ToDecimal, dr("CveUM").ToString.ToEntero, dr("UM").ToString, dr("CveClasificacion").ToString.ToEntero, dr("Clasificacion").ToString,
dr("CvePS").ToString.ToEntero, dr("PS").ToString, dr("Obs").ToString, dr("PU").ToString.ToDecimal, dr("Descuento").ToString.ToDecimal,
dr("CveProyecto").ToString.ToEntero, dr("Proyecto").ToString, dr("CveSubProyecto").ToString.ToEntero, dr("SubProyecto").ToString,
CveContratoDetalle:=dr("CveContratoDetalle").ToString.ToEntero, CveVentaDetalleCotizacion:=dr("CveVentaDetalleCotizacion").ToString.ToEntero, RegeneraIEPS:=False, SeActualiza:=True)
Next
'TmpDT = ObjVentas.DtResultados
'TmpDT.Columns.Add("EntregaDirecta", GetType(Integer))
'TmpDT.Columns.Add("CveMovimientoDetallePedido", GetType(Integer))
''TmpDT.Columns.Add("CantidadFacturadaRem", GetType(Decimal))
GvPS.DataSource = ObjVentas.DtResultados GvPS.DataSource = ObjVentas.DtResultados
GvPS.DataBind() GvPS.DataBind()
End If End If
@@ -4409,6 +4425,9 @@ Partial Class Ventas
Private Sub CargaFormaPago(CveMetodoPago As Integer) Private Sub CargaFormaPago(CveMetodoPago As Integer)
'FACTURACION 3.3 'FACTURACION 3.3
'permiso para desbloquear la relación entre Método de pago y forma de pago
If UsuarioActual.TienePermisoProceso(282) Then CveMetodoPago = -1
Dim dtt As DataTable = Nothing Dim dtt As DataTable = Nothing
If CveMetodoPago > 0 Then If CveMetodoPago > 0 Then
dtt = GlobalDTVtaFormaPago.FiltraParametros(If(CveMetodoPago = 1, " CveFormaPago <> 20 ", "CveFormaPago = 20")) dtt = GlobalDTVtaFormaPago.FiltraParametros(If(CveMetodoPago = 1, " CveFormaPago <> 20 ", "CveFormaPago = 20"))
@@ -12907,6 +12926,16 @@ Partial Class Ventas
DdlUnidadMedida.DataBind() DdlUnidadMedida.DataBind()
DdlUnidadMedida.SelectedValueExist(drPS("CveUnidadMedida").ToString) DdlUnidadMedida.SelectedValueExist(drPS("CveUnidadMedida").ToString)
If drPS("CveTipoPS").ToString = "1" Then 'Si es servicio
If UsuarioActual.Empresa.Funcionalidad(558).ToString = "1" Then 'Si es Empresa llantera
TxtPrecio.Enabled = True
Else
'TxtPrecio.Enabled = False
End If
Else
TxtPrecio.Enabled = True
End If
If TmpDT IsNot Nothing AndAlso TmpDT.Rows.Count = 0 Then If TmpDT IsNot Nothing AndAlso TmpDT.Rows.Count = 0 Then
DdlMoneda.SelectedValueExist(drPS("CveMoneda").ToString) DdlMoneda.SelectedValueExist(drPS("CveMoneda").ToString)
CambiaMoneda() CambiaMoneda()
@@ -12963,7 +12992,16 @@ Partial Class Ventas
End If End If
Dim PrecioBaseCosto As Decimal = 0
Dim ObjClasificaciones As New ClsClasificaciones
If ObjClasificaciones.GetClasificaciones() Then
PrecioBaseCosto = ObjClasificaciones.DtResultados.FiltroPrimeroValor("PrecioBaseCosto", $"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveClasificacion = {drPS("CveClasificacion")}").ToDecimal
End If
If PrecioSugerido > 0 Then If PrecioSugerido > 0 Then
If PrecioBaseCosto > 0 Then
PrecioSugerido = PrecioSugerido * ((PrecioBaseCosto / 100) + 1)
End If
TxtPrecio.Text = PrecioSugerido.ToString("#,###.####") ' que muestre hasta los 4 digitos si lo requiere TxtPrecio.Text = PrecioSugerido.ToString("#,###.####") ' que muestre hasta los 4 digitos si lo requiere
End If End If