List 6-180 Business.BillコンポーネントのGetBillメソッド
1: Public Sub GetBill(ByVal BillID As Long, _
ByRef CustomerID As Variant, ByRef STARTDATE As Variant, _
ByRef ENDDATE As Variant, ByRef SUBTOTAL As Variant, _
ByRef TAX As Variant, ByRef TOTAL As Variant, _
ByRef SENDBILLFLAG As Variant, _
ByRef PAIDFLAG As Variant, ByRef SUBMITUSER As Variant, _
ByRef SUBMITDATE As Variant, ByRef MEMO As Variant, _
ByRef MADEUSER As Variant, ByRef MADEDATE As Variant, _
ByRef LASTUSER As Variant, ByRef LASTDATE As Variant)
2:
3: ' 請求書情報テーブル内の指定された請求書番号の請求書情報を返す
4: ' 【引数】
5: ' BillID = 情報を読み出したい請求書の請求書番号
6: ' CUSTOMERID = 請求書の取引先となっている顧客番号が格納される
7: ' STARTDATE = 請求書の期間の開始日が格納される
8: ' ENDDATE = 請求書の期間の終了日が格納される
9: ' SUBTOAL = 請求書の小計(税抜き額)が格納される
10: ' TAX = 請求書の消費税額が格納される
11: ' TOTAL = 請求書の合計(税込み額)が格納される
12: ' SENDBILLFLAG = 請求書が送付ずみであればTrue,そうでなければFalseが
13: ' 格納される
14: ' PAIDFLAG = 請求書が入金ずみであればTrue,そうでなければFalseが
15: ' 格納される
16: ' SUBMITUSER = 入金を確認したユーザーのアカウント名が格納される
17: ' 未入金であればNull
18: ' SUBMITDATE = 請求書の入金を確認した日時が格納される
19: ' 未入金であればNull
20: ' MADEUSER = 請求書を作成したユーザー名が格納される
21: ' MADEDATE = 請求書が作成された日時が格納される
22: ' LASTUSER = 請求書の最終更新ユーザー名が格納される
23: ' LASTDATE = 請求書の最終更新日時が格納される
24: ' 【戻り値】
25: ' なし
26: Dim objContext As ObjectContext
27: Dim objDataBill As DataObj.Bill
28:
29: ' オブジェクトコンテキストの取得
30: Set objContext = GetObjectContext()
31:
32: ' エラーハンドラの設定
33: On Error GoTo ErrHandle
34:
35: ' DataObj.Billコンポーネントの実体化
36: Set objDataBill = CreateObject("DataObj.Bill")
37:
38: ' セキュリティ機能が有効か否かの判定
39: If Not objContext.IsSecurityEnabled() Then
40: Err.Raise BusinessError.Err_NOSECURE, App.Title, _
"セキュリティ機構が無効です"
41: End If
42:
43: ' AccountingAdminロールまたはAllAdminロールに属しているか否かの判定
44: If Not (objContext.IsCallerInRole("AccountingAdmin") Or _
objContext.IsCallerInRole("AllAdmin")) Then
45: ' 属していない
46: ' Accountingロールに属しているか否かの判定
47: If Not objContext.IsCallerInRole("Accounting") Then
48: ' 属していない
49: Err.Raise BusinessError.Err_NOSECURE, App.Title, _
"参照権限がありません"
50: Else
51: ' 削除ずみではないことを確認
52: If objDataBill.Get_BillStatus(BillID) = BILL_Deleted Then
53: ' 削除ずみである
54: Err.Raise Errorcode.Err_NOTFOUND, App.Title, _
"指定された顧客番号を持つ顧客が見つかりません"
55: End If
56: End If
57: End If
58:
59: ' 請求書情報の取得
60: objDataBill.GetRecord BillID, CustomerID, STARTDATE, ENDDATE, SUBTOTAL, TAX, _
61: TOTAL, SENDBILLFLAG, PAIDFLAG, SUBMITUSER, SUBMITDATE, _
62: MEMO, MADEUSER, MADEDATE, LASTUSER, LASTDATE
63:
64: ' DataObj.Billの解放
65: Set objDataBill = Nothing
66:
67: ' トランザクションのコミット
68: objContext.SetComplete
69:
70: ' オブジェクトコンテキストの解放
71: Set objContext = Nothing
72:
73: Exit Sub
74:
75: ErrHandle:
76: ' エラーハンドラ
77: objContext.SetAbort
78: Set objContext = Nothing
79: Set objDataBill = Nothing
80:
81: ' エラーの再発行
82: Err.Raise Err.Number, Err.Source, Err.Description, _
Err.HelpFile, Err.HelpContext
83: End Sub