[Main] #MAIN部の記載は基本部をコピーし、必要に応じて修正のこと。 dbuse(true) #3つ目からsqlのパラメータを設定する #initparam(printMode,reportId,s_id) initparam(printMode,reportId,dt_from,dt_to,uri_no,tokui_cd,syohin_nm,title,outputfile,s_id,ext6) case($hsk2Mode,$ext6,1,0,1) deforgpage(blank) defheadarea(hed) defbodyarea(mei) #SQLセクションの名前を設定 subroutine(SelectRecords_Jisya) subroutine(SelectRecords) #描画部のセクション名、SQLで取得した値を格納する配列名、実行するルーチン名を設定 #loop(PrintNormal,@rs1,Key1) loop(PrintNormal,@rs1,Key1,Key2,Key3) printreport($printMode,true) #------------------------------------------------- # SQL実行_自社 #------------------------------------------------- [SelectRecords_Jisya] new($param) dbselect(SelectRecords_Jisya,@rs0,$param) #------------------------------------------------- # SQL実行 #------------------------------------------------- [SelectRecords] #検索条件をparamに格納。SQL内で&(数字)で渡すことができる。 new($param) #addparam($param,$s_id) addparam($param,$dt_from) addparam($param,$dt_to) addparam($param,$uri_no) addparam($param,$tokui_cd) addparam($param,$syohin_nm) addparam($param,$han_name) addparam($param,$hsk2Mode) #1つめの引数で指定したSQLセクションを実行し、2つ目の引数(@rs1)に取得した値を格納、3つ目の引数は条件パラメータ) dbselect(SelectRecords,@rs1,$param) #------------------------------------------------- # Key1設定ルーチン #------------------------------------------------- [KeyInfo_key1] keyvalue(@rs1.den_no) keybreakproc(GroupBegin_key1,GroupEnd_key1) #------------------------------------------------- # Key1開始時 #------------------------------------------------- [GroupBegin_key1] deforgpage(blank) #Importするかどうか,FormatNormalするかどうか pageopen(true,false) deforgpage(formats) resetorg() #変数_初期値 #setdouble(変数,数字)は、変数に指定の数字をセットする関数 setdouble($jucyu_su_sum,0) setdouble($kingaku_sum,0) setdouble($kingaku_sum_j,0) #setdouble($row_no,29) #TODO 外貨有無による書式の切り替え #setdouble($format_meisai,29) #setdouble($format_total,32) case($format_head,$hsk2Mode,1,23,67) case($format_meisai,$hsk2Mode,1,29,63) case($format_total,$hsk2Mode,1,32,65) #case($format_meisai,@rs1.rate_label,,63,29) #case($format_total,@rs1.rate_label,,65,32) #------------------------------------------------- # Key1終了時 #------------------------------------------------- [GroupEnd_key1] pageclose(false) #------------------------------------------------- # Key2設定ルーチン #------------------------------------------------- [KeyInfo_Key2] keyvalue(@rs1.den_no) keybreakproc(GroupBegin_Key2,GroupEnd_Key2) #------------------------------------------------- # Key2開始時 #------------------------------------------------- [GroupBegin_Key2] #ヘッダ作成処理 #putcell(行,列,値)は、指定の行列が一致するセルに指定の値を描画する関数。値にはSQLで取得したものも使える。 putcell(2,1,@rs0.j_nm) putcell(4,1,@rs0.j_address) putcell(5,1,@rs0.j_tel_fax) formatspecialrow(5,0,5,1) #concatenate($kanri_no,No.,@rs1.kanri_no) concatenate($kanri_no,No.,@rs1.den_no) putcell(9,1,$kanri_no) putcell(10,31,)#TODO 所在地? #putcell(10,32,Osaka,) #putcell(10,35,@rs1.input_ymd) putcell(10,35,@rs1.syori_ymd) #Shipping Mark #putcell(14,32,@rs1.tok_nm) #putcell(15,32,)#TODO QC NO.? #putcell(16,32,)#TODO PO NO.? #putcell(17,32,)#TODO BDH-190726? #putcell(18,32,@rs1.addr2) #putcell(19,32,NO. 1 - UP) #putcell(20,32,MADE IN JAPAN) #For account and risk of: putcell(11,2,@rs1.tok_nm) putcell(12,2,@rs1.addr1) putcell(13,2,@rs1.addr2) putcell(14,2,@rs1.tok_tel) #SHIP TO #putcell(10,4,@rs1.nonyu_nm) #putcell(11,4,@rs1.nonyu_tan) #putcell(12,4,@rs1.nonyu_addr1) #putcell(13,4,@rs1.nonyu_addr2) #putcell(14,4,@rs1.nonyu_addr3) #putcell(15,4,@rs1.nonyu_addr4) #putcell(16,4,@rs1.nonyu_tel_no) #Shipped per putcell(17,4,@rs1.trans_s) #From putcell(18,4,@rs1.from_s) #To putcell(19,4,@rs1.biko4) #Insurance putcell(20,4,@rs1.biko5) #Payment putcell(21,4,@rs1.payment_term) #S/N No. iterate(PrintSalesNote,$hsk2Mode) putcell(22,37,@rs1.rate_label) putcell(22,38,@rs1.gaika_rate) #subroutine(PrintDaihyoItems) iterate(PrintDaihyoItems,$hsk2Mode) formatspecialrow(23,0,$format_head,1) iterate(PrintArrangeHead,$hsk2Mode) [PrintSalesNote] #S/N No. putcell(22,1,S/N No. :) putcell(22,4,@rs1.j_kanri_no) [PrintDaihyoItems] formatspecialrow($_row,0,25,1) putcell($_row,3,"YAMAMOTO" CLOSED CELL SPONGE RUBBER SHEETS) putline(,,) new($param) addparam($param,$uri_no) dbselect(selectDaihyoItems,@rs2,$param) loop(PrintDaihyoItem,@rs2) #空行 putline(,,) [PrintArrangeHead] putcell(23,1,TYPE) putcell(23,4,KIND) putcell(23,7,THICKNESS) [PrintDaihyoItem] formatspecialrow($_row,0,26,1) concatenate($daihyo_view,TYPE NO. ,@rs2.hin_nm, ,@rs2.biko1) putcell($_row,3,$daihyo_view) putline(,,) #------------------------------------------------- # Key2終了時 #------------------------------------------------- [GroupEnd_Key2] #合計行作成処理 putcell($_row,9,@rs1.pay_kbn_nm) putcell($_row,31,@rs1.tani) putcell($_row,33,TOTAL) formatspecialrow($_row,0,$format_total,1) putline(,,,,,,,,,,,,,,,,,,,,,,,,,,,,$suryo_sum#,,,,,,,,@rs1.zeinuki_gaku#) #空行 #putline() #フッタ作成処理 #外貨名称 putcell($_row,36,@rs1.gaika_name) formatspecialrow($_row,0,33,1) #putline() putline() putline() #In USD #(In Japanese Yen) #54行目 #putcell($_row,33,YAMAMOTO CORPORATION) putcell($_row,33,@rs0.j_nm) formatspecialrow($_row,0,54,1) putline() #空行 putline() putline() putline() #57行目 #putcell($_row,2,BUYER) #formatspecialrow($_row,0,57,1) putcell($_row,33,MANAGER) formatspecialrow($_row,0,57,1) putline() #------------------------------------------------- # 明細表示処理 #------------------------------------------------- [PrintNormal] #formatspecialrow(開始行,対象行数,フォーマットの開始行,フォーマットの対象行数)は、定義ファイルで指定された、エクセルの罫線等の参照フォーマットから、描画する帳票に書式をコピーする関数。描画ファイルの書式を設定したい行と行数を最初の2引数に指定し、コピーしたい書式の行と行数を次の2引数に指定する。putcellとは違い、行単位で値を一括描画する。カンマ区切りでセルの位置を指定することができる。putlineの開始行は定義ファイルの明細領域設定部の開始行数から始まる。putlineを実行するたびに行送りは自動で行われる(1行ずつ) formatspecialrow($_row,0,$format_meisai,1) case($pack_no_i,$break_flg,1,@rs1.pack_no_i) case($konpo_keijyo_nm,$break_flg,1,@rs1.konpo_keijyo_nm) case($pack_net_weight,$break_flg,1,@rs1.pack_net_weight) case($pack_gross_weight,$break_flg,1,@rs1.pack_gross_weight) case($konpo_volume,$break_flg,1,@rs1.konpo_volume) putline(@rs1.row_no_v#,@rs1.dhin_nm#,,@rs1.kind_s#,,,@rs1.size_h#,,@rs1.hin_nm_s#,,,,,,,,,,,,,,,,,,,,@rs1.suryo#,,@rs1.tani#,,@rs1.tanka#,,,,@rs1.kingaku#) sum($suryo_sum,@rs1.suryo) setdouble($break_flg,0) [OutputHinNotes] putcell($_row,2,@rs1.hin_notes) putline() [OutputDhinNames] concatenate($note_dhin_names,*Jersey: ,@rs1.dhin_names) putcell($_row,2,$note_dhin_names) putline() [PrintOtherNotes] new($param) addparam($param,@rs1.den_no) dbselect(SelectOtherNotes,@rs2,$param) loop(PrintOtherNote,@rs2) [PrintOtherNote] #formatspecialrow($_row,0,26,1) #concatenate($daihyo_view,TYPE NO. ,@rs2.hin_nm, ,@rs2.biko1) putcell($_row,2,@rs2.note_part) putline(,,) [PrintOptions] new($param) addparam($param,$uri_no) dbselect(selectOptions,@rs2,$param) loop(PrintOption,@rs2,KeyOpt) #空行 putline(,,) [PrintOption] #formatspecialrow($_row,0,26,1) concatenate($option_view,@rs2.hin_nm, ,@rs2.jucyu_su, ,@rs2.tani) putcell($_row,2,$option_view) putline(,,) [KeyInfo_KeyOpt] keyvalue(DUMMY) keybreakproc(GroupBegin_KeyOpt,GroupEnd_KeyOpt) [GroupBegin_KeyOpt] putcell($_row,2,Options:) formatspecialrow($_row,0,39,1) putline() [GroupEnd_KeyOpt] [KeyInfo_Key3] keyvalue(@rs1.den_no,@rs1.pack_seq,@rs1.pack_seq_c) keybreakproc(GroupBegin_Key3,GroupEnd_Key3) [GroupBegin_Key3] setdouble($break_flg,1) #putcell($_row,1,@rs1.pack_no_i) #putcell($_row,27,@rs1.pack_net_weight) #putcell($_row,31,@rs1.pack_gross_weight) #putcell($_row,35,@rs1.konpo_volume) sum($pack_net_weight_sum,@rs1.pack_net_weight) sum($pack_gross_weight_sum,@rs1.pack_gross_weight) sum($konpo_volume_sum,@rs1.konpo_volume) [GroupEnd_Key3]