【发布时间】:2013-12-17 12:00:57
【问题描述】:
我遇到了一些问题,无法确定如何消除使用 FileHelpers 时出现的错误。
我初始化了 MasterDetails 类
Private _res As MasterDetails()
调用MasterDetailEngine的函数
Private Function ReadCsvFile(ByVal fileName As String, ByVal tipodoc As String) As Boolean
engine = New MasterDetailEngine(GetType(CabecDocVgr), GetType(LinhasDocVgr), CommonSelector.MasterIfContains,
"@")
_res = engine.ReadFile(strStartPath)
Return true
End Function
这是大师课:
<DelimitedRecord(";")>
Public NotInheritable Class CabecDocVgr
Public TipoLinha As String
Public Doc As String
Public Entidade As String
Public DataDoc As String
Public RefDoc As String
End Class
这个,详细介绍:
<DelimitedRecord(";")> _
Public NotInheritable Class LinhasDocVgr
Public Tipolinha As String
Public Artigo As String
Public Armazem As String
Public Localizacao As String
Public Lote As String
Public Qtd As Integer
Public UniMedida As String
Public DataValidade As String
End Class
每个主/明细都是创建一个带有标题和相关行的新文档。
我可以举一个错误出现的例子,当我调用 Master 或 Details 类的成员时:
Private Function TransformaDocF(ByVal tipoDoc As String) As Boolean
For numdoc As Integer = 0 To _res.Length - 1
Dim documentosOrigem(0) As Object
Dim docOrigem As New GcpBEDocumentoCompra
Dim docDestino As New GcpBEDocumentoCompra
Dim query As String = String.Format("SELECT TOP 1 NumDoc FROM cabecdoc WHERE RefDocOrig='{0}'",
_res(numdoc).Master.doc)
Dim lista As New StdBELista()
lista = Motor.Consulta(query)
If Not lista.Vazia Then
If Not lista.NoInicio And Not lista.NoFim Then
Dim numeroDoc As Integer = CInt(lista.Valor("NumDoc"))
'bExecuta = True
End If
End If
docOrigem = Motor.Comercial.Compras.Edita("000", "VGR", "2013", _res(numdoc).Master.doc)
documentosOrigem(0) = docOrigem
docDestino.TipoEntidade = "F"
docDestino.Serie = "2013"
docDestino.Entidade = docOrigem.Entidade.TrimStart(CChar("0"))
'DocDestino.DataDoc = "01-01-2013"
docDestino.Tipodoc = "VFA"
docDestino.RefDocOrig = _res(numdoc).Master.refDoc
Try
If docOrigem.Linhas.NumItens > 0 Then
For numlinha As Integer = 0 To _res(numdoc).Details.Length - 1
If docOrigem.Linhas(numlinha + 1).Artigo = _res(numdoc).Details(numlinha).Artigo Then
docOrigem.Linhas(numlinha + 1).Quantidade = docOrigem.Linhas(numlinha + 1).QuantSatisfeita +
_res(numdoc).Details(numlinha).Qtd
End If
Next
End If
Motor.Comercial.Vendas.TransformaDocumentoEX2(documentosOrigem, CType(docDestino, GcpBEDocumentoVenda), True)
Return True
Catch ex As Exception
MessageBox.Show(ex.Message)
Return False
End Try
Next
Return True
End Function
例如,调用_res(numdoc).Master.refDoc 会出现错误:“Option Strict On 不允许后期绑定”
关于我需要修改什么以消除错误的任何想法?
谢谢
【问题讨论】:
-
您遇到什么错误?另外,我看不到你的
FileHelpersEngine被用在了哪里。 -
@shamp00 编辑以举例说明我如何使用 MasterDetailsEngine 和错误。
标签: vb.net filehelpers option-strict