# packageLabelSystem **Repository Path**: chanchaw/packageLabelSystem ## Basic Information - **Project Name**: packageLabelSystem - **Description**: Tamura Package Label System - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2019-10-10 - **Last Updated**: 2025-07-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 开发工具 ### 重置用户权限 先清空指定对象的所有用户权限再重新指定 ```sql DELETE FROM G_UserPro WHERE B_ObjectID='110901' INSERT INTO G_UserPro (B_UserName, B_ObjectID) SELECT gsu.B_UserName,'110901' FROM G_SystemUser AS gsu ``` ## 项目树 ### 日常业务 - 正常打印 在开发环境中的对象编号是 `110901` ,开发环境中的名称不一致,要以该编号为准。 **裁线标签** --- 在表格右键菜单的 **裁线标签** 弹出的窗体名称是 `frmSetPrintCountCutline`,使用的打印模板对象编号是 `222042` ## 注意点 ### 默认标签模板 存货档案表 `G_Goods` 中有字段 `B_DefaultWX` 设置存货编码对应的默认的外箱标签模板的编号,同理字段 `B_DefaultNX` 表示默认的内箱标签模板报表的编号 ### 外箱标签数据源 在源码中硬编码使用存储过程 `P_GetBQ_W_Quomodo2`,打印源码在 `clsCPRKDY # PrintBQ` ### 二维码标签 二维码的图片控件必须在报表 Detail 块中 ## 数据结构 ### G_Goods 字段 B_BZGG02 表示外箱包装规格,即一个外箱包含的产品数量,B_BZGG01表示内箱包装规格,即一个内箱包含的产品的数量 ### G_WXMB 外箱标签报表都要在本表中注册,字段 `B_ARForm` 很关键,其等于 “arQRCode” 表示该标签中带有二维码,在项目中使用带有二维码功能的报表模板窗体。此种标签还需要到表 `G_WXMB_QRComposition` 中设置二维码内容的组成,如果是 “ActiveReport1” 则表示普通标签。字段 `B_GN02TP` 表示标签中是否打印品名02 。字段 `B_IsLot =1` 表示打印标签的窗体 `frmSetPrintCount` 中的批次号文本框中会显示软件自动计算得到的批次号 - 用户仍然可以手动修改 - 在2022年12月11日 09:54:01查看源码并没有将该批次号打印在标签上。 ```sql USE [TCJGServerLB] GO /****** Object: Table [dbo].[G_WXMB] Script Date: 2022/12/11 9:48:45 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[G_WXMB]( [B_RName] [varchar](100) NOT NULL, [B_ObjectID] [varchar](50) NULL, [B_Default] [int] NULL, [B_Order] [int] NULL, [B_GN02TP] [int] NULL, [B_ARForm] [varchar](100) NULL, [B_IsLot] [int] NULL, CONSTRAINT [PK_G_WXMB] PRIMARY KEY CLUSTERED ( [B_RName] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'外箱模板的名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'G_WXMB', @level2type=N'COLUMN',@level2name=N'B_RName' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'外箱标签的报表对象编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'G_WXMB', @level2type=N'COLUMN',@level2name=N'B_ObjectID' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'1表示打印品名02' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'G_WXMB', @level2type=N'COLUMN',@level2name=N'B_GN02TP' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'报表窗体名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'G_WXMB', @level2type=N'COLUMN',@level2name=N'B_ARForm' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'1表示窗体frmSetPrintCount中软件自动填充[出货批次],用户也可修改' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'G_WXMB', @level2type=N'COLUMN',@level2name=N'B_IsLot' GO ``` ### G_WXMB_QRComposition 本表设置带有二维码的标签中二维码内容的构成,通过 `B_Order` 控制每个元素的显示顺序(从小到大,小的显示在前面)。字段 `B_RName` 来自外箱标签模板注册表 `G_WXMB` 中的主键。字段 `B_Content` 有解释执行的功能,例如:`!GoodsName` 表示二维码中打印当前编码的品名,一般二维码中包含多个产品要素信息,中间的固定间隔符号直接硬编码写在该字段 `B_Content` 中。 ```sql USE [TCJGServerLB] GO /****** Object: Table [dbo].[G_WXMB_QRComposition] Script Date: 2022/12/11 9:54:51 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[G_WXMB_QRComposition]( [B_ID] [int] IDENTITY(1,1) NOT NULL, [B_RName] [varchar](50) NULL, [B_Content] [varchar](50) NULL, [B_Order] [int] NULL ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO ```