个人博客 用于记载日常收集的一些技术文章 ...
K3 BOS : C# 换行 K3 BOS : C# 换行 Msg += string.Format("第{0}行【{1}】【{2} 至 {3}】在【成型产能规划】少了 {4} 个日期 \r\n", aFSeq , aFDeptName, aFDate1, aFDate2, aFDay) ;
郭少锋 创建 2023-11-18 16:03:34 K3 BOS
K3 BOS : python 条件赋值 K3 BOS : python 条件赋值 x = 10

if x > 0:
y = x
else:
y = 0

简化:y = x if x > 0 else 0
----------------------------------------------
x = 10
y = 20

value = x if x > y else y

print(value) # 输出 20
郭少锋 创建 2023-11-18 11:49:08 K3 BOS
K3 BOS : C# 日期格式 K3 BOS : C# 日期格式 string aTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ff", DateTimeFormatInfo.InvariantInfo); // 当前时间

DateTime aDate = DateTime.Now;

aDate.ToString("yyyy年MM月", DateTimeFormatInfo.InvariantInfo) // 2005年06月

d 月中的某一天。一位数的日期没有前导零。
dd 月中的某一天。一位数的日期有一个前导零。
ddd 周中某天的缩写名称,在 AbbreviatedDayNames 中定义。
dddd 周中某天的完整名称,在 DayNames 中定义。

M 月份数字。一位数的月份没有前导零。
MM 月份数字。一位数的月份有一个前导零。
MMM 月份的缩写名称,在 AbbreviatedMonthNames 中定义。
MMMM 月份的完整名称,在 MonthNames 中定义。

y 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示不具有前导零的年份。
yy 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示具有前导零的年份。
yyyy 包括纪元的四位数的年份。

gg 时期或纪元。如果要设置格式的日期不具有关联的时期或纪元字符串,则忽略该模式。

h 12 小时制的小时。一位数的小时数没有前导零。
hh 12 小时制的小时。一位数的小时数有前导零。
H 24 小时制的小时。一位数的小时数没有前导零。
HH 24 小时制的小时。一位数的小时数有前导零。

m 分钟。一位数的分钟数没有前导零。
mm 分钟。一位数的分钟数有一个前导零。

s 秒。一位数的秒数没有前导零。
ss 秒。一位数的秒数有一个前导零。

f 秒的小数精度为一位。其余数字被截断。
ff 秒的小数精度为两位。其余数字被截断。
fff 秒的小数精度为三位。其余数字被截断。
ffff 秒的小数精度为四位。其余数字被截断。
fffff 秒的小数精度为五位。其余数字被截断。
ffffff 秒的小数精度为六位。其余数字被截断。
fffffff 秒的小数精度为七位。其余数字被截断。

t 在 AMDesignator 或 PMDesignator 中定义的 AM/PM 指示项的第一个字符(如果存在)。
tt 在 AMDesignator 或 PMDesignator 中定义的 AM/PM 指示项(如果存在)。

z 时区偏移量(“+”或“-”后面仅跟小时)。一位数的小时数没有前导零。例如,太平洋标准时间是“-8”。
zz 时区偏移量(“+”或“-”后面仅跟小时)。一位数的小时数有前导零。例如,太平洋标准时间是“-08”。
zzz 完整时区偏移量(“+”或“-”后面跟有小时和分钟)。一位数的小时数和分钟数有前导零。例如,太平洋标准时间是“-08:00”。

: 在 TimeSeparator 中定义的默认时间分隔符。
/ 在 DateSeparator 中定义的默认日期分隔符。

% c 其中 c 是格式模式(如果单独使用)。如果格式模式与原义字符或其他格式模式合并,则可以省略“%”字符。
c 其中 c 是任意字符。照原义显示字符。若要显示反斜杠字符,请使用“\”。

只有上面第二个表中列出的格式模式才能用于创建自定义模式;在第一个表中列出的标准格式字符不能用于创建自定义模式。自定义模式的长度至少为两个字符;例如,

DateTime.ToString( "d") 返回 DateTime 值;“d”是标准短日期模式。
DateTime.ToString( "%d") 返回月中的某天;“%d”是自定义模式。
DateTime.ToString( "d ") 返回后面跟有一个空白字符的月中的某天;“d”是自定义模式。
郭少锋 编辑 2023-11-16 17:14:07 创建 2023-10-30 11:44:49 K3 BOS
SQL : Sql 事务:中止/执行 SQL : Sql 事务:中止/执行 set implicit_transactions on
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- 插入数据:条码信息

