$PBExportHeader$w_porfit_loss.srw forward global type w_porfit_loss from w_publ_base end type type p_1 from picture within w_porfit_loss end type type cb_1 from uo_imflatbutton within w_porfit_loss end type type gb_1 from groupbox within w_porfit_loss end type type st_2 from statictext within w_porfit_loss end type type st_3 from statictext within w_porfit_loss end type type st_4 from statictext within w_porfit_loss end type type st_5 from statictext within w_porfit_loss end type type st_6 from statictext within w_porfit_loss end type type st_7 from statictext within w_porfit_loss end type type ddlb_credtype from dropdownlistbox within w_porfit_loss end type type st_1 from statictext within w_porfit_loss end type type st_8 from statictext within w_porfit_loss end type type sle_subid from singlelineedit within w_porfit_loss end type type cb_2 from commandbutton within w_porfit_loss end type end forward global type w_porfit_loss from w_publ_base integer width = 1723 integer height = 1376 string title = "结转本期损益" boolean minbox = false long backcolor = 80269524 p_1 p_1 cb_1 cb_1 gb_1 gb_1 st_2 st_2 st_3 st_3 st_4 st_4 st_5 st_5 st_6 st_6 st_7 st_7 ddlb_credtype ddlb_credtype st_1 st_1 st_8 st_8 sle_subid sle_subid cb_2 cb_2 end type global w_porfit_loss w_porfit_loss type variables end variables on w_porfit_loss.create int iCurrent call super::create this.p_1=create p_1 this.cb_1=create cb_1 this.gb_1=create gb_1 this.st_2=create st_2 this.st_3=create st_3 this.st_4=create st_4 this.st_5=create st_5 this.st_6=create st_6 this.st_7=create st_7 this.ddlb_credtype=create ddlb_credtype this.st_1=create st_1 this.st_8=create st_8 this.sle_subid=create sle_subid this.cb_2=create cb_2 iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.p_1 this.Control[iCurrent+2]=this.cb_1 this.Control[iCurrent+3]=this.gb_1 this.Control[iCurrent+4]=this.st_2 this.Control[iCurrent+5]=this.st_3 this.Control[iCurrent+6]=this.st_4 this.Control[iCurrent+7]=this.st_5 this.Control[iCurrent+8]=this.st_6 this.Control[iCurrent+9]=this.st_7 this.Control[iCurrent+10]=this.ddlb_credtype this.Control[iCurrent+11]=this.st_1 this.Control[iCurrent+12]=this.st_8 this.Control[iCurrent+13]=this.sle_subid this.Control[iCurrent+14]=this.cb_2 end on on w_porfit_loss.destroy call super::destroy destroy(this.p_1) destroy(this.cb_1) destroy(this.gb_1) destroy(this.st_2) destroy(this.st_3) destroy(this.st_4) destroy(this.st_5) destroy(this.st_6) destroy(this.st_7) destroy(this.ddlb_credtype) destroy(this.st_1) destroy(this.st_8) destroy(this.sle_subid) destroy(this.cb_2) end on type cb_func from w_publ_base`cb_func within w_porfit_loss boolean visible = false boolean enabled = false end type type cb_exit from w_publ_base`cb_exit within w_porfit_loss integer x = 1038 integer y = 1136 string text = "取消" end type type p_1 from picture within w_porfit_loss integer x = 46 integer y = 28 integer width = 544 integer height = 832 boolean bringtotop = true boolean originalsize = true string picturename = "graphics\profit_loss.bmp" boolean border = true borderstyle borderstyle = stylelowered! boolean focusrectangle = false end type type cb_1 from uo_imflatbutton within w_porfit_loss integer x = 416 integer y = 1136 integer width = 311 integer height = 96 integer taborder = 20 boolean bringtotop = true boolean default = true string normalpicname = "ok.bmp" end type event clicked;//结转损益 //1.结转总帐 //2.结转0子帐 datastore ds_5x_balance Long i,ls_subaccsetid,no_mxt = 0,zero_cnt = 0,all_cnt = 0 DateTime end_date,null_datetime Decimal ls_debit,ls_credit,ls_rawdebit,ls_rawcredit,ls_rate,ls_cmount,ls_price String ls_subid,ls_subname,ls_brief Long ls_deptid,ls_itemid String arg_msg = '' Int ls_dcflag,tmp_dcflag = 0 Decimal sum_debit,sum_credit String sum_subid,sum_brief Long ll_ref_credid,ll_ref_credno s_credence arg_s_cred SetNull(null_datetime) IF Trim(sle_subid.Text) = '' THEN MessageBox(publ_operator,'请选择本年利润科目') RETURN END IF SELECT cw_calendar.edate INTO :end_date FROM cw_calendar Where cw_calendar.accsetid = :sys_accsetid AND cmonth = :sys_curyearmon; IF sqlca.SQLCode <> 0 THEN MessageBox(publ_operator,'查询本期间期末日期失败') RETURN END IF Int li_credtype String tmp_credtype String ls_retr_subid Long ll_len_retr_subid li_credtype = f_check_credtype(sys_accsetid) IF li_credtype = 0 THEN MessageBox(publ_operator,'查询凭证字数目失败') RETURN ELSEIF li_credtype = 2 THEN tmp_credtype = Trim(ddlb_credtype.Text) IF tmp_credtype = '' THEN MessageBox(publ_operator,'请选择凭证字') RETURN END IF END IF IF s_sys_accset.ifnewsubid = 0 THEN ls_retr_subid = '500' ll_len_retr_subid = 3 ELSE ls_retr_subid = '6000' ll_len_retr_subid = 4 END IF ds_5x_balance = CREATE datastore ds_5x_balance.DataObject = 'ds_5x_balance' ds_5x_balance.SetTransObject(sqlca) ds_5x_balance.Retrieve(sys_accsetid,sys_curyearmon,0,ls_retr_subid,ll_len_retr_subid) IF ds_5x_balance.RowCount() = 0 THEN all_cnt = 0 GOTO suc END IF FOR i = 1 TO ds_5x_balance.RowCount() no_mxt++ ls_subid = ds_5x_balance.Object.cw_credencemx_subid[i] ls_subname = ds_5x_balance.Object.cw_subject_name[i] ls_dcflag = ds_5x_balance.Object.cw_subject_dcflag[i] ls_brief = '结转'+ls_subname IF ls_dcflag = 0 THEN ls_debit = 0 - ds_5x_balance.Object.balance[i] ls_credit = 0 sum_debit = sum_debit + ls_debit ls_rawdebit = 0 - ds_5x_balance.Object.rawbalance[i] ls_rawcredit = 0 ELSE ls_debit = 0 ls_credit = ds_5x_balance.Object.balance[i] sum_credit = sum_credit + ls_credit ls_rawdebit = 0 ls_rawcredit = ds_5x_balance.Object.rawbalance[i] END IF ls_rate = ds_5x_balance.Object.cw_credencemx_rate[i] ls_cmount = ds_5x_balance.Object.amount[i] ls_price = ds_5x_balance.Object.cw_credencemx_price[i] ls_deptid = ds_5x_balance.Object.cw_credencemx_deptid[i] ls_itemid = ds_5x_balance.Object.cw_credencemx_itemid[i] //--结转贷方----------- IF ls_dcflag <> tmp_dcflag AND sum_debit <> 0 THEN sum_subid = Trim(sle_subid.Text) sum_brief = '结转本期损益' arg_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_s_cred.arg_s_credmx[no_mxt].subid = sum_subid arg_s_cred.arg_s_credmx[no_mxt].brief = sum_brief arg_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_s_cred.arg_s_credmx[no_mxt].credit = sum_debit arg_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_s_cred.arg_s_credmx[no_mxt].price = 0 arg_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_s_cred.arg_s_credmx[no_mxt].billdate = null_datetime arg_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_s_cred.arg_s_credmx[no_mxt].billno = '' arg_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 tmp_dcflag = ls_dcflag no_mxt++ END IF //--------------- arg_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_s_cred.arg_s_credmx[no_mxt].subid = ls_subid arg_s_cred.arg_s_credmx[no_mxt].brief = ls_brief arg_s_cred.arg_s_credmx[no_mxt].rate = ls_rate arg_s_cred.arg_s_credmx[no_mxt].rawdebit = ls_rawdebit arg_s_cred.arg_s_credmx[no_mxt].rawcredit = ls_rawcredit arg_s_cred.arg_s_credmx[no_mxt].debit = ls_debit arg_s_cred.arg_s_credmx[no_mxt].credit = ls_credit arg_s_cred.arg_s_credmx[no_mxt].amount = ls_cmount arg_s_cred.arg_s_credmx[no_mxt].price = ls_price arg_s_cred.arg_s_credmx[no_mxt].deptid = ls_deptid arg_s_cred.arg_s_credmx[no_mxt].itemid = ls_itemid arg_s_cred.arg_s_credmx[no_mxt].billdate = null_datetime arg_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_s_cred.arg_s_credmx[no_mxt].billno = '' arg_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 NEXT //--结转借方----------- IF sum_credit <> 0 THEN no_mxt++ sum_subid = Trim(sle_subid.Text) sum_brief = '结转本期损益' arg_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_s_cred.arg_s_credmx[no_mxt].subid = sum_subid arg_s_cred.arg_s_credmx[no_mxt].brief = sum_brief arg_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_s_cred.arg_s_credmx[no_mxt].debit = sum_credit arg_s_cred.arg_s_credmx[no_mxt].credit = 0 arg_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_s_cred.arg_s_credmx[no_mxt].price = 0 arg_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_s_cred.arg_s_credmx[no_mxt].billdate = null_datetime arg_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_s_cred.arg_s_credmx[no_mxt].billno = '' arg_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 END IF //----------------------- arg_s_cred.creddate = end_date arg_s_cred.readtype = 100 arg_s_cred.credtype = tmp_credtype arg_s_cred.ifauto = 0 IF f_create_cred(arg_s_cred,TRUE,arg_msg,ll_ref_credid,ll_ref_credno) = 0 THEN MessageBox('error!',arg_msg) RETURN END IF suc: MessageBox(publ_operator,'本期结转成功!') CLOSE(PARENT) end event type gb_1 from groupbox within w_porfit_loss integer x = 50 integer y = 1052 integer width = 1591 integer height = 36 integer taborder = 30 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 67108864 end type type st_2 from statictext within w_porfit_loss integer x = 677 integer y = 176 integer width = 933 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 16711680 long backcolor = 67108864 boolean enabled = false string text = "的余额转入《本年利润》科目,以反映" alignment alignment = right! boolean focusrectangle = false end type type st_3 from statictext within w_porfit_loss integer x = 677 integer y = 264 integer width = 933 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 16711680 long backcolor = 67108864 boolean enabled = false string text = "企来在一个会计期间内实现的利润或亏" alignment alignment = right! boolean focusrectangle = false end type type st_4 from statictext within w_porfit_loss integer x = 677 integer y = 352 integer width = 933 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 16711680 long backcolor = 67108864 boolean enabled = false string text = "损总额!并且生成相应的记帐凭证。" boolean focusrectangle = false end type type st_5 from statictext within w_porfit_loss integer x = 677 integer y = 572 integer width = 933 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 255 long backcolor = 80269524 boolean enabled = false string text = "在结转本期损益以前,要求你将本" alignment alignment = right! boolean focusrectangle = false end type type st_6 from statictext within w_porfit_loss integer x = 677 integer y = 652 integer width = 933 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 255 long backcolor = 80269524 boolean enabled = false string text = "期的凭证全部登帐!" boolean focusrectangle = false end type type st_7 from statictext within w_porfit_loss integer x = 677 integer y = 976 integer width = 187 integer height = 56 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 67108864 boolean enabled = false string text = "凭证字" alignment alignment = right! boolean focusrectangle = false end type type ddlb_credtype from dropdownlistbox within w_porfit_loss integer x = 873 integer y = 964 integer width = 453 integer height = 340 integer taborder = 10 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 boolean vscrollbar = true borderstyle borderstyle = stylelowered! end type event constructor;String ls_credtype DECLARE cur_credtype CURSOR FOR SELECT cw_Credenceword.Credenceword FROM cw_Credenceword Where accsetid = :sys_accsetid; OPEN cur_credtype; FETCH cur_credtype INTO :ls_credtype; DO WHILE sqlca.SQLCode = 0 THIS.AddItem(ls_credtype) FETCH cur_credtype INTO :ls_credtype; LOOP CLOSE cur_credtype; end event type st_1 from statictext within w_porfit_loss integer x = 677 integer y = 88 integer width = 933 integer height = 48 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 16711680 long backcolor = 67108864 string text = "提示:该功能帮助你将损益类科目" alignment alignment = right! boolean focusrectangle = false end type type st_8 from statictext within w_porfit_loss integer x = 462 integer y = 876 integer width = 402 integer height = 48 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 67108864 string text = "本年利润科目" alignment alignment = right! boolean focusrectangle = false end type type sle_subid from singlelineedit within w_porfit_loss integer x = 873 integer y = 860 integer width = 626 integer height = 84 integer taborder = 30 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 boolean displayonly = true borderstyle borderstyle = stylelowered! end type type cb_2 from commandbutton within w_porfit_loss integer x = 1509 integer y = 856 integer width = 142 integer height = 84 integer taborder = 40 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" string text = "..." end type event clicked;s_subject s_rt_subject IF NOT IsValid(w_subjectdef_edit) THEN OpenWithParm(w_subjectdef_edit,0) s_rt_subject = Message.PowerObjectParm IF s_rt_subject.subid = '' THEN RETURN sle_subid.Text = s_rt_subject.subid END IF end event