diff --git a/Ashx/SIGPolizaVirtual.ashx b/Ashx/SIGPolizaVirtual.ashx index e7f2621e1..6ba9db938 100644 --- a/Ashx/SIGPolizaVirtual.ashx +++ b/Ashx/SIGPolizaVirtual.ashx @@ -1,5 +1,6 @@ <%@ WebHandler Language="VB" Class="SIGPolizaVirtual" %> +Imports Fluent Imports System Imports System.Web Imports System.Net.Http @@ -9,61 +10,187 @@ Imports Newtonsoft.Json Imports Newtonsoft.Json.Linq Imports Extensiones Imports System.IO +Imports System.Runtime.CompilerServices Public Class SIGPolizaVirtual : Implements IHttpHandler, IRequiresSessionState Protected ReadOnly Property User As String = "cslth.2809@jcilink.com" Protected ReadOnly Property Password As String = "ff31580a95f36b51ad27f970428b77a5a9245076" +#Region "U S U A R I O - T O K E N" + + Private Function ValidaUsuarioSistema(CveEmpresa As Integer, Optional CveUsuario As Integer = 100) As Usuario + + Dim UsuarioToken As Usuario = Nothing + Dim ObjUsuarios As New ClsSisUsuarios + If ObjUsuarios.GetUsuarios(CveUsuario) Then + If ObjUsuarios.DtResultados.Rows.Count > 0 Then + Dim Usuario = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString() + Dim Contrasenia = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString() + UsuarioToken = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, IMEI, CveEmpresa) + UsuarioToken.CveEmpresa = CveEmpresa + CreaObjetoEmpresa(UsuarioToken) + End If + End If + ObjUsuarios.Dispose() + Return UsuarioToken + End Function + Private Sub CreaObjetoEmpresa(ByRef UsuarioToken As Usuario) + + Dim ObjEmpresa As New ClsSisEmpresas() + If ObjEmpresa.GetEmpresas(UsuarioToken.CveEmpresa, "-1", "-1", "-1", "-1") Then + If ObjEmpresa.GetEmpresasFuncionalidades(UsuarioToken.CveEmpresa) Then + Dim dttmp As Data.DataTable = ObjEmpresa.DtResultados + + Dim EmpresasFuncionalidades As New HybridDictionary + For Each Row As Data.DataRow In dttmp.Rows + EmpresasFuncionalidades.Add(Convert.ToInt32(Row("CveFuncionalidad")), Row("Valor").ToString) + Next + ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades) + End If + + UsuarioToken.Empresa = ObjEmpresa.Empresa + End If + ObjEmpresa.Dispose() + End Sub +#End Region + Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest context.Response.ContentType = "application/json" - EnviarPolizaVentaWS(context) - EnviarPolizaVentaLTHWSD(context) - EnviarPolizaIndicadores(context) + Dim usuario = ValidaUsuarioSistema(140, 100) + Dim ObjFactura As New Modelos.Factura(usuario, 898028, 140) + + GeneraPolizaVentaWS(context, ObjFactura) + 'GeneraPolizaVentaLTHWSD(context) + 'GeneraIndicadores(context) End Sub + Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable Get Return False End Get End Property - Private Sub EnviarPolizaVentaLTHWSD(ByVal context As HttpContext) + Protected Sub GeneraPolizaVentaWS(ByVal context As HttpContext, ObjFactura As Modelos.Factura) + Dim obj As New MPolizaVentaWS + 'DATOS DEL CLIENTE + obj.customer_name = ObjFactura.Cliente.Nombre + obj.customer_last_name1 = "" + obj.customer_last_name2 = "" + obj.customer_birthday = Nothing + obj.customer_phone = ObjFactura.Cliente.Telefono + obj.customer_email = ObjFactura.Cliente.Mail + obj.customer_gender = "03" 'OTRO GENERO + obj.customer_advertising = False + obj.customer_car_brand = "00" + obj.customer_car_model = "00" + obj.customer_car_year = ObjFactura.Fecha.Year + + 'DATOS DE VENTA + obj.sale_date = Now + obj.sale_paidby = "01" + obj.sale_type = "01" 'PISO + obj.sale_type_service = "01" 'PARTICULAR + obj.sale_total = ObjFactura.Total + obj.sale_discount = ObjFactura.SubTotal + obj.sale_id = GuidGenerator.GenerateTimeBasedGuid().ToString() + + 'Dim PS = ObjFactura.DtDetalle.Rows(0) + 'DATOS DEL PRODUCTO + obj.product_code = "174925" + obj.product_unique_code = "65047187" + obj.product_sale_type = "02" 'AJUSTE + + 'DATOS DE USADO + obj.used_product = True + obj.used_brand = "01" + obj.used_bci = "25" + obj.used_month = 1 + obj.used_year = 2015 + obj.used_sale_date = ObjFactura.Fecha + + EnviarPolizaVentaWS(context, obj) + End Sub + + Protected Sub GeneraPolizaVentaLTHWSD(ByVal context As HttpContext, ObjFactura As Modelos.Factura) + Dim obj As New MPolizaVentaLTHWSD + 'DATOS DEL CLIENTE + obj.customer_name = "JOSE ENRIQUE" + obj.customer_last_name1 = "VIZCARA" + obj.customer_last_name2 = "RENDON" + obj.customer_birthday = Now + obj.customer_phone = "8186545256" + obj.customer_email = "mail@mail.com" + obj.customer_gender = "02" + obj.customer_advertising = False + obj.customer_car_brand = "02" + obj.customer_car_model = "741" + obj.customer_car_year = 2015 + + 'DATOS DE VENTA + obj.sale_date = Now + obj.sale_paidby = "01" + obj.sale_type = "01" + obj.sale_type_service = "01" + obj.sale_discount = 0 + obj.sale_id = GuidGenerator.GenerateTimeBasedGuid().ToString() + + 'DATOS DEL PRODUCTO + obj.product_code = "174925" + obj.product_unique_code = "65047187" + obj.product_sale_type = "01" + + 'DATOS DE USADO + obj.used_product = True + obj.used_brand = "01" + obj.used_bci = "25" + obj.used_month = 1 + obj.used_year = 2015 + obj.used_sale_date = Now + + EnviarPolizaVentaLTHWSD(context, obj) + End Sub + Protected Sub GeneraIndicadores(ByVal context As HttpContext) + Dim obj As New MIndicador(True) + EnviarPolizaIndicadores(context, obj) + End Sub + + Protected Sub EnviarPolizaVentaLTHWSD(ByVal context As HttpContext, obj As MPolizaVentaLTHWSD) Dim Retorno As String = "[]" Try Using wc As New HttpClient() Dim Url = New Uri("http://polizavirtual.com.mx/lthwsd/api/Venta") - Dim Parametros = New List(Of KeyValuePair(Of String, String)) Parametros.Add(New KeyValuePair(Of String, String)("User", User)) Parametros.Add(New KeyValuePair(Of String, String)("password", Password)) - Parametros.Add(New KeyValuePair(Of String, String)("customer_name", "JOSE ENRIQUE VIZCARA RENDON")) - Parametros.Add(New KeyValuePair(Of String, String)("customer_last_name1", "Prueba")) - Parametros.Add(New KeyValuePair(Of String, String)("customer_last_name2", "Prueba")) - Parametros.Add(New KeyValuePair(Of String, String)("customer_birthday", "1900-01-01 00:00:00")) - Parametros.Add(New KeyValuePair(Of String, String)("customer_phone", "5417543010")) - Parametros.Add(New KeyValuePair(Of String, String)("customer_email", "elunap@gmail.com")) - Parametros.Add(New KeyValuePair(Of String, String)("customer_gender", "02")) - Parametros.Add(New KeyValuePair(Of String, String)("customer_advertising", "False")) - Parametros.Add(New KeyValuePair(Of String, String)("sale_date", "2018-07-24 00:00:00")) - Parametros.Add(New KeyValuePair(Of String, String)("sale_paidby", "01")) - Parametros.Add(New KeyValuePair(Of String, String)("sale_type", "01")) - Parametros.Add(New KeyValuePair(Of String, String)("sale_type_service", "01")) - Parametros.Add(New KeyValuePair(Of String, String)("product_code", "174200")) - Parametros.Add(New KeyValuePair(Of String, String)("product_unique_code", "65047187")) - Parametros.Add(New KeyValuePair(Of String, String)("product_sale_type", "01")) - Parametros.Add(New KeyValuePair(Of String, String)("used_product", "True")) - Parametros.Add(New KeyValuePair(Of String, String)("used_brand", "01")) - Parametros.Add(New KeyValuePair(Of String, String)("used_bci", "25")) - Parametros.Add(New KeyValuePair(Of String, String)("used_month", "1")) - Parametros.Add(New KeyValuePair(Of String, String)("used_year", "2015")) - Parametros.Add(New KeyValuePair(Of String, String)("used_sale_date", "2018-07-24 00:00:00")) - Parametros.Add(New KeyValuePair(Of String, String)("customer_car_brand", "36")) - Parametros.Add(New KeyValuePair(Of String, String)("customer_car_model", "741")) - Parametros.Add(New KeyValuePair(Of String, String)("customer_car_year", "2015")) - Parametros.Add(New KeyValuePair(Of String, String)("sale_discount", "0")) - Parametros.Add(New KeyValuePair(Of String, String)("sale_id", "32860")) + Parametros.Add(New KeyValuePair(Of String, String)("customer_name", obj.customer_name)) + Parametros.Add(New KeyValuePair(Of String, String)("customer_last_name1", obj.customer_last_name1)) + Parametros.Add(New KeyValuePair(Of String, String)("customer_last_name2", obj.customer_last_name1)) + Parametros.Add(New KeyValuePair(Of String, String)("customer_birthday", obj.customer_birthday.ToString("yyyy-MM-dd HH:mm:ss"))) + Parametros.Add(New KeyValuePair(Of String, String)("customer_phone", obj.customer_phone)) + Parametros.Add(New KeyValuePair(Of String, String)("customer_email", obj.customer_email)) + Parametros.Add(New KeyValuePair(Of String, String)("customer_gender", obj.customer_gender)) + Parametros.Add(New KeyValuePair(Of String, String)("customer_advertising", obj.customer_advertising.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("sale_date", obj.sale_date.ToString("yyyy-MM-dd HH:mm:ss"))) + Parametros.Add(New KeyValuePair(Of String, String)("sale_paidby", obj.sale_paidby)) + Parametros.Add(New KeyValuePair(Of String, String)("sale_type", obj.sale_type)) + Parametros.Add(New KeyValuePair(Of String, String)("sale_type_service", obj.sale_type_service)) + Parametros.Add(New KeyValuePair(Of String, String)("product_code", obj.product_code)) + Parametros.Add(New KeyValuePair(Of String, String)("product_unique_code", obj.product_unique_code)) + Parametros.Add(New KeyValuePair(Of String, String)("product_sale_type", obj.product_sale_type)) + Parametros.Add(New KeyValuePair(Of String, String)("used_product", obj.used_product.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("used_brand", obj.used_brand)) + Parametros.Add(New KeyValuePair(Of String, String)("used_bci", obj.used_bci)) + Parametros.Add(New KeyValuePair(Of String, String)("used_month", obj.used_month.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("used_year", obj.used_year.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("used_sale_date", obj.used_sale_date.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("customer_car_brand", obj.customer_car_brand.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("customer_car_model", obj.customer_car_model.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("customer_car_year", obj.customer_car_year.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("sale_discount", obj.sale_discount.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("sale_id", obj.sale_id.ToString())) Dim content As New FormUrlEncodedContent(Parametros) Dim response = wc.PostAsync(Url, content).Result @@ -78,7 +205,7 @@ Public Class SIGPolizaVirtual : Implements IHttpHandler, IRequiresSessionState context.Response.Write(Retorno) End Sub - Private Sub EnviarPolizaVentaWS(ByVal context As HttpContext) + Protected Sub EnviarPolizaVentaWS(ByVal context As HttpContext, obj As MPolizaVentaWS) Dim Retorno As String = "[]" Try Using wc As New HttpClient() @@ -88,33 +215,33 @@ Public Class SIGPolizaVirtual : Implements IHttpHandler, IRequiresSessionState Parametros.Add(New KeyValuePair(Of String, String)("User", User)) Parametros.Add(New KeyValuePair(Of String, String)("password", Password)) - Parametros.Add(New KeyValuePair(Of String, String)("customer_name", "JOSE ENRIQUE ")) - Parametros.Add(New KeyValuePair(Of String, String)("customer_last_name1", "VIZCARA")) - Parametros.Add(New KeyValuePair(Of String, String)("customer_last_name2", "RENDON")) - Parametros.Add(New KeyValuePair(Of String, String)("customer_birthday", "1900-01-01 00:00:00")) - Parametros.Add(New KeyValuePair(Of String, String)("customer_phone", "8186545256")) - Parametros.Add(New KeyValuePair(Of String, String)("customer_email", "mail@mail.com")) - Parametros.Add(New KeyValuePair(Of String, String)("customer_gender", "02")) - Parametros.Add(New KeyValuePair(Of String, String)("customer_advertising", "False")) - Parametros.Add(New KeyValuePair(Of String, String)("sale_date", "2018-07-24 00:00:00")) - Parametros.Add(New KeyValuePair(Of String, String)("sale_paidby", "01")) - Parametros.Add(New KeyValuePair(Of String, String)("sale_type", "01")) - Parametros.Add(New KeyValuePair(Of String, String)("sale_type_service", "01")) - Parametros.Add(New KeyValuePair(Of String, String)("product_code", "174925")) - Parametros.Add(New KeyValuePair(Of String, String)("product_unique_code", "65047187")) - Parametros.Add(New KeyValuePair(Of String, String)("product_sale_type", "01")) - Parametros.Add(New KeyValuePair(Of String, String)("sale_total", "0")) - Parametros.Add(New KeyValuePair(Of String, String)("used_product", "True")) - Parametros.Add(New KeyValuePair(Of String, String)("used_brand", "01")) - Parametros.Add(New KeyValuePair(Of String, String)("used_bci", "25")) - Parametros.Add(New KeyValuePair(Of String, String)("used_month", "1")) - Parametros.Add(New KeyValuePair(Of String, String)("used_year", "2015")) - Parametros.Add(New KeyValuePair(Of String, String)("used_sale_date", "2018-07-24 00:00:00")) - Parametros.Add(New KeyValuePair(Of String, String)("customer_car_brand", "36")) - Parametros.Add(New KeyValuePair(Of String, String)("customer_car_model", "741")) - Parametros.Add(New KeyValuePair(Of String, String)("customer_car_year", "2015")) - Parametros.Add(New KeyValuePair(Of String, String)("sale_discount", "0")) - Parametros.Add(New KeyValuePair(Of String, String)("sale_id", "32860")) + Parametros.Add(New KeyValuePair(Of String, String)("customer_name", obj.customer_name)) + Parametros.Add(New KeyValuePair(Of String, String)("customer_last_name1", obj.customer_last_name1)) + Parametros.Add(New KeyValuePair(Of String, String)("customer_last_name2", obj.customer_last_name1)) + Parametros.Add(New KeyValuePair(Of String, String)("customer_birthday", obj.customer_birthday.ToString("yyyy-MM-dd HH:mm:ss"))) + Parametros.Add(New KeyValuePair(Of String, String)("customer_phone", obj.customer_phone)) + Parametros.Add(New KeyValuePair(Of String, String)("customer_email", obj.customer_email)) + Parametros.Add(New KeyValuePair(Of String, String)("customer_gender", obj.customer_gender)) + Parametros.Add(New KeyValuePair(Of String, String)("customer_advertising", obj.customer_advertising.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("sale_date", obj.sale_date.ToString("yyyy-MM-dd HH:mm:ss"))) + Parametros.Add(New KeyValuePair(Of String, String)("sale_paidby", obj.sale_paidby)) + Parametros.Add(New KeyValuePair(Of String, String)("sale_type", obj.sale_type)) + Parametros.Add(New KeyValuePair(Of String, String)("sale_type_service", obj.sale_type_service)) + Parametros.Add(New KeyValuePair(Of String, String)("product_code", obj.product_code)) + Parametros.Add(New KeyValuePair(Of String, String)("product_unique_code", obj.product_unique_code)) + Parametros.Add(New KeyValuePair(Of String, String)("product_sale_type", obj.product_sale_type)) + Parametros.Add(New KeyValuePair(Of String, String)("sale_total", obj.sale_total.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("used_product", obj.used_product.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("used_brand", obj.used_brand)) + Parametros.Add(New KeyValuePair(Of String, String)("used_bci", obj.used_bci)) + Parametros.Add(New KeyValuePair(Of String, String)("used_month", obj.used_month.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("used_year", obj.used_year.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("used_sale_date", obj.used_sale_date.ToString("yyyy-MM-dd HH:mm:ss"))) + Parametros.Add(New KeyValuePair(Of String, String)("customer_car_brand", obj.customer_car_brand.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("customer_car_model", obj.customer_car_model.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("customer_car_year", obj.customer_car_year.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("sale_discount", obj.sale_discount.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("sale_id", obj.sale_id.ToString())) Dim content As New FormUrlEncodedContent(Parametros) Dim response = wc.PostAsync(Url, content).Result @@ -129,7 +256,7 @@ Public Class SIGPolizaVirtual : Implements IHttpHandler, IRequiresSessionState context.Response.Write(Retorno) End Sub - Private Sub EnviarPolizaIndicadores(ByVal context As HttpContext) + Protected Sub EnviarPolizaIndicadores(ByVal context As HttpContext, obj As MIndicador) Dim Retorno As String = "[]" Try Using wc As New HttpClient() @@ -139,47 +266,47 @@ Public Class SIGPolizaVirtual : Implements IHttpHandler, IRequiresSessionState Parametros.Add(New KeyValuePair(Of String, String)("User", User)) Parametros.Add(New KeyValuePair(Of String, String)("password", Password)) - Parametros.Add(New KeyValuePair(Of String, String)("v_b_optima", "1")) - Parametros.Add(New KeyValuePair(Of String, String)("v_b_fullpower", "2")) - Parametros.Add(New KeyValuePair(Of String, String)("v_b_hitec", "3")) - Parametros.Add(New KeyValuePair(Of String, String)("v_b_agm", "4")) - Parametros.Add(New KeyValuePair(Of String, String)("v_b_suv", "5")) - Parametros.Add(New KeyValuePair(Of String, String)("v_b_taxi", "6")) - Parametros.Add(New KeyValuePair(Of String, String)("v_b_america", "7")) - Parametros.Add(New KeyValuePair(Of String, String)("v_b_lth", "8")) - Parametros.Add(New KeyValuePair(Of String, String)("v_b_cronos", "9")) - Parametros.Add(New KeyValuePair(Of String, String)("v_b_diener", "10")) - Parametros.Add(New KeyValuePair(Of String, String)("v_b_heavyduty", "11")) - Parametros.Add(New KeyValuePair(Of String, String)("v_m_lth", "12")) - Parametros.Add(New KeyValuePair(Of String, String)("v_o_filtros", "13")) - Parametros.Add(New KeyValuePair(Of String, String)("v_o_lub1", "14")) - Parametros.Add(New KeyValuePair(Of String, String)("v_o_lubgalon", "15")) - Parametros.Add(New KeyValuePair(Of String, String)("v_o_lub5", "16")) - Parametros.Add(New KeyValuePair(Of String, String)("v_o_aa", "17")) - Parametros.Add(New KeyValuePair(Of String, String)("v_o_aaa", "18")) - Parametros.Add(New KeyValuePair(Of String, String)("g_b_optima", "19")) - Parametros.Add(New KeyValuePair(Of String, String)("g_b_fullpower", "20")) - Parametros.Add(New KeyValuePair(Of String, String)("g_b_hitec", "21")) - Parametros.Add(New KeyValuePair(Of String, String)("g_b_agm", "22")) - Parametros.Add(New KeyValuePair(Of String, String)("g_b_suv", "23")) - Parametros.Add(New KeyValuePair(Of String, String)("g_b_taxi", "24")) - Parametros.Add(New KeyValuePair(Of String, String)("g_b_america", "25")) - Parametros.Add(New KeyValuePair(Of String, String)("g_b_lth", "26")) - Parametros.Add(New KeyValuePair(Of String, String)("g_b_cronos", "27")) - Parametros.Add(New KeyValuePair(Of String, String)("g_b_diener", "28")) - Parametros.Add(New KeyValuePair(Of String, String)("g_b_heavyduty", "29")) - Parametros.Add(New KeyValuePair(Of String, String)("g_m_lth", "30")) - Parametros.Add(New KeyValuePair(Of String, String)("a_b_optima", "31")) - Parametros.Add(New KeyValuePair(Of String, String)("a_b_fullpower", "32")) - Parametros.Add(New KeyValuePair(Of String, String)("a_b_hitec", "33")) - Parametros.Add(New KeyValuePair(Of String, String)("a_b_agm", "34")) - Parametros.Add(New KeyValuePair(Of String, String)("a_b_suv", "35")) - Parametros.Add(New KeyValuePair(Of String, String)("a_b_taxi", "36")) - Parametros.Add(New KeyValuePair(Of String, String)("a_b_america", "37")) - Parametros.Add(New KeyValuePair(Of String, String)("a_b_lth", "38")) - Parametros.Add(New KeyValuePair(Of String, String)("a_b_cronos", "39")) - Parametros.Add(New KeyValuePair(Of String, String)("a_b_diener", "40")) - Parametros.Add(New KeyValuePair(Of String, String)("a_b_heavyduty", "41")) + Parametros.Add(New KeyValuePair(Of String, String)("v_b_optima", obj.v_b_optima.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("v_b_fullpower", obj.v_b_fullpower.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("v_b_hitec", obj.v_b_hitec.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("v_b_agm", obj.v_b_agm.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("v_b_suv", obj.v_b_suv.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("v_b_taxi", obj.v_b_taxi.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("v_b_america", obj.v_b_america.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("v_b_lth", obj.v_b_lth.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("v_b_cronos", obj.v_b_cronos.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("v_b_diener", obj.v_b_diener.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("v_b_heavyduty", obj.v_b_heavyduty.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("v_m_lth", obj.v_m_lth.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("v_o_filtros", obj.v_o_filtros.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("v_o_lub1", obj.v_o_lub1.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("v_o_lubgalon", obj.v_o_lubgalon.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("v_o_lub5", obj.v_o_lub5.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("v_o_aa", obj.v_o_aa.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("v_o_aaa", obj.v_o_aaa.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("g_b_optima", obj.g_b_optima.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("g_b_fullpower", obj.g_b_fullpower.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("g_b_hitec", obj.g_b_hitec.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("g_b_agm", obj.g_b_agm.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("g_b_suv", obj.g_b_suv.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("g_b_taxi", obj.g_b_taxi.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("g_b_america", obj.g_b_america.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("g_b_lth", obj.g_b_lth.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("g_b_cronos", obj.g_b_cronos.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("g_b_diener", obj.g_b_diener.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("g_b_heavyduty", obj.g_b_heavyduty.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("g_m_lth", obj.g_m_lth.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("a_b_optima", obj.a_b_optima.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("a_b_fullpower", obj.a_b_fullpower.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("a_b_hitec", obj.a_b_hitec.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("a_b_agm", obj.a_b_agm.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("a_b_suv", obj.a_b_suv.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("a_b_taxi", obj.a_b_taxi.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("a_b_america", obj.a_b_america.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("a_b_lth", obj.a_b_lth.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("a_b_cronos", obj.a_b_cronos.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("a_b_diener", obj.a_b_diener.ToString())) + Parametros.Add(New KeyValuePair(Of String, String)("a_b_heavyduty", obj.a_b_heavyduty.ToString())) Dim content As New FormUrlEncodedContent(Parametros) Dim response = wc.PostAsync(Url, content).Result @@ -194,4 +321,217 @@ Public Class SIGPolizaVirtual : Implements IHttpHandler, IRequiresSessionState context.Response.Write(Retorno) End Sub -End Class \ No newline at end of file +End Class + +Public Class MPolizaVentaLTHWSD + Public Property customer_name As String + Public Property customer_last_name1 As String + Public Property customer_last_name2 As String + Public Property customer_birthday As DateTime + Public Property customer_phone As String + Public Property customer_email As String + Public Property customer_gender As String + Public Property customer_advertising As Boolean + Public Property sale_date As DateTime + Public Property sale_paidby As String + Public Property sale_type As String + Public Property sale_type_service As String + Public Property product_code As String + Public Property product_unique_code As String + Public Property product_sale_type As String + Public Property used_product As Boolean + Public Property used_brand As String + Public Property used_bci As String + Public Property used_month As Integer + Public Property used_year As Integer + Public Property used_sale_date As DateTime + Public Property customer_car_brand As String + Public Property customer_car_model As String + Public Property customer_car_year As Integer + Public Property sale_discount As Decimal + Public Property sale_id As String +End Class + +Public Class MPolizaVentaWS + Public Property customer_name As String + Public Property customer_last_name1 As String + Public Property customer_last_name2 As String + Public Property customer_birthday As DateTime + Public Property customer_phone As String + Public Property customer_email As String + Public Property customer_gender As String + Public Property customer_advertising As Boolean + Public Property sale_date As DateTime + Public Property sale_paidby As String + Public Property sale_type As String + Public Property sale_type_service As String + Public Property sale_total As Decimal + Public Property product_code As String + Public Property product_unique_code As String + Public Property product_sale_type As String + Public Property used_product As Boolean + Public Property used_brand As String + Public Property used_bci As String + Public Property used_month As Integer + Public Property used_year As Integer + Public Property used_sale_date As DateTime + Public Property customer_car_brand As String + Public Property customer_car_model As String + Public Property customer_car_year As Integer + Public Property sale_discount As Decimal + Public Property sale_id As String +End Class + +Public Class MIndicador + + Sub New(Optional UsaValoresPrueba As Boolean = False) + If UsaValoresPrueba Then + Dim Index As Integer = 0 + For Each p As Reflection.PropertyInfo In Me.GetType().GetProperties() + Index = Index + 1 + p.SetValue(Me, Convert.ChangeType(Index, p.PropertyType), Nothing) + Next + End If + End Sub + + Public Property v_b_optima As Integer + Public Property v_b_fullpower As Integer + Public Property v_b_hitec As Integer + Public Property v_b_agm As Integer + Public Property v_b_suv As Integer + Public Property v_b_taxi As Integer + Public Property v_b_america As Integer + Public Property v_b_lth As Integer + Public Property v_b_cronos As Integer + Public Property v_b_diener As Integer + Public Property v_b_heavyduty As Integer + Public Property v_m_lth As Integer + Public Property v_o_filtros As Integer + Public Property v_o_lub1 As Integer + Public Property v_o_lubgalon As Integer + Public Property v_o_lub5 As Integer + Public Property v_o_aa As Integer + Public Property v_o_aaa As Integer + Public Property g_b_optima As Integer + Public Property g_b_fullpower As Integer + Public Property g_b_hitec As Integer + Public Property g_b_agm As Integer + Public Property g_b_suv As Integer + Public Property g_b_taxi As Integer + Public Property g_b_america As Integer + Public Property g_b_lth As Integer + Public Property g_b_cronos As Integer + Public Property g_b_diener As Integer + Public Property g_b_heavyduty As Integer + Public Property g_m_lth As Integer + Public Property a_b_optima As Integer + Public Property a_b_fullpower As Integer + Public Property a_b_hitec As Integer + Public Property a_b_agm As Integer + Public Property a_b_suv As Integer + Public Property a_b_taxi As Integer + Public Property a_b_america As Integer + Public Property a_b_lth As Integer + Public Property a_b_cronos As Integer + Public Property a_b_diener As Integer + Public Property a_b_heavyduty As Integer +End Class + + + +Namespace Fluent + Public Enum GuidVersion + TimeBased = &H1 + Reserved = &H2 + NameBased = &H3 + Random = &H4 + End Enum + + Partial Public Module GuidGenerator + Public Const ByteArraySize = 16 + Public Const VariantByte = 8 + Public Const VariantByteMask = &H3F + Public Const VariantByteShift = &H80 + Public Const VersionByte = 7 + Public Const VersionByteMask = &HF + Public Const VersionByteShift = 4 + Private Const TimestampByte As Byte = 0 + Private Const GuidClockSequenceByte As Byte = 8 + Private Const NodeByte As Byte = 10 + Private ReadOnly GregorianCalendarStart As DateTimeOffset = New DateTimeOffset(1582, 10, 15, 0, 0, 0, TimeSpan.Zero) + Public Property DefaultClockSequence As Byte() + Public Property DefaultNode As Byte() + + Sub New() + DefaultClockSequence = New Byte(1) {} + DefaultNode = New Byte(5) {} + Dim random = New Random + random.NextBytes(DefaultClockSequence) + random.NextBytes(DefaultNode) + End Sub + + + Function GetVersion(ByVal guid As Guid) As GuidVersion + Dim bytes = guid.ToByteArray + Return ((bytes(VersionByte) And &HFF) >> VersionByteShift) + End Function + + Function GetDateTimeOffset(ByVal guid As Guid) As DateTimeOffset + Dim bytes As Byte() = guid.ToByteArray + bytes(VersionByte) = bytes(VersionByte) And CByte(VersionByteMask) + bytes(VersionByte) = bytes(VersionByte) Or (CByte(GuidVersion.TimeBased) >> VersionByteShift) + Dim timestampBytes = New Byte(7) {} + Array.Copy(bytes, TimestampByte, timestampBytes, 0, 8) + Dim timestamp As Long = BitConverter.ToInt64(timestampBytes, 0) + Dim ticks As Long = timestamp + GregorianCalendarStart.Ticks + + Return New DateTimeOffset(ticks, TimeSpan.Zero) + End Function + + Function GetDateTime(ByVal guid As Guid) As Date + Return GetDateTimeOffset(guid).DateTime + End Function + + Function GetLocalDateTime(ByVal guid As Guid) As Date + Return GetDateTimeOffset(guid).LocalDateTime + End Function + + Function GetUtcDateTime(ByVal guid As Guid) As Date + Return GetDateTimeOffset(guid).UtcDateTime + End Function + + Function GenerateTimeBasedGuid() As Guid + Return GenerateTimeBasedGuid(DateTimeOffset.UtcNow, DefaultClockSequence, DefaultNode) + End Function + + Function GenerateTimeBasedGuid(ByVal dateTime As Date) As Guid + Return GenerateTimeBasedGuid(dateTime, DefaultClockSequence, DefaultNode) + End Function + + Function GenerateTimeBasedGuid(ByVal dateTime As DateTimeOffset) As Guid + Return GenerateTimeBasedGuid(dateTime, DefaultClockSequence, DefaultNode) + End Function + + Function GenerateTimeBasedGuid(ByVal dateTime As Date, ByVal clockSequence As Byte(), ByVal node As Byte()) As Guid + Return GenerateTimeBasedGuid(New DateTimeOffset(dateTime), clockSequence, node) + End Function + + Function GenerateTimeBasedGuid(ByVal dateTime As DateTimeOffset, ByVal clockSequence As Byte(), ByVal node As Byte()) As Guid + If clockSequence Is Nothing Then Throw New ArgumentNullException("clockSequence") + If node Is Nothing Then Throw New ArgumentNullException("node") + If clockSequence.Length <> 2 Then Throw New ArgumentOutOfRangeException("clockSequence", "The clockSequence must be 2 bytes.") + If node.Length <> 6 Then Throw New ArgumentOutOfRangeException("node", "The node must be 6 bytes.") + Dim ticks = (dateTime - GregorianCalendarStart).Ticks + Dim guid = New Byte(15) {} + Dim timestamp = BitConverter.GetBytes(ticks) + Array.Copy(node, 0, guid, NodeByte, Math.Min(6, node.Length)) + Array.Copy(clockSequence, 0, guid, GuidClockSequenceByte, Math.Min(2, clockSequence.Length)) + Array.Copy(timestamp, 0, guid, TimestampByte, Math.Min(8, timestamp.Length)) + guid(VariantByte) = guid(VariantByte) And CByte(VariantByteMask) + guid(VariantByte) = guid(VariantByte) Or CByte(VariantByteShift) + guid(VersionByte) = guid(VersionByte) And CByte(VersionByteMask) + guid(VersionByte) = guid(VersionByte) Or (CByte(GuidVersion.TimeBased) << VersionByteShift) + Return New Guid(guid) + End Function + End Module +End Namespace diff --git a/Bancos/PagoElectronico.aspx.vb b/Bancos/PagoElectronico.aspx.vb index 38b908b3c..4a70aa2a1 100644 --- a/Bancos/PagoElectronico.aspx.vb +++ b/Bancos/PagoElectronico.aspx.vb @@ -798,9 +798,14 @@ Partial Class Bancos_PagoElectronico '''''' LLENADO HEADER Dim convenio As String = DTPendienteActual(0)("ConvenioPagoElectronico").ToString 'Campos #1-4 del Header - HeaderTexto = String.Format("H{0}{1}GRUPO01 ", convenio.PadLeft(9, PadCeros), DateTime.Now().ToString("yyyy-MM-dd")) - 'Campo #5 del Header - HeaderTexto &= String.Format("{0}{1}", UsuarioActual.Usuario, DateTime.Now().ToString("yyyyMMdd")).PadRight(20) + HeaderTexto = String.Format("H{0}{1}GRUPO01 ", convenio.PadLeft(9, PadCeros), DateTime.Now().ToString("yyyy-MM-dd")) + 'Campo #5 del Header + + Dim IdentificadoUsuario As String = UsuarioActual.Usuario.Replace(" ", "").Replace(".", "").Replace("@", "").Replace("/", "").ToUpper.Trim + IdentificadoUsuario = If(IdentificadoUsuario.Length > 12, IdentificadoUsuario.Substring(0, 12), IdentificadoUsuario) + ' Dim Identificado As String = String.Format("{0}{1}", UsuarioActual.Usuario, DateTime.Now().ToString("yyyyMMdd"))) + + HeaderTexto &= String.Format("{0}{1}", IdentificadoUsuario, DateTime.Now().ToString("yyyyMMdd")).PadRight(20) 'Campos #6-8 del Header HeaderTexto &= String.Format("00").PadRight(586) Dim HeaderLength = HeaderTexto.Length diff --git a/Bancos/ProveedoresAbonar.aspx.vb b/Bancos/ProveedoresAbonar.aspx.vb index a11c4aed8..9ee86c31d 100644 --- a/Bancos/ProveedoresAbonar.aspx.vb +++ b/Bancos/ProveedoresAbonar.aspx.vb @@ -2298,7 +2298,12 @@ Partial Class Bancos_ProveedoresAbonar End If DdlCuentaDeposito.DataBind() - DdlCuentaDeposito.SelectedIndex = 1 + + + If DdlCuentaDeposito.Items.Count > 1 Then + DdlCuentaDeposito.SelectedIndex = 1 + End If + End If End If diff --git a/Bancos/RepEgresosSinComprobante.aspx b/Bancos/RepEgresosSinComprobante.aspx index 3b425d2d0..957f1555a 100644 --- a/Bancos/RepEgresosSinComprobante.aspx +++ b/Bancos/RepEgresosSinComprobante.aspx @@ -16,7 +16,13 @@ Otros Egresos
  • - Saldar + Viaticos-Personal +
  • +
  • + Saldar Proveedores +
  • +
  • + Saldar FyE
  • @@ -153,7 +159,7 @@ - + @@ -212,8 +218,14 @@ - + + + + + + diff --git a/Bancos/RepEgresosSinComprobante.aspx.vb b/Bancos/RepEgresosSinComprobante.aspx.vb index e68307aa3..33322b9bd 100644 --- a/Bancos/RepEgresosSinComprobante.aspx.vb +++ b/Bancos/RepEgresosSinComprobante.aspx.vb @@ -180,53 +180,88 @@ Partial Class Bancos_RepEgresosSinComprobante gr.FCCheckBox("Chk").Visible = True LnkSaldar.Visible = True LnkHabilitarSaldar.Visible = False - 'portletBody.Attributes.Remove("style") - 'portletBody.Attributes.Add("style", "display: block;") - - 'HExtensorFiltro.Attributes.Remove("class") - 'HExtensorFiltro.Attributes.Add("class", "collapse") - - 'UPFiltros.Update() UPDatos.Update() End If Next + End Sub + Private Sub LnkHabilitarSaldoFyE_Click(sender As Object, e As EventArgs) Handles LnkHabilitarSaldarFyE.Click + For Each gr As GridViewRow In GvPersonal.Rows + If gr.DataKey("CvePersonal") <> "" Then + gr.FCCheckBox("Chk").Visible = True + LnkSaldarFyE.Visible = True + LnkHabilitarSaldarFyE.Visible = False + upDatosPersonal.Update() + End If + Next End Sub Protected Sub LnkSaldar_Click(sender As Object, e As EventArgs) Dim ObjConta As New ClsContabilidad - ObjConta.IniciaTransacSQL() + Dim ObjProveedor As New ClsCompProveedores(ObjConta.IniciaTransacSQL()) + Dim CvePrePoliza As Integer = 0 Dim MsgError As String = "" + Try + For Each gr As GridViewRow In GvESC.Rows + If gr.FCCheckBox("Chk").Checked Then + Dim CveCuenta As Integer = 0 + Dim IdCtaContable As Integer = 0 + Dim CveConceptoContable As Integer + + Select Case gr.DataKey("CveConceptoContable").ToEntero + Case 10 + CveConceptoContable = 21 + Case 28 + CveConceptoContable = 29 + Case 37 + CveConceptoContable = 43 + Case 42 + CveConceptoContable = 41 + Case 43 + CveConceptoContable = 37 + End Select + + If ObjProveedor.GetProveedores(ClsCompProveedores.TipoConsulta.ParaUsoEnEmpresa, gr.DataKey("CveProveedor").ToEntero, "-1", "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa) Then + If ObjProveedor.DtResultados.Rows.Count > 0 Then + IdCtaContable = ObjProveedor.IdCtaContProveedores + End If + End If + + If ObjConta.GetCuentaDobleConta(IdCtaContable, UsuarioActual.CveEmpresa) Then + If ObjConta.DtResultados.Rows.Count > 0 Then + CveCuenta = ObjConta.DtResultados.Rows(0)("CveCuenta").ToString.ToEntero + End If + End If + + CvePrePoliza = ObjConta.AddPrePolizas("Bancos/RepEgresosSinComprobante", 6, gr.DataKey("Saldo").ToDecimal, gr.DataKey("Saldo").ToDecimal, gr.DataKey("CveMoneda").ToEntero, Now, + "Saldo de ExC por Sistema", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, gr.DataKey("Saldo").ToDecimal, "", CveConceptoContable, "Saldo de ExC por Sistema", Now, -1, -1, + gr.DataKey("CveIE").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CvePersonal:=gr.DataKey("CvePersonal").ToEntero, + ImporteMX:=gr.DataKey("Saldo").ToDecimal, CveCuenta:=CveCuenta) Then + MsgError = "Ocurrio un error al saldar el movimiento" + Exit For + End If + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, gr.DataKey("Saldo").ToDecimal, "", 78, "Saldo de ExC por Sistema", Now, -1, -1, gr.DataKey("CveIE").ToEntero, + ImporteMX:=gr.DataKey("Saldo").ToDecimal, CveCuenta:=CveCuenta) Then + MsgError = "Ocurrio un error al saldar el movimiento" + Exit For + End If + + If UsuarioActual.Empresa.Funcionalidad(200) = "1" Then + If Not ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then + Alert("Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError) + End If + End If + + End If + Next + Catch ex As Exception + MsgError = "Ocurrió un error al generar la prepoliza" + OnError(MsgError, ex) + End Try - For Each gr As GridViewRow In GvESC.Rows - If gr.FCCheckBox("Chk").Checked Then - Dim CveCuenta As Integer = 0 - Dim CveConceptoContable As Integer - - Select Case gr.DataKey("CveConceptoContable").ToEntero - Case 10 - CveConceptoContable = 21 - Case 28 - CveConceptoContable = 29 - Case 37 - CveConceptoContable = 43 - Case 42 - CveConceptoContable = 41 - Case 43 - CveConceptoContable = 37 - End Select - - CvePrePoliza = ObjConta.AddPrePolizas("Bancos/RepEgresosSinComprobante", 6, gr.DataKey("Saldo").ToDecimal, gr.DataKey("Saldo").ToDecimal, gr.DataKey("CveMoneda").ToEntero, Now, "Saldo de ExC por Sistema", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, gr.DataKey("Saldo").ToDecimal, "", CveConceptoContable, "Saldo de ExC por Sistema", Now, -1, -1, gr.DataKey("CveIE").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CvePersonal:=gr.DataKey("CvePersonal").ToEntero, ImporteMX:=gr.DataKey("Saldo").ToDecimal, CveCuenta:=CveCuenta) Then - MsgError = "Ocurrio un error al saldar el movimiento" - End If - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, gr.DataKey("Saldo").ToDecimal, "", 78, "Saldo de ExC por Sistema", Now, -1, -1, gr.DataKey("CveIE").ToEntero, ImporteMX:=gr.DataKey("Saldo").ToDecimal, CveCuenta:=-1) Then - MsgError = "Ocurrio un error al saldar el movimiento" - End If - End If - Next If MsgError = "" Then ObjConta.Commit() @@ -239,11 +274,96 @@ Partial Class Bancos_RepEgresosSinComprobante LnkSaldar.Visible = False LnkHabilitarSaldar.Visible = True + ObjConta.Dispose() - End Sub + ObjProveedor.Dispose() + End Sub + Protected Sub LnkSaldarFyE_Click(sender As Object, e As EventArgs) + Dim ObjConta As New ClsContabilidad + ObjConta.IniciaTransacSQL() + Dim CvePrePoliza As Integer = 0 + Dim MsgError As String = "" + + Try + For Each gr As GridViewRow In GvPersonal.Rows + If gr.FCCheckBox("Chk").Checked Then + Dim CveCuenta As Integer = 0 + Dim IdCtaContPersonal As Integer = 0 + Dim CveConceptoContable As Integer + + Select Case gr.DataKey("CveConceptoContable").ToEntero + Case 10 + CveConceptoContable = 21 + Case 28 + CveConceptoContable = 29 + Case 37 + CveConceptoContable = 43 + Case 42 + CveConceptoContable = 41 + Case 43 + CveConceptoContable = 37 + End Select + + If ObjConta.GetRetCuenta(CveConceptoContable, gr.DataKey("CvePersonal").ToEntero) Then + If ObjConta.DtResultados.Rows.Count > 0 Then + IdCtaContPersonal = ObjConta.DtResultados.Rows(0)("IdCtaContPersonal").ToString.ToEntero + End If + End If + + If ObjConta.GetCuentaDobleConta(IdCtaContPersonal, UsuarioActual.CveEmpresa) Then + If ObjConta.DtResultados.Rows.Count > 0 Then + CveCuenta = ObjConta.DtResultados.Rows(0)("CveCuenta").ToString.ToEntero + End If + End If + + CvePrePoliza = ObjConta.AddPrePolizas("Bancos/RepEgresosSinComprobante", 6, gr.DataKey("Saldo").ToDecimal, gr.DataKey("Saldo").ToDecimal, gr.DataKey("CveMoneda").ToEntero, Now, + "Saldo de ExC por Sistema", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, gr.DataKey("Saldo").ToDecimal, "", CveConceptoContable, "Saldo de ExC por Sistema", Now, -1, -1, + gr.DataKey("CveIE").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CvePersonal:=gr.DataKey("CvePersonal").ToEntero, + ImporteMX:=gr.DataKey("Saldo").ToDecimal, CveCuenta:=CveCuenta) Then + MsgError = "Ocurrio un error al saldar el movimiento" + Exit For + End If + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, gr.DataKey("Saldo").ToDecimal, "", 78, "Saldo de ExC por Sistema", Now, -1, -1, gr.DataKey("CveIE").ToEntero, + ImporteMX:=gr.DataKey("Saldo").ToDecimal, CveCuenta:=CveCuenta) Then + MsgError = "Ocurrio un error al saldar el movimiento" + Exit For + End If + + If UsuarioActual.Empresa.Funcionalidad(200) = "1" Then + If Not ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then + Alert("Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError) + End If + End If + + End If + Next + Catch ex As Exception + MsgError = "Ocurrió un error al generar la prepoliza" + OnError(MsgError, ex) + End Try + + + If MsgError = "" Then + ObjConta.Commit() + CargaDatos() + Alert("Los movimientos se saldaron correctamente.") + Else + ObjConta.RollBack() + Alert(MsgError, TipoMensaje.MsgError) + End If + + LnkSaldarFyE.Visible = False + LnkHabilitarSaldarFyE.Visible = True + ObjConta.Dispose() + End Sub + + #Region "IMPRESIONES" - + Private Sub ImprimirReportePdf(Archivo As String, DtDatos As DataTable, Optional Formato As String = "PDF") If DtDatos.Rows.Count > 0 Then Dim StrFiltro As New StringBuilder diff --git a/Bin/APP_Code_CSharp.dll b/Bin/APP_Code_CSharp.dll index 7e7523cc5..becf87606 100644 Binary files a/Bin/APP_Code_CSharp.dll and b/Bin/APP_Code_CSharp.dll differ diff --git a/Bin/APP_Code_CSharp.pdb b/Bin/APP_Code_CSharp.pdb index 9f610333e..e08316fcb 100644 Binary files a/Bin/APP_Code_CSharp.pdb and b/Bin/APP_Code_CSharp.pdb differ diff --git a/Bin/ClbNegBICFDv3_2.dll b/Bin/ClbNegBICFDv3_2.dll index 8ccf14b8c..fb9e13010 100644 Binary files a/Bin/ClbNegBICFDv3_2.dll and b/Bin/ClbNegBICFDv3_2.dll differ diff --git a/Compras/ReembolsosComprobaciones.aspx b/Compras/ReembolsosComprobaciones.aspx index 4df62e5a9..b8d1aeefe 100644 --- a/Compras/ReembolsosComprobaciones.aspx +++ b/Compras/ReembolsosComprobaciones.aspx @@ -117,6 +117,8 @@ + + @@ -420,7 +422,7 @@ Cheque - + @@ -511,7 +513,12 @@ } } - } + } + if (textBoxes[i].id.indexOf('C_GvCxP_TxtComision') >= 0) { + if (textBoxes[i].value != '') { + Comision = parseFloat(Comision) + parseFloat(textBoxes[i].value.split(',').join('')); + } + } } } @@ -544,7 +551,7 @@ } - $get('TxtImporteVinculado').value = FormatoNumero(Importe, 2); + $get('TxtImporteVinculado').value = FormatoNumero(Importe + Comision, 2); } else { $get('TxtImporte').value = FormatoNumero(Importe, 2); diff --git a/Compras/ReembolsosComprobaciones.aspx.vb b/Compras/ReembolsosComprobaciones.aspx.vb index bee517f36..59620eeb6 100644 --- a/Compras/ReembolsosComprobaciones.aspx.vb +++ b/Compras/ReembolsosComprobaciones.aspx.vb @@ -263,6 +263,26 @@ Partial Class Compras_ReembolsosComprobaciones UPCompras.Update() End Sub + Protected Sub ChkOtrosIngresosCheque_CheckedChanged(sender As Object, e As EventArgs) + + If ChkOtrosIngresosCheque.Checked Then + TxtOtrosImportes.Visible = True + TxtTotal.Visible = True + GvCxP.Columns(15).Visible = True + Else + TxtOtrosImportes.Visible = False + TxtTotal.Visible = False + GvCxP.Columns(15).Visible = False + TxtOtrosImportes.Text = "" + TxtTotal.Text = "" + RegistraScript("$get('TxtImporte').value = FormatoNumero(SumaValores(), 2);") + End If + + UpDatos.Update() + UPCompras.Update() + + End Sub + #End Region #Region " SELECTED INDEX CHANGED " @@ -301,6 +321,8 @@ Partial Class Compras_ReembolsosComprobaciones PnlChequeInfo.Visible = True + ChkOtrosIngresosCheque.Visible = True + If UsuarioActual.TienePermisoProceso(113) Then TrChequeExcedente.Visible = True CargaDatos(DDlCheques.SelectedValue.ToEntero) @@ -315,6 +337,8 @@ Partial Class Compras_ReembolsosComprobaciones HdnCheque.Value = "-1" + ChkOtrosIngresosCheque.Visible = False + If UsuarioActual.TienePermisoProceso(113) Then TableExpedirCheque.Visible = True LimpiaDatos() @@ -410,9 +434,9 @@ Partial Class Compras_ReembolsosComprobaciones End If End If Dim FolioIENew = ObjIE.GetNextFolio(If(CveCajaChica > 0, CveCajaChica, CvePersonal), 8).ToString - CveIECajaChica = ObjIE.AddBancos_IE(CveCajaChica, 8, TxtFechaDocumento.Text.Trim.ToDate, FolioIENew, String.Format("Transferencia Cta: {0}", DdlCajaChica.SelectedItem), TxtImporte.Text.ToDecimal, CveMoneda, 0, TxtObservaciones.Text.Trim, "", False, False, -1, CvePrePolizaIERegistrado, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FueConciliado:=If(ChkReembolsarSinBancos.Checked Or CveCajaChica > 0, True, False)) + CveIECajaChica = ObjIE.AddBancos_IE(CveCajaChica, 8, TxtFechaDocumento.Text.Trim.ToDate, FolioIENew, String.Format("Transferencia Cta: {0}", DdlCajaChica.SelectedItem), TxtImporteVinculado.Text.ToDecimal, CveMoneda, 0, TxtObservaciones.Text.Trim, "", False, False, -1, CvePrePolizaIERegistrado, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FueConciliado:=If(ChkReembolsarSinBancos.Checked Or CveCajaChica > 0, True, False)) 'AGREGO PREPOLIZA IE BANCOS - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaIERegistrado, True, TxtImporte.Text.ToDecimal, String.Format("Transferencia Cta: {0}", DdlCajaChica.SelectedItem), 30, TxtObservaciones.Text, TxtFechaDocumento.Text.ToDate, IdCuentaBancaria, -1, CveIE:=CveIECajaChica, ImporteME:=If(tipoCambio = 1, 0, TxtImporte.Text.ToDecimal), ImporteMX:=TxtImporte.Text.ToDecimal * tipoCambio) Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaIERegistrado, True, TxtImporteVinculado.Text.ToDecimal, String.Format("Transferencia Cta: {0}", DdlCajaChica.SelectedItem), 30, TxtObservaciones.Text, TxtFechaDocumento.Text.ToDate, IdCuentaBancaria, -1, CveIE:=CveIECajaChica, ImporteME:=If(tipoCambio = 1, 0, TxtImporteVinculado.Text.ToDecimal), ImporteMX:=TxtImporteVinculado.Text.ToDecimal * tipoCambio) Then MsgError = "Error al registrar detalle de concepto bancario" End If Else @@ -620,11 +644,12 @@ Partial Class Compras_ReembolsosComprobaciones End If 'Otros Ingresos - If ChkAjusteOI.Checked AndAlso gvr.FCTextBox("TxtComision").Text.ToDecimal > 0 Then + If (ChkAjusteOI.Checked Or ChkOtrosIngresosCheque.Checked) AndAlso gvr.FCTextBox("TxtComision").Text.ToDecimal > 0 Then If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, gvr.FCTextBox("TxtComision").Text.ToDecimal, Referencia, 211, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.FCTextBox("TxtComision").Text.ToDecimal), ImporteMX:=gvr.FCTextBox("TxtComision").Text.ToDecimal * tipoCambio, CveCuenta:=CveCuentaProveedor) Then MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos" End If - If CveCajaChica > 0 Then + If CveCajaChica > 0 AndAlso Not HdnCheque.Value.ToEntero > 0 Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.FCTextBox("TxtComision").Text.ToDecimal, Referencia, 211, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.FCTextBox("TxtComision").Text.ToDecimal), ImporteMX:=gvr.FCTextBox("TxtComision").Text.ToDecimal * tipoCambio, CveCuenta:=CveCuentaProveedor, Contabilizable:=False) Then MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos" End If @@ -1919,4 +1944,5 @@ Partial Class Compras_ReembolsosComprobaciones #End Region + End Class diff --git a/Compras/eFacturas.aspx b/Compras/eFacturas.aspx index a3b6472f7..5f537d57a 100644 --- a/Compras/eFacturas.aspx +++ b/Compras/eFacturas.aspx @@ -301,7 +301,7 @@ No Recibidas - @@ -338,7 +338,7 @@ - + @@ -380,6 +380,12 @@ + + + + + + diff --git a/Compras/eFacturas.aspx.vb b/Compras/eFacturas.aspx.vb index 683c2a728..ef2355aba 100644 --- a/Compras/eFacturas.aspx.vb +++ b/Compras/eFacturas.aspx.vb @@ -1017,7 +1017,7 @@ Partial Class Compras_eFacturas e.Row.FCLinkButton("LnkAgregarPagoP").Visible = True End If Else - e.Row.FCLiteral("LtlXML").Text = "N/D" + e.Row.FCLiteral("LtlXML").Text = "N/D" ' String.Format("{0}{1}\{2}", Destino, e.Row.DBCampo("RFCDe"), e.Row.DBCampo("XML")) ' If e.Row.DBCampo("TipoComprobante") = "P" Then e.Row.FCLinkButton("LnkAgregarPagoP").Visible = False End If @@ -1026,7 +1026,7 @@ Partial Class Compras_eFacturas If File.Exists(String.Format("{0}{1}/{2}", Destino, e.Row.DBCampo("RFCDe"), e.Row.DBCampo("PDF"))) Then e.Row.FCLiteral("LtlPDF").Text = String.Format("Ver", HttpUtility.UrlEncode(e.Row.DBCampo("RFCDe")), HttpUtility.UrlEncode(e.Row.DBCampo("PDF"))) Else - e.Row.FCLiteral("LtlPDF").Text = "N/D" + e.Row.FCLiteral("LtlPDF").Text = "N/D" ' String.Format("{0}{1}/{2}", Destino, e.Row.DBCampo("RFCDe"), e.Row.DBCampo("PDF")) End If If e.Row.DBCampo("FueValidado").Contiene("1", "2", "3") Then @@ -3142,4 +3142,134 @@ Partial Class Compras_eFacturas Response.End() End If End Sub + Protected Sub LnkRegenerarPdfnew_Click(sender As Object, e As EventArgs) + Dim gvrow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) + Dim objxml As XmlSatCFDI = XmlSatCFDI.readXML(String.Format("{0}{1}\{2}", Destino, gvrow.DataKey("RFCDe"), gvrow.DataKey("XML"))) + If Not IsNothing(objxml) Then + Dim rutaReporte As String = String.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, "\Empresas\Grales\Formatos\CFDIV3.rdlc") + If Not IsNothing(objxml.complemento.Pagos) Then + rutaReporte = String.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, "\Empresas\Grales\Formatos\CFDIV3Pago.rdlc") + End If + Dim NombreArchivo As String = String.Format("{0}{1}\{2}", Destino, gvrow.DataKey("RFCDe"), gvrow.DataKey("PDF")) + + + Dim QR As ClbNegBICFDv3_2.ClsNegCBBGenerar = New ClbNegBICFDv3_2.ClsNegCBBGenerar() + Dim cQr As Byte() = QR.GenerarCBBBytes(objxml.emisor.Rfc, objxml.receptor.Rfc, If(IsNothing(objxml.complemento.Pagos), objxml.comprobante.Total, objxml.complemento.Pagos.Monto), objxml.complemento.UUID) + Dim parametros As List(Of ReportParameter) = New List(Of ReportParameter)() + parametros.Add(New ReportParameter("comprobante_Certificado", objxml.comprobante.Certificado)) + parametros.Add(New ReportParameter("comprobante_CondicionesDePago", objxml.comprobante.CondicionesDePago)) + parametros.Add(New ReportParameter("comprobante_Confirmacion", objxml.comprobante.Confirmacion)) + parametros.Add(New ReportParameter("comprobante_Fecha", objxml.comprobante.Fecha)) + parametros.Add(New ReportParameter("comprobante_Serie", objxml.comprobante.Serie)) + parametros.Add(New ReportParameter("comprobante_Folio", objxml.comprobante.Folio)) + parametros.Add(New ReportParameter("comprobante_Descuento", objxml.comprobante.Descuento.ToString("N2"))) + parametros.Add(New ReportParameter("comprobante_SubTotal", objxml.comprobante.SubTotal.ToString("N2"))) + parametros.Add(New ReportParameter("comprobante_Total", objxml.comprobante.Total.ToString("N2"))) + parametros.Add(New ReportParameter("comprobante_Version", objxml.comprobante.Version)) + parametros.Add(New ReportParameter("comprobante_TipoDeComprobante", objxml.comprobante.TipoDeComprobanteTexto)) + parametros.Add(New ReportParameter("comprobante_FormaPago", objxml.comprobante.FormaPagoTexto)) + parametros.Add(New ReportParameter("comprobante_LugarExpedicion", objxml.comprobante.LugarExpedicion)) + parametros.Add(New ReportParameter("comprobante_NoCertificado", objxml.comprobante.NoCertificado)) + parametros.Add(New ReportParameter("comprobante_Sello", objxml.comprobante.Sello)) + parametros.Add(New ReportParameter("comprobante_Moneda", objxml.comprobante.Moneda)) + parametros.Add(New ReportParameter("comprobante_TipoCambio", objxml.comprobante.TipoCambio.ToString("N2"))) + parametros.Add(New ReportParameter("comprobante_MetodoPago", objxml.comprobante.MetodoPagoTexto)) + parametros.Add(New ReportParameter("emisor_Rfc", objxml.emisor.Rfc)) + parametros.Add(New ReportParameter("emisor_Nombre", objxml.emisor.Nombre)) + parametros.Add(New ReportParameter("emisor_RegimenFiscal", objxml.emisor.RegimenFiscalTexto)) + parametros.Add(New ReportParameter("receptor_Rfc", objxml.receptor.Rfc)) + parametros.Add(New ReportParameter("receptor_Nombre", objxml.receptor.Nombre)) + parametros.Add(New ReportParameter("receptor_NumRegIdTrib", objxml.receptor.NumRegIdTrib)) + parametros.Add(New ReportParameter("receptor_ResidenciaFiscal", objxml.receptor.ResidenciaFiscal)) + parametros.Add(New ReportParameter("receptor_UsoCFDI", objxml.receptor.UsoCFDITexto)) + parametros.Add(New ReportParameter("complemento_FechaTimbrado", objxml.complemento.FechaTimbrado)) + parametros.Add(New ReportParameter("complemento_NoCertificadoSAT", objxml.complemento.NoCertificadoSAT)) + parametros.Add(New ReportParameter("complemento_RfcProvCertif", objxml.complemento.RfcProvCertif)) + parametros.Add(New ReportParameter("complemento_SelloCFD", objxml.complemento.SelloCFD)) + parametros.Add(New ReportParameter("complemento_SelloSAT", objxml.complemento.SelloSAT)) + parametros.Add(New ReportParameter("complemento_UUID", objxml.complemento.UUID)) + parametros.Add(New ReportParameter("complemento_CadenaOriginal", objxml.complemento.CadenaOriginal)) + If Not IsNothing(objxml.complemento.Pagos) Then + parametros.Add(New ReportParameter("CPFechaPago", objxml.complemento.Pagos.FechaPago)) + parametros.Add(New ReportParameter("CPFormaDePagoP", objxml.complemento.Pagos.FormaDePagoP)) + parametros.Add(New ReportParameter("CPFormaDePagoPText", objxml.complemento.Pagos.FormaDePagoPText)) + parametros.Add(New ReportParameter("CPMonedaP", objxml.complemento.Pagos.MonedaP)) + parametros.Add(New ReportParameter("CPMonto", objxml.complemento.Pagos.Monto.ToString())) + parametros.Add(New ReportParameter("CPTipoCambioP", objxml.complemento.Pagos.TipoCambioP.ToString())) + parametros.Add(New ReportParameter("CPNumOperacion", objxml.complemento.Pagos.NumOperacion)) + parametros.Add(New ReportParameter("CPNomBancoOrdExt", objxml.complemento.Pagos.NomBancoOrdExt)) + parametros.Add(New ReportParameter("CPRfcEmisorCtaOrd", objxml.complemento.Pagos.RfcEmisorCtaOrd)) + parametros.Add(New ReportParameter("CPCtaOrdenante", objxml.complemento.Pagos.CtaOrdenante)) + parametros.Add(New ReportParameter("CPRfcEmisorCtaBen", objxml.complemento.Pagos.RfcEmisorCtaBen)) + parametros.Add(New ReportParameter("CPCtaBeneficiario", objxml.complemento.Pagos.CtaBeneficiario)) + + End If + Using MR As ReportViewer = New ReportViewer() + Dim rdsTotales As ReportDataSource = New ReportDataSource() + Dim ltotales As List(Of utilValores) = New List(Of utilValores)() + ltotales.Add(New utilValores("Subtotal", objxml.comprobante.SubTotal.ToString("N2"))) + + If objxml.comprobante.Descuento > 0 Then + ltotales.Add(New utilValores("Descuento", objxml.comprobante.Descuento.ToString("N2"))) + End If + + For Each item As CFDIImpuesto In objxml.Impuestos + + If item.Importe > 0 Then + Dim TasaOCuota As Decimal = 0 + Decimal.TryParse(item.TasaOCuota, TasaOCuota) + ltotales.Add(New utilValores($"Impuestos {item.Tipo} {item.ImpuestoTexto} {(If(item.TipoFactor = "Tasa", (TasaOCuota * 100).ToString("N4"), item.TasaOCuota))} {(If(item.TipoFactor = "Tasa", "%", ""))}", item.Importe.ToString("N2"))) + End If + Next + + ltotales.Add(New utilValores("Total", objxml.comprobante.Total.ToString("N2"))) + rdsTotales.Name = "dsTotales" + rdsTotales.Value = ltotales + MR.LocalReport.DataSources.Add(rdsTotales) + Dim rds2 As ReportDataSource = New ReportDataSource() + Dim limagenes As List(Of utilImage) = New List(Of utilImage)() + limagenes.Add(New utilImage(cQr)) + rds2.Name = "dsImagenes" + rds2.Value = limagenes + MR.LocalReport.DataSources.Add(rds2) + Dim rdsrelacionados As ReportDataSource = New ReportDataSource() + rdsrelacionados.Name = "dsRelacionados" + rdsrelacionados.Value = objxml.cFDIRelacionados + MR.LocalReport.DataSources.Add(rdsrelacionados) + Dim rds1 As ReportDataSource = New ReportDataSource() + rds1.Name = "dsConceptos" + rds1.Value = objxml.GetConceptosforpdf() + MR.LocalReport.DataSources.Add(rds1) + + If Not IsNothing(objxml.complemento.Pagos) Then + + Dim rdsp As ReportDataSource = New ReportDataSource() + rdsp.Name = "dsPagos" + rdsp.Value = objxml.complemento.Pagos.doctosRelacionados + MR.LocalReport.DataSources.Add(rdsp) + End If + + MR.LocalReport.ReportPath = rutaReporte + MR.ProcessingMode = ProcessingMode.Local + MR.LocalReport.EnableExternalImages = True + MR.LocalReport.SetParameters(parametros) + MR.LocalReport.Refresh() + Dim warnings As Warning() = Nothing + Dim streamids As String() = Nothing + Dim mimeType As String = Nothing + Dim encoding As String = Nothing + Dim extension As String = Nothing + Dim bytes As Byte() = Nothing + bytes = MR.LocalReport.Render("PDF", Nothing, mimeType, encoding, extension, streamids, warnings) + + Using fs As FileStream = New FileStream(NombreArchivo, FileMode.Create) + fs.Write(bytes, 0, bytes.Length) + fs.Close() + End Using + End Using + Alert("PDF Generado!") + Else + Alert("no se pudo procesar el archivo xml") + End If + End Sub End Class \ No newline at end of file diff --git a/CxC/RepCxCDetalle.aspx.vb b/CxC/RepCxCDetalle.aspx.vb index eac5cf330..9795b367f 100644 --- a/CxC/RepCxCDetalle.aspx.vb +++ b/CxC/RepCxCDetalle.aspx.vb @@ -795,8 +795,11 @@ Partial Class RepCxCDetalle For index = 0 To GvDatos.Columns.Count - 1 If GvDatos.Columns(index).Visible Then - - If TypeOf GvDatos.Columns(index) Is HyperLinkField Then + If TypeOf GvDatos.Columns(index) Is TemplateField Then + If GvDatos.Columns(index).HeaderText = "Folio" Then + dr(GvDatos.Columns(index).HeaderText) = fila.FCHyperLink("HlFolio").Text.Replace(" ", "") + End If + ElseIf TypeOf GvDatos.Columns(index) Is HyperLinkField Then dr(GvDatos.Columns(index).HeaderText) = DirectCast(fila.Cells(index).Controls(0), HyperLink).Text.Replace(" ", "") Else dr(GvDatos.Columns(index).HeaderText) = fila.Cells(index).Text.Replace(" ", "") diff --git a/LogTimbrado.txt b/LogTimbrado.txt index 4d2db01dc..b329362bb 100644 --- a/LogTimbrado.txt +++ b/LogTimbrado.txt @@ -16,3 +16,7 @@ .. PAC: 4 - Verificado : (6) 6 Certificado : (384) 390 Armado: (27) 417 Genera: (390) 807 Timbrado: (2271) 3078 Guardado: (219) 3297 Actualizado: (902) 4199 ..01/10/2019:12:27 a. m. .. PAC: 4 - Verificado : (0) 0 Certificado : (204) 204 Armado: (1) 205 Genera: (249) 454 Timbrado: (431) 885 ..01/10/2019:12:27 a. m. + + .. PAC: 2 - Verificado : (32764) 32764 Armado: (660) 33424 Guardado: (445) 33869 Timbrado: (156762) 190631 ..06/11/2019:09:39 a. m. + + .. PAC: 2 - Verificado : (2018) 2018 Armado: (96902) 98920 Guardado: (312) 99232 Timbrado: (1201) 100433 ..06/11/2019:09:41 a. m. diff --git a/OC/OC.aspx.vb b/OC/OC.aspx.vb index 58e6b919a..d8d27c13c 100644 --- a/OC/OC.aspx.vb +++ b/OC/OC.aspx.vb @@ -2889,7 +2889,7 @@ Partial Class OC If ChkCotizacion.Checked AndAlso NoProveedoresCot > 0 AndAlso (NumCotizacionesGanadoras > 0 OrElse Not (NumCotizacionesGanadoras <= 0 AndAlso CveConfianzaProveedor = 1)) Then Dim CveProveedor = -1 - Dim TotalCot = 0.0, IVACot = 0D, RetIVA = 0.0, RetISR = 0.0, PorIVA = 0.0, Porcentaje = 0.0 + Dim TotalCot = 0.0, IVACot = 0D, RetIVA = 0.0, RetISR = 0.0, PorIVA = 0.0 Dim IdPoliza = -1 @@ -2900,11 +2900,10 @@ Partial Class OC CveProveedor = dr("CveProveedor").ToString.ToEntero - Porcentaje = DtDetalle.SUM("Total", String.Format("CveProveedor = {0}", CveProveedor)) / DtDetalle.SUM("Total") - PorIVA = GlobalDTCompProveedores(CveEmpresaActual).FiltraParametros(String.Format("CveProveedor = {0}", CveProveedor)).Rows(0)("IVA").ToString.ToDouble - IVACot = (DtDetalle.SUM("Total", String.Format("CveProveedor = {0}", CveProveedor)) * PorIVA).ToString.ToDecimal - RetIVA = TxtRetIVA.Text.ToDecimal * Porcentaje - RetISR = TxtRetISR.Text.ToDecimal * Porcentaje + PorIVA = Math.Round(DdlIVA.SelectedValue.ToDouble - 1, 2) 'GlobalDTCompProveedores(CveEmpresaActual).FiltraParametros(String.Format("CveProveedor = {0}", CveProveedor)).Rows(0)("IVA").ToString.ToDouble + IVACot = IVA '(DtDetalle.SUM("Total", String.Format("CveProveedor = {0}", CveProveedor)) * PorIVA).ToString.ToDecimal + RetIVA = TxtRetIVA.Text.ToDecimal + RetISR = TxtRetISR.Text.ToDecimal If objOrdenCompra.AddOrdenCompra("OC", -1, TxtDescrip.Text, TxtJustificacion.Text, DdlPrioridad.SelectedValue.ToEntero, TxtFecha.Text.ToDate, DdlMoneda.SelectedValue.ToEntero, CveEstatusInicialOC, TxtFechaEstimadaEntrega.Text, LugarEntrega, CveUsuario, CveEmpresaActual, 0, pCveProveedor:=CveProveedor, CveCliente:=Ddlcliente.SelectedValue.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, PrioridadObservacion:=txtobsprioridad.Text, @@ -2945,7 +2944,15 @@ Partial Class OC End If 'AGREGA DETALLES - If Not objOrdenCompra.AddOrdenCompraDetalle(objOrdenCompra.CveOrdenCompra, dr("Cantidad").ToString.ToDouble(), dr("CveUnidadMedida").ToString.ToEntero, dr("CvePS").ToString.ToEntero, dr("Importe").ToString.ToDouble, dr("CveSubProyecto").ToString.ToEntero(), dr("CveActivoFijo").ToString.ToEntero, dr("Observacion").ToString, UsuarioActual.CveUsuario, CveOrdenCompra, CvePresupuestoEgreso:=dr("CvePresupuestoEgreso").ToString.ToEntero, Descuento:=dr("Descuento").ToString.ToDouble, IEPSPS:=dr("IEPSPS").ToString.ToDouble, IEPSPSIVA:=dr("IEPSPSIVA").ToString.ToDouble, IVA:=dr("IVA").ToString.ToDouble, RetIVA:=dr("RetIVA").ToString.ToDouble, RetISR:=dr("RetISR").ToString.ToDouble, Total:=dr("Total").ToString.ToDouble, CveContratoDetalle:=dr("CveContratoDetalle").ToString.ToEntero, IVAPorcentaje:=dr("IVAPorcentaje").ToString.ToDouble, RetIVAPorcentaje:=dr("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=dr("RetISRPorcentaje").ToString.ToDouble, IEPSPSPorcentaje:=dr("IEPSPSPorcentaje").ToString.ToDouble, IEPSPSIVAPorcentaje:=dr("IEPSPSIVAPorcentaje").ToString.ToDouble) Then + If Not objOrdenCompra.AddOrdenCompraDetalle(objOrdenCompra.CveOrdenCompra, dr("Cantidad").ToString.ToDouble(), dr("CveUnidadMedida").ToString.ToEntero, + dr("CvePS").ToString.ToEntero, dr("Importe").ToString.ToDouble, dr("CveSubProyecto").ToString.ToEntero(), + dr("CveActivoFijo").ToString.ToEntero, dr("Observacion").ToString, UsuarioActual.CveUsuario, CveOrdenCompra, + CvePresupuestoEgreso:=dr("CvePresupuestoEgreso").ToString.ToEntero, Descuento:=dr("Descuento").ToString.ToDouble, + IEPSPS:=dr("IEPSPS").ToString.ToDouble, IEPSPSIVA:=dr("IEPSPSIVA").ToString.ToDouble, IVA:=dr("IVA").ToString.ToDouble, + RetIVA:=dr("RetIVA").ToString.ToDouble, RetISR:=dr("RetISR").ToString.ToDouble, Total:=dr("Total").ToString.ToDouble, + CveContratoDetalle:=dr("CveContratoDetalle").ToString.ToEntero, IVAPorcentaje:=dr("IVAPorcentaje").ToString.ToDouble, + RetIVAPorcentaje:=dr("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=dr("RetISRPorcentaje").ToString.ToDouble, + IEPSPSPorcentaje:=dr("IEPSPSPorcentaje").ToString.ToDouble, IEPSPSIVAPorcentaje:=dr("IEPSPSIVAPorcentaje").ToString.ToDouble) Then HuboError = True Exit For End If @@ -2968,7 +2975,7 @@ Partial Class OC If objOrdenCompra.AddOrdenCompra("OC", -1, TxtDescrip.Text, TxtJustificacion.Text, DdlPrioridad.SelectedValue.ToEntero, TxtFecha.Text.ToDate, DdlMoneda.SelectedValue.ToEntero, CveEstatusInicialOC, TxtFechaEstimadaEntrega.Text, LugarEntrega, CveUsuario, CveEmpresaActual, 0, pCveProveedor:=DdlProveedores.SelectedValue.ToEntero, pCveProveedorSucursal:=DdlProveedorSucursal.SelectedValue.ToEntero, CveCliente:=Ddlcliente.SelectedValue.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, PrioridadObservacion:=txtobsprioridad.Text, PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDouble - 1, 2), IVA:=IVA, RetIVA:=TxtRetIVA.Text.ToDecimal, RetISR:=TxtRetISR.Text.ToDecimal, IDPoliza:=IDPolizaPresupuestal, CveCotizacion:=CveCotizacion, FolioAdicional:=TxtFolioAdicional.Text, - EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), IEPS:=TxtIEPS.Text.ToDecimal, CveIEAnticipo:=CveIEAnticipo, ImporteAnticipo:=LtImporteIEAnticipo.Text.ToDouble, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, + EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), IEPS:=TxtIEPS.Text.ToDecimal, CveIEAnticipo:=CveIEAnticipo, ImporteAnticipo:=LtImporteIEAnticipo.Text.ToDouble, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, Promocion:=Promocion) Then diff --git a/OS/OrdenesServicios.aspx b/OS/OrdenesServicios.aspx index 610f5a755..c55ad3159 100644 --- a/OS/OrdenesServicios.aspx +++ b/OS/OrdenesServicios.aspx @@ -659,16 +659,8 @@ - - - - - - - - - - + + diff --git a/OS/OrdenesServicios.aspx.vb b/OS/OrdenesServicios.aspx.vb index 79365770f..4b128eac3 100644 --- a/OS/OrdenesServicios.aspx.vb +++ b/OS/OrdenesServicios.aspx.vb @@ -286,8 +286,8 @@ Partial Class OS_OrdenesServicios CargaTiposOrden() CargaTecnico() CargaPS(-1, DdlPSDetalle) - CargaPsMateriales(-1, DdlPS) - CargaClasificaciones() + CargaPsMateriales() + 'CargaClasificaciones() CargaPSCaracteristicasOpciones() CargaCuentasCaracteristicas() CargaAlmacen() @@ -499,8 +499,19 @@ Partial Class OS_OrdenesServicios 'End If If TipoEstatus = 3 Then - DisableAll() + 'DisableAll() + 'If SeFacturara = "True" Then + ' HplFacturar.Visible = True + ' If ObjOS.CveCotizacion > 0 Then + ' HplFacturar.NavigateUrl = String.Format("/Ventas/Ventas.aspx?CveVenta={0}", ObjOS.CveCotizacion) + ' Else + ' HplFacturar.NavigateUrl = String.Format("/Ventas/Ventas.aspx?CveOS={0}", CveOS) + ' End If + 'End If + + ElseIf TipoEstatus = 4 Then + 'DisableAll() If SeFacturara = "True" Then HplFacturar.Visible = True If ObjOS.CveCotizacion > 0 Then @@ -509,9 +520,6 @@ Partial Class OS_OrdenesServicios HplFacturar.NavigateUrl = String.Format("/Ventas/Ventas.aspx?CveOS={0}", CveOS) End If End If - - ElseIf TipoEstatus = 4 Then - DisableAll() End If DivCliente.Attributes.Add("class", "col-md-8") @@ -707,12 +715,27 @@ Partial Class OS_OrdenesServicios Objeto.Items.Insert(0, New ListItem("*** Actualizar listado de Productos o Servicios ***", "-2")) Objeto.Items.Insert(0, New ListItem("Seleccione el Servicio", "-1")) End Sub - Private Sub CargaPsMateriales(CveClasificacion As Integer, Objeto As DropDownList) - Objeto.Items.Clear() - Objeto.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=CveClasificacion, Estatus:=1) - Objeto.DataBind() - Objeto.Items.Insert(0, New ListItem("*** Actualizar listado de Productos o Servicios ***", "-2")) - Objeto.Items.Insert(0, New ListItem("Seleccione el Producto", "-1")) + Private Sub CargaPsMateriales() + 'Objeto.Items.Clear() + 'Objeto.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=CveClasificacion, Estatus:=1) + 'Objeto.DataBind() + 'Objeto.Items.Insert(0, New ListItem("*** Actualizar listado de Productos o Servicios ***", "-2")) + 'Objeto.Items.Insert(0, New ListItem("Seleccione el Producto", "-1")) + 'Carga Productos + + DdlPS.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1") + + If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then + 'DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue) + DdlPS.SelectedText = "" + DdlPS.SelectedValue = "-1" + Else + DdlPS.ddl.Items.Clear() + 'DdlPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=DdlClasificacion.SelectedValue.ToEntero) + DdlPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa) + DdlPS.ddl.DataBind() + DdlPS.ddl.Items.Insert(0, New ListItem("Seleccione el Producto", "-1")) + End If End Sub Private Sub CargaCliente(CveCliente As Integer, Optional Estatus As Integer = 1) Dim ObjCliente As New ClsClientes() @@ -847,11 +870,11 @@ Partial Class OS_OrdenesServicios GvPS.DataSource = TmpDT GvPS.DataBind() End Sub - Private Sub CargaClasificaciones() - DdlClasificacion.DataSource = GlobalDTClasificaciones.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) - DdlClasificacion.DataBind() - '' DdlClasificacion.Items.Insert(0, New ListItem("Seleccione la Clasificación", "-1")) - End Sub + 'Private Sub CargaClasificaciones() + ' DdlClasificacion.DataSource = GlobalDTClasificaciones.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) + ' DdlClasificacion.DataBind() + ' '' DdlClasificacion.Items.Insert(0, New ListItem("Seleccione la Clasificación", "-1")) + 'End Sub Private Sub CargaFolios(CveSub As Integer) Dim ObjFolios As New ClsGralFolios() If ObjFolios.GetFolios() Then @@ -1014,7 +1037,7 @@ Partial Class OS_OrdenesServicios Dim Cantidad As Integer = Row("Cantidad").ToString.ToEntero Dim Archivo As New System.IO.FileInfo(String.Format("{0}OS\Temp\{1}", UsuarioActual.Empresa.Ruta, Row("Archivo").ToString)) - CveOsDetalle = ObjOrdenServicio.AddOrdenesServiciosDetalle(ObjOrdenServicio.CveOS, CvePS, Cantidad, -1, -1, Observaciones, False, SeFacturara, False, CveCuentaEquipo, "-1", "-1", "-1", ComentarioTecnico, UsuarioActual.CveUsuario, Archivo:=Archivo.Name) + CveOsDetalle = ObjOrdenServicio.AddOrdenesServiciosDetalle(ObjOrdenServicio.CveOS, CvePS, Cantidad, -1, -1, Observaciones, False, True, False, CveCuentaEquipo, "-1", "-1", "-1", ComentarioTecnico, UsuarioActual.CveUsuario, Archivo:=Archivo.Name) If CveOsDetalle > 0 Then If Archivo.Name <> "-1" AndAlso Archivo.Exists Then @@ -1277,8 +1300,8 @@ Partial Class OS_OrdenesServicios Row.FCLinkButton("imgEstatus").CssClass = "btn btn-circle btn-sm green" Else Row.FCLinkButton("imgEstatus").Enabled = False - 'TmpDT.Rows(Row.RowIndex)("Estatus") = "False" - 'Row.FCLinkButton("imgEstatus").CssClass = "btn btn-circle btn-sm red" + TmpDT.Rows(Row.RowIndex)("Estatus") = "False" + Row.FCLinkButton("imgEstatus").CssClass = "btn btn-circle btn-sm red" End If End Sub Private Sub BtnAddGvDetalle_Click(sender As Object, e As EventArgs) Handles BtnAddGvDetalle.Click @@ -2101,13 +2124,13 @@ Partial Class OS_OrdenesServicios UpAddMateriales.Update() RegistraScript(String.Format("$('#{0}').modal();", "DivGvMateriales")) End Sub - Private Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlClasificacion.SelectedIndexChanged - CargaPsMateriales(DdlClasificacion.SelectedValue.ToEntero, DdlPS) - UpAddMateriales.Update() - End Sub - Private Sub DdlPS_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlPS.SelectedIndexChanged + 'Private Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlClasificacion.SelectedIndexChanged + ' CargaPsMateriales() + ' UpAddMateriales.Update() + 'End Sub + Private Sub DdlPS_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlPS.selectedindexchange If CveCliente > 0 OrElse DdlPS.SelectedValue = "-2" Then - If DdlPS.SelectedIndex > 1 Then + If DdlPS.SelectedValue.ToEntero > 1 Then Dim drPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPS.SelectedValue.ToEntero).FiltroPrimero("") If drPS IsNot Nothing Then @@ -2116,25 +2139,31 @@ Partial Class OS_OrdenesServicios DdlUnidadMedidaM.DataBind() DdlUnidadMedidaM.SelectedValueExist(drPS("CveUnidadMedida").ToString) - If DdlClasificacion.SelectedIndex = 0 Then - If drPS("CveClasificacion").ToString IsNot Nothing Then - DdlClasificacion.SelectedValueExist(drPS("CveClasificacion").ToString) - Else + 'If DdlClasificacion.SelectedIndex = 0 Then + ' If drPS("CveClasificacion").ToString IsNot Nothing Then + ' DdlClasificacion.SelectedValueExist(drPS("CveClasificacion").ToString) + ' Else - Alert("El Productos/Servicio no tiene asignada una Clasificación.") - End If - End If + ' Alert("El Productos/Servicio no tiene asignada una Clasificación.") + ' End If + 'End If End If End If End If End Sub Private Sub LbAgregarMaterial_Click(sender As Object, e As EventArgs) Handles LbAgregarMaterial.Click + Dim ObjPS As New ClsProductosServicios + Dim Clasificacion As String = "" + Dim CveClasificacion As Integer + If ObjPS.GetPS(DdlPS.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa) Then + Clasificacion = ObjPS.DtResultados.Rows(0)("Clasificacion").ToString + CveClasificacion = ObjPS.CveClasificacion + End If Dim Consecutivo As Integer = TmpDTMaterialesDetalle.Rows.Count + 1 - AddMaterial(CveOsDetalle, DdlClasificacion.SelectedValue.ToEntero, TxtCantidadM.Text.ToEntero, DdlClasificacion.SelectedItem.Text, DdlPS.SelectedValue.ToEntero, DdlPS.SelectedItem.Text, DdlUnidadMedidaM.SelectedValue.ToEntero, DdlUnidadMedidaM.SelectedItem.Text, Consecutivo) + AddMaterial(CveOsDetalle, CveClasificacion, TxtCantidadM.Text.ToEntero, Clasificacion, + DdlPS.SelectedValue.ToEntero, DdlPS.SelectedText, DdlUnidadMedidaM.SelectedValue.ToEntero, DdlUnidadMedidaM.SelectedItem.Text, Consecutivo) TxtCantidadM.Text = "" - DdlClasificacion.SelectedIndex = 0 - CargaClasificaciones() - CargaPsMateriales(-1, DdlPS) + CargaPsMateriales() End Sub Private Sub AddMaterial(CveOSDetalle As Integer, CveClasificacion As Integer, Cantidad As Integer, Clasificacion As String, CvePS As Integer, PS As String, CveUM As Integer, UM As String, Consecutivo As Integer) @@ -2188,6 +2217,8 @@ Partial Class OS_OrdenesServicios End Sub Private Sub BtnGuardarMateriales_Click(sender As Object, e As EventArgs) Handles BtnGuardarMateriales.Click 'VALIDA ALMACEN ORIGEN Y DESTINO + Dim ErrorEncontrado As New StringBuilder + If DdlAlmacenOrigen.SelectedValue = DdlAlmacenDestino.SelectedValue Then Alert("No se puede realizar un traspaso entre el mismo almacén.", TipoMensaje.MsgAdvertencia) Exit Sub @@ -2234,32 +2265,41 @@ Partial Class OS_OrdenesServicios TieneError = True End If - If Not TieneError Then - For Each Row As DataRow In TmpDTMaterialesDetalle.Rows - Dim CveUM As Integer = Row("CveUM").ToString.ToEntero - Dim CvePS As Integer = Row("CvePS").ToString.ToEntero - Dim Cantidad As Integer = Row("Cantidad").ToString.ToEntero - - If Not ObjInventario.AddTrasladoSolicitudDetalle(CveTraspasoSolicitud, Cantidad, CveUM, CvePS, 0, "", -1) Then - TieneError = True - Exit For - End If - Next - End If - - 'SI OCURRIO UN ERROR EN LA EXISTENCIA RECARGAMOS EL GRID PARA COLOREAR LOS DETALLES CON ERROR If ErrorExistencia Then Alert("Ocurrió un error en la existencia", TipoMensaje.MsgError) TieneError = True End If + If Not TieneError Then + Dim ObjOS As New ClsOS + Dim MaterialesDetalleNuevos As DataTable = TmpDTMaterialesDetalle.FiltraParametros("CveMaterial = -1") + For Each Row As DataRow In MaterialesDetalleNuevos.Rows + Dim CveUM As Integer = Row("CveUM").ToString.ToEntero + Dim CvePS As Integer = Row("CvePS").ToString.ToEntero + Dim Cantidad As Integer = Row("Cantidad").ToString.ToEntero + Dim CveClasificacion As Integer = Row("CveClasificacion").ToString.ToEntero + + If Not ObjOS.AddUpdateDetalleMateriales(-1, CveOsDetalle, Cantidad, CveUM, CveClasificacion, CvePS, True) Then + TieneError = True + ErrorEncontrado.AppendFormat("Ocurrió un Error al agregar los materiales.
    ") + Exit For + End If + If Not ObjInventario.AddTrasladoSolicitudDetalle(CveTraspasoSolicitud, Cantidad, CveUM, CvePS, 0, "", -1) Then + ErrorEncontrado.AppendFormat("Ocurrió un Error al guardar el traspaso.") + TieneError = True + Exit For + End If + Next + ObjOS.Dispose() + End If + If Not TieneError Then ObjInventario.Commit() Alert($"El Traspaso se guardó correctamente con el folio #: {Folio}.", TipoMensaje.MsgInformacion, $"document.location.href=""/Inventarios/TrasladoSolicitud.aspx?CveTraspasoSolicitud={CveTraspasoSolicitud}""") Else ObjInventario.RollBack() - Alert("Ocurrió un Error al guardar el traspaso.", TipoMensaje.MsgError) + Alert(ErrorEncontrado.ToString, TipoMensaje.MsgError) End If ObjInventario.Dispose() @@ -2430,7 +2470,6 @@ Partial Class OS_OrdenesServicios TmpDTSolicitarMaterial.Columns.Add("UM", GetType(String)) End Sub Public Sub CargaAlmacen() - Dim tablaAuxiliar As DataTable = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1) DdlAlmacenOrigen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros("CveTipoAlmacen IN (1)") 'GlobalDTAlmacen(UsuarioActual.CveEmpresa) DdlAlmacenOrigen.DataBind() DdlAlmacenOrigen.Items.Insert(0, New ListItem("Seleccione", "-1")) diff --git a/Scripts/custom.js b/Scripts/custom.js index 2444aef7f..3df5108f9 100644 --- a/Scripts/custom.js +++ b/Scripts/custom.js @@ -1738,10 +1738,23 @@ function loaderEnd() { }, 10); } + jQuery(document).ready(function () { $("body").on("click", ".ajax__tab_outer .ajax__tab_inner .ajax__tab_tab", function () { setTimeout(loadadscroll, 10); }); +//KeppMenuOpen + { + let varpath = window.location.pathname; + if (window.location.pathname != '') { + let textfinder = '.page-sidebar-menu a[href="' + varpath + '"]'; + let objmenu = $($(textfinder)[0]); + objmenu.parents().filter("li").addClass('active open') + objmenu.parents().filter(".sub-menu").css("display", "") + + } + } + $('body').on('click', '.tab-wizard > .ajax__tab_header > span,.tab-wizard2 > .ajax__tab_header > span', function (e) { let padre = $(this).closest('.tab-wizard,.tab-wizard2 '); diff --git a/Ventas/PV.aspx b/Ventas/PV.aspx index 5075a5c9c..9fd8b00cc 100644 --- a/Ventas/PV.aspx +++ b/Ventas/PV.aspx @@ -2729,7 +2729,16 @@ -
    +
    +
    + + + + + +
    +
    +
    @@ -3115,15 +3124,27 @@ var Descuento = parseFloat($get("TxtPorDescP").value); $get("LblPrecioFinal").innerText = formato_numero(Monto - ((Monto * Descuento) / 100), 2, '.', ','); - $get("TxtPrecio").value = formato_numero(parseFloat($get("LblPrecioFinal").innerText.replace(",", "").replace(",", "")), 2, '.', ','); + $get("LblTotalPS").innerText = formato_numero(parseFloat($get("LblPrecioFinal").innerText.replace(",", "").replace(",", "")), 2, '.', ','); var Total = Monto - parseFloat($get("LblPrecioFinal").innerText.replace(",", "").replace(",", "")); - $get("LblDescuento").innerText = formato_numero(Total, 2, '.', ','); + $get("LblDescuento").innerText = formato_numero(Total, 2, '.', ','); + $get("TxtDescuento").value = formato_numero(Total, 2, '.', ','); + $get("TxtDescP").value = formato_numero(0, 2, '.', ','); $get("HdnDescuento").value = Total; if (TipoDescuento == 2) { $get("LblDescuentos").innerText = formato_numero(Total, 2, '.', ','); } } - else if ($get("TxtDescP").value != "0" && $get("TxtDescP").value) { + else { + $get("LblPrecioFinal").innerText = "0.00"; + $get("LblDescuento").innerText = "0.00"; + $get("HdnDescuento").value = "0.00"; + } + + } + + function CalculaDescuentoMonto() { + + if ($get("TxtDescP").value != "0" && $get("TxtDescP").value) { var Monto = 0; var TipoDescuento = $get("HdnTipoDescuento").value; @@ -3141,11 +3162,12 @@ } var Descuento = parseFloat($get("TxtDescP").value); - $get("TxtPorDescP").value = Descuento * 100 / Monto * 10 + $get("TxtPorDescP").value = formato_numero((Descuento * 100 / Monto), 2, '.', ','); $get("LblPrecioFinal").innerText = formato_numero(Monto - Descuento, 2, '.', ','); - $get("TxtPrecio").value = formato_numero(parseFloat($get("LblPrecioFinal").innerText.replace(",", "").replace(",", "")), 2, '.', ','); + $get("LblTotalPS").innerText = formato_numero(parseFloat($get("LblPrecioFinal").innerText.replace(",", "").replace(",", "")), 2, '.', ','); var Total = Monto - parseFloat($get("LblPrecioFinal").innerText.replace(",", "").replace(",", "")); - $get("LblDescuento").innerText = formato_numero(Total, 2, '.', ','); + $get("LblDescuento").innerText = formato_numero(Total, 2, '.', ','); + $get("TxtDescuento").value = formato_numero(Total, 2, '.', ','); $get("HdnDescuento").value = Total; if (TipoDescuento == 2) { Monto - parseFloat($get("LblPrecioFinal").innerText.replace(",", "").replace(",", "")); @@ -3156,7 +3178,6 @@ $get("LblDescuento").innerText = "0.00"; $get("HdnDescuento").value = "0.00"; } - } function BorraDescuentos() { @@ -3273,8 +3294,8 @@ var totalVenta = ToDouble($get('TxtTotal').value); - if (totalEfectivo > totalVenta) { - $get("TxtCambio").value = FormatoNumero(totalEfectivo - totalVenta); + if (total > totalVenta) { + $get("TxtCambio").value = FormatoNumero(total - totalVenta); } else { $get("TxtCambio").value = "0.00"; } diff --git a/Ventas/PV.aspx.vb b/Ventas/PV.aspx.vb index 1140a2b57..a76ce216c 100644 --- a/Ventas/PV.aspx.vb +++ b/Ventas/PV.aspx.vb @@ -1062,7 +1062,7 @@ Partial Class PV 'ImgCerrarIE.Attributes.Add("OnClick", "$('#DivIngresoEgreso').hide();") 'ImgCerrarEstadoCaja.Attributes.Add("OnClick", "$('#DivEstadoCaja').hide();") TxtPorDescP.Attributes.Add("onKeyUp", "CalculaDescuento();") - TxtDescP.Attributes.Add("onKeyUp", "CalculaDescuento();") + TxtDescP.Attributes.Add("onKeyUp", "CalculaDescuentoMonto();") TxtFechaAjuste.Attributes.Add("onchange", "CalculaMesesUso();") CreaDTmpC() @@ -2771,6 +2771,9 @@ Partial Class PV Exit Sub End If + TxtDescuento.Text = FormatoNumero(0, 2) + TxtPrecio.Text = "" + If CvePSParametro > 0 Then Dim drPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePSParametro).FiltroPrimero("") @@ -2828,6 +2831,7 @@ Partial Class PV End If If PrecioSugerido > 0 Then TxtPrecio.Text = PrecioSugerido.FormatoNumero() + RegistraScript("$get('LblPrecio1').innerText = formato_numero(" + PrecioSugerido.ToString + ", 2, '.', ',');") End If @@ -4294,7 +4298,7 @@ Partial Class PV Private Sub CargaCuentas() - DdlCuentaEfectivo.Items.Clear() + 'DdlCuentaEfectivo.Items.Clear() DdlCuentaTarjetaCredito.Items.Clear() DdlCuentaTarjetaDebito.Items.Clear() DdlCuentaCheque.Items.Clear() @@ -4351,6 +4355,11 @@ Partial Class PV If total <= 0 Then Alert("No se ha ingresado importe", TipoMensaje.MsgAdvertencia) : Exit Sub + If TxtCambio.Text.ToDecimal > 0 And TxtImporteEfectivo.Text.ToDecimal < TxtCambio.Text.ToDecimal Then + Alert("Debe haber un pago en efectivo y ser mayor que el cambio. Si no, ser pago exacto.", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + If (DtPagos.SUM("Importe").ToString.ToDecimal + total - TxtCambio.Text.ToDecimal) > TxtTotal.Text.ToDecimal Then Alert("El importe de los pagos no puede exceder el importe de la factura. Por favor rectifique.", TipoMensaje.MsgAdvertencia) Exit Sub @@ -5088,14 +5097,15 @@ Partial Class PV Dim FechaI = TxtFechaAjuste.Text.ToDate.AddDays(1) Dim FechaF = Now 'Dim NumDiasAlMes As Double = (365 / 12) - 'Dim DiasTranscurridos = DateDiff(DateInterval.Day, FechaI, FechaF) - - 'Dim MesesTranscurridos As Double = DiasTranscurridos / NumDiasAlMes + 'Dim MesesTranscurridos As Double = (DiasTranscurridos / NumDiasAlMes) + 'Dim Diff = Math.Round(MesesTranscurridos - Math.Truncate(MesesTranscurridos), 2) 'Dim NoMesesTrascurridos = Math.Ceiling(MesesTranscurridos) + Dim NoMesesTrascurridos2 = DateDiff(DateInterval.Month, FechaI, FechaF) - TxtMesesUso.Text = (DateDiff(DateInterval.Month, FechaI, FechaF)).ToString() + 'TxtMesesUso.Text = If(Diff > 0.5, NoMesesTrascurridos, NoMesesTrascurridos2).ToString() + TxtMesesUso.Text = NoMesesTrascurridos2.ToString CalculaPorcentajeAjuste() End Sub diff --git a/Ventas/RepComisionesJAM.aspx b/Ventas/RepComisionesJAM.aspx index 17dc09bc9..4bbf10fc2 100644 --- a/Ventas/RepComisionesJAM.aspx +++ b/Ventas/RepComisionesJAM.aspx @@ -131,7 +131,7 @@ <%-- 14 --%> <%-- 15 --%> - + <%-- 16 --%> <%-- 17 --%> diff --git a/Ventas/RepRecuperacion.aspx b/Ventas/RepRecuperacion.aspx index c2a2a59ad..906d0f35a 100644 --- a/Ventas/RepRecuperacion.aspx +++ b/Ventas/RepRecuperacion.aspx @@ -207,7 +207,7 @@ - +
    diff --git a/Ventas/RepRecuperacionDetalle.aspx b/Ventas/RepRecuperacionDetalle.aspx index 453619689..6d0e2e6fd 100644 --- a/Ventas/RepRecuperacionDetalle.aspx +++ b/Ventas/RepRecuperacionDetalle.aspx @@ -219,7 +219,7 @@ - +
    diff --git a/Ventas/RepVentasUtilidad.aspx.vb b/Ventas/RepVentasUtilidad.aspx.vb index 230979595..1d7fc16cd 100644 --- a/Ventas/RepVentasUtilidad.aspx.vb +++ b/Ventas/RepVentasUtilidad.aspx.vb @@ -216,7 +216,9 @@ Partial Class Ventas_RepVentasUtilidad e.Row.CssClass = "Totales" End If - + If e.Row.DBCampo("CveVenta").ToEntero > 0 AndAlso Not CBool(e.Row.DBCampo("TienePago")) Then + e.Row.Cells(15).BackColor = Drawing.Color.LightPink + End If Dim Liga As String = String.Format("/Ventas/RepVentasUtilidadDetalle.aspx?CveVenta={0}&CveVendedor={1}&FechaI={2:d}&FechaF={3:d}&CveCliente={4}&Orden={5}&CveSubProyecto={6}&CvePS={7}&CveClasificacion={8}", diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx index f8ac7c2d6..564021c75 100644 --- a/Ventas/Ventas.aspx +++ b/Ventas/Ventas.aspx @@ -2952,26 +2952,24 @@
    -
    +
    -
    +
    MSI 3M 6M 9M 12M - + <%-- --%> - -
    -
    +
    @@ -3004,8 +3002,8 @@
    - -
    + +
    @@ -3022,11 +3020,11 @@
    -
    +
    - + Otros Credito Debito @@ -3040,12 +3038,12 @@
    -
    - +
    +
    - +
    Meses @@ -3053,13 +3051,13 @@ 6M 9M 12M - +
    - +
    @@ -3072,14 +3070,25 @@ - - +<%-- + --%> +

    +
    +
    +
    +
    +
    + +
    + $ + +

    - + @@ -3434,7 +3443,7 @@
    - +
    @@ -5763,7 +5772,7 @@
    -
    +
    @@ -5812,13 +5821,13 @@
    - +
    $ - +
    @@ -5841,7 +5850,7 @@
    @@ -5954,7 +5963,7 @@ " style="display: inline-block; margin-right: -20px; width: 150px;" /> " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info">
    -
    +
    @@ -6370,8 +6379,7 @@ $get('TxtTotalGv').value = FormatoNumero(TotalImportes, 2); $get('TxtNCImporte').value = FormatoNumero(total, 2); - if ('<%= UsuarioActual.Empresa.Funcionalidad(344) %>' == '1') - { + if ('<%= UsuarioActual.Empresa.Funcionalidad(344) %>' == '1') { CompararNC(); } @@ -6400,8 +6408,7 @@ TxtImporte.value = ""; } - if ('<%= UsuarioActual.Empresa.Funcionalidad(344) %>' == '1') - { + if ('<%= UsuarioActual.Empresa.Funcionalidad(344) %>' == '1') { CompararNC(); } } @@ -6413,13 +6420,12 @@ TxtImporte.value = ""; } - if ('<%= UsuarioActual.Empresa.Funcionalidad(344) %>' == '1') - { + if ('<%= UsuarioActual.Empresa.Funcionalidad(344) %>' == '1') { CompararNC(); } } - function LimitaCantidadRNCMasivo(TxtImporte,Saldo, Chk) { + function LimitaCantidadRNCMasivo(TxtImporte, Saldo, Chk) { var ImporteNuevo = TxtImporte.value; Chk.checked = true; @@ -6432,8 +6438,7 @@ TxtImporte.value = FormatoNumero(ImporteNuevo, 2); } - if ('<%= UsuarioActual.Empresa.Funcionalidad(344) %>' == '1') - { + if ('<%= UsuarioActual.Empresa.Funcionalidad(344) %>' == '1') { CompararNC(); } } @@ -6476,8 +6481,7 @@ TxtTotal.value = FormatoNumero(TotalConPorcentaje, 2); - if ('<%= UsuarioActual.Empresa.Funcionalidad(344) %>' == '1') - { + if ('<%= UsuarioActual.Empresa.Funcionalidad(344) %>' == '1') { CompararNC(); } } @@ -6812,15 +6816,20 @@ var TotalOtrosContado = 0; - try{ + try { if ($('#DdlOtroFormaPago').val() != "-1") { TotalOtrosContado = ToDouble($get("TxtImporteOtrosContado").value); - } - } catch (e) {} - - + } + } catch (e) { } var total = totalEfectivo + totalCredito + totalDebito + totalCheque + totalTransferencia + TotalOtrosContado; + var totalVenta = ToDouble($get('TxtTotal').value); + + if (total > totalVenta) { + $get("TxtCambio").value = FormatoNumero(total - totalVenta); + } else { + $get("TxtCambio").value = "0.00"; + } $get("TxtImporteContado").value = total; } @@ -7431,7 +7440,7 @@ } } - + function showDivEC() { $('#<%= TxtRFCCliente.ClientID %>').val(''); $('#<%= TxtNombreCliente.ClientID %>').val(''); @@ -7463,7 +7472,7 @@ document.getElementById('<%= TxtNCImporte.ClientID %>').style.border = "2px solid #04B431"; document.getElementById('<%= TxtImportesRemisionesNC.ClientID %>').style.color = ""; document.getElementById('<%= TxtNCImporte.ClientID %>').style.color = ""; - + } else { @@ -7475,8 +7484,7 @@ } function CerrarModalRemNC() { - if ('<%= UsuarioActual.Empresa.Funcionalidad(344) %>' == '1') - { + if ('<%= UsuarioActual.Empresa.Funcionalidad(344) %>' == '1') { CompararNC(); } $('#ModalAplicarRemisionesNC').modal('hide'); diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 028985042..a6ba4ad0a 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -3383,7 +3383,7 @@ Partial Class Ventas GvPS.DataBind() 'JJMQ 20160506: Se agrego para la validacion de pago de contado. - CVImporteContado.ValueToCompare = TxtTotal.Text.Replace(",", "") + 'CVImporteContado.ValueToCompare = TxtTotal.Text.Replace(",", "") UpContado.Update() UpPS.Update() @@ -4102,7 +4102,7 @@ Partial Class Ventas CalculaTotalesVenta(False) 'JJMQ 20160506: Se agrego para la validacion de pago de contado. - CVImporteContado.ValueToCompare = TxtTotal.Text.Replace(",", "") + 'CVImporteContado.ValueToCompare = TxtTotal.Text.Replace(",", "") 'CARGA ANTICIPOS If Not (CveRemision > 0 Or CveCotizacion > 0) Then @@ -4333,7 +4333,7 @@ Partial Class Ventas HdnSubTotalDescuestos.Value = (TxtSubTotal.Text.Replace(",", "").ToDouble - LblDescuentos.Text.Replace(",", "").ToDouble - LblAmortizacion.Text.Trim.Replace(",", "").ToDouble - TxtRetISR.Text.Replace(",", "").ToDouble).FormatoNumero(2) 'JJMQ 20160506: Se agrego para la validacion de pago de contado. - CVImporteContado.ValueToCompare = TxtTotal.Text.Replace(",", "") + 'CVImporteContado.ValueToCompare = TxtTotal.Text.Replace(",", "") If DdlVendedor.SelectedValue.ToEntero > 0 AndAlso Not UsuarioActual.TienePermisoProceso(161) Then DdlVendedor.Enabled = False @@ -5865,7 +5865,7 @@ Partial Class Ventas 'JJMQ 20160506: Se agrego para la validacion de pago de contado. - CVImporteContado.ValueToCompare = TxtTotal.Text.Replace(",", "") + 'CVImporteContado.ValueToCompare = TxtTotal.Text.Replace(",", "") UpPS.Update() UpContado.Update() @@ -5888,7 +5888,7 @@ Partial Class Ventas Alert("Eliminado Correctamente.", TipoMensaje.MsgInformacion) 'JJMQ 20160506: Se agrego para la validacion de pago de contado. - CVImporteContado.ValueToCompare = TxtTotal.Text.Replace(",", "") + 'CVImporteContado.ValueToCompare = TxtTotal.Text.Replace(",", "") UpContado.Update() End Sub @@ -6997,6 +6997,10 @@ Partial Class Ventas MensajeAlert.AppendFormat("

    Se generó una Nota de crédito Folio: {0} amortizando el anticipo
    ", ObjFacturaDevolucion.Folio) End If + If RBLPago.SelectedValue.ToEntero = 2 And TxtCambio.Text.ToDecimal > 0 Then + MensajeAlert.AppendFormat("

    Su cambio es de ${0}
    ", TxtCambio.Text.ToDecimal.FormatoNumero(2)) + End If + 'MUESTA ALERT OK ' si es elrol 1165-Ventas,EMp:80, o la empresa 119, recarga ventas, para seguir registrando-. Dim Liga = If(UsuarioActual.CveRol = 1165 Or UsuarioActual.CveEmpresa = 119, "document.location.href=""/Ventas/Ventas.aspx?CveVenta=-1"";", If(CveEmpresaCRM > 0, $"document.location.href=""/CRM/EmpresaCRM.aspx?CveEmpresaCRM={CveEmpresaCRM}"";", $"document.location.href=""/Ventas/Clientes.aspx?CveCliente={CveCliente}&Opt=3"";")) @@ -10300,6 +10304,10 @@ Partial Class Ventas Exit For End If + 'If DrPago("CveTipoMovimiento").ToString.ToEntero = 8 Then '13 + ' DrPago("Importe") = DrPago("Importe").ToString.ToDecimal - TxtCambio.Text.ToDecimal + 'End If + CveIEPago = ObjBancos.AddBancos_IE(DrPago("CveCuenta").ToString.ToEntero, DrPago("CveTipoMovimiento").ToString.ToEntero, Fecha, FolioIE.ToString, String.Format("PAGO: {0}", TxtFolio.Text), DrPago("Importe").ToString.ToDouble, DdlMoneda.SelectedValue.ToEntero, tipoCambio, DrPago("Observaciones").ToString, "", False, False, -1, ObjFactura.CvePrePoliza, "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCorte:=CveCorte, MesesSinIntereses:=DrPago("MesesSinIntereses").ToString.ToEntero) If CveIEPago > 0 Then @@ -10816,7 +10824,7 @@ Partial Class Ventas ViewState("FolioFiscal") = drv("FolioFiscal").ToString 'JJMQ 20160506: Se agrego para la validacion de pago de contado. - CVImporteContado.ValueToCompare = TxtTotal.Text.Replace(",", "") + 'CVImporteContado.ValueToCompare = TxtTotal.Text.Replace(",", "") UpContado.Update() If factura.CveCliente > 0 Then @@ -14613,7 +14621,7 @@ Partial Class Ventas HdnIVAOriginal.Value = TxtIVA.Text 'JJMQ 20160506: Se agrego para la validacion de pago de contado. - CVImporteContado.ValueToCompare = Total.ToString + 'CVImporteContado.ValueToCompare = Total.ToString If MensajeCveSAT IsNot Nothing AndAlso MensajeCveSAT.ToString.Length > 0 Then Alert($"Los siguientes conceptos hace falta especificar clave SAT

    {MensajeCveSAT.ToString}", TipoMensaje.MsgAdvertencia) @@ -16442,7 +16450,7 @@ Partial Class Ventas 'JJMQ 20160506: Validacion para no pagar de mas a peticion de I.P. Dim abonado = DtPagos.SUM("Importe") Dim saldo = TxtTotal.Text.Replace(",", "").ToDouble - abonado - CVImporteContado.ValueToCompare = (saldo.FormatoNumero(2).ToDouble).ToString + 'CVImporteContado.ValueToCompare = (saldo.FormatoNumero(2).ToDouble).ToString CargaGridContado() UpContado.Update() @@ -16456,7 +16464,12 @@ Partial Class Ventas If total <= 0 Then Alert("No se ha ingresado importe", TipoMensaje.MsgAdvertencia) : Exit Sub - If DtPagos.SUM("Importe").ToString.ToDecimal + total > TxtTotal.Text.ToDecimal Then + If TxtCambio.Text.ToDecimal > 0 And TxtImporteEfectivo.Text.ToDecimal < TxtCambio.Text.ToDecimal Then + Alert("Debe haber un pago en efectivo y ser mayor que el cambio. Si no, ser pago exacto.", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + + If (DtPagos.SUM("Importe").ToString.ToDecimal + total - TxtCambio.Text.ToDecimal) > TxtTotal.Text.ToDecimal Then Alert("El importe de los pagos no puede exceder el importe de la factura. Por favor rectifique.", TipoMensaje.MsgAdvertencia) Exit Sub End If @@ -16469,7 +16482,7 @@ Partial Class Ventas DrEfectivo("TipoMovimiento") = "Pago en Efectivo" DrEfectivo("CveCuenta") = DdlCuentaEfectivo.SelectedValue DrEfectivo("Cuenta") = DdlCuentaEfectivo.SelectedItem.Text - DrEfectivo("Importe") = TxtImporteEfectivo.Text + DrEfectivo("Importe") = TxtImporteEfectivo.Text.ToDecimal - TxtCambio.Text.ToDecimal DrEfectivo("Folio") = CargaFolioContado(DdlCuentaEfectivo.SelectedValue.ToEntero, 6) DrEfectivo("Observaciones") = "" DrEfectivo("Tipo") = "Caja Chica" @@ -16654,7 +16667,7 @@ Partial Class Ventas 'JJMQ 20160506: Validacion para no pagar de mas a peticion de I.P. abonado = DtPagos.SUM("Importe") saldo = TxtTotal.Text.Replace(",", "").ToDouble - abonado - CVImporteContado.ValueToCompare = (saldo.FormatoNumero(2).ToDouble).ToString + 'CVImporteContado.ValueToCompare = (saldo.FormatoNumero(2).ToDouble).ToString CargaGridContado() UpContado.Update() @@ -16671,7 +16684,7 @@ Partial Class Ventas Retorno = True End If - If DtPagos.SUM("Importe").ToString.ToDecimal > TxtTotal.Text.ToDecimal Then + If (DtPagos.SUM("Importe").ToString.ToDecimal + Total - TxtCambio.Text.ToDecimal) > TxtTotal.Text.ToDecimal Then Alert("El importe de los pagos no puede exceder el importe de la factura. Por favor verifique.", TipoMensaje.MsgAdvertencia) Retorno = True End If