您现在的位置是:首页> ERP实施维护ERP实施维护
金蝶云星空客户物料对应表增加自定义字段更新失败
2026-05-15
ERP实施维护浏览量3
简介客户物料对应表添加字段需要在客户物料对应表添加然后再去客户物料对应表视图再添加一样的字段但是一次添加多个字段必须严格按照顺序添加一样的字段名标识,否者去客户物料对应表同步更新会报错需要重建索引,代码如下SETNOCOUNTON/*记录默认列数据用于对比*/IFOBJECT_ID('COLUMN_CONTENT')<>0DROPTABLECOLUMN_CONTENT;GO
客户物料对应表添加字段需要在客户物料对应表添加然后再去客户物料对应表视图再添加一样的字段
但是一次添加多个字段必须严格按照顺序添加一样的字段名标识,如果忘记顺序去客户物料对应表同步更新会报错
需要重建索引重建重建视图,代码如下
SET NOCOUNT ON
/*记录默认列数据用于对比*/
IF OBJECT_ID('COLUMN_CONTENT') <> 0 DROP TABLE COLUMN_CONTENT;
GO
CREATE TABLE COLUMN_CONTENT (TABLE_NAME VARCHAR(255),COLUMN_NAME VARCHAR(255));
GO
INSERT INTO COLUMN_CONTENT VALUES('T_SAL_CUSTMATMAPPINGENTRY','FENTRYID');
INSERT INTO COLUMN_CONTENT VALUES('T_SAL_CUSTMATMAPPINGENTRY','FID');
INSERT INTO COLUMN_CONTENT VALUES('T_SAL_CUSTMATMAPPINGENTRY','FSEQ');
INSERT INTO COLUMN_CONTENT VALUES('T_SAL_CUSTMATMAPPINGENTRY','FCUSTMATNO');
INSERT INTO COLUMN_CONTENT VALUES('T_SAL_CUSTMATMAPPINGENTRY','FMATERIALID');
INSERT INTO COLUMN_CONTENT VALUES('T_SAL_CUSTMATMAPPINGENTRY','FEFFECTIVE');
INSERT INTO COLUMN_CONTENT VALUES('T_SAL_CUSTMATMAPPINGENTRY','FAUXPROPID');
INSERT INTO COLUMN_CONTENT VALUES('T_SAL_CUSTMATMAPPINGENTRY','FDEFCARRY');
INSERT INTO COLUMN_CONTENT VALUES('T_SAL_CUSTMATMAPPINGENTRY','FKDPACKAGEQTY');
INSERT INTO COLUMN_CONTENT VALUES('T_SAL_CUSTMATMAPPINGENTRY_L','FPKID');
INSERT INTO COLUMN_CONTENT VALUES('T_SAL_CUSTMATMAPPINGENTRY_L','FENTRYID');
INSERT INTO COLUMN_CONTENT VALUES('T_SAL_CUSTMATMAPPINGENTRY_L','FLOCALEID');
INSERT INTO COLUMN_CONTENT VALUES('T_SAL_CUSTMATMAPPINGENTRY_L','FCUSTMATNAME');
GO
IF OBJECT_ID('CUST_BAK_VIEWSQL') IS NULL CREATE TABLE CUST_BAK_VIEWSQL (BAK_TIME DATETIME,OBJECT_ID BIGINT,COM_ID BIGINT,VIEW_SQL NTEXT);
GO
PRINT('1 记录默认列完成!');
/*备份历史视图创建SQL*/
INSERT INTO CUST_BAK_VIEWSQL
SELECT GETDATE() BAK_TIME,VI.OBJECT_ID,COM.ID,COM.TEXT
FROM SYS.ALL_VIEWS VI INNER JOIN SYS.SYSCOMMENTS COM ON VI.OBJECT_ID = COM.ID
WHERE 1=1
AND VI.NAME IN ('V_SAL_CUSTMATMAPPING','V_SAL_CUSTMATMAPPING_L')
ORDER BY VI.OBJECT_ID;
GO
PRINT('2 备份历史视图创建SQL完成!');
/*重建V_SAL_CUSTMATMAPPING*/
--拼接自定义字段
DECLARE @SQL_CUST VARCHAR(1000) =','
DECLARE CUR01 CURSOR FOR
SELECT 'ENTRY.'+TC.name COLUMN_NAME
FROM SYS.all_objects TA INNER JOIN SYS.all_columns TC ON TA.object_id = TC.object_id
LEFT JOIN COLUMN_CONTENT CON ON TA.NAME = CON.TABLE_NAME AND TC.NAME = CON.COLUMN_NAME AND CON.TABLE_NAME = 'T_SAL_CUSTMATMAPPINGENTRY'
WHERE 1=1 AND TA.NAME = 'T_SAL_CUSTMATMAPPINGENTRY' AND CON.COLUMN_NAME IS NULL
OPEN CUR01
DECLARE @CNAME VARCHAR(255)
FETCH NEXT FROM CUR01 INTO @CNAME
WHILE @@FETCH_STATUS = 0
BEGIN
SET @SQL_CUST = @SQL_CUST + @CNAME + ',';
FETCH NEXT FROM CUR01 INTO @CNAME;
END
SET @SQL_CUST = SUBSTRING(@SQL_CUST,0,LEN(@SQL_CUST))
PRINT('3 客户物料对应表自定义拼接字段为:' + @SQL_CUST);
CLOSE CUR01;
DEALLOCATE CUR01;
--重新创建视图-明细
IF OBJECT_ID('V_SAL_CUSTMATMAPPING') <> 0 DROP VIEW V_SAL_CUSTMATMAPPING;
PRINT('视图V_SAL_CUSTMATMAPPING已删除!');
DECLARE @CREATEVIEW_SQL VARCHAR(MAX);
SET @CREATEVIEW_SQL = REPLACE('
CREATE VIEW [dbo].[V_SAL_CUSTMATMAPPING] AS
SELECT ((((((CONVERT(VARCHAR(80), HEAD.FID) + ''&'') + CONVERT(VARCHAR(80), ENTRY.FENTRYID)) + ''&'') + CONVERT(VARCHAR(80), HEAD.FUSEORGID)) + ''&'') + CONVERT(VARCHAR(80), CUST.FMASTERID)) fid, HEAD.FID fheadfid, ENTRY.FCUSTMATNO fnumber, ENTRY.FAUXPROPID, HEAD.FSALEORGID fcreateorgid, HEAD.FUSEORGID, CUST.FMASTERID fcustomerid, HEAD.FCREATORID, HEAD.FCREATEDATE, HEAD.FMODIFIERID, HEAD.FMODIFYDATE, ''C'' fdocumentstatus, ''A'' fforbidstatus, ENTRY.FMATERIALID, ENTRY.FEFFECTIVE, ENTRY.FDEFCARRY, HEAD.FISOLDVERSION --TAG --TAB02
FROM T_SAL_CUSTMATMAPPING HEAD INNER JOIN T_SAL_CUSTMATMAPPINGENTRY ENTRY ON HEAD.FID = ENTRY.FID LEFT OUTER JOIN T_SAL_MULCUSTMATMAPPING MCM ON HEAD.FID = MCM.FID LEFT OUTER JOIN T_BD_CUSTOMER CUST ON CUST.FCUSTID = MCM.FMULCUSTOMERID WHERE ((HEAD.FDOCUMENTSTATUS = ''A'' AND (MCM.FMULCUSTOMERID IS NOT NULL)) AND (MCM.FMULCUSTOMERID <> HEAD.FCUSTOMERID))
UNION ALL SELECT ((((CONVERT(VARCHAR(80), HEAD.FID) + ''&'') + CONVERT(VARCHAR(80), ENTRY.FENTRYID)) + ''&'') + CONVERT(VARCHAR(80), HEAD.FUSEORGID)) fid, HEAD.FID fheadfid, ENTRY.FCUSTMATNO fnumber, ENTRY.FAUXPROPID, HEAD.FSALEORGID fcreateorgid, HEAD.FUSEORGID, ISNULL(CUST.FMASTERID, 0) fcustomerid, HEAD.FCREATORID, HEAD.FCREATEDATE, HEAD.FMODIFIERID, HEAD.FMODIFYDATE, ''C'' fdocumentstatus, ''A'' fforbidstatus, ENTRY.FMATERIALID, ENTRY.FEFFECTIVE, ENTRY.FDEFCARRY, HEAD.FISOLDVERSION --TAG --TAB02
FROM T_SAL_CUSTMATMAPPING HEAD INNER JOIN T_SAL_CUSTMATMAPPINGENTRY ENTRY ON HEAD.FID = ENTRY.FID LEFT OUTER JOIN T_SAL_MULCUSTMATMAPPING MCM ON HEAD.FID = MCM.FID LEFT OUTER JOIN T_BD_CUSTOMER CUST ON CUST.FCUSTID = HEAD.FCUSTOMERID WHERE ((HEAD.FDOCUMENTSTATUS = ''A'' AND (MCM.FMULCUSTOMERID IS NULL)) AND HEAD.FCUSTOMERID = 0)
UNION ALL SELECT ((((CONVERT(VARCHAR(80), HEAD.FID) + ''&'') + CONVERT(VARCHAR(80), ENTRY.FENTRYID)) + ''&'') + CONVERT(VARCHAR(80), HEAD.FUSEORGID)) fid, HEAD.FID fheadfid, ENTRY.FCUSTMATNO fnumber, ENTRY.FAUXPROPID, HEAD.FSALEORGID fcreateorgid, HEAD.FUSEORGID, ISNULL(CUST.FMASTERID, 0) fcustomerid, HEAD.FCREATORID, HEAD.FCREATEDATE, HEAD.FMODIFIERID, HEAD.FMODIFYDATE, ''C'' fdocumentstatus, ''A'' fforbidstatus, ENTRY.FMATERIALID, ENTRY.FEFFECTIVE, ENTRY.FDEFCARRY, HEAD.FISOLDVERSION --TAG --TAB02
FROM T_SAL_CUSTMATMAPPING HEAD INNER JOIN T_SAL_CUSTMATMAPPINGENTRY ENTRY ON HEAD.FID = ENTRY.FID LEFT OUTER JOIN T_BD_CUSTOMER CUST ON CUST.FCUSTID = HEAD.FCUSTOMERID WHERE (HEAD.FDOCUMENTSTATUS = ''A'' AND (HEAD.FCUSTOMERID > 0))
UNION ALL SELECT ((((CONVERT(VARCHAR(80), HEAD.FID) + ''&'') + CONVERT(VARCHAR(80), ENTRY.FENTRYID)) + ''&'') + CONVERT(VARCHAR(80), ISSUE.FISSUEORGID)) fid, HEAD.FID fheadfid, ENTRY.FCUSTMATNO fnumber, ENTRY.FAUXPROPID, HEAD.FSALEORGID fcreateorgid, ISSUE.FISSUEORGID fuseorgid, CUST.FMASTERID fcustomerid, HEAD.FCREATORID, HEAD.FCREATEDATE, HEAD.FMODIFIERID, HEAD.FMODIFYDATE, ''C'' fdocumentstatus, ''A'' fforbidstatus, MMASTER.FMATERIALID, ENTRY.FEFFECTIVE, ENTRY.FDEFCARRY, HEAD.FISOLDVERSION --TAG --TAB02
FROM T_SAL_CUSTMATMAPPING_ISSUE ISSUE INNER JOIN T_SAL_CUSTMATMAPPING HEAD ON ISSUE.FID = HEAD.FID INNER JOIN T_SAL_CUSTMATMAPPINGENTRY ENTRY ON HEAD.FID = ENTRY.FID INNER JOIN T_BD_MATERIAL M ON M.FMATERIALID = ENTRY.FMATERIALID INNER JOIN T_BD_MATERIAL MMASTER ON (MMASTER.FMASTERID = M.FMASTERID AND (ISSUE.FISSUEORGID = MMASTER.FUSEORGID OR EXISTS (SELECT 1 FROM T_META_BASEDATATYPE BT WHERE (BT.FBASEDATATYPEID = ''BD_MATERIAL'' AND (BT.FSTRATEGYTYPE = 1 OR BT.FSTRATEGYTYPE = 3))))) INNER JOIN T_BD_CUSTOMER CUST ON CUST.FCUSTID = HEAD.FCUSTOMERID WHERE (HEAD.FDOCUMENTSTATUS = ''A'' AND (HEAD.FCUSTOMERID > 0))
UNION ALL SELECT ((((CONVERT(VARCHAR(80), HEAD.FID) + ''&'') + CONVERT(VARCHAR(80), ENTRY.FENTRYID)) + ''&'') + CONVERT(VARCHAR(80), ISSUE.FISSUEORGID)) fid, HEAD.FID fheadfid, ENTRY.FCUSTMATNO fnumber, ENTRY.FAUXPROPID, HEAD.FSALEORGID fcreateorgid, ISSUE.FISSUEORGID fuseorgid, 0 fcustomerid, HEAD.FCREATORID, HEAD.FCREATEDATE, HEAD.FMODIFIERID, HEAD.FMODIFYDATE, ''C'' fdocumentstatus, ''A'' fforbidstatus, MMASTER.FMATERIALID, ENTRY.FEFFECTIVE, ENTRY.FDEFCARRY, HEAD.FISOLDVERSION --TAG --TAB02
FROM T_SAL_CUSTMATMAPPING_ISSUE ISSUE INNER JOIN T_SAL_CUSTMATMAPPING HEAD ON ISSUE.FID = HEAD.FID INNER JOIN T_SAL_CUSTMATMAPPINGENTRY ENTRY ON HEAD.FID = ENTRY.FID LEFT OUTER JOIN T_SAL_MULCUSTMATMAPPING MCM ON HEAD.FID = MCM.FID INNER JOIN T_BD_MATERIAL M ON M.FMATERIALID = ENTRY.FMATERIALID INNER JOIN T_BD_MATERIAL MMASTER ON (MMASTER.FMASTERID = M.FMASTERID AND (ISSUE.FISSUEORGID = MMASTER.FUSEORGID OR EXISTS (SELECT 1 FROM T_META_BASEDATATYPE BT WHERE (BT.FBASEDATATYPEID = ''BD_MATERIAL'' AND (BT.FSTRATEGYTYPE = 1 OR BT.FSTRATEGYTYPE = 3))))) WHERE ((HEAD.FDOCUMENTSTATUS = ''A'' AND HEAD.FCUSTOMERID = 0) AND (MCM.FMULCUSTOMERID IS NULL))
UNION ALL SELECT ((((((CONVERT(VARCHAR(80), HEAD.FID) + ''&'') + CONVERT(VARCHAR(80), ENTRY.FENTRYID)) + ''&'') + CONVERT(VARCHAR(80), ISSUE.FISSUEORGID)) + ''&'') + CONVERT(VARCHAR(80), CUST.FMASTERID)) fid, HEAD.FID fheadfid, ENTRY.FCUSTMATNO fnumber, ENTRY.FAUXPROPID, HEAD.FSALEORGID fcreateorgid, ISSUE.FISSUEORGID fuseorgid, CUST.FMASTERID fcustomerid, HEAD.FCREATORID, HEAD.FCREATEDATE, HEAD.FMODIFIERID, HEAD.FMODIFYDATE, ''C'' fdocumentstatus, ''A'' fforbidstatus, MMASTER.FMATERIALID, ENTRY.FEFFECTIVE, ENTRY.FDEFCARRY, HEAD.FISOLDVERSION --TAG --TAB02
FROM T_SAL_CUSTMATMAPPING_ISSUE ISSUE INNER JOIN T_SAL_CUSTMATMAPPING HEAD ON ISSUE.FID = HEAD.FID INNER JOIN T_SAL_MULCUSTMATMAPPING MCM ON HEAD.FID = MCM.FID INNER JOIN T_SAL_CUSTMATMAPPINGENTRY ENTRY ON MCM.FID = ENTRY.FID INNER JOIN T_BD_MATERIAL M ON M.FMATERIALID = ENTRY.FMATERIALID INNER JOIN T_BD_MATERIAL MMASTER ON (MMASTER.FMASTERID = M.FMASTERID AND (ISSUE.FISSUEORGID = MMASTER.FUSEORGID OR EXISTS (SELECT 1 FROM T_META_BASEDATATYPE BT WHERE (BT.FBASEDATATYPEID = ''BD_MATERIAL'' AND (BT.FSTRATEGYTYPE = 1 OR BT.FSTRATEGYTYPE = 3))))) INNER JOIN T_BD_CUSTOMER CUST ON CUST.FCUSTID = MCM.FMULCUSTOMERID WHERE ((HEAD.FDOCUMENTSTATUS = ''A'' AND (MCM.FMULCUSTOMERID IS NOT NULL)) AND (MCM.FMULCUSTOMERID <> HEAD.FCUSTOMERID))','--TAG',@SQL_CUST);
EXEC(@CREATEVIEW_SQL);
PRINT('视图V_SAL_CUSTMATMAPPING已重建!');
GO
/*重建V_SAL_CUSTMATMAPPING_L*/
--拼接自定义字段
DECLARE @SQL_CUST VARCHAR(1000) =','
DECLARE CUR01 CURSOR FOR
SELECT 'L.'+TC.name COLUMN_NAME
FROM SYS.all_objects TA INNER JOIN SYS.all_columns TC ON TA.object_id = TC.object_id
LEFT JOIN COLUMN_CONTENT CON ON TA.NAME = CON.TABLE_NAME AND TC.NAME = CON.COLUMN_NAME AND CON.TABLE_NAME = 'T_SAL_CUSTMATMAPPINGENTRY_L'
WHERE 1=1 AND TA.NAME = 'T_SAL_CUSTMATMAPPINGENTRY_L' AND CON.COLUMN_NAME IS NULL
OPEN CUR01
DECLARE @CNAME VARCHAR(255)
FETCH NEXT FROM CUR01 INTO @CNAME
WHILE @@FETCH_STATUS = 0
BEGIN
SET @SQL_CUST = @SQL_CUST + @CNAME + ',';
FETCH NEXT FROM CUR01 INTO @CNAME;
END
SET @SQL_CUST = SUBSTRING(@SQL_CUST,0,LEN(@SQL_CUST))
PRINT('4 客户物料对应表多语言表自定义拼接字段为:' + @SQL_CUST);
CLOSE CUR01;
DEALLOCATE CUR01;
--重新创建视图-明细多语言
IF OBJECT_ID('V_SAL_CUSTMATMAPPING_L') <> 0 DROP VIEW V_SAL_CUSTMATMAPPING_L;
PRINT('视图V_SAL_CUSTMATMAPPING_L已删除!');
DECLARE @CREATEVIEW_SQL VARCHAR(MAX);
SET @CREATEVIEW_SQL = REPLACE('CREATE VIEW [dbo].[V_SAL_CUSTMATMAPPING_L] AS
SELECT L.FPKID, ((((CONVERT(VARCHAR(80), HEAD.FID) + ''&'') + CONVERT(VARCHAR(80), ENTRY.FENTRYID)) + ''&'') + CONVERT(VARCHAR(80), HEAD.FUSEORGID)) fid, L.FLOCALEID, L.FCUSTMATNAME fname, '' '' fdescription --TAG --tab02
FROM T_SAL_CUSTMATMAPPINGENTRY_L L INNER JOIN T_SAL_CUSTMATMAPPINGENTRY ENTRY ON L.FENTRYID = ENTRY.FENTRYID INNER JOIN T_SAL_CUSTMATMAPPING HEAD ON ENTRY.FID = HEAD.FID
UNION ALL SELECT L.FPKID, ((((CONVERT(VARCHAR(80), HEAD.FID) + ''&'') + CONVERT(VARCHAR(80), ENTRY.FENTRYID)) + ''&'') + CONVERT(VARCHAR(80), ISSUE.FISSUEORGID)) fid, L.FLOCALEID, L.FCUSTMATNAME fname, '' '' fdescription --TAG --tab02
FROM T_SAL_CUSTMATMAPPINGENTRY_L L INNER JOIN T_SAL_CUSTMATMAPPINGENTRY ENTRY ON L.FENTRYID = ENTRY.FENTRYID INNER JOIN T_SAL_CUSTMATMAPPING HEAD ON ENTRY.FID = HEAD.FID INNER JOIN T_SAL_CUSTMATMAPPING_ISSUE ISSUE ON ISSUE.FID = HEAD.FID
UNION ALL SELECT L.FPKID, ((((((CONVERT(VARCHAR(80), HEAD.FID) + ''&'') + CONVERT(VARCHAR(80), ENTRY.FENTRYID)) + ''&'') + CONVERT(VARCHAR(80), HEAD.FUSEORGID)) + ''&'') + CONVERT(VARCHAR(80), CUST.FMASTERID)) fid, L.FLOCALEID, L.FCUSTMATNAME fname, '' '' fdescription --TAG --tab02
FROM T_SAL_CUSTMATMAPPINGENTRY_L L INNER JOIN T_SAL_CUSTMATMAPPINGENTRY ENTRY ON L.FENTRYID = ENTRY.FENTRYID INNER JOIN T_SAL_CUSTMATMAPPING HEAD ON ENTRY.FID = HEAD.FID INNER JOIN T_SAL_MULCUSTMATMAPPING MCM ON HEAD.FID = MCM.FID INNER JOIN T_BD_CUSTOMER CUST ON CUST.FCUSTID = MCM.FMULCUSTOMERID
UNION ALL SELECT L.FPKID, ((((((CONVERT(VARCHAR(80), HEAD.FID) + ''&'') + CONVERT(VARCHAR(80), ENTRY.FENTRYID)) + ''&'') + CONVERT(VARCHAR(80), ISSUE.FISSUEORGID)) + ''&'') + CONVERT(VARCHAR(80), CUST.FMASTERID)) fid, L.FLOCALEID, L.FCUSTMATNAME fname, '' '' fdescription --TAG --tab02
FROM T_SAL_CUSTMATMAPPINGENTRY_L L INNER JOIN T_SAL_CUSTMATMAPPINGENTRY ENTRY ON L.FENTRYID = ENTRY.FENTRYID INNER JOIN T_SAL_CUSTMATMAPPING HEAD ON ENTRY.FID = HEAD.FID INNER JOIN T_SAL_CUSTMATMAPPING_ISSUE ISSUE ON ISSUE.FID = HEAD.FID INNER JOIN T_SAL_MULCUSTMATMAPPING MCM ON HEAD.FID = MCM.FID INNER JOIN T_BD_CUSTOMER CUST ON CUST.FCUSTID = MCM.FMULCUSTOMERID','--TAG',@SQL_CUST)
EXEC(@CREATEVIEW_SQL);
PRINT('视图V_SAL_CUSTMATMAPPING_L已重建!');
GO
/*重建实体表*/
--重建前备份历史数据
DECLARE @BAKSQL01 VARCHAR(255),@BAKSQL02 VARCHAR(255)
SET @BAKSQL01 = 'SELECT * INTO '+'T_V_SAL_CUSTMATMAPPING_SQLBAK_'
+ REPLACE(SUBSTRING(CONVERT(NVARCHAR,GETDATE(),121),1,10),'-','')+'_'+REPLACE(SUBSTRING(CONVERT(NVARCHAR,GETDATE(),121),12,8),':','')+' FROM T_V_SAL_CUSTMATMAPPING'
SET @BAKSQL02 = 'SELECT * INTO '+'T_V_SAL_CUSTMATMAPPING_L_SQLBAK_'
+ REPLACE(SUBSTRING(CONVERT(NVARCHAR,GETDATE(),121),1,10),'-','')+'_'+REPLACE(SUBSTRING(CONVERT(NVARCHAR,GETDATE(),121),12,8),':','')+' FROM T_V_SAL_CUSTMATMAPPING_L'
EXEC(@BAKSQL01)
EXEC(@BAKSQL02)
PRINT('5 历史数据备份完成!')
--SELECT name,create_date FROM SYS.ALL_OBJECTS WHERE NAME LIKE 'T_V_SAL_CUSTMATMAPPING%' AND NAME LIKE '%SQLBAK%'
--实体表
DROP TABLE T_V_SAL_CUSTMATMAPPING;
SELECT * INTO T_V_SAL_CUSTMATMAPPING FROM V_SAL_CUSTMATMAPPING;
PRINT('6 实体表重建完成!')
--多语言
DROP TABLE T_V_SAL_CUSTMATMAPPING_L;
SELECT * INTO T_V_SAL_CUSTMATMAPPING_L FROM V_SAL_CUSTMATMAPPING_L;
PRINT('7 多语言表重建完成!')
/*补充索引和主键*/
ALTER TABLE T_V_SAL_CUSTMATMAPPING ALTER COLUMN FID VARCHAR(323) NOT NULL;
go
ALTER TABLE T_V_SAL_CUSTMATMAPPING ADD CONSTRAINT PK_T_V_SAL_CUSTMATMAPPING PRIMARY KEY (FID);
CREATE NONCLUSTERED INDEX [IDX_TV_CUSTMATMAPPING_CUST] ON [dbo].[T_V_SAL_CUSTMATMAPPING]
( [fcustomerid] ASC)
CREATE NONCLUSTERED INDEX [IDX_TV_CUSTMATMAPPING_MAT] ON [dbo].[T_V_SAL_CUSTMATMAPPING]
( [FMATERIALID] ASC)
CREATE NONCLUSTERED INDEX [IDX_TV_CUSTMATMAPPING_NO] ON [dbo].[T_V_SAL_CUSTMATMAPPING]
( [fnumber] ASC)
CREATE NONCLUSTERED INDEX [IDX_TV_CUSTMATMAPPING_L_FID] ON [dbo].[T_V_SAL_CUSTMATMAPPING_L]
( [fid] ASC)
PRINT('8 补充索引和主键完成!')随机文章
随机图文

金蝶ERP云星空BOS开发平台平行扩展问题
由于CRM系统升级,造成生产订单自定义字段无法批改。因为CRM升级后对生产订单进行了平行扩展。扩展了2次。现在教你如何删除不需要的BOS平行扩展。因为金蝶BOS开发平台控制了开发商唯一码校验。因此我们需...
金蝶云星空二开单据物料基本单位携带
金蝶云星空二开单据物料的基本单位携带。物料需要引用基本单位属性增加计量单位字段,值更新打钩物料值更新事件配置单位对应关系
金蝶云星空BOS开发计算多个数字相加
BOS二开单据根据每月销售数量计算本年的销售数量合计。在每月销售数量字段上做如下配置。每个月都用一用的公式。保证每个月数值反生改变时,都可以自动更新合销售数量合计。注意销售数量合计字段 即时触发更新事件...
金蝶ERP云星空物料编码加客户名称唯一性检查
金蝶云星空BOS开发单据,多字段唯一性检查。禁止相同客户与相同物料编码输入多次。点保存按钮后最终检查如下
金蝶云星空二开单据显示序号
序号字段标识必须是FSeq
金蝶云星空如何限制组织只能选择库存组织
金蝶云星空如何限制组织只能选择库存组织。打开编辑字段,选择组织右边的组织职能。选择库存职能
金蝶云星空获取当前年份
创建一个整数字段或者文本字段,预测年份。设置预测年份值更新事件。截取创建日期的年份。并且在表单属性的菜单集合,选择保存按钮,调用值更新服务。
金蝶BOS开发平台删除字段后,数据库还有这个字段
很多小伙伴会发现,在金蝶BOS二开过程中,会创建了很多字段。但是后面觉得这些字段不用了。直接在BOS开发界面删除,但是实际上数据库还有这个字段信息。如何彻底删除呢?首先确定好这些字段是无用字段。复制这...
金蝶云星空限制只能选某个组织机构
金蝶云星空在BOS平台如何限制单据只允许某个组织,或者某几个组织。首先去数据库查询组织机构表中字段select*fromT_ORG_Organizations根据查询结果。找到需要的组织机构。去BOS平台找到组织机构字段 设置...
金蝶云星空二开单据使用半年后突然增加一个字段如何把这个字段批量更新
金蝶云星空二开单据已经使用了大半年时间,有很多数据了。但是突然新增一个字段,这个字段以前不存在,所以单据上以前这个字段值就是空的。可以通过字段批改功能批量维护。批改必须保证数据准确性。以下介绍2种方法:...





微信收款码
支付宝收款码