📄 billpublic.bas
字号:
Attribute VB_Name = "BillPublic"
' 公用代码
' 作者:蔡奇科 王兴元
' 日期:1998.05.1
'-----------------------------------------------------------------------------------------------
' 函数
' C2Lng 字符串转为长整数 (处理空串为0)
' C2Dbl 字符串转为双精度型 (处理空串处理为0)
' C2Date 字符串转为日期型 (处理空串处理为当前日期)
' blnOther 从科目库中判断各对应的标志 (AccountblnOther类型)
' ReplaceString 替换字符串中指定字符
' FormatString 指定小数位数
' strGetMaxNO 取最大编号(原最大单据号+1)
' blnModifyMaxNO 最大编号表维护(修改最大编号), 新增单据存盘时调用本过程
' blnMaxNODecrease 最大编号表维护, 新增单据放弃存盘时调用本过程,当最大编号与当前放弃单据编号相同时最大编号-1
' lngCharLength 判断一个由字符和数字组成的字串的左边字母部分长度
' strAlphaOfStr 取一个由字符和数字组成的字串的左边字母部分
' strDigitOfStr 取一个由字符和数字组成的字串的右边数字部分
' strDetailMsg 客户详细资料
' AutoAddRefer 根据控件类型和指定的单据ID号来自动地增加参照内容到参照列表框。
' FirstReceiptTypeIDAndName 根据单据的ID找出第一个对应的单据类型ID 和名称
' 成功时返回为TRUE,否则返回为FALSE。
' RecordCon 控件间的记录集传递
' FirstId 查找第一个ID,主要用于设置默认值
' IdToCodeAndName 将给定ID转化为编码和名称
' CurRateDec 币种小数位数或汇率小数位数,成功时返回为TRUE,否则返回为FALSE
' GetLabel 从LABEL上取数
' lngOtherBill 取单据的业务ID
' lngOtherVoucher 取凭证ID
' PrevLastRowID 取前一张单据的业务ID
' NextFirstRowID 取后一张单据的业务ID(或第一张单据的业务ID)
' strGetMaxNOPrNe 取最大单据编号
' ItemAcIDOther 取商品表相同单据号的业务ID
' ItemIdToName 发票类型ID TO NAME 过程
' NumberConvert 数量折算(最小单位到当前单位数量之间折算)
' ConvertFactor 根据商品ID 及计量单位ID找出其折算因子
'TaxIDToRate 税率ID到 :进项税或销项税率
'ItemIDToTaxID 根据商品ID找相应的税率ID
'ActivityIdToVoucherId 根据业务ID找到对应的凭证ID
'RateValue 对汇率值进行特殊处理,(精确,向前,向后)
'ModifyItemTable 单据修改时修改 item表,如业务类型为采购或销售,则根据是否有无订单ID修改订单明细表
'SaveNewBanlance_AccountDetaily 存贮科目发生额表
'ReceiptTypeToFieldIsDebit 根据单据类型确定FIELD部分是否为借(TRUE)
'VouProperty 确定凭证是否已复核、记帐等属性
'EditNO 根据单据类型ID 返回操作员权限对应的填制或查询ID,若无对应的ID ,则返回为 '0'
'FindAReceiptTypeWithNewRight 在某种单据(RECEIPT)中找一个可以新增的单据类型
'LastReceiptBill 返回某类单据中录入的最后一张单据的单据号字母部分及模板ID
'blnReceiptNoRepeat 单据号修改时判断本期单据号是否重复
'blnInvoiceNoRepeat 发票号修改时判断同类发票号是否重复(商品入库单据可用)
'blnMaxNODecrease 最大编号表维护(修改最大编号) 新增单据放弃存盘时调用本过程,当最大编号与当前放弃单据编号相同时最大编号-1
'intTermDueDay 根据付款条件ID找到期天数
'cutString 去掉编码,保留名称
' blnCurrencyInDirect 取币种的折算方式
'dblMaxPrice 在商品业务明细表中找最大采购价的进货单或最大销售价的出货单
'dblMinPrice 在商品业务明细表中找最小采购价的进货单或最小销售价的出货单
'-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
' 过程
' ShowBill 根据业务类型ID及单据业务ID关联到相应单据录入显示界面
' ShowBill1 根据单据类型ID及单据业务ID关联到相应单据录入显示界面
' ShowBillOfType 新增一指定类型单据
' WriteLabel 在Label上写红字或黑字
' GetItemProperty 设置商品ID的一些属性
' AddInvoiceRefer 设置发票类型参照
' CustomerTerm 根据客户ID找其默认付款条件ID、名称及到期天数,默认科目ID,NAME 入口:客户ID
'出口:付款方式ID,付款方式CODE AND NAME,科目ID,科目CODE AND NAME
'GetCustomerProperty 查询单位相关信息,如应收科目ID、应收科目ID、第一个发货地址、第一家开户银行等
'ShareString 分隔字符串
'FormatGrid 列表金额、单价类格式调整
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' DispartString 按分隔符Dispart撤分字符串
'showNotePad 显示“记事簿”并存盘
Option Explicit
Declare Function CreateFont Lib "gdi32" Alias "CreateFontA" (ByVal H As Long, ByVal W As Long, ByVal E As Long, _
ByVal O As Long, ByVal W As Long, ByVal i As Long, ByVal u As Long, ByVal s As Long, ByVal c As Long, _
ByVal OP As Long, ByVal CP As Long, ByVal Q As Long, ByVal PAF As Long, ByVal F As String) As Long
Declare Function CreateSolidBrush Lib "gdi32" (ByVal crColor As Long) As Long
Declare Function Polygon Lib "gdi32" (ByVal hdc As Long, lpPoint As POINTAPI, ByVal ncount As Long) As Long
Declare Function TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, _
ByVal lpString As String, ByVal ncount As Long) As Long
Declare Function GetSysColor Lib "user32" (ByVal nIndex As Long) As Long
Declare Function SetBkColor Lib "gdi32" (ByVal hdc As Long, ByVal crColor As Long) As Long
Declare Function SetBkMode Lib "gdi32" (ByVal hdc As Long, ByVal nBkMode As Long) As Long
Declare Function GetBkColor Lib "gdi32" (ByVal hdc As Long) As Long
Declare Function GetBkMode Lib "gdi32" (ByVal hdc As Long) As Long
Declare Function SetTextColor Lib "gdi32" (ByVal hdc As Long, ByVal crColor As Long) As Long
Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Declare Function DrawIcon Lib "user32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long
Declare Function LoadIcon Lib "user32" Alias "LoadIconA" (ByVal hInstance As Long, ByVal lpIconName As String) As Long
Private Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function CreateBitmap Lib "gdi32" (ByVal nWidth As Long, ByVal nHeight As Long, ByVal nPlanes As Long, ByVal nBitCount As Long, lpBits As Any) As Long
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
Public Const IDI_HAND = 32513&
Public Const TRANSPARENT = 1
Public Const COLOR_ACTIVEBORDER = 10
Public Const COLOR_ACTIVECAPTION = 2
Public Const COLOR_ADJ_MAX = 100
Public Const COLOR_ADJ_MIN = -100
Public Const COLOR_APPWORKSPACE = 12
Public Const COLOR_BACKGROUND = 1
Public Const COLOR_BTNFACE = 15
Public Const COLOR_BTNHIGHLIGHT = 20
Public Const COLOR_BTNSHADOW = 16
Public Const COLOR_BTNTEXT = 18
Public Const COLOR_CAPTIONTEXT = 9
Public Const COLOR_GRAYTEXT = 17
Public Const COLOR_HIGHLIGHT = 13
Public Const COLOR_HIGHLIGHTTEXT = 14
Public Const COLOR_INACTIVEBORDER = 11
Public Const COLOR_INACTIVECAPTION = 3
Public Const COLOR_INACTIVECAPTIONTEXT = 19
Public Const COLOR_MENU = 4
Public Const COLOR_MENUTEXT = 7
Public Const COLOR_SCROLLBAR = 0
Public Const COLOR_WINDOW = 5
Public Const COLOR_WINDOWFRAME = 6
Public Const COLOR_WINDOWTEXT = 8
Public Const DEFAULT_CHARSET = 1
Public Const OUT_CHARACTER_PRECIS = 2
Public Const CLIP_DEFAULT_PRECIS = 0
Public Const DEFAULT_QUALITY = 0
Public Const DEFAULT_PITCH = 0
Public Const FIXED_PITCH = 1
Public Const VARIABLE_PITCH = 2
Public Const FF_DECORATIVE = 80
Public Const BS_SOLID = 0
'Public mClipRect As RECT 'Paint事件矩形区域
Public Const MB_ABORTRETRYIGNORE = &H2&
Public Const MB_APPLMODAL = &H0&
Public Const MB_DEFBUTTON1 = &H0&
Public Const MB_DEFBUTTON2 = &H100&
Public Const MB_DEFBUTTON3 = &H200&
Public Const MB_ICONASTERISK = &H40&
Public Const MB_ICONEXCLAMATION = &H30&
Public Const MB_ICONHAND = &H10&
Public Const MB_ICONINFORMATION = MB_ICONASTERISK
Public Const MB_ICONMASK = &HF0&
Public Const MB_ICONQUESTION = &H20&
Public Const MB_ICONSTOP = MB_ICONHAND
Public Const MB_OK = &H0&
Public Const MB_OKCANCEL = &H1&
Public Const MB_RETRYCANCEL = &H5&
Public Const MB_SYSTEMMODAL = &H2000& '&H1000& 设为0消除徽标
Public Const MB_TASKMODAL = &H2000&
Public Const MB_YESNO = &H4&
Public Const MB_YESNOCANCEL = &H3&
Public Const IDABORT = 3
Public Const IDCANCEL = 2
Public Const IDIGNORE = 5
Public Const IDNO = 7
Public Const IDOK = 1
Public Const IDRETRY = 4
Public Const IDYES = 6
Public lngFormHwnd(25) As Long
Public frmStockSales(25) As Form
'定义单据类型数组
Public ReceiptType(1 To 52) As xReceiptType
'定义表名数组
Public TabName(1 To 39) As String
Type LOGBRUSH
lbStyle As Long
lbColor As Long
lbHatch As Long
End Type
'输入区域定义
Public Enum clsInputRegion
FHead = 1 '在头部输入
FField = 2 '在表头部输入
FPicture = 3 '在表体的图片框上输入
FGrid = 4 '在表体的GRID单元上输入
FcmdButton = 5 '在右边命令按纽处
FFooter = 6 '在备注行
FCheck = 7 '在CHECK控件区
FNote = 8 '在FIELD0粘贴控件区
FcmdFooter = 9 '在底部命令行
FGrid1 = 10 '在表体的GRID1单元上输入
End Enum
'单位有关属性
Public Type CustomerProperty
lngARAccountID As Long
lngAPAccountID As Long
lngCustomerAddressIDOfFirst As Long
strCustomerAddressCodeOfFirst As String
strCustomerAddressNameOfFirst As String
lngCustomerBankIDOfFirst As Long
strBankNameOfFirst As String
strAccountNOOfFirst As String
dblDiscountRate As Double
blnIsPayDiscount As Boolean '是否享受到款折扣标志
lngARDiscountAccountID As Long '应收折扣科目ID
lngAPDiscountAccountID As Long '应付折扣科目ID
End Type
Public Type clsBillMark
blnPasteRec As Boolean '单据体行粘贴可用标志
blnIsChanged As Boolean '修改标志
blnMayChange As Boolean '可修改标志
blnMayDelete As Boolean '可删除标志
blnChangeEvent As Boolean '触发CHANGE事件标志
bytRegion As clsInputRegion '当前输入区域
bytIndex As Byte '当前输入位置INDEX序号
lngNowID As Long '当前单据ID号
intAccountYear As Integer '会计年度
bytAccountPeriod As Integer '会计期间
dtmStart As Date '当前会计期间之起始日期
dtmEnd As Date '当前会计期间之结束日期
lngOldRow As Long 'GRID原行号
lngOldCol As Long 'GRID原列号
blnCtrlBinding As Boolean '控件绑定标志
blnRefresh As Boolean '窗体刷新标志
End Type
'商品属性
Public Type ItemProperty
lngItemID As Long '商品ID
strItemName As String '商品名称
strItemCategory As String * 1 '商品类别:1 存货、2 非存货、3 劳务、4 费用
strCostMethod As String '成本方法:1 全月平均、2 移动平均、3 先进先出、4 后进先出、5 个别计价
'6 计划价(进价核算) 7 实际差价率(售价核算)
lngMinUnitID As Long '最小计量单位ID
lngStockUnitID As Long '存货计量单位ID
lngPositionID As Long '货位ID
lngTaxID As Long '税率ID
lngCustomID0 As Long '自定义ID0
lngCustomID1 As Long '自定义ID1
lngCustomID2 As Long '自定义ID2
lngCustomID3 As Long '自定义ID3
lngCustomID4 As Long '自定义ID4
lngCustomID5 As Long '自定义ID5
strCustom0 As String '自定义0
strCustom1 As String '自定义1
strCustom2 As String '自定义2
strCustom3 As String '自定义3
strCustom4 As String '自定义4
strCustom5 As String '自定义5
intValidDay As Integer '保质期
dblStockQuantity As Double '库存数量
dblOuterQuantity As Double '外库数量
dblSOQuantity As Double '销售在订数量
dblPOQuantity As Double '采购在订数量
dblSQuantity As Double '可销量
dblPQuantity As Double '可订量
dblRecenetPurchasePrice As Double '最近采购价
dblMaxPurchasePrice As Double '最高采购价
dblMinPurchasePrice As Double '最低采购价
dblRecenetSalePrice As Double '最近销售价
dblMaxSalePrice As Double '最高销售价
dblMinSalePrice As Double '最低销售价
dblMinLimitSalePrice As Double '最低限制销售价
dblRetainPrice As Double '零售价
dblSalePrice As Double '销售价
dblPurchasePrice As Double '采购价
dblSalePriceTax As Double '含税销售价
dblPurchasePriceTax As Double '含税采购价
dblMinUnitsInStock As Double '最低库存量
dblMaxUnitsInStock As Double '最高库存量
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -