.Net 平台应用与技巧
MRZ图表分组数据源过滤设计示例
平台应用类
OrBit平台Job配置
【序列号规则】插件使用说明
工单自定义流程节点应用说明
平台 【SVN 版本管理】工具使用说明
平台SPC应用介绍
平台WebAPI文件上传、下载(OrBitWebAPI2)
平台【元对象授权】功能使用说明
平台【分级授权】功能使用说明
平台【消息对象】使用说明
平台【表单消息升级】应用说明
平台可配置【 Excel 文件导出】功能使用说明
按产品定义采集功能使用说明
用户自定义编码及系统单据状态、单据类型的颜色配置
系统中如何增加用户密码过期更换提醒
通用在线打印功能使用说明
平台技巧类
MS-SQL 添加并引用 DLL 程序集
OrBit “自定义对话框”使用说明
Matrix标签打印(OrBitMESHelp/OrBitMetaHelp)
MES事务对象Scripter--扩展方法
MES事务帮助类OrBitMESHelp
WebView2管理类--用于展示看板
元对象Scripter--扩展方法
元对象帮助类OrBitMetaHelp
外挂Exc程序(发布为平台插件)---调用自定义对话框
自定义对话框--Xml/Json数据解析神器
OrBit-KanBan File 类型应用说明
OrBit-X 如何支持 Https 协议
OrBit-X 平台 Bartender 标签模板制作说明
OrBit-X 平台元对象多文件上传、预览
OrBit-X 平台内置 WebAPI 使用说明
OrBit-X 应用打包-扩展工具-快捷迁移
OrBit平台“调用摄像头拍照、录制视频,并上传FTP”窗体控件的应用
元对象可配置Excel导入功能应用说明
元对象嵌入看板
基于 Json 数据格式的 Mrt 模板设计说明
如何利用 Bartender 标签模板实现一拖几打印
平台 Excel 对象导入功能应用说明
平台 MES 事务对象实现网格多选效果
平台 WebAPI 应用说明
平台中 Mrz 模板实现钻取功能
平台发布接口(OrBitWebAPI&OrBitWebAPI2)
平台通过 CLR 实现企业微信消息及文件自动推送
标签/报表实现只预览不打印
通过平台 Web 服务实现远端 Wifi 打印说明
静态事务“平铺按钮”控件的应用
静态事务”调用摄像头扫码识别条码(条形码/二维码)“功能的应用与实现
钉钉机器人接口实现及其他API扩展
-
+
首页
用户自定义编码及系统单据状态、单据类型的颜色配置
# 一、概述 如大家所知,OrBit平台已提供通过存储过程数据集返回的ColorControlId字段,实现网格样式(背景色、字体色)的简单配置。随着这项应用的普及,需要频繁的在存储过程中拼接颜色的控制码(ColorControlId),现提供一种在前端配置颜色(颜色选择器/RGB)、存储过程调用函数输出颜色控制码(ColorControlId)的便捷方法。实现方式如下: [示例] ![](http://121.37.203.18:8006/media//202206/2022-06-16_172955.png) OAP文件: [【附件】OrBitMOM 22_2723_62254(颜色配置(UserCode、Bill)).oap](/media/attachment/2022/06/OrBitMOM_22_2723_62254颜色配置UserCodeBill.oap) # 二、应用实例 1. 用户自定义编码(UserCode) ![](http://121.37.203.18:8006/media//202206/2022-06-16_172804.png) 2. 系统单据状态(BillState) ![](http://121.37.203.18:8006/media//202206/2022-06-16_172818.png) 3. 系统单据类型(BillType) ![](http://121.37.203.18:8006/media//202206/2022-06-16_172834.png) 4. 其他 # 三、存储过程调用 1. 存储过程输出颜色控制码(ColorControlId) ![](/media//202206/2022-06-17_111011.png) 2. 函数说明(Fn_BillAttrColorCode) 【参数】 @AttrName -- 欲设值样式的单元格列名 @AttrValue -- 主键Id 【脚本】 ```sql ALTER function [dbo].[Fn_BillAttrColorCode]( @AttrName nvarchar(50), -- 运用颜色显示的列名 @AttrValue nvarchar(500) -- 状态值(状态Id或者状态码) ) returns nvarchar(max) as begin declare @var_Result nvarchar(max) = '', @var_XCode nvarchar(50) = '', @var_YCode nvarchar(50) = '', @var_Z nvarchar(50) = '', @var_PKHeader nvarchar(4) = null set @var_PKHeader = left(@AttrValue,4) -- 单据状态 if @var_PKHeader = 'BLST' begin select @var_XCode = 'X' + ltrim(rtrim(dbo.Fn_IsNullOrEmpty('('+BackColor+')','1'))), @var_YCode = 'Y' + ltrim(rtrim(dbo.Fn_IsNullOrEmpty('('+ForeColor+')','0'))), @var_Z = IIF(ISNULL(IsBold,0) = 1,'Z','') from BillStates bs where bs.BillStatesId = @AttrValue end -- 单据类型 else if @var_PKHeader = 'BLTP' begin select @var_XCode = 'X' + ltrim(rtrim(dbo.Fn_IsNullOrEmpty('('+BackColor+')','1'))), @var_YCode = 'Y' + ltrim(rtrim(dbo.Fn_IsNullOrEmpty('('+ForeColor+')','0'))), @var_Z = IIF(ISNULL(IsBold,0) = 1,'Z','') from BillType bt where bt.BillTypeId = @AttrValue end -- 异常类型 else if @var_PKHeader = 'EXTP' begin select @var_XCode = 'X' + ltrim(rtrim(dbo.Fn_IsNullOrEmpty('('+BackColor+')','1'))), @var_YCode = 'Y' + ltrim(rtrim(dbo.Fn_IsNullOrEmpty('('+ForeColor+')','0'))), @var_Z = IIF(ISNULL(IsBold,0) = 1,'Z','') from ExceptionType et where et.ExceptionTypeId = @AttrValue end -- 用户编码 else if @var_PKHeader = 'URC1' begin select @var_XCode = 'X' + ltrim(rtrim(dbo.Fn_IsNullOrEmpty('('+BackColor+')','1'))), @var_YCode = 'Y' + ltrim(rtrim(dbo.Fn_IsNullOrEmpty('('+ForeColor+')','0'))), @var_Z = IIF(ISNULL(IsBold,0) = 1,'Z','') from UserCode uc where uc.UserCodeId = @AttrValue end -- 图例 else if @var_PKHeader = 'CLGD' begin select @var_XCode = 'X' + ltrim(rtrim(dbo.Fn_IsNullOrEmpty('('+BackColor+')','1'))), @var_YCode = 'Y' + ltrim(rtrim(dbo.Fn_IsNullOrEmpty('('+ForeColor+')','0'))), @var_Z = IIF(ISNULL(IsBold,0) = 1,'Z','') from Calendar_Legend uc where uc.Calendar_LegendId = @AttrValue end if @AttrName = 'CT_X' begin set @var_Result = @var_XCode end else if @AttrName = 'CT_Y' begin set @var_Result = @var_YCode+@var_Z end else begin set @var_Result = @var_XCode + @var_YCode + @var_Z if isnull(@var_Result,'') != '' begin set @var_Result = '['+ @AttrName + ':' + @var_Result + ']' end end return @var_Result end ``` 【调用示例】 ![](/media//202206/2022-06-17_135918.png) ```sql SELECT EAM_EqAssetMaintRecordId, EAM_EqAssetMaintFormId, MaintTypeId, MaintType, MaintItemId, MaintPosition, MaintItem, MaintStateId, MaintStates.FNameDesc AS MaintState, MaintDate, MaintUser, GL_AuditState AS GL_AuditStateId, GL_AuditStates.FNameDesc AS GL_AuditState, GL_AduitDate, GroupLeader, AM_AuditState AS AM_AuditStateId, AM_AuditStates.FNameDesc AS AM_AuditState, AM_AuditDate, AssetManager, MaintMethod, MaintStandard, ExceptionHandleStd, ImportanceLevel, MaintConditionId, MaintCondition, MaintItemType, Cycle, RspPerson, ResultTypeId, ResultType, LowerLimit, UpperLimit, MaintValue, MaintResult, Remark, ExceptionHandleId, ExceptionHandle, IsDoublePlan, MaintStdHours, MaintActHours, StartTime, EndTime, PlanSchemeId, PlanScheme, PlanDes, SetValue, EaryWarningValue, FstPlanDate, CurrWorkQty, AMR.CreateDate, '[RowColor:Z]' + dbo.Fn_BillAttrColorCode('MaintState',MaintStates.FId) + dbo.Fn_BillAttrColorCode('GL_AuditState',GL_AuditStates.FId) + dbo.Fn_BillAttrColorCode('AM_AuditState',AM_AuditStates.FId) AS ColorControlId FROM EAM_EqAssetMaintRecord AMR LEFT OUTER JOIN dbo.TFn_UserCodeToTable('EAM MaintStates/维保状态') MaintStates ON AMR.MaintStateId = MaintStates.FId LEFT OUTER JOIN dbo.TFn_UserCodeToTable('EAM MaintAuditStates/维保审核状态') GL_AuditStates ON AMR.GL_AuditState = GL_AuditStates.FName LEFT OUTER JOIN dbo.TFn_UserCodeToTable('EAM MaintAuditStates/维保审核状态') AM_AuditStates ON AMR.AM_AuditState = AM_AuditStates.FName ```
RGB颜色配置
颜色选择器
HG0064
2022年11月2日 13:58
分享
上一篇
下一篇
目录
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
下载Markdown文件