declare @FEntryIdZxIn int ; select @FEntryIdZxIn = isnull(max(FEntryIdZxIn),1000) + 1 from T_PRD_InStockZx ;
declare @FSeq int ; select @FSeq = isnull(max(FSeq ),0 ) + 1 from T_PRD_InStockZx where FUserNo = @FUserNo ;

insert into T_PRD_InStockZx ( FEntryIdZxIn ,FSeq ,FEntryId ,FBarCode ,FUserId ,FUserName ,FUserNo ,FTime )
select

@FEntryIdZxIn FEntryIdZxIn
,@FSeq FSeq
,0 FEntryId

,@FCode FBarCode -- 条码
,@FUserId FUserId
,@FUserName FUserName
,@FUserNo FUserNo
,getdate() FTime

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- 条码不存在

declare @FCodeStatus varchar(100) = '条码不存在' ; select @FCodeStatus = '' from T_PRD_MoZx where F_BarCode = @FCode ;

if @FCodeStatus != '' begin
update T_PRD_InStockZx set FNote = @FCodeStatus where FEntryIdZxIn = @FEntryIdZxIn ;

if @@tranCount > 0 commit tran ; set implicit_transactions off ; -- 中止前,要先退出事务
return ;
end

------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- 更新:条码信息

update a1
set FEntryIdMo = a2.FEntryId
,FEntryIdZx = a2.FEntryIdZx
,FMhXq = a2.F_POYP_mhXq
,FQtyCm = a2.F_POYP_sl

from T_PRD_InStockZx a1
join T_PRD_MoZx a2 on a2.F_BarCode = a1.FBarCode -- 生产订单.条码

where a1.FEntryIdZxIn = @FEntryIdZxIn

------------------------------------------------------------------------------------------------------------------------------------------------------------------------
if @@tranCount > 0 commit tran ; set implicit_transactions off
郭少锋 创建 2023-11-10 10:35:43 SQL
HTML : css 透明度 HTML : css 透明度 background-color:rgba(0,152,50,0.7); // 70%的不透明度

background-color:transparent; // 支持完全透明

opacity: 0.5;

opacity: 0.5; filter: none;

filter:opacity(50%) // 图片的透明度
郭少锋 创建 2023-11-03 23:14:28 HTML
SQL : Sql 每周 从周一开始 SQL : Sql 每周 从周一开始
set dateFirst 1; -- 每周 从周一开始

declare @FDate date ; set @FDate = '2023-1-1';
declare @int int ; set @int = 0 ;

while @int < 10
begin
print convert(varchar(10), dateadd(day,@int,@FDate) )
+' '+ convert(varchar(10), datename( week ,dateadd(day,@int,@FDate) ) )
+' '+ convert(varchar(10), datename( weekday ,dateadd(day,@int,@FDate) ) )

set @int = @int + 1 ;
end
---------------------------------------- 设置 周一 开始算
2023-01-01 1 星期日

2023-01-02 2 星期一
2023-01-03 2 星期二
2023-01-04 2 星期三
2023-01-05 2 星期四
2023-01-06 2 星期五
2023-01-07 2 星期六
2023-01-08 2 星期日

2023-01-09 3 星期一
2023-01-10 3 星期二
---------------------------------------- 默认 周日 开始算
2023-01-01 1 星期日
2023-01-02 1 星期一
2023-01-03 1 星期二
2023-01-04 1 星期三
2023-01-05 1 星期四
2023-01-06 1 星期五
2023-01-07 1 星期六

2023-01-08 2 星期日
2023-01-09 2 星期一
2023-01-10 2 星期二
郭少锋 编辑 2023-11-03 11:59:53 创建 2023-11-03 11:47:23 SQL
K3 BOS : C# 日期比较 K3 BOS : C# 日期比较 //比较时间大小的实验
string st1="12:13";
string st2="14:14";
DateTime dt1=Convert.ToDateTime(st1);
DateTime dt2=Convert.ToDateTime(st2);
DateTime dt3=DateTime.Now;
if(DateTime.Compare(dt1,dt2)>0)
msg.Text=st1+">"+st2;
else
msg.Text=st1+"<"+st2;
msg.Text+="\r\n"+dt1.ToString();
if(DateTime.Compare(dt1,dt3)>0)
msg.Text+="\r\n"+st1+">"+dt3.ToString();
else
msg.Text+="\r\n"+st1+"<"+dt3.ToString();

