⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 billpublic.bas

📁 金算盘软件代码
💻 BAS
📖 第 1 页 / 共 5 页
字号:
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 + -