vbscript Clase importar archivos
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vbscript Clase importar archivos相关的知识,希望对你有一定的参考价值。
Imports LD.ObjetosSAP
Imports LD.AccesoDatos
Imports LDSAP_Lucema.LDCOMCARGbtnBus
Imports System.Collections.ObjectModel
Public Class LDCOMCARGbtnImp
Implements IButton
Dim CargaExcel As LDCOMCARGbtnBus
Public Function AfterClick(pForma As SAPbouiCOM.Form, pVal As SAPbouiCOM.ItemEvent) As String Implements IButton.AfterClick
Try
Return ""
Catch ex As Exception
Return SBOLDObjeto.RetornoError + " " + ex.Message
End Try
End Function
Public Function OnClick(pForma As SAPbouiCOM.Form, pVal As SAPbouiCOM.ItemEvent) As String Implements IButton.OnClick
Try
Dim result As Integer = MsgBox("¿Está seguro de cargar los datos de Comisiones?", MsgBoxStyle.YesNo, "SAP Business One")
If result = MsgBoxResult.Yes Then
Dim Ruta As SAPbouiCOM.EditText = pForma.Items.Item("txtCM").Specific
LeerArchivo(Ruta.Value)
Else
SBOLDObjeto.SBO_Application.StatusBar.SetSystemMessage("Proceso cancelado", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error)
End If
Return ""
Catch ex As Exception
Return SBOLDObjeto.RetornoError + " " + ex.Message
End Try
End Function
Function LeerArchivo(ByVal pNombreArchivo) As String
Dim ListaErrores As Collection(Of LDCOMCARGAErrores) = _
New Collection(Of LDCOMCARGAErrores)()
Dim vDatosConn As New System.Data.OleDb.OleDbConnection
Dim vDatosExcelCabecera As System.Data.OleDb.OleDbDataAdapter = Nothing
Dim vDatosExcelDetalleMezcla As System.Data.OleDb.OleDbDataAdapter = Nothing
Dim vDatosExcelDetalleAgente As System.Data.OleDb.OleDbDataAdapter = Nothing
Dim DS_Ajuste_Excel As New DataSet()
Dim vTabla_Cabecera As New DataTable("Tabla_Excel")
Dim vTabla_Mezcla As New DataTable("Tabla_Mezcla")
Dim vTabla_Agente As New DataTable("Tabla_Agente")
Dim recset As SAPbobsCOM.Recordset
Dim Erreor As LDCOMCARGAErrores = New LDCOMCARGAErrores()
recset = SBOLDObjeto.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
Dim FormaCreada As SAPbouiCOM.Form
FormaCreada = SBOLDObjeto.CreateForm("LDCOMCARG", SAPbouiCOM.BoFormMode.fm_OK_MODE)
Dim txtNombreArchivo As SAPbouiCOM.EditText = FormaCreada.Items.Item("txtCM").Specific
txtNombreArchivo.Value = pNombreArchivo
'-----------------------------------------
' Archivo Excel seleccionado abrir
'-----------------------------------------
vDatosConn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + pNombreArchivo + ";Extended Properties=""Excel 12.0 Xml;HDR=Yes;IMEX=1"""
vDatosConn.Open()
'-----------------------------------------
' Busca por defecto la hoja con el nombre Ajustes
'-----------------------------------------
vDatosExcelCabecera = New System.Data.OleDb.OleDbDataAdapter("Select * from [Meta$]", vDatosConn)
vDatosExcelDetalleMezcla = New System.Data.OleDb.OleDbDataAdapter("Select * from [Mezcla$]", vDatosConn)
vDatosExcelDetalleAgente = New System.Data.OleDb.OleDbDataAdapter("Select * from [Agente$]", vDatosConn)
'-----------------------------------------
' Definicion de la tabla donde se cargaran los datos.
'-----------------------------------------
Try
vDatosExcelCabecera.Fill(vTabla_Cabecera)
vDatosExcelDetalleMezcla.Fill(vTabla_Mezcla)
vDatosExcelDetalleAgente.Fill(vTabla_Agente)
Catch ex As Exception
Return SBOLDObjeto.RetornoError(+"" + "El archivo no pudo ser cargado. Verifique que el nombre de la hoja de cálculo sea 'Hoja-Meta'")
End Try
'-----------------------------------------
' Verificar Metas del archivo
'-----------------------------------------
Dim Articulos As String = String.Empty
If vTabla_Cabecera.Columns.Count > 3 Then
Throw New Exception("la cantidad de columnas de archivo es incorrecta")
End If
If vTabla_Cabecera.Columns.Item(0).ColumnName <> "Codigo de Meta" Then
Erreor.Hoja = "Meta"
Erreor.Fila = 1
Erreor.Descripcion = "El encabezado " & vTabla_Cabecera.Columns.Item(0).ColumnName & " es incorrecto. Debe de ser Codigo de Meta"
ListaErrores.add(Erreor)
Throw New Exception("El encabezado " & vTabla_Cabecera.Columns.Item(0).ColumnName & " es incorrecto. Debe de ser Codigo de Meta")
End If
If vTabla_Cabecera.Columns.Item(1).ColumnName <> "Descripcion" Then
Erreor.Hoja = "Meta"
Erreor.Fila = 1
Erreor.Descripcion = "El encabezado " & vTabla_Cabecera.Columns.Item(1).ColumnName & " es incorrecto. Debe de ser Descripcion"
ListaErrores.add(Erreor)
Throw New Exception("El encabezado " & vTabla_Cabecera.Columns.Item(1).ColumnName & " es incorrecto. Debe de ser Descripcion")
End If
If vTabla_Cabecera.Columns.Item(2).ColumnName <> "Periodo" Then
Erreor.Hoja = "Meta"
Erreor.Fila = 1
Erreor.Descripcion = "El encabezado " & vTabla_Cabecera.Columns.Item(1).ColumnName & " es incorrecto. Debe de ser Periodo"
ListaErrores.add(Erreor)
Throw New Exception("El encabezado " & vTabla_Cabecera.Columns.Item(1).ColumnName & " es incorrecto. Debe de ser Periodo")
End If
Try
Dim ExisteCobro As Boolean = False
Dim ExisteVentaTotal As Boolean = False
Dim listaAgentes As New ArrayList
Dim ArrayAgentePeriodo(1) As String
Dim vFila As Integer = 2
For Each vDataRow As DataRow In vTabla_Cabecera.Rows
ExisteCobro = False
ExisteVentaTotal = False
'-----------------------------------------
' Verificar los datos
'-----------------------------------------
If IsDBNull(vDataRow("Codigo de Meta")) Then
Erreor.Hoja = "Meta"
Erreor.Fila = vFila
Erreor.Descripcion = "La columna de código en la fila " & vFila & " es incorrecta."
ListaErrores.Add(Erreor)
Throw New Exception("La columna de código en la fila " & vFila & " es incorrecta.")
End If
If IsDBNull(vDataRow("Periodo")) Then
Erreor.Hoja = "Meta"
Erreor.Fila = vFila
Erreor.Descripcion = "La columna de Periodo en la fila " & vFila & " es incorrecta."
ListaErrores.Add(Erreor)
Throw New Exception("La columna de Periodo en la fila " & vFila & " es incorrecta.")
End If
If (vDataRow("Periodo").ToString.Length > 7 Or vDataRow("Periodo").ToString.Length < 7) Then
Erreor.Hoja = "Meta"
Erreor.Fila = vFila
Erreor.Descripcion = "La columna de Periodo en la fila " & vFila & " tiene formato incorrecto. Asegurese de tener formato AAAA-DD"
ListaErrores.Add(Erreor)
Throw New Exception("La columna de Periodo en la fila " & vFila & " tiene formato incorrecto. Asegurese de tener formato AAAA-DD")
End If
If IsDBNull(vDataRow("Descripcion")) Then
Erreor.Hoja = "Meta"
Erreor.Fila = vFila
Erreor.Descripcion = "La columna de Descripcion en la fila " & vFila & " es incorrecta."
ListaErrores.Add(Erreor)
Throw New Exception("La columna de Descripcion en la fila " & vFila & " es incorrecta.")
End If
Dim CodMetaCabecera As Integer = vDataRow("Codigo de Meta")
Dim PeriodoNombre As String = vDataRow("Periodo")
Dim Descripcion As String = vDataRow("Descripcion")
Dim FechaIni As Date
Dim FechaFin As Date
Dim _Query As New TQuery(CreaTransaccion.Conexion)
_Query.Selected(New TField("DocEntry"))
_Query.Selected(New TField("U_LDT_UDF_Descrip"))
_Query.From(New TFrom("@LDT_UST_COM_METAS"))
_Query.Where(New TField("DocEntry"), OperadoresFiltros.Igual, New TValue(CodMetaCabecera))
If _Query.Open Then
recset.DoQuery(_Query.SQL)
If recset.RecordCount > 0 Then
Throw New Exception("La meta " + CodMetaCabecera + " ya existe en SAP")
Else
_Query.Clear()
Dim oServiceOrigen As SAPbobsCOM.GeneralService
Dim oGeneralDataOrigen As SAPbobsCOM.GeneralData
Dim sCmp As SAPbobsCOM.CompanyService
Dim oChild As SAPbobsCOM.GeneralData
Dim ChildrenDetalleMezcla As SAPbobsCOM.GeneralDataCollection
Dim ChildrenDetalleAgente As SAPbobsCOM.GeneralDataCollection
Dim _QueryPer As New TQuery(CreaTransaccion.Conexion)
_QueryPer.Selected(New TField("F_RefDate"))
_QueryPer.Selected(New TField("T_RefDate"))
_QueryPer.From(New TFrom("OFPR"))
_QueryPer.Where(New TField("Name"), OperadoresFiltros.Igual, New TValue(PeriodoNombre))
If _QueryPer.Open Then
recset.DoQuery(_QueryPer.SQL)
If recset.RecordCount > 0 Then
recset.MoveFirst()
FechaIni = recset.Fields().Item("F_RefDate").Value
FechaFin = recset.Fields().Item("T_RefDate").Value
End If
End If
sCmp = SBOLDObjeto.Company.GetCompanyService
oServiceOrigen = sCmp.GetGeneralService("LDT_UST_COM_METAS")
oGeneralDataOrigen = oServiceOrigen.GetDataInterface(SAPbobsCOM.GeneralServiceDataInterfaces.gsGeneralData)
oGeneralDataOrigen.SetProperty("U_LDT_UDF_Descrip", Descripcion)
oGeneralDataOrigen.SetProperty("U_LDT_UDF_NomPeriodo", PeriodoNombre)
oGeneralDataOrigen.SetProperty("U_LDT_UDF_PerInicio", FechaIni)
oGeneralDataOrigen.SetProperty("U_LDT_UDF_PerFinal", FechaFin)
oGeneralDataOrigen.SetProperty("U_LDT_UDF_CodePeriodo", PeriodoNombre)
ChildrenDetalleMezcla = oGeneralDataOrigen.Child("LDT_UST_COM_MEZCLA")
ChildrenDetalleAgente = oGeneralDataOrigen.Child("LDT_UST_COM_MT_AG")
'recorro la hoja de excel Mezcla
Dim vFilaMezcla As Integer = 2
For Each detalleItem As DataRow In vTabla_Mezcla.Rows
Dim CodDetalle As Integer = detalleItem("Código Meta")
Dim TipoCat As Integer
Dim CodigoPropiedad As String = ""
Dim DescripcionDetalle As String = ""
Dim MontoMeta As Double = 0
Dim detallefoco As String = 0
Dim PorcentajeMeta As Double = 0
If Not IsNumeric(detalleItem("Tipo Categoria")) Then
Erreor.Hoja = "Mezcla"
Erreor.Fila = vFilaMezcla
Erreor.Descripcion = "La columna de Tipo Categoria en la fila " & vFilaMezcla & " es incorrecta."
ListaErrores.Add(Erreor)
Throw New Exception("La columna de Tipo Categoria en la fila " & vFilaMezcla & " es incorrecta.")
End If
If IsDBNull(detalleItem("Código o Propiedad")) Then
Erreor.Hoja = "Mezcla"
Erreor.Fila = vFilaMezcla
Erreor.Descripcion = "La columna de Código o Propiedad en la fila " & vFilaMezcla & " es incorrecta."
ListaErrores.Add(Erreor)
Throw New Exception("La columna de Código o Propiedad en la fila " & vFilaMezcla & " es incorrecta.")
End If
If IsDBNull(detalleItem("Descripción")) Then
Erreor.Hoja = "Mezcla"
Erreor.Fila = vFilaMezcla
Erreor.Descripcion = "La columna de Descripción en la fila " & vFilaMezcla & " es incorrecta."
ListaErrores.Add(Erreor)
Throw New Exception("La columna de Descripción en la fila " & vFilaMezcla & " es incorrecta.")
End If
If Not IsNumeric(detalleItem("Monto Meta")) Then
Erreor.Hoja = "Mezcla"
Erreor.Fila = vFilaMezcla
Erreor.Descripcion = "La columna de Monto Meta en la fila " & vFilaMezcla & " es incorrecta."
ListaErrores.Add(Erreor)
Throw New Exception("La columna de Monto Meta en la fila " & vFilaMezcla & " es incorrecta.")
End If
If IsDBNull((detalleItem("Foco"))) Then
Erreor.Hoja = "Mezcla"
Erreor.Fila = vFilaMezcla
Erreor.Descripcion = "La columna de foco en la fila " & vFilaMezcla & " es incorrecta."
ListaErrores.Add(Erreor)
Throw New Exception("La columna de foco en la fila " & vFilaMezcla & " es incorrecta.")
ElseIf (detalleItem("Foco") <> "N" And detalleItem("Foco") <> "S") Then
Erreor.Hoja = "Mezcla"
Erreor.Fila = vFilaMezcla
Erreor.Descripcion = "La columna de foco en la fila " & vFilaMezcla & " es incorrecta."
ListaErrores.Add(Erreor)
Throw New Exception("La columna de foco en la fila " & vFilaMezcla & " es incorrecta.")
End If
If Not IsNumeric(detalleItem("Porcentaje Meta")) Then
Erreor.Hoja = "Mezcla"
Erreor.Fila = vFilaMezcla
Erreor.Descripcion = "La columna de Porcentaje Meta en la fila " & vFilaMezcla & " es incorrecta."
ListaErrores.Add(Erreor)
Throw New Exception("La columna de Porcentaje Meta en la fila " & vFilaMezcla & " es incorrecta.")
End If
TipoCat = detalleItem("Tipo Categoria")
CodigoPropiedad = detalleItem("Código o Propiedad")
DescripcionDetalle = detalleItem("Descripción")
MontoMeta = detalleItem("Monto Meta")
detallefoco = detalleItem("Foco")
PorcentajeMeta = detalleItem("Porcentaje Meta")
If CodDetalle = (CodMetaCabecera) Then
If TipoCat = 4 Then
If ExisteVentaTotal = False Then
ExisteVentaTotal = True
Else
Throw New Exception("La categoria 4 ya existe para la meta " + CodMetaCabecera.ToString())
End If
End If
If TipoCat = 5 Then
If ExisteCobro = False Then
ExisteCobro = True
Else
Erreor.Hoja = "Mezcla"
Erreor.Fila = vFilaMezcla
Erreor.Descripcion = "La categoria 5 ya existe para la meta " + CodMetaCabecera.ToString()
ListaErrores.Add(Erreor)
Throw New Exception("La categoria 5 ya existe para la meta " + CodMetaCabecera.ToString())
End If
End If
If vTabla_Mezcla.Rows.Count = vFilaMezcla - 1 Then
If ExisteVentaTotal = False Then
Erreor.Hoja = "Mezcla"
Erreor.Fila = vFilaMezcla
Erreor.Descripcion = "La meta " + CodMetaCabecera.ToString() + " no tiene asociado la categoria de ventas alcanzadas"
ListaErrores.Add(Erreor)
Throw New Exception("La meta " + CodMetaCabecera.ToString() + " no tiene asociado la categoria de ventas alcanzadas")
End If
If ExisteCobro = False Then
Erreor.Hoja = "Mezcla"
Erreor.Fila = vFilaMezcla
Erreor.Descripcion = "La meta " + CodMetaCabecera.ToString() + "no tiene asociado la categoria de Cobro"
ListaErrores.Add(Erreor)
Throw New Exception("La meta " + CodMetaCabecera.ToString() + "no tiene asociado la categoria de Cobro")
End If
End If
oChild = ChildrenDetalleMezcla.Add()
oChild.SetProperty("U_LDT_UDF_TipoCat", TipoCat)
oChild.SetProperty("U_LDT_UDF_CodOProp", CodigoPropiedad)
oChild.SetProperty("U_LDT_UDF_Descripcion", DescripcionDetalle)
oChild.SetProperty("U_LDT_UDF_MontoMeta", MontoMeta)
oChild.SetProperty("U_LDT_UDF_Foco", detallefoco)
oChild.SetProperty("U_LDT_UDF_PorcMeta", PorcentajeMeta)
End If
vFilaMezcla += 1
Next
'recorro la hoja de excel Agente
Dim vFilaAgente As Integer = 2
Dim Lista_Agentes As String = ""
Dim Separador As String = ""
For Each DetalleAgente As DataRow In vTabla_Agente.Rows
Dim CodMetaAgente As Integer = DetalleAgente("Código Meta")
Dim CodAgente As String = ""
Dim NombreAgente As String = ""
If Not IsNumeric(DetalleAgente("Código Meta")) Then
Erreor.Hoja = "Mezcla"
Erreor.Fila = vFilaAgente
Erreor.Descripcion = "La columna de Categoria en la fila " & vFilaAgente & " es incorrecta."
ListaErrores.Add(Erreor)
Throw New Exception("La columna de Categoria en la fila " & vFilaAgente & " es incorrecta.")
End If
If (IsDBNull(DetalleAgente("Código Agente"))) Then
Erreor.Hoja = "Mezcla"
Erreor.Fila = vFilaAgente
Erreor.Descripcion = "La columna de Código o Propiedad en la fila " & vFilaAgente & " es incorrecta."
ListaErrores.Add(Erreor)
Throw New Exception("La columna de Código o Propiedad en la fila " & vFilaAgente & " es incorrecta.")
End If
CodMetaAgente = DetalleAgente("Código Meta")
CodAgente = DetalleAgente("Código Agente")
If CodMetaAgente = CodMetaCabecera Then
For i = 0 To listaAgentes.Count - 1
Dim str = listaAgentes.Item(i)
Dim query = From agente As Array In listaAgentes
Where agente(0) = CodAgente And agente(1) = PeriodoNombre
Select agente
Dim result = query.Count
If query.Count > 0 Then
Erreor.Hoja = "Agente"
Erreor.Fila = vFilaAgente
Erreor.Descripcion = "Los Agentes no pueden estar repetidos en la misma meta o en un mismo periodo"
ListaErrores.Add(Erreor)
Throw New Exception("Los Agentes no pueden estar repetidos en la misma meta o en un mismo periodo")
End If
Next i
Lista_Agentes &= Separador & " " & CodAgente
Separador = ","
If Not ValidarOtrosCalculos(Lista_Agentes, FechaIni, FechaFin, -1) Then
Throw New Exception("Error al cargar los agentes")
End If
NombreAgente = obtenerNombreAgente(CodAgente)
oChild = ChildrenDetalleAgente.Add()
oChild.SetProperty("U_LDT_UDF_Cod_Agente", CodAgente)
oChild.SetProperty("U_LDT_UDF_Nom_Agente", NombreAgente)
ArrayAgentePeriodo(0) = CodAgente
ArrayAgentePeriodo(1) = PeriodoNombre
listaAgentes.Add(ArrayAgentePeriodo)
End If
vFilaAgente += 1
Next
'Add the new row, including children, to database
oServiceOrigen.Add(oGeneralDataOrigen)
System.Runtime.InteropServices.Marshal.ReleaseComObject(oServiceOrigen)
System.Runtime.InteropServices.Marshal.ReleaseComObject(oGeneralDataOrigen)
oGeneralDataOrigen = Nothing
oServiceOrigen = Nothing
GC.Collect()
SBOLDObjeto.SBO_Application.StatusBar.SetSystemMessage("Importado con éxito", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success)
If ListaErrores.Count > 0 Then
FormaCreada = SBOLDObjeto.CreateForm("LDCOMLOG", SAPbouiCOM.BoFormMode.fm_OK_MODE)
llenarGridErrores(FormaCreada, ListaErrores)
End If
End If
Else
Return SBOLDObjeto.RetornoError(+" " + _Query.MSG_Error)
Return False
End If
vFila += 1
Next
Catch ex As Exception
If ListaErrores.Count > 0 Then
FormaCreada = SBOLDObjeto.CreateForm("LDCOMLOG", SAPbouiCOM.BoFormMode.fm_OK_MODE)
llenarGridErrores(FormaCreada, ListaErrores)
GC.Collect()
End If
Throw New Exception(ex.Message)
End Try
Return ""
End Function
Function obtenerNombreAgente(ByVal CodAgente As String) As String
Dim recset As SAPbobsCOM.Recordset
recset = SBOLDObjeto.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
Dim Nombre As String = ""
Dim Origen = ""
Dim Parametros As String = ""
Parametros = """T2"".""SlpCode"", ""T2"".""SlpName"""
Parametros &= "FROM ""OSLP"" as ""T2"""
Parametros &= " WHERE ""T2"".""SlpCode"" = " + CodAgente + ""
Origen = "Select "
Origen &= Parametros
Origen &= " Order by ""SlpCode"" asc"
recset.DoQuery(Origen)
If recset.RecordCount > 0 Then
recset.MoveFirst()
Nombre = recset.Fields().Item("SlpName").Value
End If
Return Nombre
End Function
Sub llenarGridErrores(ByVal pForma As SAPbouiCOM.Form, ByVal pListErrores As Collection(Of LDCOMCARGAErrores))
pForma.Freeze(True)
Try
Dim oForm As SAPbouiCOM.Form = pForma
Dim oGrid As SAPbouiCOM.Grid = CType(oForm.Items.Item("MaxError").Specific, SAPbouiCOM.Grid)
Dim dt As SAPbouiCOM.DataTable = oForm.DataSources.DataTables.Item("MaxError")
Dim J As Integer = 0
For Each ItemError In pListErrores
dt.Rows.Add(1)
dt.SetValue(0, J, ItemError.Hoja)
dt.SetValue(1, J, ItemError.Fila)
dt.SetValue(2, J, ItemError.Descripcion)
J += 1
Next
oForm.Freeze(False)
Catch ex As Exception
MsgBox("Se ha producido un error grave: " + ex.Message)
End Try
End Sub
Function ValidarOtrosCalculos(ByVal PListaAgentes As String, ByVal pDesde As Date, ByVal pHasta As Date, ByVal pCodMeta As String) As Boolean
'Validar los agentes en Otros Calculos
Dim Tot_Porcentaje_logro As Decimal = 0
Dim Cantidad_agentes As Integer = 0
Dim Nombre_Vista = "_SYS_BIC"".""LD_XS_Lucema.Views.CV/LDT_CAV_Agentes_Periodo"
Dim recset As SAPbobsCOM.Recordset
Dim Resultado As Boolean = True
Dim Separador As String = ""
Dim Mensaje_Error As String = ""
Dim Parametros As String = ""
Parametros = " ( PLACEHOLDER.""$$LDT_IMP_Desde$$"" => TO_VARCHAR ('" & Format(CDate(pDesde), "yyyyMMdd") & "', 'YYYY/MM/DD HH24:mi')"
Parametros &= " ,PLACEHOLDER.""$$LDT_IMP_Hasta$$"" => TO_VARCHAR ('" & Format(CDate(pHasta), "yyyyMMdd") & "', 'YYYY/MM/DD HH24:mi')"
Parametros &= " ,PLACEHOLDER.""$$LDT_IMP_Cod_Meta$$"" => " & Val(pCodMeta) & ""
Parametros &= " ,PLACEHOLDER.""$$LDT_IMP_Agentes$$"" => '" & PListaAgentes & "'"
Parametros &= ")"
Dim MontoContribucion As Decimal = 0
recset = SBOLDObjeto.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
Try
Dim Sql = ""
Sql = " Select * from " & """" & Nombre_Vista & """"
Sql &= Parametros
recset.DoQuery(Sql)
Dim I = 1
If recset.RecordCount > 0 Then
Resultado = False
Separador = Chr(13)
Do While recset.EoF = False
Mensaje_Error &= Separador & " (" & recset.Fields().Item("Cod_Agente").Value & ")- " & recset.Fields().Item("Nom_Agente").Value & " - Err: Existe en otra meta del mismo período"
recset.MoveNext()
Loop
End If
System.Runtime.InteropServices.Marshal.ReleaseComObject(recset)
recset = Nothing
Catch ex As Exception
Throw New Exception(ex.Message)
End Try
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'Validar las Configuración de los Agentes en meta actual
Nombre_Vista = "_SYS_BIC"".""LD_XS_Lucema.Views.CV/LDT_CAV_Datos_Agentes"
Parametros = " ( PLACEHOLDER.""$$LDT_IMP_Cod_Agente$$"" => '" & PListaAgentes & "'"
Parametros &= ")"
recset = SBOLDObjeto.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
Try
Dim Sql = "Select ""SlpCode"", ""SlpName"", ""empID"", ""Salario_Comision"", ""Emp_Relacionado"", sum(""CMDN"") AS ""CMDN"" "
Sql &= " from " & """" & Nombre_Vista & """"
Sql &= Parametros
Sql &= " GROUP BY ""SlpCode"", ""SlpName"", ""empID"", ""Salario_Comision"", ""Emp_Relacionado"""
recset.DoQuery(Sql)
Dim I = 1
If recset.RecordCount > 0 Then
Separador = Chr(13)
Dim SlpCode As Integer = 0
Dim SlpName As String = ""
Dim Salario_Comision As Decimal = 0
Dim Emp_Relacionado As Integer = 0
Do While recset.EoF = False
SlpCode = recset.Fields().Item("SlpCode").Value
SlpName = recset.Fields().Item("SlpName").Value
Salario_Comision = recset.Fields().Item("Salario_Comision").Value
Emp_Relacionado = recset.Fields().Item("Emp_Relacionado").Value
If Salario_Comision <= 0 Then
Resultado = False
Mensaje_Error &= Separador & " (" & SlpCode & ") " & SlpName & " - Err: Sin Salario de Comisión definido"
End If
If Emp_Relacionado <= 0 Then
Resultado = False
Mensaje_Error &= Separador & " (" & SlpCode & ") " & SlpName & " - Err: Sin Empleado relacionado"
End If
recset.MoveNext()
Loop
End If
System.Runtime.InteropServices.Marshal.ReleaseComObject(recset)
recset = Nothing
If Mensaje_Error <> "" Then
MsgBox(Mensaje_Error)
End If
Catch ex As Exception
Throw New Exception(ex.Message)
End Try
Return Resultado
End Function
End Class
以上是关于vbscript Clase importar archivos的主要内容,如果未能解决你的问题,请参考以下文章
sql [SQL] Importar CSV para SQL
php Usar la clase Db en Laravel para hacer consultas a la base de datos
text Crear una tabla创建表clase crear clase base de datos b6)
java [Clase para SQL DB en Android] Crear clase para utilizar datos localmente en Android con Java #