//计算两个时间差值的函数,返回时间差的绝对值:
private string DateDiff(DateTime DateTime1,DateTime DateTime2)
{
string dateDiff=null;
try
{
TimeSpan ts1=new TimeSpan(DateTime1.Ticks);
TimeSpan ts2=new TimeSpan(DateTime2.Ticks);
TimeSpan ts=ts1.Subtract(ts2).Duration();
dateDiff=ts.Days.ToString()+"天"
+ts.Hours.ToString()+"小时"
+ts.Minutes.ToString()+"分钟"
+ts.Seconds.ToString()+"秒";
}
catch
{
}
return dateDiff;
}
//实现计算DateTime1-36天=DateTime2的功能

TimeSpan ts=new TimeSpan(40,0,0,0);
DateTime dt2=DateTime.Now.Subtract(ts);
msg.Text=DateTime.Now.ToString()+"-"+ts.Days.ToString()+"天\r\n";
msg.Text+=dt2.ToString();
郭少锋 创建 2023-10-30 11:46:24 K3 BOS
K3 功能 : KIS专业版 客户端 连接服务器 提示【未知的系统加密】 K3 功能 : KIS专业版 客户端 连接服务器 提示【未知的系统加密】 服务器IP变了,需要在客户端注册表中修改相应服务器IP。

修改 HKEY_CURRENT_USER\Software\KingDee\KDReg 下所有的
Database server 的 IP地址
Mserver 的 IP地址

成现在的IP,再登录就可以了。
郭少锋 创建 2023-10-30 10:15:08 K3 功能
SQL : Sql 取得断号 SQL : Sql 取得断号 -- 初参条件 针对对象表 LS_bas1数据库里的 TA1 表
-- 查 TA1 表中 ID 号不连续 缺少的记录

--定义 三个变量 最小记录、最大记录、记录搜索用
DECLARE @MINID INT,@MAXID INT,@GOINT INT

-- 从TA1表中取得 ID最小的、ID最大的记录
SELECT @MINID = MIN(ID),@MAXID = MAX(ID) FROM dbo.student

-- 从最小记录开始循环向 临时表 #LSTAB 里追加记录,以产生连续的GOID记录
SET @GOINT = @MINID
SELECT @GOINT AS GOID INTO #LSTAB
WHILE @GOINT < @MAXID
BEGIN
SET @GOINT = @GOINT + 1
INSERT INTO #LSTAB(GOID) VALUES (@GOINT)
END

-- 将#LSTAB中GOID有,与TA1表ID中没有的记录找出来,就是你要的
SELECT * FROM #LSTAB
WHERE GOID NOT IN (
SELECT ID FROM dbo.student
)
ORDER BY GOID

-- 最后,好习惯,清理中间的临时表
DROP TABLE #LSTAB
郭少锋 创建 2023-10-28 22:12:03 SQL
SQL : Sql 计算断号 SQL : Sql 计算断号 select F1 ,( select min(FSeq)-1 from T_PRD_MoZx where FEntryId = 101703 and FSeq > F1 ) as F2
from (
-------------------------------------------------------------------------------------------------------------
select FSeq+1 as F1 from T_PRD_MoZx
where FEntryId = 101703
and FSeq+1 not in ( select FSeq from T_PRD_MoZx where FEntryId = 101703 )
and FSeq < ( select max(FSeq) from T_PRD_MoZx where FEntryId = 101703 )
-------------------------------------------------------------------------------------------------------------
) a1


select

( select max(FSeq)+1 from T_PRD_MoZx where FEntryId = 101703 and FSeq < a.FSeq ) as beginId
,(FSeq-1) as endId

from T_PRD_MoZx a

where FEntryId = 101703
and a.FSeq > (select max(FSeq)+1 from T_PRD_MoZx where FEntryId = 101703 and FSeq < a.FSeq)

郭少锋 创建 2023-10-28 21:46:51 SQL