Merge branch 'master' of http://agonzalez@192.168.10.111:8383/SIG.git
This commit is contained in:
@@ -107,7 +107,7 @@ Partial Class ACumuladores_RepIndicadorDiario
|
|||||||
TCEspecifico = -1
|
TCEspecifico = -1
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If ObjAcum.GetRepInicadorDiario(FechaI, FechaF, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
|
If ObjAcum.GetRepIndicadorDiario(FechaI, FechaF, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
|
||||||
GvDatos.DataSource = ObjAcum.DtResultados
|
GvDatos.DataSource = ObjAcum.DtResultados
|
||||||
DtDatos = ObjAcum.DtResultados
|
DtDatos = ObjAcum.DtResultados
|
||||||
Else
|
Else
|
||||||
|
|||||||
@@ -895,7 +895,7 @@ Public Class ClsAcumuladores
|
|||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
|
||||||
Public Function GetRepInicadorDiario(FechaInicio As Date, FechaFin As Date, CveSubProeycto As Integer, CveEmpresa As Integer) As Boolean
|
Public Function GetRepIndicadorDiario(FechaInicio As Date, FechaFin As Date, CveSubProeycto As Integer, CveEmpresa As Integer) As Boolean
|
||||||
|
|
||||||
Dim Retorno As Boolean = False
|
Dim Retorno As Boolean = False
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,14 @@
|
|||||||
<%@ WebHandler Language="VB" Class="TareasProgramadas" %>
|
<%@ WebHandler Language="VB" Class="TareasProgramadas" %>
|
||||||
|
|
||||||
Imports System
|
Imports System
|
||||||
Imports System.Web
|
Imports System.Web
|
||||||
Imports System.Data
|
Imports System.Data
|
||||||
Imports Newtonsoft.Json
|
Imports Newtonsoft.Json
|
||||||
|
Imports Newtonsoft.Json.Linq
|
||||||
Imports Extensiones
|
Imports Extensiones
|
||||||
Imports System.IO
|
Imports System.IO
|
||||||
|
Imports CrystalDecisions.CrystalReports.Engine
|
||||||
|
Imports CrystalDecisions.Shared
|
||||||
|
|
||||||
Public Class TareasProgramadas : Implements IHttpHandler
|
Public Class TareasProgramadas : Implements IHttpHandler
|
||||||
|
|
||||||
@@ -16,14 +19,19 @@ Public Class TareasProgramadas : Implements IHttpHandler
|
|||||||
currentcontext = context
|
currentcontext = context
|
||||||
'timbrarNominab()
|
'timbrarNominab()
|
||||||
Dim retorno As String = "no se encontro la variable"
|
Dim retorno As String = "no se encontro la variable"
|
||||||
Try
|
Try
|
||||||
URLParametros = Parametros(context.Request("var"))
|
If context.Request("var") IsNot Nothing Then
|
||||||
|
URLParametros = Parametros(context.Request("var"))
|
||||||
|
End If
|
||||||
|
|
||||||
Dim metodo As String = URLParametros("metodo")
|
Dim metodo As String = URLParametros("metodo")
|
||||||
Select Case metodo
|
Select Case metodo
|
||||||
Case "TimbrarNomina"
|
Case "TimbrarNomina"
|
||||||
retorno = "Error Timbrado Nomina"
|
retorno = "Error Timbrado Nomina"
|
||||||
retorno = timbrarNomina()
|
retorno = timbrarNomina()
|
||||||
retorno = ""
|
retorno = ""
|
||||||
|
Case "EstadosCuenta"
|
||||||
|
IniciaEnvioEstadoDeCuenta(context, 1, "-1", "-1")
|
||||||
End Select
|
End Select
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
ex.GuardaLog(ex.ToString())
|
ex.GuardaLog(ex.ToString())
|
||||||
@@ -127,18 +135,18 @@ Public Class TareasProgramadas : Implements IHttpHandler
|
|||||||
|
|
||||||
|
|
||||||
Private Function GetUsuario(CveEmpresa As Integer, Optional CveUsuario As Integer = -1, Optional username As String = "", Optional pass As String = "") As Usuario
|
Private Function GetUsuario(CveEmpresa As Integer, Optional CveUsuario As Integer = -1, Optional username As String = "", Optional pass As String = "") As Usuario
|
||||||
Dim usuario As Usuario = Nothing
|
Dim usuario As Usuario = Nothing
|
||||||
#Region "Valido que los campos usuario contraseña no sean nulos"
|
#Region "Valido que los campos usuario contraseña no sean nulos"
|
||||||
|
|
||||||
If IsNothing(username) Then
|
If IsNothing(username) Then
|
||||||
username = ""
|
username = ""
|
||||||
End If
|
End If
|
||||||
If IsNothing(pass) Then
|
If IsNothing(pass) Then
|
||||||
pass = ""
|
pass = ""
|
||||||
End If
|
End If
|
||||||
#End Region
|
#End Region
|
||||||
#Region "Si el CveUsuario es mayor que cero asigno el username y pass la de la CveUsuario"
|
#Region "Si el CveUsuario es mayor que cero asigno el username y pass la de la CveUsuario"
|
||||||
|
|
||||||
If CveUsuario > 0 Then
|
If CveUsuario > 0 Then
|
||||||
Using Dv As New DataView(DirectCast(currentcontext.Application("GlobalDTUsuarios"), DataTable), $"CveUsuario = 100 AND CveEmpresa ={CveEmpresa}", "", DataViewRowState.CurrentRows)
|
Using Dv As New DataView(DirectCast(currentcontext.Application("GlobalDTUsuarios"), DataTable), $"CveUsuario = 100 AND CveEmpresa ={CveEmpresa}", "", DataViewRowState.CurrentRows)
|
||||||
Using GlobalDTUsuarios As DataTable = Dv.ToTable()
|
Using GlobalDTUsuarios As DataTable = Dv.ToTable()
|
||||||
@@ -149,13 +157,13 @@ Public Class TareasProgramadas : Implements IHttpHandler
|
|||||||
End If
|
End If
|
||||||
End Using
|
End Using
|
||||||
End Using
|
End Using
|
||||||
End If
|
End If
|
||||||
#End Region
|
#End Region
|
||||||
#Region "obtengo el usuario con el username y la pass"
|
#Region "obtengo el usuario con el username y la pass"
|
||||||
|
|
||||||
Using ObjUsuario As New ClsSisUsuarios()
|
Using ObjUsuario As New ClsSisUsuarios()
|
||||||
usuario = ObjUsuario.ValidaUsuario(username, pass, IMEI, CveEmpresa)
|
usuario = ObjUsuario.ValidaUsuario(username, pass, IMEI, CveEmpresa)
|
||||||
End Using
|
End Using
|
||||||
#End Region
|
#End Region
|
||||||
#Region "Asigno la empresa al usuario"
|
#Region "Asigno la empresa al usuario"
|
||||||
If Not IsNothing(usuario) Then
|
If Not IsNothing(usuario) Then
|
||||||
@@ -179,7 +187,7 @@ Public Class TareasProgramadas : Implements IHttpHandler
|
|||||||
End If
|
End If
|
||||||
End Using
|
End Using
|
||||||
|
|
||||||
End If
|
End If
|
||||||
#End Region
|
#End Region
|
||||||
Return usuario
|
Return usuario
|
||||||
End Function
|
End Function
|
||||||
@@ -224,8 +232,6 @@ Public Class TareasProgramadas : Implements IHttpHandler
|
|||||||
Return retorno
|
Return retorno
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Private Function Parametros(Cadena As String) As Hashtable
|
Private Function Parametros(Cadena As String) As Hashtable
|
||||||
Cadena = Decripta(Cadena)
|
Cadena = Decripta(Cadena)
|
||||||
Dim P1() As String = Cadena.Split("&"c)
|
Dim P1() As String = Cadena.Split("&"c)
|
||||||
@@ -244,6 +250,426 @@ Public Class TareasProgramadas : Implements IHttpHandler
|
|||||||
Get
|
Get
|
||||||
Return False
|
Return False
|
||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
|
|
||||||
|
#Region "E S T A D O S D E C U E N T A"
|
||||||
|
Private Sub CargaEstadosCuenta(ByVal context As HttpContext)
|
||||||
|
Dim DtEmpresas As DataTable = Nothing
|
||||||
|
|
||||||
|
Dim ObjEmpresas As New ClsSisEmpresas()
|
||||||
|
If ObjEmpresas.GetEmpresas(-1, "-1", "-1", "-1", "-1") Then
|
||||||
|
DtEmpresas = ObjEmpresas.DtResultados.FiltraParametros("", "", {"CveEmpresa"})
|
||||||
|
End If
|
||||||
|
ObjEmpresas.Dispose()
|
||||||
|
|
||||||
|
If DtEmpresas IsNot Nothing Then
|
||||||
|
For Each Row As DataRow In DtEmpresas.Rows
|
||||||
|
IniciaEnvioEstadoDeCuenta(context, Row("CveEmpresa").ToString().ToEntero(), "-1", "-1")
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub IniciaEnvioEstadoDeCuenta(ByVal context As HttpContext, CveEmpresa As Integer, pFechaI As String, pFechaF As String)
|
||||||
|
Dim JsonRetorno As New JObject()
|
||||||
|
If CveEmpresa > 0 Then
|
||||||
|
Dim Usuario = ValidaUsuarioSistema(CveEmpresa)
|
||||||
|
Dim FechaI, FechaF As DateTime
|
||||||
|
|
||||||
|
If pFechaI <> "-1" AndAlso pFechaF <> "-1" Then
|
||||||
|
Dim FechaReferencia = DateTime.Now
|
||||||
|
|
||||||
|
Dim DiaAnterior = FechaReferencia.AddDays(-1)
|
||||||
|
Dim DiaAnteriorSemanaPasada = DiaAnterior.AddDays(-7)
|
||||||
|
|
||||||
|
FechaI = New DateTime(DiaAnteriorSemanaPasada.Year, DiaAnteriorSemanaPasada.Month, DiaAnteriorSemanaPasada.Day, 0, 0, 0)
|
||||||
|
FechaF = New DateTime(DiaAnterior.Year, DiaAnterior.Month, DiaAnterior.Day, 23, 59, 59)
|
||||||
|
|
||||||
|
JsonRetorno = EjecutarEnvioEstadoCuenta(Usuario, FechaI, FechaF)
|
||||||
|
Else
|
||||||
|
FechaI = pFechaI.ToDateTime()
|
||||||
|
FechaF = pFechaF.ToDateTime()
|
||||||
|
|
||||||
|
JsonRetorno = EjecutarEnvioEstadoCuenta(Usuario, FechaI, FechaF)
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Function ValidaUsuarioSistema(CveEmpresa As Integer) As Usuario
|
||||||
|
Dim UsuarioActual As Usuario = Nothing
|
||||||
|
Dim ObjUsuarios As New ClsSisUsuarios
|
||||||
|
If ObjUsuarios.GetUsuarios(100) 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()
|
||||||
|
UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, IMEI, CveEmpresa)
|
||||||
|
UsuarioActual.CveEmpresa = CveEmpresa
|
||||||
|
CreaObjetoEmpresa(UsuarioActual)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
ObjUsuarios.Dispose()
|
||||||
|
Return UsuarioActual
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Sub CreaObjetoEmpresa(ByRef UsuarioActual As Usuario)
|
||||||
|
|
||||||
|
Dim ObjEmpresa As New ClsSisEmpresas()
|
||||||
|
If ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1") Then
|
||||||
|
If ObjEmpresa.GetEmpresasFuncionalidades(UsuarioActual.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
|
||||||
|
|
||||||
|
UsuarioActual.Empresa = ObjEmpresa.Empresa
|
||||||
|
End If
|
||||||
|
ObjEmpresa.Dispose()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
Private Function EjecutarEnvioEstadoCuenta(UsuarioActual As Usuario, FechaI As DateTime, FechaF As DateTime) As JObject
|
||||||
|
Dim Facturas As New JArray()
|
||||||
|
Dim DebeTimbrar As Boolean = True
|
||||||
|
|
||||||
|
Dim Json As New JObject(
|
||||||
|
New JProperty("Empresa", UsuarioActual.Empresa.Empresa),
|
||||||
|
New JProperty("Usuario", UsuarioActual.Usuario),
|
||||||
|
New JProperty("FechaI", FechaI.ToString("dd/MM/yyy HH:mm:ss")),
|
||||||
|
New JProperty("FechaF", FechaF.ToString("dd/MM/yyy HH:mm:ss"))
|
||||||
|
)
|
||||||
|
Dim DTClientes As DataTable = Nothing
|
||||||
|
|
||||||
|
Dim ObjCliente As New ClsClientes
|
||||||
|
If ObjCliente.GetClientes(-1, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa, TipoCliente:=-1) Then
|
||||||
|
If ObjCliente.DtResultados.Rows.Count > 0 Then
|
||||||
|
DTClientes = ObjCliente.DtResultados.Copy()
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
ObjCliente.Dispose()
|
||||||
|
|
||||||
|
If DTClientes IsNot Nothing Then
|
||||||
|
For Each RowCliente As DataRow In DTClientes.Rows
|
||||||
|
Dim CveCliente As Integer = RowCliente("CveCliente").ToString().ToEntero()
|
||||||
|
Dim Correo As String = "jonathan.perez@adssistemas.mx" 'RowCliente("Correo").ToString()
|
||||||
|
|
||||||
|
Dim Cliente As New Modelos.ClienteModel(CveCliente, UsuarioActual.CveEmpresa)
|
||||||
|
|
||||||
|
GenerarPDFCrystal(UsuarioActual, Correo, "-1", "-1", Cliente)
|
||||||
|
Next
|
||||||
|
DTClientes.Dispose()
|
||||||
|
End If
|
||||||
|
Json.Add(New JProperty("Facturas", Facturas))
|
||||||
|
|
||||||
|
Return Json
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Sub GenerarPDFCrystal(UsuarioActual As Usuario, Correo As String, FI As String, FF As String, Cliente As Modelos.ClienteModel)
|
||||||
|
Dim ArchivoPDF As Byte() = Nothing
|
||||||
|
|
||||||
|
Dim Formato As String = "PDF"
|
||||||
|
Dim Archivo As New System.IO.FileInfo(String.Format("{0}Formatos/RepClientesCxC.rpt", UsuarioActual.Empresa.Ruta))
|
||||||
|
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
|
||||||
|
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", HttpContext.Current.Request.Url.Scheme, HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port, UsuarioActual.CveEmpresa)
|
||||||
|
'OBTENEMOS LOS DATOS
|
||||||
|
Dim DtCxCFact As DataTable = Nothing
|
||||||
|
|
||||||
|
Dim SaldoIngDolares As Double = 0
|
||||||
|
Dim SaldoIngPesos As Double = 0
|
||||||
|
Dim SaldoIngDolaresPesos As Double = 0
|
||||||
|
Dim TotalIng As Double = 0
|
||||||
|
Dim SaldoAntDolares As Double = 0
|
||||||
|
Dim SaldoAntPesos As Double = 0
|
||||||
|
Dim SaldoAntDolaresPesos As Double = 0
|
||||||
|
Dim TotalAnt As Double = 0
|
||||||
|
Dim ContaIng As Integer = 0
|
||||||
|
Dim ContaAnt As Integer = 0
|
||||||
|
Dim FechaCorte As Date = ("9999/01/01").ToDate
|
||||||
|
Dim TipoDocto As String = "-1"
|
||||||
|
Dim TipoDocto2 As String = "-1"
|
||||||
|
Dim FechaVencimientoI As String = "-1"
|
||||||
|
Dim FechaVencimientoF As String = "-1"
|
||||||
|
Dim dtt As DataTable = Nothing
|
||||||
|
|
||||||
|
Dim ObjMovtos As New ClsMovimientos()
|
||||||
|
If ObjMovtos.GetCxCClienteDetalle(Cliente.CveCliente, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa, CveClienteSucursal:=-1) Then
|
||||||
|
DtCxCFact = ObjMovtos.DtResultados.FiltraParametros("", "TipoDocto").Copy
|
||||||
|
'cargo los anticipos NC
|
||||||
|
DtCxCFact.Columns.Add("SaldoAnticipo", GetType(Decimal))
|
||||||
|
If ObjMovtos.GetAnticiposNCIxCCliente(Cliente.CveCliente, -1, -1) Then
|
||||||
|
dtt = ObjMovtos.DtResultados.FiltraParametros("SaldoVentaAnticipo = 0 AND ((Tipo = 'IxC' AND CveIE > 0) OR (Tipo = 'Ant' AND CveVenta > 0) OR (Tipo = 'NC' AND CveVenta > 0) OR (Tipo = 'Egs' AND CveVenta > 0) )")
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
ObjMovtos.Dispose()
|
||||||
|
|
||||||
|
Try
|
||||||
|
If dtt IsNot Nothing AndAlso dtt.Rows.Count > 0 Then
|
||||||
|
For Each drt As DataRow In dtt.Rows
|
||||||
|
Dim drr As DataRow = DtCxCFact.NewRow
|
||||||
|
drr("TipoDocto") = drt("Tipo")
|
||||||
|
drr("SerieFolio") = drt("Folio")
|
||||||
|
drr("Original") = drt("Original")
|
||||||
|
drr("TipoCambio") = drt("TipoCambio")
|
||||||
|
drr("Saldo") = 0
|
||||||
|
drr("SaldoAnticipo") = drt("Saldo")
|
||||||
|
drr("Fecha") = drt("Fecha")
|
||||||
|
drr("Moneda") = drt("Moneda")
|
||||||
|
drr("CveMoneda") = drt("CveMoneda")
|
||||||
|
DtCxCFact.Rows.Add(drr)
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
|
||||||
|
If DtCxCFact IsNot Nothing Then
|
||||||
|
For Each Row As DataRow In DtCxCFact.FiltraParametros($"TipoDocto IN ({TipoDocto2})").Rows
|
||||||
|
If Row("TipoDocto").ToString = "Ing" Or Row("TipoDocto").ToString = "Rem" Or (Row("TipoDocto").ToString = "Ant" And Row("Saldo").ToString.ToDouble > 0) Then 'Ingresos
|
||||||
|
ContaIng = ContaIng + 1
|
||||||
|
If Row("CveMoneda").ToString.ToEntero = 1 Then
|
||||||
|
SaldoIngPesos = SaldoIngPesos + Row("Saldo").ToString.ToDouble
|
||||||
|
ElseIf Row("CveMoneda").ToString.ToEntero = 2 Then
|
||||||
|
SaldoIngDolares = SaldoIngDolares + Row("Saldo").ToString.ToDouble
|
||||||
|
SaldoIngDolaresPesos = SaldoIngDolaresPesos + (Row("Saldo").ToString.ToDouble * Row("TipoCambio").ToString.ToDouble)
|
||||||
|
End If
|
||||||
|
|
||||||
|
ElseIf (Row("TipoDocto").ToString = "Ant" And Row("Saldo").ToString.ToDouble = 0) Or Row("TipoDocto").ToString = "IxC" Or Row("TipoDocto").ToString = "NC" Or Row("TipoDocto").ToString = "Dev" Then 'Anticipos, NC, IxC
|
||||||
|
ContaAnt = ContaAnt + 1
|
||||||
|
If Row("CveMoneda").ToString.ToEntero = 1 Then
|
||||||
|
If Row("TipoDocto").ToString = "Dev" Then
|
||||||
|
SaldoAntPesos = SaldoAntPesos + Row("Saldo").ToString.ToDouble
|
||||||
|
Else
|
||||||
|
SaldoAntPesos = SaldoAntPesos + Row("SaldoAnticipo").ToString.ToDouble
|
||||||
|
End If
|
||||||
|
ElseIf Row("CveMoneda").ToString.ToEntero = 2 Then
|
||||||
|
SaldoAntDolares = SaldoAntDolares + Row("Saldo").ToString.ToDouble
|
||||||
|
SaldoAntDolaresPesos = SaldoAntDolaresPesos + (Row("SaldoAnticipo").ToString.ToDouble * Row("TipoCambio").ToString.ToDouble)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
|
||||||
|
TotalIng = SaldoIngPesos + SaldoIngDolaresPesos
|
||||||
|
TotalAnt = SaldoAntPesos + SaldoAntDolaresPesos
|
||||||
|
|
||||||
|
Dim DtCxCFact2 As DataTable = DtCxCFact.FiltraParametros($"TipoDocto IN ({TipoDocto2})")
|
||||||
|
|
||||||
|
'INGRESOS
|
||||||
|
If SaldoIngPesos > 0 Then
|
||||||
|
Dim drr As DataRow = DtCxCFact2.NewRow
|
||||||
|
drr("SerieFolio") = "Total Ing Pesos"
|
||||||
|
drr("Original") = DtCxCFact2.FiltraParametros("CveMoneda = 1").SUM("Original", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)")
|
||||||
|
drr("Abonado") = DtCxCFact2.FiltraParametros("CveMoneda = 1").SUM("Abonado", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)")
|
||||||
|
drr("Saldo") = SaldoIngPesos
|
||||||
|
drr("CveMoneda") = 1
|
||||||
|
DtCxCFact2.Rows.Add(drr)
|
||||||
|
End If
|
||||||
|
If SaldoIngDolares > 0 Then
|
||||||
|
Dim drr As DataRow = DtCxCFact2.NewRow
|
||||||
|
drr("SerieFolio") = "Total Ing Dólares"
|
||||||
|
drr("Original") = DtCxCFact2.FiltraParametros("CveMoneda = 2").SUM("Original", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)")
|
||||||
|
drr("Abonado") = DtCxCFact2.FiltraParametros("CveMoneda = 2").SUM("Abonado", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)")
|
||||||
|
drr("Saldo") = SaldoIngDolares
|
||||||
|
drr("CveMoneda") = 2
|
||||||
|
DtCxCFact2.Rows.Add(drr)
|
||||||
|
End If
|
||||||
|
|
||||||
|
'ANTICIPOS
|
||||||
|
If SaldoAntPesos > 0 Then
|
||||||
|
Dim drr As DataRow = DtCxCFact2.NewRow
|
||||||
|
drr("SerieFolio") = "Total Pesos"
|
||||||
|
drr("SaldoAnticipo") = SaldoAntPesos
|
||||||
|
drr("CveMoneda") = 1
|
||||||
|
DtCxCFact2.Rows.Add(drr)
|
||||||
|
End If
|
||||||
|
If SaldoAntDolares > 0 Then
|
||||||
|
Dim drr As DataRow = DtCxCFact2.NewRow
|
||||||
|
drr("SerieFolio") = "Total Dólares"
|
||||||
|
drr("SaldoAnticipo") = SaldoAntDolares
|
||||||
|
drr("CveMoneda") = 2
|
||||||
|
DtCxCFact2.Rows.Add(drr)
|
||||||
|
End If
|
||||||
|
|
||||||
|
If DtCxCFact2 IsNot Nothing AndAlso DtCxCFact2.Rows.Count > 0 Then
|
||||||
|
Dim dr As DataRow = DtCxCFact2.Rows(0)
|
||||||
|
Dim lista = New List(Of CrystalParametro)
|
||||||
|
lista.Add(New CrystalParametro("Empresa", UsuarioActual.Empresa.Empresa))
|
||||||
|
lista.Add(New CrystalParametro("TipoCuentas", ""))
|
||||||
|
lista.Add(New CrystalParametro("NombreCliente", Cliente.Nombre))
|
||||||
|
lista.Add(New CrystalParametro("FechaInicio", If(FI = "-1", "-", FI)))
|
||||||
|
lista.Add(New CrystalParametro("FechaFin", If(FF = "-1", DateTime.Now.ToShortDateString, FF)))
|
||||||
|
lista.Add(New CrystalParametro("UsuarioImprimio", UsuarioActual.Nombre))
|
||||||
|
lista.Add(New CrystalParametro("DireccionCliente", String.Format("Calle {0} #{1} Colonia {2}", Cliente.Direccion, If(Cliente.NoExt = "", "S/N", Cliente.NoExt), Cliente.Colonia)))
|
||||||
|
lista.Add(New CrystalParametro("ClienteCP", Cliente.CP))
|
||||||
|
lista.Add(New CrystalParametro("ClienteCiudad", Cliente.Ciudad))
|
||||||
|
lista.Add(New CrystalParametro("ClienteRFC", Cliente.RFC))
|
||||||
|
lista.Add(New CrystalParametro("ClienteTelefono", Cliente.Telefono))
|
||||||
|
lista.Add(New CrystalParametro("DiasCredito", Cliente.PlazoCobranza))
|
||||||
|
lista.Add(New CrystalParametro("LimiteCredito", Cliente.LimiteCredito))
|
||||||
|
lista.Add(New CrystalParametro("SaldoDisponible", (Cliente.LimiteCredito - DtCxCFact2(0)("Saldo").ToString.ToDouble).FormatoNumero))
|
||||||
|
lista.Add(New CrystalParametro("SaldoIngDolares", SaldoIngDolares.FormatoNumero))
|
||||||
|
lista.Add(New CrystalParametro("SaldoIngPesos", SaldoIngPesos.FormatoNumero))
|
||||||
|
lista.Add(New CrystalParametro("TotalIng", TotalIng.FormatoNumero))
|
||||||
|
lista.Add(New CrystalParametro("SaldoAntDolares", SaldoAntDolares.FormatoNumero))
|
||||||
|
lista.Add(New CrystalParametro("SaldoAntPesos", SaldoAntPesos.FormatoNumero))
|
||||||
|
lista.Add(New CrystalParametro("TotalAnt", TotalAnt.FormatoNumero))
|
||||||
|
lista.Add(New CrystalParametro("ContaIng", ContaIng))
|
||||||
|
lista.Add(New CrystalParametro("ContaAnt", ContaAnt))
|
||||||
|
|
||||||
|
If Imagen.Exists Then
|
||||||
|
lista.Add(New CrystalParametro("LogoPath", logouri))
|
||||||
|
Else
|
||||||
|
lista.Add(New CrystalParametro("LogoPath", ""))
|
||||||
|
End If
|
||||||
|
|
||||||
|
Try
|
||||||
|
Dim File As Byte()
|
||||||
|
If Archivo.Exists Then
|
||||||
|
File = ImprimirPDFCrystal($"{UsuarioActual.Empresa.Ruta}Formatos/RepClientesCxC.rpt", DtCxCFact2.FiltraParametros("", "CveMoneda,Fecha"), lista, "Estado de cuenta", Formato)
|
||||||
|
Else
|
||||||
|
File = ImprimirPDFCrystal(HttpContext.Current.Server.MapPath("~/Empresas/Grales/Formatos/RepClientesCxC.rpt"), DtCxCFact2.FiltraParametros("", "CveMoneda,Fecha"), lista, "Estado de cuenta", Formato)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
OnError("Ocurrió error al mandar MAIL de Orden de Compra", ex)
|
||||||
|
End Try
|
||||||
|
Else
|
||||||
|
Dim lista = New List(Of CrystalParametro)
|
||||||
|
lista.Add(New CrystalParametro("Empresa", UsuarioActual.Empresa.Empresa))
|
||||||
|
lista.Add(New CrystalParametro("TipoCuentas", "Todas"))
|
||||||
|
lista.Add(New CrystalParametro("NombreCliente", Cliente.Nombre))
|
||||||
|
lista.Add(New CrystalParametro("FechaInicio", If(FI = "-1", "-", FI)))
|
||||||
|
lista.Add(New CrystalParametro("FechaFin", If(FF = "-1", DateTime.Now.ToShortDateString, FF)))
|
||||||
|
lista.Add(New CrystalParametro("UsuarioImprimio", UsuarioActual.Nombre))
|
||||||
|
lista.Add(New CrystalParametro("DireccionCliente", String.Format("Calle {0} #{1} Colonia {2}", Cliente.Direccion, If(Cliente.NoExt = "", "S/N", Cliente.NoExt), Cliente.Colonia)))
|
||||||
|
lista.Add(New CrystalParametro("ClienteCP", Cliente.CP))
|
||||||
|
lista.Add(New CrystalParametro("ClienteCiudad", Cliente.Ciudad))
|
||||||
|
lista.Add(New CrystalParametro("ClienteRFC", Cliente.RFC))
|
||||||
|
lista.Add(New CrystalParametro("ClienteTelefono", Cliente.Telefono))
|
||||||
|
lista.Add(New CrystalParametro("DiasCredito", Cliente.PlazoCobranza))
|
||||||
|
lista.Add(New CrystalParametro("LimiteCredito", Cliente.LimiteCredito))
|
||||||
|
lista.Add(New CrystalParametro("SaldoDisponible", (Cliente.LimiteCredito).FormatoNumero))
|
||||||
|
|
||||||
|
lista.Add(New CrystalParametro("SaldoIngDolares", SaldoIngDolares.FormatoNumero))
|
||||||
|
lista.Add(New CrystalParametro("SaldoIngPesos", SaldoIngPesos.FormatoNumero))
|
||||||
|
lista.Add(New CrystalParametro("TotalIng", TotalIng.FormatoNumero))
|
||||||
|
lista.Add(New CrystalParametro("SaldoAntDolares", SaldoAntDolares.FormatoNumero))
|
||||||
|
lista.Add(New CrystalParametro("SaldoAntPesos", SaldoAntPesos.FormatoNumero))
|
||||||
|
lista.Add(New CrystalParametro("TotalAnt", TotalAnt.FormatoNumero))
|
||||||
|
lista.Add(New CrystalParametro("ContaIng", ContaIng))
|
||||||
|
lista.Add(New CrystalParametro("ContaAnt", ContaAnt))
|
||||||
|
|
||||||
|
If Imagen.Exists Then
|
||||||
|
lista.Add(New CrystalParametro("LogoPath", logouri))
|
||||||
|
Else
|
||||||
|
lista.Add(New CrystalParametro("LogoPath", ""))
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim drr As DataRow = DtCxCFact2.NewRow
|
||||||
|
drr("SerieFolio") = "Total Ing Pesos"
|
||||||
|
drr("Original") = DtCxCFact2.FiltraParametros("CveMoneda = 1").SUM("Original", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)")
|
||||||
|
drr("Abonado") = DtCxCFact2.FiltraParametros("CveMoneda = 1").SUM("Abonado", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)")
|
||||||
|
drr("Saldo") = 0
|
||||||
|
drr("SaldoAnticipo") = 0
|
||||||
|
drr("CveMoneda") = 1
|
||||||
|
DtCxCFact2.Rows.Add(drr)
|
||||||
|
|
||||||
|
If Archivo.Exists Then
|
||||||
|
ArchivoPDF = ImprimirPDFCrystal($"{UsuarioActual.Empresa.Ruta}Formatos/RepClientesCxC.rpt", DtCxCFact2.FiltraParametros("", "CveMoneda,Fecha"), lista, "Estado de cuenta", Formato)
|
||||||
|
Else
|
||||||
|
ArchivoPDF = ImprimirPDFCrystal(HttpContext.Current.Server.MapPath("~/Empresas/Grales/Formatos/RepClientesCxC.rpt"), DtCxCFact2.FiltraParametros("", "CveMoneda,Fecha"), lista, "Estado de cuenta", Formato)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
ArchivoPDF = Nothing
|
||||||
|
End Try
|
||||||
|
|
||||||
|
Try
|
||||||
|
Dim Cuerpo As String = String.Format("Estimado cliente {0}, al presente se correo se anexa su estado actual de cartera en {1}.<br />
|
||||||
|
<br />
|
||||||
|
Quedamos a sus ordenes para cualquier duda o aclaración con su agente de Ventas.<br />
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
Gracias por la atención brindada al presente.<br /> Reciba un cordial saludo.<br />
|
||||||
|
<br />
|
||||||
|
<b>ESTE CORREO SE GENERO EN FORMA AUTOMATICA.</b>", Cliente.NombreComercial, UsuarioActual.Empresa.Empresa)
|
||||||
|
|
||||||
|
MandaCorreo(ArchivoPDF, Correo, $"Estado Actual de Cartera {UsuarioActual.Empresa.Empresa}", Cuerpo)
|
||||||
|
Catch ex As Exception
|
||||||
|
Alert("Ocurrió un error al enviar el correo", TipoMensaje.MsgAdvertencia)
|
||||||
|
End Try
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Public Function ImprimirPDFCrystal(RutaReporte As String, DataSource As DataTable, Parametros As List(Of CrystalParametro), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional MR As ReportDocument = Nothing) As Byte()
|
||||||
|
'limpio ReportViwer
|
||||||
|
Dim sw As New System.Diagnostics.Stopwatch()
|
||||||
|
sw.Start()
|
||||||
|
If IsNothing(MR) Then MR = New ReportDocument()
|
||||||
|
Dim Bytes As Byte() = Nothing
|
||||||
|
Dim formatType As ExportFormatType = ExportFormatType.NoFormat
|
||||||
|
Try
|
||||||
|
MR.Load(RutaReporte)
|
||||||
|
MR.SetDataSource(DataSource)
|
||||||
|
|
||||||
|
For Each item As CrystalParametro In Parametros
|
||||||
|
MR.SetParameterValue(item.Nombre, item.Valor)
|
||||||
|
Next
|
||||||
|
|
||||||
|
Select Case Formato
|
||||||
|
Case "PDF"
|
||||||
|
formatType = ExportFormatType.PortableDocFormat
|
||||||
|
'Format = "Application/pdf"
|
||||||
|
Case "EXCEL"
|
||||||
|
formatType = ExportFormatType.Excel
|
||||||
|
'Format = "application/ms-excel"
|
||||||
|
End Select
|
||||||
|
Dim Stream As IO.Stream = MR.ExportToStream(formatType)
|
||||||
|
Dim BD As New BinaryReader(MR.ExportToStream(formatType))
|
||||||
|
Bytes = BD.ReadBytes(CInt(MR.ExportToStream(formatType).Length))
|
||||||
|
BD.Dispose()
|
||||||
|
Stream.Dispose()
|
||||||
|
'Dim Buffer(CInt(Stream.Length)) As Byte
|
||||||
|
'Bytes = Buffer
|
||||||
|
'MR.ExportToHttpResponse(formatType, Response, True, NombreArchivo)
|
||||||
|
Catch ex As CrystalReportsException
|
||||||
|
GuardaLog(If(ex.InnerException IsNot Nothing AndAlso ex.Message IsNot Nothing,
|
||||||
|
$"Error: {If(ex.InnerException.Message, ex.Message)} | Descripcion: {If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException.Message IsNot Nothing,
|
||||||
|
ex.InnerException.InnerException.Message, If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, "Sin descripcion"))} Ruta {RutaReporte}", $"Sin descripción - Ruta {RutaReporte}"))
|
||||||
|
'HAY QUE VALIDAR QUE LOS OBJETOS QUE SE USAN PARA GUARDAR LOG EXISTEN!!! IPP 14 AGOSTO 2017
|
||||||
|
'GuardaLog($"Error: {ex.InnerException.Message} | Descripcion: {If(ex.InnerException.InnerException IsNot Nothing, ex.InnerException.InnerException.Message, "Sin descripcion")} - Ruta {RutaReporte}")
|
||||||
|
Catch ex As Exception
|
||||||
|
GuardaLog(If(ex.InnerException IsNot Nothing AndAlso ex.Message IsNot Nothing,
|
||||||
|
$"Error: {If(ex.InnerException.Message, ex.Message)} | Descripcion: {If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException.Message IsNot Nothing,
|
||||||
|
ex.InnerException.InnerException.Message, If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, "Sin descripcion"))} Ruta {RutaReporte}", $"Sin descripción - Ruta {RutaReporte}"))
|
||||||
|
|
||||||
|
'HAY QUE VALIDAR QUE LOS OBJETOS QUE SE USAN PARA GUARDAR LOG EXISTEN!!! IPP 14 AGOSTO 2017
|
||||||
|
'GuardaLog($"Error {ex.InnerException.Message} | Descripcion: {If(ex.InnerException.InnerException IsNot Nothing, ex.InnerException.InnerException.Message, "Sin descripcion")} - Ruta {RutaReporte}")
|
||||||
|
End Try
|
||||||
|
sw.Stop()
|
||||||
|
If sw.Elapsed.TotalSeconds > 10 Then
|
||||||
|
GuardaLog($"Reporte:{RutaReporte} | Tiempo Renderizado Milisegundos: {sw.ElapsedMilliseconds},Total Segundos: {sw.Elapsed.TotalSeconds} ")
|
||||||
|
End If
|
||||||
|
If MR IsNot Nothing Then MR.Dispose()
|
||||||
|
Return Bytes
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Sub MandaCorreo(File As Byte(), Para As String, Asunto As String, Body As String)
|
||||||
|
|
||||||
|
Dim a As String = String.Format("{0} -- {1} ---- -->", Asunto, Para)
|
||||||
|
'a.GuardaLog()
|
||||||
|
Dim Mail As New ClsSisMail()
|
||||||
|
|
||||||
|
Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail)
|
||||||
|
LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.ArchivoBinario = File, .NombreArchivo = "EstadoDeCuenta.pdf"})
|
||||||
|
|
||||||
|
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Body, Archivos:=LSRutasMail)
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
#End Region
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
@@ -1,552 +0,0 @@
|
|||||||
|
|
||||||
Imports System.Data
|
|
||||||
Imports Extensiones
|
|
||||||
Imports System.Xml
|
|
||||||
'Imports msExcel = Microsoft.Office.Interop.Excel
|
|
||||||
Imports Microsoft.Reporting.WebForms
|
|
||||||
Partial Class General_SaldosIniciales
|
|
||||||
Inherits ClsPaginas
|
|
||||||
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
|
||||||
If Not IsPostBack Then
|
|
||||||
|
|
||||||
End If
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
|
|
||||||
Protected Sub BtnCargaExcel_Click(sender As Object, e As EventArgs) Handles BtnCargaExcel.Click
|
|
||||||
If TxtExcel.getfiles().Archivos.Count > 0 Then
|
|
||||||
Dim file As Archivo = TxtExcel.getfiles().Archivos(0)
|
|
||||||
Dim Directorio As String = AppDomain.CurrentDomain.BaseDirectory & file.patch
|
|
||||||
Dim Tipo As String = If(file.Extencion.Contiene("xlsx", "xlsx", "xlsm", "xlsb"), "EXCEL", "CSV")
|
|
||||||
CargarArchivo(Directorio, file.filename, Tipo)
|
|
||||||
Else
|
|
||||||
Alert("No existe el archivo.Favor de subir un archivo csv o excel a la plataforma", TipoMensaje.MsgError)
|
|
||||||
End If
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub CargarArchivo(Ruta As String, FileName As String, Tipo As String)
|
|
||||||
Dim dt As New DataTable
|
|
||||||
Dim Conexion As Odbc.OdbcConnection = Nothing
|
|
||||||
Dim ErrorArchivo = False
|
|
||||||
Dim ErrorExcel = False
|
|
||||||
Dim strConnString As String = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + Ruta + FileName + ";Extended Properties=Excel 8.0;"
|
|
||||||
Dim objDbFactory As Common.DbProviderFactory = Common.DbProviderFactories.GetFactory("System.Data.OleDb")
|
|
||||||
Dim objDbAdapter As Common.DbDataAdapter = objDbFactory.CreateDataAdapter()
|
|
||||||
Dim objDbConnection As Common.DbConnection = objDbFactory.CreateConnection()
|
|
||||||
objDbConnection.ConnectionString = strConnString
|
|
||||||
objDbConnection.Open()
|
|
||||||
Dim objSheetNames As DataTable = objDbConnection.GetSchema("Tables")
|
|
||||||
Dim HojaExcel As String = objSheetNames.FiltroPrimeroValor("TABLE_NAME")
|
|
||||||
Try
|
|
||||||
Select Case Tipo
|
|
||||||
Case "CSV"
|
|
||||||
Conexion = New Odbc.OdbcConnection("Driver={Microsoft Access Text Driver (*.txt, *.csv)};Dbq=" + Ruta + ";Extensions=asc,csv,tab,txt;")
|
|
||||||
Conexion.Open()
|
|
||||||
Dim cmd = Conexion.CreateCommand()
|
|
||||||
cmd.CommandType = CommandType.Text
|
|
||||||
cmd.CommandText = $"SELECT * FROM [{FileName}]"
|
|
||||||
Dim DataAdapter = New Odbc.OdbcDataAdapter(cmd)
|
|
||||||
DataAdapter.Fill(dt)
|
|
||||||
Case "EXCEL"
|
|
||||||
Conexion = New Odbc.OdbcConnection("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" + Ruta + FileName + ";")
|
|
||||||
Conexion.Open()
|
|
||||||
Dim cmd = Conexion.CreateCommand()
|
|
||||||
cmd.CommandType = CommandType.Text
|
|
||||||
cmd.CommandText = $"SELECT * FROM [{HojaExcel}]"
|
|
||||||
Dim DataAdapter = New Odbc.OdbcDataAdapter(cmd)
|
|
||||||
DataAdapter.Fill(dt)
|
|
||||||
Case Else
|
|
||||||
Alert("El archivo no tiene el formato correcto", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End Select
|
|
||||||
Catch ex As Exception
|
|
||||||
ErrorArchivo = True
|
|
||||||
OnError("Ocurrio un error al leer el archivo <br/>" & ex.Message, ex)
|
|
||||||
End Try
|
|
||||||
Conexion.Close()
|
|
||||||
If Not ErrorArchivo Then
|
|
||||||
If RblFormato.SelectedValue = "1" Or RblFormato.SelectedValue = "2" Then
|
|
||||||
If Not dt.Columns(0).ColumnName = "Codigo" Then
|
|
||||||
Alert("El nombre de la primera columna debe ser 'Codigo'. Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
If Not dt.Columns(1).ColumnName = "RazonSocial" Then
|
|
||||||
Alert("El nombre de la segunda columna debe ser 'Fecha'.Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
If Not dt.Columns(2).ColumnName = "RFC" Then
|
|
||||||
Alert("El nombre de la tercera columna debe ser 'RFC'.Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
If Not dt.Columns(3).ColumnName = "Calle" Then
|
|
||||||
Alert("El nombre de la cuarta columna debe ser 'Calle'. Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
If Not dt.Columns(4).ColumnName = "Número exterior" Then
|
|
||||||
Alert("El nombre de la quinta columna debe ser 'Número exterior' .Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
If Not dt.Columns(5).ColumnName = "Colonia" Then
|
|
||||||
Alert("El nombre de la sexta columna debe ser 'Colonia'. Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
If Not dt.Columns(6).ColumnName = "Código postal" Then
|
|
||||||
Alert("El nombre de la séptima columna debe ser 'Código postal'.Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
If Not dt.Columns(7).ColumnName = "Población" Then
|
|
||||||
Alert("El nombre de la octava columna debe ser 'Población'. Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
If Not dt.Columns(8).ColumnName = "Estado" Then
|
|
||||||
Alert("El nombre de la novena columna debe ser 'Estado'. Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
If Not dt.Columns(9).ColumnName = "Teléfono" Then
|
|
||||||
Alert("El nombre de la décima columna debe ser 'Teléfono'. Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
If Not dt.Columns(10).ColumnName = "Contacto" Then
|
|
||||||
Alert("El nombre de la onceava columna debe ser 'Contacto'. Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
If Not dt.Columns(11).ColumnName = "Celular Contacto" Then
|
|
||||||
Alert("El nombre de la doceava columna debe ser 'Celular Contacto'. Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
|
|
||||||
ElseIf RblFormato.SelectedValue = "3" Or RblFormato.SelectedValue = "4" Then
|
|
||||||
If Not dt.Columns(0).ColumnName = "Sucursal" Then
|
|
||||||
Alert("El nombre de la primera columna debe ser 'Sucursal'. Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not dt.Columns(1).ColumnName = "RFC" Then
|
|
||||||
Alert("El nombre de la segunda columna debe ser 'RFC'. Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not dt.Columns(2).ColumnName = "Serie" Then
|
|
||||||
Alert("El nombre de la tercera columna debe ser 'Serie'. Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not dt.Columns(3).ColumnName = "Folio" Then
|
|
||||||
Alert("El nombre de la cuarta columna debe ser 'Folio'. Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not dt.Columns(4).ColumnName = "Fecha" Then
|
|
||||||
Alert("El nombre de la quinta columna debe ser 'Fecha'. Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
If Not dt.Columns(5).ColumnName = "SubTotal" Then
|
|
||||||
Alert("El nombre de la sexta columna debe ser 'SubTotal'. Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
If Not dt.Columns(6).ColumnName = "IVA" Then
|
|
||||||
Alert("El nombre de la séptima columna debe ser 'IVA'. Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
If Not dt.Columns(7).ColumnName = "Total" Then
|
|
||||||
Alert("El nombre de la octava columna debe ser 'Total'. Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
If Not dt.Columns(8).ColumnName = "Saldo" Then
|
|
||||||
Alert("El nombre de la novena columna debe ser 'Saldo'. Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
If Not dt.Columns(9).ColumnName = "Tipo Documento" Then
|
|
||||||
Alert("El nombre de la décima columna debe ser 'Tipo Documento'. Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
|
|
||||||
ElseIf RblFormato.SelectedValue = "5" Then
|
|
||||||
|
|
||||||
If Not dt.Columns(0).ColumnName = "Codigo" Then
|
|
||||||
Alert("El nombre de la primera columna debe ser 'Código'. Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not dt.Columns(1).ColumnName = "Descripción" Then
|
|
||||||
Alert("El nombre de la segunda columna debe ser 'Descripcion'. Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not dt.Columns(2).ColumnName = "Marca" Then
|
|
||||||
Alert("El nombre de la tercera columna debe ser 'Serie'. Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not dt.Columns(3).ColumnName = "Código de Barras" Then
|
|
||||||
Alert("El nombre de la cuarta columna debe ser 'Código de Barras'. Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not dt.Columns(4).ColumnName = "Unidad de Medida" Then
|
|
||||||
Alert("El nombre de la quinta columna debe ser 'Unidad de Medida'. Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
If Not dt.Columns(5).ColumnName = "Producto/Servicio" Then
|
|
||||||
Alert("El nombre de la sexta columna debe ser 'Producto/Servicio'. Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
If Not dt.Columns(6).ColumnName = "Clasificación" Then
|
|
||||||
Alert("El nombre de la séptima columna debe ser 'Clasificacion'. Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
If Not dt.Columns(7).ColumnName = "Precio" Then
|
|
||||||
Alert("El nombre de la octava columna debe ser 'Precio'. Favor de corregirlo", TipoMensaje.MsgError)
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
|
||||||
dt.TableName = "Datos"
|
|
||||||
Dim NumRows As Integer = dt.Rows.Count
|
|
||||||
|
|
||||||
If Not ErrorArchivo Then
|
|
||||||
'P R O V E E D O R E S
|
|
||||||
If RblFormato.SelectedValue = "1" Then
|
|
||||||
Dim ObjProv As New ClsCompProveedores
|
|
||||||
Dim ErrorProv As Boolean = False
|
|
||||||
Dim Contador As Integer = 0
|
|
||||||
Dim ExisteProveedor As Boolean = False
|
|
||||||
|
|
||||||
ObjProv.IniciaTransacSQL()
|
|
||||||
For Each Row As DataRow In dt.Rows
|
|
||||||
Dim Codigo As String = Row("Codigo").ToString
|
|
||||||
Dim RazonSocial As String = Row("RazonSocial").ToString
|
|
||||||
Dim RFC As String = Row("RFC").ToString.Trim
|
|
||||||
Dim Calle As String = Row("Calle").ToString
|
|
||||||
Dim NumExt As Decimal = Row("Número exterior").ToString.ToDecimal
|
|
||||||
Dim Colonia As String = Row("Colonia").ToString
|
|
||||||
Dim CodigoPostal As Decimal = Row("Código Postal").ToString.ToDecimal
|
|
||||||
Dim Poblacion As String = Row("Población").ToString
|
|
||||||
Dim Estado As String = Row("Estado").ToString
|
|
||||||
Dim Telefono As String = Row("Teléfono").ToString
|
|
||||||
Dim Contacto As String = Row("Contacto").ToString
|
|
||||||
Dim CelularContacto As String = Row("Celular Contacto").ToString
|
|
||||||
Dim CveProveedor As Integer = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveProveedor", $"RFC = '{RFC}'").ToString.ToEntero
|
|
||||||
|
|
||||||
If CveProveedor > 0 Then
|
|
||||||
ExisteProveedor = True
|
|
||||||
Contador = Contador + 1
|
|
||||||
Else
|
|
||||||
If Not ObjProv.AddProveedor(Codigo, RazonSocial, RazonSocial, RazonSocial, RFC, Calle, Telefono,
|
|
||||||
Contacto, "", Telefono, -1, -1, "", 0, 0, 0, -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "",
|
|
||||||
-1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", 1, -1, "", "", False, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
|
||||||
ErrorProv = True
|
|
||||||
Exit For
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
|
|
||||||
If Not ErrorProv Then
|
|
||||||
ObjProv.Commit()
|
|
||||||
If ObjProv.GetProveedores(ClsCompProveedores.TipoConsulta.ParaGlobalDT, -1, "-1", "-1", "-1", "-1", "-1", "-1", "-1", 1, -1) Then Application("GlobalDTCompProveedores") = ObjProv.DtResultados
|
|
||||||
If Contador > 0 Then
|
|
||||||
Alert(String.Format("Se agregaron: <b>{0}</b> Proveedores correctamente. <br>Se Omitieron: <b>{1}</b> Clientes ya que ya se encontraban registrados.", NumRows - Contador, Contador), TipoMensaje.MsgInformacion)
|
|
||||||
Else
|
|
||||||
Alert(String.Format("Se agregaron: <b>{0}</b> Proveedores correctamente.", NumRows), TipoMensaje.MsgInformacion)
|
|
||||||
End If
|
|
||||||
TxtExcel.Text = ""
|
|
||||||
UpDatos.Update()
|
|
||||||
Else
|
|
||||||
ObjProv.RollBack()
|
|
||||||
End If
|
|
||||||
ObjProv.Dispose()
|
|
||||||
|
|
||||||
' C L I E N T E S
|
|
||||||
ElseIf RblFormato.SelectedValue = "2" Then
|
|
||||||
Dim ObjClientes As New ClsClientes
|
|
||||||
Dim ErrorClientes As Boolean = False
|
|
||||||
Dim ExisteCliente As Boolean = False
|
|
||||||
Dim Contador As Integer = 0
|
|
||||||
ObjClientes.IniciaTransacSQL()
|
|
||||||
For Each Row As DataRow In dt.FiltraParametros("RFC <> ''").Rows
|
|
||||||
Dim Codigo As String = Row("Codigo").ToString
|
|
||||||
Dim RazonSocial As String = Row("RazonSocial").ToString
|
|
||||||
Dim RFC As String = Row("RFC").ToString.Trim
|
|
||||||
Dim Calle As String = Row("Calle").ToString
|
|
||||||
Dim NumExt As Decimal = Row("Número exterior").ToString.ToDecimal
|
|
||||||
Dim Colonia As String = Row("Colonia").ToString
|
|
||||||
Dim CodigoPostal As Decimal = Row("Código Postal").ToString.ToDecimal
|
|
||||||
Dim Poblacion As String = Row("Población").ToString
|
|
||||||
Dim Estado As String = Row("Estado").ToString
|
|
||||||
Dim Telefono As String = Row("Teléfono").ToString
|
|
||||||
Dim Contacto As String = Row("Contacto").ToString
|
|
||||||
Dim CelularContacto As String = Row("Celular Contacto").ToString
|
|
||||||
Dim CveCliente As Integer = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveCliente", $"RFC = '{RFC}'").ToString.ToEntero
|
|
||||||
|
|
||||||
If CveCliente > 0 Then
|
|
||||||
ExisteCliente = True
|
|
||||||
Contador = Contador + 1
|
|
||||||
Else
|
|
||||||
If Not ObjClientes.AddCliente(RazonSocial, RazonSocial, Calle, "", "", Colonia, "", "", Estado, RFC, CodigoPostal, "", "", Contacto, "", "", "", "", -1, False, 1, -1, -1, False, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, "", -1, -1, -1,
|
|
||||||
"-1", "-1", "", 0, "", 0, "0", -1, "0", 0, "", 0, "", 0, "", 0, "", "", "", "", 0, "", 1, False, "", "", "", False, "", "", "", "", "", False, "", "", "", False) Then
|
|
||||||
ErrorClientes = True
|
|
||||||
RFC.GuardaLog
|
|
||||||
Exit For
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
|
|
||||||
If Not ErrorClientes Then
|
|
||||||
ObjClientes.Commit()
|
|
||||||
If ObjClientes.GetClientes(-1, "-1", "-1", "-1", "-1", "-1", "-1", -1, -1) Then Application("GlobalDTCliente") = ObjClientes.DtResultados
|
|
||||||
If Contador > 0 Then
|
|
||||||
Alert(String.Format("Se agregaron: <b>{0}</b> Clientes correctamente. <br>Se Omitieron: <b>{1}</b> Clientes ya que ya se encontraban registrados.", NumRows - Contador, Contador), TipoMensaje.MsgInformacion)
|
|
||||||
Else
|
|
||||||
Alert(String.Format("Se agregaron: <b>{0}</b> Clientes correctamente.", NumRows), TipoMensaje.MsgInformacion)
|
|
||||||
End If
|
|
||||||
TxtExcel.Text = ""
|
|
||||||
UpDatos.Update()
|
|
||||||
Else
|
|
||||||
ObjClientes.RollBack()
|
|
||||||
End If
|
|
||||||
ObjClientes.Dispose()
|
|
||||||
|
|
||||||
'P R O V E E D O R E S - F A C T U R A S
|
|
||||||
ElseIf RblFormato.SelectedValue = "3" Then
|
|
||||||
Dim ObjCompras As New ClsCompras
|
|
||||||
Dim ErrorCompras As Boolean = False
|
|
||||||
Dim ObjConta As New ClsContabilidad(ObjCompras.IniciaTransacSQL())
|
|
||||||
Dim CveCompra As Integer
|
|
||||||
Dim Contador As Integer = 0
|
|
||||||
Dim ExisteCompra As Boolean = False
|
|
||||||
Dim DtProveedores = New DataTable
|
|
||||||
DtProveedores = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
|
|
||||||
|
|
||||||
For Each Row As DataRow In dt.Rows
|
|
||||||
Dim Sucursal As String = Row("Sucursal").ToString
|
|
||||||
Dim RFC As String = Row("RFC").ToString.Trim
|
|
||||||
Dim Serie As String = Row("Serie").ToString
|
|
||||||
Dim Folio As Integer = Row("Folio").ToString.ToEntero
|
|
||||||
Dim Fecha As Date = Row("Fecha").ToString.ToDate
|
|
||||||
Dim SubTotal As Double = Row("SubTotal").ToString.ToDouble
|
|
||||||
Dim IVA As Double = Row("IVA").ToString.ToDouble
|
|
||||||
Dim Total As Double = Row("Total").ToString.ToDouble
|
|
||||||
Dim Saldo As Double = Row("Saldo").ToString.ToDouble
|
|
||||||
Dim TipoDocto As String = Row("Tipo Documento").ToString
|
|
||||||
Dim CveProveedor As Integer = DtProveedores.FiltroPrimeroValor("CveProveedor", $"RFC = '{RFC}'").ToString.ToEntero
|
|
||||||
Dim CvePS As Integer = GlobalDTProductosServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePS").ToString.ToEntero
|
|
||||||
Dim CveUnidadMedida As Integer = GlobalDTProductosServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveUnidadMedida").ToString.ToEntero
|
|
||||||
|
|
||||||
If Not CvePS > 0 Then Alert(String.Format("No se encontró el Producto Servicio"), TipoMensaje.MsgError) : ErrorCompras = True
|
|
||||||
If Not CveUnidadMedida > 0 Then Alert(String.Format("No se encontró la Unidad de Medida."), TipoMensaje.MsgError) : ErrorCompras = True
|
|
||||||
If Not CveProveedor > 0 Then Alert(String.Format("No se encontró el Proveedor con el RFC: {0}", {RFC}), TipoMensaje.MsgError) : ErrorCompras = True : Exit For
|
|
||||||
TipoDocto = IIf(TipoDocto = "Ingresos", "Fac", "NC")
|
|
||||||
|
|
||||||
'PrePóliza
|
|
||||||
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Compras/SaldoInicial", 1, Total, Total, 1, Fecha, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
|
||||||
If Not CvePrePoliza > 0 Then ErrorCompras = True : Exit For
|
|
||||||
|
|
||||||
'Compra
|
|
||||||
If Not ObjCompras.AddCompra(TipoDocto, "", Serie, Folio, Folio, CveProveedor.ToEntero, SubTotal, 0, 0, IVA, 0, 0, 0, 0, 0, Total, Fecha, 1, 1, "-1".ToDate,
|
|
||||||
True, "", 1, CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
|
||||||
ErrorCompras = True
|
|
||||||
Exit For
|
|
||||||
End If
|
|
||||||
CveCompra = ObjCompras.CveCompra
|
|
||||||
|
|
||||||
'Compra Detalle
|
|
||||||
If Not ObjCompras.AddCompraDetalle(CveCompra, CveUnidadMedida, CvePS, -1, -1, 0, 1, SubTotal, 0.16, SubTotal, 0, "Carga Inicial", -1) Then
|
|
||||||
ErrorCompras = True
|
|
||||||
Exit For
|
|
||||||
End If
|
|
||||||
|
|
||||||
'PrePólizaDetalle
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Total, Folio, IIf(TipoDocto = "Fac", 5, 18), String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor) Then ErrorCompras = True : Exit For
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, SubTotal, Folio, 6, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor) Then ErrorCompras = True : Exit For
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, IVA, Folio, 14, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor) Then ErrorCompras = True : Exit For
|
|
||||||
|
|
||||||
'Saldo
|
|
||||||
If Saldo < Total Then
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total - Saldo, Folio, 17, Folio, Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor) Then ErrorCompras = True : Exit For
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Total - Saldo, Folio, 95, Folio, Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor) Then ErrorCompras = True : Exit For
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
Next
|
|
||||||
If Not ErrorCompras Then
|
|
||||||
If Contador > 0 Then
|
|
||||||
Alert(String.Format("Se agregaron: <b>{0}</b> Compras correctamente.<br>Se Omitieron: <b>{1}</b> Compras ya que ya se encuentran registradas.", NumRows - Contador, Contador), TipoMensaje.MsgInformacion)
|
|
||||||
Else
|
|
||||||
Alert(String.Format("Se agregaron: <b>{0}</b> Compras correctamente.", NumRows), TipoMensaje.MsgInformacion)
|
|
||||||
End If
|
|
||||||
Alert(String.Format("Se agregaron: <b>{0}</b> Compras correctamente.", NumRows), TipoMensaje.MsgInformacion)
|
|
||||||
ObjCompras.Commit()
|
|
||||||
TxtExcel.Text = ""
|
|
||||||
UpDatos.Update()
|
|
||||||
Else
|
|
||||||
ObjCompras.RollBack()
|
|
||||||
End If
|
|
||||||
ObjCompras.Dispose()
|
|
||||||
|
|
||||||
'C L I E N T E S - F A C T U R A S
|
|
||||||
ElseIf RblFormato.SelectedValue = "4" Then
|
|
||||||
Dim ObjVentas As New ClsVentas
|
|
||||||
Dim ObjConta As New ClsContabilidad(ObjVentas.IniciaTransacSQL())
|
|
||||||
Dim ErrorVentas As Boolean = False
|
|
||||||
Dim CveVenta As Integer
|
|
||||||
Dim DtClientes = New DataTable
|
|
||||||
' Dim ExisteVenta As Boolean = False
|
|
||||||
'Dim Contador As Integer = 0
|
|
||||||
DtClientes = GlobalDTCliente(UsuarioActual.CveEmpresa)
|
|
||||||
|
|
||||||
Dim CveSucursal As Integer = GlobalDTSucursales(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSucursal").ToString.ToEntero
|
|
||||||
Dim CvePS As Integer = GlobalDTProductosServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePS").ToString.ToEntero
|
|
||||||
Dim CveUnidadMedida As Integer = GlobalDTProductosServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveUnidadMedida").ToString.ToEntero
|
|
||||||
|
|
||||||
If Not CvePS > 0 Then Alert(String.Format("No se encontró el Producto Servicio"), TipoMensaje.MsgError) : ErrorVentas = True
|
|
||||||
If Not CveSucursal > 0 Then Alert("No se encontró la sucursal.", TipoMensaje.MsgError) : ErrorVentas = True
|
|
||||||
If Not CveUnidadMedida > 0 Then Alert(String.Format("No se encontró la Unidad de Medida."), TipoMensaje.MsgError) : ErrorVentas = True
|
|
||||||
|
|
||||||
For Each Row As DataRow In dt.Rows
|
|
||||||
Dim Sucursal As String = Row("Sucursal").ToString
|
|
||||||
Dim TipoDocto As String = Row("Tipo Documento").ToString
|
|
||||||
Dim RFC As String = Row("RFC").ToString.Trim
|
|
||||||
Dim Serie As String = Row("Serie").ToString
|
|
||||||
Dim Folio As Integer = Row("Folio").ToString.ToEntero
|
|
||||||
Dim Fecha As Date = Row("Fecha").ToString.ToDate
|
|
||||||
Dim SubTotal As Double = Row("SubTotal").ToString.ToDouble
|
|
||||||
Dim IVA As Double = Row("IVA").ToString.ToDouble
|
|
||||||
Dim Total As Double = Row("Total").ToString.ToDouble
|
|
||||||
Dim Saldo As Double = Row("Saldo").ToString.ToDouble
|
|
||||||
Dim CveCliente As Integer = DtClientes.FiltroPrimeroValor("CveCliente", $"RFC = '{RFC}'").ToString.ToEntero
|
|
||||||
|
|
||||||
If Not CveCliente > 0 Then Alert(String.Format("No se encontró el cliente con el RFC: {0}", {RFC}), TipoMensaje.MsgError) : ErrorVentas = True : RFC.GuardaLog : Exit For
|
|
||||||
TipoDocto = IIf(TipoDocto = "Ingresos", "Ing", "Egs")
|
|
||||||
'PrePóliza
|
|
||||||
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Venta/SaldoIncial", 1, Total, Total, 1, Fecha, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
|
||||||
If Not CvePrePoliza > 0 Then ErrorVentas = True : Exit For
|
|
||||||
|
|
||||||
'Venta
|
|
||||||
If Not ObjVentas.AddVenta(TipoDocto, Folio, CveCliente.ToEntero, -1, SubTotal, 0, 0, IVA, 0, 0, Total, 1, 1,
|
|
||||||
0, 0, 0, Fecha, Fecha, "", "", Fecha, 0, CveSucursal, CveSucursal, "", "", "", 0, 0, 0, "-1".ToDate, "-1".ToDate, "-1".ToDate, -1, -1, 0, CvePrePoliza,
|
|
||||||
UsuarioActual.CveUsuario, CveSucursal, UsuarioActual.CveEmpresa, Serie:=Serie) Then
|
|
||||||
ErrorVentas = True
|
|
||||||
Exit For
|
|
||||||
End If
|
|
||||||
CveVenta = ObjVentas.CveVenta
|
|
||||||
|
|
||||||
If Not ObjVentas.AddVentaDetalle(CveVenta, CvePS, 1, CveUnidadMedida, SubTotal, 0.16, SubTotal, "Saldo Inicial", 0, 0, -1, 0) Then
|
|
||||||
ErrorVentas = True
|
|
||||||
Exit For
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
'PrePólizaDetalle
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SubTotal, Folio, 4, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveClasificacion:=1) Then ErrorVentas = True : Exit For
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Total, Folio, 1, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveVenta:=CveVenta, CveCliente:=CveCliente) Then ErrorVentas = True : Exit For
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, IVA, Folio, 13, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveVenta:=CveVenta, CveCliente:=CveCliente) Then ErrorVentas = True : Exit For
|
|
||||||
|
|
||||||
'Saldo
|
|
||||||
If Saldo < Total Then
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Total - Saldo, Folio, 2, Folio, Fecha, -1, -1, CveVenta:=CveVenta, CveCliente:=CveCliente) Then ErrorVentas = True : Exit For
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total - Saldo, Folio, 95, Folio, Fecha, -1, -1, CveVenta:=CveVenta, CveCliente:=CveCliente) Then ErrorVentas = True : Exit For
|
|
||||||
End If
|
|
||||||
|
|
||||||
Next
|
|
||||||
If Not ErrorVentas Then
|
|
||||||
Alert(String.Format("Se agregaron: <b>{0}</b> Ventas correctamente.", NumRows), TipoMensaje.MsgInformacion)
|
|
||||||
ObjVentas.Commit()
|
|
||||||
TxtExcel.Text = ""
|
|
||||||
UpDatos.Update()
|
|
||||||
Else
|
|
||||||
ObjVentas.RollBack()
|
|
||||||
End If
|
|
||||||
ObjVentas.Dispose()
|
|
||||||
|
|
||||||
|
|
||||||
'P R O D U C T O S / S E R V I C I O S
|
|
||||||
ElseIf RblFormato.SelectedValue = "5" Then
|
|
||||||
Dim ObjPS As New ClsProductosServicios
|
|
||||||
Dim ErrorPS As Boolean = False
|
|
||||||
Dim ExistePS As Boolean = False
|
|
||||||
Dim Contador As Integer = 0
|
|
||||||
' ObjPS.IniciaTransacSQL()
|
|
||||||
|
|
||||||
For Each Row As DataRow In dt.Rows
|
|
||||||
Dim Codigo As String = Row("Codigo").ToString
|
|
||||||
Dim Descripcion As String = Row("Descripcion").ToString
|
|
||||||
Dim TipoPS As String = Row("Tipo").ToString.Trim
|
|
||||||
Dim CodigoBarras As String = Row("Código Barras").ToString
|
|
||||||
Dim UnidadMedida As String = Row("Unidad Medida").ToString
|
|
||||||
Dim Clasificacion As String = Row("Clasificacion").ToString
|
|
||||||
Dim Marca As Decimal = Row("Marca").ToString.ToDecimal
|
|
||||||
Dim AplicaSerie As String = Row("AplicaSerie").ToString
|
|
||||||
Dim Precio As String = Row("Precio").ToString
|
|
||||||
Dim IEPS As String = Row("IEPS").ToString
|
|
||||||
Dim CvePS As Integer = GlobalDTProductosServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePS", $"Codigo = '{Codigo}'").ToString.ToEntero
|
|
||||||
|
|
||||||
If CvePS > 0 Then
|
|
||||||
ExistePS = True
|
|
||||||
Contador = Contador + 1
|
|
||||||
Else
|
|
||||||
If Not ObjPS.AddPS(1, 1, 1, Codigo, "", "", Descripcion, Precio, 0, 0, False, True, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, 1) Then
|
|
||||||
ErrorPS = True
|
|
||||||
Codigo.GuardaLog
|
|
||||||
Exit For
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
|
|
||||||
If Not ErrorPS Then
|
|
||||||
'ObjPS.Commit()
|
|
||||||
If ObjPS.GetPS(-1, -1, -1) Then Application("GlobalDTProductosServicios") = ObjPS.DtResultados.AsEnumerable()
|
|
||||||
If Contador > 0 Then
|
|
||||||
Alert(String.Format("Se agregaron: <b>{0}</b> Productos/Servicios correctamente. <br>Se Omitieron: <b>{1}</b> Productos/Servicios ya que ya se encontraban registrados.", NumRows - Contador, Contador), TipoMensaje.MsgInformacion)
|
|
||||||
Else
|
|
||||||
Alert(String.Format("Se agregaron: <b>{0}</b> Productos/Servicios correctamente.", NumRows), TipoMensaje.MsgInformacion)
|
|
||||||
End If
|
|
||||||
TxtExcel.Text = ""
|
|
||||||
UpDatos.Update()
|
|
||||||
Else
|
|
||||||
'ObjPS.RollBack()
|
|
||||||
End If
|
|
||||||
ObjPS.Dispose()
|
|
||||||
|
|
||||||
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Protected Sub BtnDescargar_Click(sender As Object, e As EventArgs) Handles BtnDescargar.Click
|
|
||||||
Dim Directorio As String = ""
|
|
||||||
If RblFormato.SelectedValue = "1" Then
|
|
||||||
Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoProveedores.xlsx"
|
|
||||||
ElseIf RblFormato.SelectedValue = "2" Then
|
|
||||||
Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoClientes.xlsx"
|
|
||||||
ElseIf RblFormato.SelectedValue = "3" Then
|
|
||||||
Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoProveedores-Facturas.xlsx"
|
|
||||||
ElseIf RblFormato.SelectedValue = "4" Then
|
|
||||||
Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoClientes-Facturas.xlsx"
|
|
||||||
End If
|
|
||||||
|
|
||||||
Dim Archivo As New IO.FileInfo(Directorio)
|
|
||||||
If Archivo.Exists Then
|
|
||||||
Response.Clear()
|
|
||||||
Response.ClearHeaders()
|
|
||||||
Response.ClearContent()
|
|
||||||
Response.AddHeader("Content-Disposition", "attachment; filename=" + Archivo.Name)
|
|
||||||
Response.AddHeader("Content-Length", Archivo.Length.ToString())
|
|
||||||
Response.ContentType = "text/plain"
|
|
||||||
Response.Flush()
|
|
||||||
Response.TransmitFile(Archivo.FullName)
|
|
||||||
Response.End()
|
|
||||||
End If
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
End Class
|
|
||||||
@@ -816,19 +816,24 @@ Partial Class General_SaldosIniciales
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
Else
|
Else
|
||||||
If ObjPS.AddPS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", CodigoBarras, Descripcion, Precio, 0, 0, False, 0, False, True, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, 1,
|
|
||||||
CveTipoPS:=CveTipoPS, CveSATPS:=CveSATPS, CveMarca:=CveMarca, CveTamaño:=CveTamaño, CveMedida:=CveMedida, CveRinTamaño:=CveRinTamaño,
|
If Codigo.Length > 0 Then
|
||||||
CveModelo:=CveModelo, Litraje:=Litraje, IEPSPorcentaje:=IEPS, CveClasificacion2:=CveClasificacion2) <= 0 Then
|
|
||||||
'If ObjPS.AddPS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", "", Descripcion, 0, 0, 0, False, 0, False, True, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, 1,
|
If ObjPS.AddPS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", CodigoBarras, Descripcion, Precio, 0, 0, False, 0, False, True, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, 1,
|
||||||
' CveTipoPS:=CveTipoPS, CveSATPS:=CveSATPS, CveMarca:=CveMarca, CveTamaño:=CveTamaño, CveMedida:=CveMedida) <= 0 Then
|
CveTipoPS:=CveTipoPS, CveSATPS:=CveSATPS, CveMarca:=CveMarca, CveTamaño:=CveTamaño, CveMedida:=CveMedida, CveRinTamaño:=CveRinTamaño,
|
||||||
ErrorPS = True
|
CveModelo:=CveModelo, Litraje:=Litraje, IEPSPorcentaje:=IEPS, CveClasificacion2:=CveClasificacion2) <= 0 Then
|
||||||
Codigo.GuardaLog
|
'If ObjPS.AddPS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", "", Descripcion, 0, 0, 0, False, 0, False, True, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, 1,
|
||||||
Exit For
|
' CveTipoPS:=CveTipoPS, CveSATPS:=CveSATPS, CveMarca:=CveMarca, CveTamaño:=CveTamaño, CveMedida:=CveMedida) <= 0 Then
|
||||||
Else
|
ErrorPS = True
|
||||||
If ObjPS.GetPS(-1, -1, UsuarioActual.CveEmpresa) Then
|
Codigo.GuardaLog
|
||||||
DTPS = ObjPS.DtResultados
|
Exit For
|
||||||
End If
|
Else
|
||||||
End If
|
If ObjPS.GetPS(-1, -1, UsuarioActual.CveEmpresa) Then
|
||||||
|
DTPS = ObjPS.DtResultados
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ Imports Microsoft.Reporting.WebForms
|
|||||||
Imports System.Security.Cryptography.X509Certificates
|
Imports System.Security.Cryptography.X509Certificates
|
||||||
Imports System.Globalization
|
Imports System.Globalization
|
||||||
Imports System.Net.Http
|
Imports System.Net.Http
|
||||||
|
Imports Newtonsoft.Json.Linq
|
||||||
|
|
||||||
Partial Class Ventas
|
Partial Class Ventas
|
||||||
Inherits ClsPaginas
|
Inherits ClsPaginas
|
||||||
@@ -6733,13 +6734,11 @@ Partial Class Ventas
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
'ENVIAR POLIZA VIRTUAL
|
'ENVIAR POLIZA VIRTUAL
|
||||||
If ErrorList.Count = 0 Then
|
'If ErrorList.Count = 0 Then
|
||||||
If UsuarioActual.Empresa.Funcionalidad(576) = "1" Then
|
' If UsuarioActual.Empresa.Funcionalidad(576) = "1" Then
|
||||||
If Not GeneraPolizaVentaWS(ObjVentas, ObjFactura) Then
|
' GeneraPolizaVentaWS(ObjFactura)
|
||||||
ErrorList.Add("Ocurrió un error al registrar los movimientos de almacén del contrato de consignación")
|
' End If
|
||||||
End If
|
'End If
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
If ObjFactura.CveVenta > 0 AndAlso ErrorList.Count = 0 Then
|
If ObjFactura.CveVenta > 0 AndAlso ErrorList.Count = 0 Then
|
||||||
|
|
||||||
@@ -15309,7 +15308,6 @@ Partial Class Ventas
|
|||||||
If UsuarioActual.Empresa.Funcionalidad(575) = "1" Then
|
If UsuarioActual.Empresa.Funcionalidad(575) = "1" Then
|
||||||
'Le damos salida normal
|
'Le damos salida normal
|
||||||
If ConSalida Then
|
If ConSalida Then
|
||||||
|
|
||||||
GeneroMovimientoAlmacen = GenerarMovimientoAlmacen(ObjInventario, MovDetalle, CveAlmacenSalida, 40, CveMoneda, CveRemision, AplicaMovimientoDetalleEntrada:=AplicaMovimientoDetalleEntrada, MovimientoPrePoliza:=True, ObjConta:=ObjConta) > 0
|
GeneroMovimientoAlmacen = GenerarMovimientoAlmacen(ObjInventario, MovDetalle, CveAlmacenSalida, 40, CveMoneda, CveRemision, AplicaMovimientoDetalleEntrada:=AplicaMovimientoDetalleEntrada, MovimientoPrePoliza:=True, ObjConta:=ObjConta) > 0
|
||||||
|
|
||||||
If Not GeneroMovimientoAlmacen Then
|
If Not GeneroMovimientoAlmacen Then
|
||||||
@@ -15319,14 +15317,9 @@ Partial Class Ventas
|
|||||||
|
|
||||||
If UsuarioActual.Empresa.Funcionalidad(573) = "1" Then
|
If UsuarioActual.Empresa.Funcionalidad(573) = "1" Then
|
||||||
If Not GeneroMovimientoAlmacen Then
|
If Not GeneroMovimientoAlmacen Then
|
||||||
GeneroMovimientoAlmacen = GenerarMovimientoAlmacenVirtual(ObjInventario, ObjFactura) > 0
|
OcurrioError = Not GenerarMovimientoAlmacenVirtual(CveRemision, ObjInventario, ObjFactura)
|
||||||
|
|
||||||
If Not GeneroMovimientoAlmacen Then
|
|
||||||
OcurrioError = True
|
|
||||||
End If
|
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
'Le damos salida de apartado por traspaso
|
'Le damos salida de apartado por traspaso
|
||||||
@@ -15351,12 +15344,7 @@ Partial Class Ventas
|
|||||||
If ConSalida AndAlso Not OcurrioError Then
|
If ConSalida AndAlso Not OcurrioError Then
|
||||||
|
|
||||||
If UsuarioActual.Empresa.Funcionalidad(573) = "1" Then
|
If UsuarioActual.Empresa.Funcionalidad(573) = "1" Then
|
||||||
|
OcurrioError = Not GenerarMovimientoAlmacenVirtual(CveRemision, ObjInventario, ObjFactura)
|
||||||
GeneroMovimientoAlmacen = GenerarMovimientoAlmacenVirtual(ObjInventario, ObjFactura) > 0
|
|
||||||
|
|
||||||
If Not GeneroMovimientoAlmacen Then
|
|
||||||
OcurrioError = True
|
|
||||||
End If
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If Not OcurrioError Then
|
If Not OcurrioError Then
|
||||||
@@ -15612,119 +15600,61 @@ Partial Class Ventas
|
|||||||
'Return Not OcurrioError
|
'Return Not OcurrioError
|
||||||
|
|
||||||
End Function
|
End Function
|
||||||
Private Function GenerarMovimientoAlmacenVirtual(ByRef ObjInventario As ClsInventarios, ObjFactura As Modelos.Factura) As Integer
|
Private Function GenerarMovimientoAlmacenVirtual(CveRemision As Integer, ByRef ObjInventario As ClsInventarios, ObjFactura As Modelos.Factura) As Boolean
|
||||||
Dim OcurrioError As Boolean = False
|
Dim OcurrioError As Boolean = False
|
||||||
Dim CveMovimientoVirtual As Integer = -1
|
|
||||||
|
|
||||||
Dim DtPSVirtual As New DataTable("DtTamanios")
|
Try
|
||||||
DtPSVirtual.Columns.Add(New DataColumn("CvePS", GetType(Integer)))
|
Dim CveMovimientoVirtual As Integer = -1
|
||||||
DtPSVirtual.Columns.Add(New DataColumn("Cantidad", GetType(Decimal)))
|
Dim CveAlmacenVirtual As Integer = -1
|
||||||
DtPSVirtual.Columns.Add(New DataColumn("PU", GetType(Decimal)))
|
Dim CveConceptoMovimientoVirtual As Integer = 3
|
||||||
DtPSVirtual.Columns.Add(New DataColumn("CveUM", GetType(Integer)))
|
Dim DtPSVirtual As DataTable = Nothing
|
||||||
|
Dim DtTamanios As DataTable = Nothing
|
||||||
|
Dim CveMovimientoEntradaDev As Integer = -1
|
||||||
|
|
||||||
Dim DtTamanios As DataTable = Nothing
|
If ObjInventario.GetInv_Mov(CveRemision, UsuarioActual.CveEmpresa) Then
|
||||||
Dim ObjAcumuladores As New ClsAcumuladores
|
Dim RowMovimiento As DataRow = ObjInventario.DtResultados.FiltroPrimero("CvePS IS NULL AND CveTipoAlmacen = 24 AND CveConcepto = 2 AND CveVenta > 0")
|
||||||
If ObjAcumuladores.TamañoGet(-1, UsuarioActual.CveEmpresa) Then
|
|
||||||
DtTamanios = ObjAcumuladores.DtResultados.Copy()
|
|
||||||
End If
|
|
||||||
ObjAcumuladores.Dispose()
|
|
||||||
|
|
||||||
Dim CveConceptoMovimientoVirtual As Integer = 3
|
CveMovimientoEntradaDev = RowMovimiento("CveMovimiento").ToString().ToEntero()
|
||||||
Dim CveAlmacenVirtual As Integer = -1
|
CveAlmacenVirtual = RowMovimiento("CveAlmacen").ToString().ToEntero()
|
||||||
|
|
||||||
For Each GvRow As DataRow In ObjFactura.DtDetalle.Rows
|
|
||||||
For Each Tam As DataRow In DtTamanios.Rows
|
|
||||||
If Tam("CveTamaño").ToString() = GvRow("CveTamaño").ToString() Then
|
|
||||||
Dim CvePSCargo = Tam("CvePSCargo").ToString().ToEntero()
|
|
||||||
Dim Row As DataRow = DtPSVirtual.NewRow()
|
|
||||||
|
|
||||||
Row("CvePS") = CvePSCargo
|
|
||||||
Row("Cantidad") = GvRow("Cantidad").ToString().ToDecimal()
|
|
||||||
Row("PU") = 0
|
|
||||||
Row("CveUM") = GvRow("CveUM").ToString().ToEntero()
|
|
||||||
|
|
||||||
DtPSVirtual.Rows.Add(Row)
|
|
||||||
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
Next
|
|
||||||
CveAlmacenVirtual = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 24).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={ObjFactura.CveSubProyecto}").ToEntero()
|
|
||||||
|
|
||||||
If DtPSVirtual IsNot Nothing AndAlso DtPSVirtual.Rows.Count > 0 AndAlso CveAlmacenVirtual > 0 Then
|
|
||||||
CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirtual, CveConceptoMovimientoVirtual, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, ObjFactura.CveVenta, -1, -1, Modulo:="Vta/E")
|
|
||||||
|
|
||||||
If CveMovimientoVirtual > 0 Then
|
|
||||||
For Each RowUsado As DataRow In DtPSVirtual.Rows
|
|
||||||
Dim CvePS = RowUsado("CvePS").ToString().ToEntero()
|
|
||||||
Dim CantidadUsado As Double = RowUsado("Cantidad").ToString().ToDouble()
|
|
||||||
Dim PU As Double = RowUsado("PU").ToString().ToDouble()
|
|
||||||
Dim CveUM As Integer = RowUsado("CveUM").ToString().ToEntero()
|
|
||||||
|
|
||||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtual, CantidadUsado, CveUM, CvePS, PU, -1) Then
|
|
||||||
OcurrioError = True
|
|
||||||
Exit For
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
Else
|
Else
|
||||||
OcurrioError = True
|
OcurrioError = True
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Else
|
'CARGA CONCEPTOS DEVUELTOS EN LA VENTA
|
||||||
|
If ObjInventario.GetMovimientosDetalle(CveMovimientoEntradaDev, UsuarioActual.CveEmpresa) Then
|
||||||
|
DtPSVirtual = ObjInventario.DtResultados.Copy()
|
||||||
|
Else
|
||||||
|
OcurrioError = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Not OcurrioError AndAlso DtPSVirtual.Rows.Count > 0 Then
|
||||||
|
|
||||||
|
CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirtual, CveConceptoMovimientoVirtual, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, ObjFactura.CveVenta, -1, -1, Modulo:="Vta/V")
|
||||||
|
|
||||||
|
If CveMovimientoVirtual > 0 Then
|
||||||
|
For Each RowUsado As DataRow In DtPSVirtual.Rows
|
||||||
|
Dim CvePS = RowUsado("CvePS").ToString().ToEntero()
|
||||||
|
Dim CantidadUsado As Double = RowUsado("Cantidad").ToString().ToDouble()
|
||||||
|
Dim PU As Double = RowUsado("PU").ToString().ToDouble()
|
||||||
|
Dim CveUM As Integer = RowUsado("CveUM").ToString().ToEntero()
|
||||||
|
|
||||||
|
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtual, CantidadUsado, CveUM, CvePS, PU, -1) Then
|
||||||
|
OcurrioError = True
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
Else
|
||||||
|
OcurrioError = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
OnError("Ocurrió un error al generar el almacen virtual.", ex)
|
||||||
OcurrioError = True
|
OcurrioError = True
|
||||||
End If
|
End Try
|
||||||
|
|
||||||
If DtPSVirtual.Rows.Count = 0 Then
|
Return Not OcurrioError
|
||||||
OcurrioError = True
|
|
||||||
End If
|
|
||||||
|
|
||||||
'Dim ContadorMovtosDetalles = 0
|
|
||||||
|
|
||||||
'Dim DtMovDetalle As DataTable = Nothing
|
|
||||||
'If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
|
|
||||||
' DtMovDetalle = ObjInventario.DtResultados.Copy()
|
|
||||||
'End If
|
|
||||||
|
|
||||||
''Creamos el movimiento
|
|
||||||
'Dim CveMovimientoInventario As Integer = ObjInventario.AddMovimiento(CveAlmacen, 2, CveMoneda, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVenta, -1, -1, CveMovimientoRelacionado:=CveMovimientoSalida)
|
|
||||||
|
|
||||||
'If CveMovimientoInventario > 0 Then
|
|
||||||
|
|
||||||
' 'Agregamos los detalles
|
|
||||||
' For Each MovDet As DataRow In DtMovDetalle.Rows
|
|
||||||
' Dim Cantidad = MovDet("Cantidad").ToString.ToDecimal
|
|
||||||
' Dim CveUnidad As Integer = MovDet("CveUM").ToString.ToEntero
|
|
||||||
' Dim PU As Decimal = MovDet("PU").ToString.ToDecimal
|
|
||||||
' Dim CveProducto As Integer = MovDet("CvePS").ToString.ToEntero
|
|
||||||
' Dim SerieLote As String = MovDet("SerieLote").ToString
|
|
||||||
|
|
||||||
' If Cantidad < 0 Then
|
|
||||||
' Alert("Ocurrió un Error al generar los movimientos de almacén. Por favor comuniquese con atención SIG.", TipoMensaje.MsgError)
|
|
||||||
' OcurrioError = True
|
|
||||||
' Exit For
|
|
||||||
' End If
|
|
||||||
|
|
||||||
' If ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, Cantidad, CveUnidad, CveProducto, PU, -1, SerieLote:=SerieLote) Then
|
|
||||||
' ContadorMovtosDetalles += 1
|
|
||||||
' Else
|
|
||||||
' OcurrioError = True
|
|
||||||
' Exit For
|
|
||||||
' End If
|
|
||||||
' Next
|
|
||||||
|
|
||||||
' 'VALIDA QUE SE HALLAN AGREGADO DETALLES AL MOVIMIENTO
|
|
||||||
' If ContadorMovtosDetalles = 0 Then
|
|
||||||
' OcurrioError = True
|
|
||||||
' End If
|
|
||||||
|
|
||||||
'Else
|
|
||||||
' OcurrioError = True
|
|
||||||
'End If
|
|
||||||
|
|
||||||
If OcurrioError Then
|
|
||||||
Return -1
|
|
||||||
Else
|
|
||||||
Return CveMovimientoVirtual
|
|
||||||
End If
|
|
||||||
|
|
||||||
End Function
|
End Function
|
||||||
Private Function SalidaAlmacenMateriales(ByRef ObjInventario As ClsInventarios, CveOS As Integer, ByRef ObjConta As ClsContabilidad, ConSalida As Boolean, ConceptoMovimiento As Integer) As Boolean
|
Private Function SalidaAlmacenMateriales(ByRef ObjInventario As ClsInventarios, CveOS As Integer, ByRef ObjConta As ClsContabilidad, ConSalida As Boolean, ConceptoMovimiento As Integer) As Boolean
|
||||||
@@ -23810,12 +23740,13 @@ Partial Class Ventas
|
|||||||
CargaRNC()
|
CargaRNC()
|
||||||
RegistraScript("$('#ModalAplicarRemisionesNC').modal({backdrop: 'static', keyboard: false });")
|
RegistraScript("$('#ModalAplicarRemisionesNC').modal({backdrop: 'static', keyboard: false });")
|
||||||
End Sub
|
End Sub
|
||||||
Protected Function GeneraPolizaVentaWS(ByRef ObjVentas As ClsVentas, ObjFactura As Modelos.Factura) As Boolean
|
Protected Sub GeneraPolizaVentaWS(ObjFactura As Modelos.Factura)
|
||||||
Dim DtUsados As DataTable = Nothing
|
Dim DtUsados As DataTable = Nothing
|
||||||
|
Dim ObjAcum As New ClsAcumuladores
|
||||||
If ObjVentas.GetVentasUsadosDetalle(ObjFactura.CveVenta) Then
|
If ObjAcum.GetGarantiasDetalle(ObjFactura.CveVenta) Then
|
||||||
DtUsados = ObjVentas.DtResultados.Copy()
|
DtUsados = ObjAcum.DtResultados.Copy()
|
||||||
End If
|
End If
|
||||||
|
ObjAcum.Dispose()
|
||||||
|
|
||||||
For Each Row As DataRow In DtUsados.Rows
|
For Each Row As DataRow In DtUsados.Rows
|
||||||
Dim obj As New Modelos.MPolizaVentaWS
|
Dim obj As New Modelos.MPolizaVentaWS
|
||||||
@@ -23842,7 +23773,7 @@ Partial Class Ventas
|
|||||||
obj.sale_id = String.Format("{0}{1}{2}", ObjFactura.Serie, ObjFactura.Folio, ObjFactura.CveVenta)
|
obj.sale_id = String.Format("{0}{1}{2}", ObjFactura.Serie, ObjFactura.Folio, ObjFactura.CveVenta)
|
||||||
|
|
||||||
'DATOS DEL PRODUCTO
|
'DATOS DEL PRODUCTO
|
||||||
obj.product_code = Row("Codigo").ToString()
|
obj.product_code = Row("Code17").ToString()
|
||||||
obj.product_unique_code = "" 'se indique el código único de la batería.
|
obj.product_unique_code = "" 'se indique el código único de la batería.
|
||||||
obj.product_sale_type = "01 " 'VENTA
|
obj.product_sale_type = "01 " 'VENTA
|
||||||
|
|
||||||
@@ -23859,11 +23790,10 @@ Partial Class Ventas
|
|||||||
EnviarPolizaVentaWS(obj)
|
EnviarPolizaVentaWS(obj)
|
||||||
Next
|
Next
|
||||||
|
|
||||||
Return True
|
End Sub
|
||||||
End Function
|
|
||||||
|
|
||||||
Protected Sub EnviarPolizaVentaWS(obj As Modelos.MPolizaVentaWS)
|
|
||||||
|
|
||||||
|
Protected Function EnviarPolizaVentaWS(obj As Modelos.MPolizaVentaWS) As Boolean
|
||||||
|
Dim Retorno As Boolean = False
|
||||||
Dim Respuesta As String = "[]"
|
Dim Respuesta As String = "[]"
|
||||||
|
|
||||||
Dim User As String = "cslth.2809@jcilink.com"
|
Dim User As String = "cslth.2809@jcilink.com"
|
||||||
@@ -23909,11 +23839,29 @@ Partial Class Ventas
|
|||||||
Dim response = wc.PostAsync(Url, content).Result
|
Dim response = wc.PostAsync(Url, content).Result
|
||||||
|
|
||||||
Respuesta = response.Content.ReadAsStringAsync().Result
|
Respuesta = response.Content.ReadAsStringAsync().Result
|
||||||
|
|
||||||
|
Dim resp = JArray.Parse(Respuesta)
|
||||||
|
|
||||||
|
If resp.Count > 0 Then
|
||||||
|
Dim Msg = resp(0)("Descripcion").ToString()
|
||||||
|
|
||||||
|
If resp(0)("Codigo").ToString().Contiene("500", "501", "502", "503", "504", "505", "506", "507", "508") Then
|
||||||
|
Alert(Msg, TipoMensaje.MsgInformacion)
|
||||||
|
Retorno = True
|
||||||
|
Else
|
||||||
|
Alert(Msg, TipoMensaje.MsgAdvertencia)
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
Alert("No se envió la poliza virtual", TipoMensaje.MsgAdvertencia)
|
||||||
|
End If
|
||||||
|
|
||||||
End Using
|
End Using
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
ex.GuardaLog(ex.Message)
|
ex.GuardaLog(ex.Message)
|
||||||
End Try
|
End Try
|
||||||
End Sub
|
|
||||||
|
Return Retorno
|
||||||
|
End Function
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
Reference in New Issue
Block a user