python显示的一个表单案例
金蝶云社区-天冥异
天冥异
22人赞赏了该文章 4,060次浏览 未经作者许可,禁止转载编辑于2018年07月19日 21:07:01

from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import *
def ButtonClick(e):
if(e.Key=="FBUTTON"):
para = DynamicFormShowParameter();
para.FormId ="BOS_MainSystemMenu_Often";
this.View.ShowForm(para);



分享一个单据插件里挂的python案例,汇总金额

from System import StringComparison

def DataChanged(e):
        if e.Field.Key.Equals("FAmount", StringComparison.OrdinalIgnoreCase):
                oldValue=e.OldValue
                newValue=e.NewValue
                spread=newValue-oldValue
                
                transferDirect=this.View.Model.GetValue("FTransferDirect",e.Row).ToString()
                bizType=this.View.Model.GetValue("FTransferBizType",e.Row)["Id"].ToString()                
                sumEntity=this.View.Model.DataObject["SumEntity"]
                
                
                
                for sentity in sumEntity:
                        #this.View.ShowMessage(str(spread))
                        if sentity["SumType"]["Id"].ToString().Equals(bizType,StringComparison.OrdinalIgnoreCase):                                
                                if transferDirect.Equals("GENERAL", StringComparison.OrdinalIgnoreCase):
                                        sentity["SumAcount"]=int(sentity["SumAcount"])+spread
                                        break
                                else :
                                        sentity["SumAcount"]=int(sentity["SumAcount"])-spread
                                        break
                this.View.UpdateView("FSumEntity")



再分享一个:根据过滤参数控制显示隐藏列


from System import StringComparison

def PrepareFilterParameter(e):
        for item in e.ColumnFields:
                item.Visible = False
                #this.View.ShowMessage(item.Key+"##"+item.FieldName)
        
        relatedBaseDataId = this.View.OpenParameter.GetCustomParameter("RelatedBaseDataId")        
        
        if relatedBaseDataId>0:
                e.FilterString = " EXISTS(SELECT 1 FROM T_BD_FLEXVALUESCOM WHERE FSTOCKLOCID = FID AND FISDISABLE=0 AND FSYSDISABLE=0 AND FSTOCKID="+relatedBaseDataId+") "
                relatedBaseDataObj = this.View.OpenParameter.GetCustomParameter("RelatedBaseDataObj")
                stockFlexItem= relatedBaseDataObj["StockFlexItem"]
                i=0
                for item in stockFlexItem:
                        i=i+1
                        flexObj= item["FlexId"]
                        flexNumber="FF"+str(flexObj["Id"])+".FName"
                        for cfield in  e.ColumnFields:
                                #this.View.ShowMessage(cfield.Key+"##"+flexNumber)
                                if cfield.Key.Equals(flexNumber, StringComparison.OrdinalIgnoreCase):
                                        cfield.Visible = True
                                        cfield.ColIndex=i
                                        break
               





图标赞 22
22人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!