using BP.DA;
using BP.En;
using BP.Sys;
namespace BP.WF.DTS
{
///
/// 扩充Doc字段的长度 的摘要说明
///
public class DocFieldAddLengthTo1000 : Method
{
///
/// 不带有参数的方法
///
public DocFieldAddLengthTo1000()
{
this.Title = "扩充Doc字段的长度";
this.Help = "为doc类型的字段扩充长度,低于1000的字符扩充为1000.";
this.Help += "
减少因为实施的原因忽略了字符长度导致的界面报错。";
this.GroupName = "系统维护";
}
///
/// 设置执行变量
///
///
public override void Init()
{
}
///
/// 当前的操纵员是否可以执行这个方法
///
public override bool IsCanDo
{
get
{
if (BP.Web.WebUser.No.Equals("admin")==true)
return true;
return false;
}
}
///
/// 执行
///
/// 返回执行结果
public override object Do()
{
string strs = "开始执行....";
MapAttrs mattrs = new MapAttrs();
mattrs.Retrieve(MapAttrAttr.MyDataType, DataType.AppString, MapAttrAttr.FK_MapData);
strs += "
@如下字段受到了影响。";
foreach (MapAttr attr in mattrs)
{
if (attr.UIHeightInt > 50 && attr.MaxLen < 1000 )
{
strs += " @ 类:" + attr.FK_MapData + " 字段:" + attr.KeyOfEn + " , " + attr.Name + " ";
attr.setMaxLen(1000);
attr.Update();
}
}
return "执行成功..."+strs;
}
}
}