[Main] dbuse(true) initparam(printMode,reportId,dt_from,dt_to,uri_no,tokui_cd,syohin_nm,han_name,s_id,syori_ymd,row_count,row_no) deforgpage(blank) defheadarea(hed) defbodyarea(mei) subroutine(SelectRecords_hed) #$report_kbnで、呼び出す帳票を判別 case($report_kbn,$han_name,原価計算書,1,作業指図書,2,0) case($title,$report_kbn,1,原 価 計 算 書,2,作 業 指 図 書) case($label_ymd,$report_kbn,1,見積日,2,受注日) case($label_a,$report_kbn,1,F.製造固定費,2,製造コスト) case($label_b,$report_kbn,1,作業単価,2,仕入枚数) case($label_c,$report_kbn,1,金額,2,実質加工時間) #$明細表示するshiji_noを取得 concatenate($shiji_no,$uri_no,$row_no) loop(PrintNormal,@rs1,Key1) printreport($printMode,true,false) #------------------------------------------------- # ヘッダ_SQL実行 #------------------------------------------------- [SelectRecords_hed] new($param) 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,$s_id) #&7 addparam($param,$syori_ymd) addparam($param,$row_count) addparam($param,$row_no) dbselect(SelectRecords_hed,@rs1,$param) #------------------------------------------------- # 購入資材品_SQL実行 #------------------------------------------------- [SelectRecords_kounyu] new($param) addparam($param,@rs1.shiji_no) dbselect(SelectRecords_kounyu,@rs2,$param) #------------------------------------------------- # 外注品_SQL実行 #------------------------------------------------- [SelectRecords_gaicyu] new($param) addparam($param,@rs1.shiji_no) dbselect(SelectRecords_gaicyu,@rs3,$param) #------------------------------------------------- # 工場内加工_SQL実行 #------------------------------------------------- [SelectRecords_kakou] new($param) addparam($param,@rs1.shiji_no) dbselect(SelectRecords_kakou,@rs4,$param) #------------------------------------------------- # 工場内加工_SQL実行 #------------------------------------------------- [SelectRecords_syukka] new($param) addparam($param,@rs1.shiji_no) dbselect(SelectRecords_syukka,@rs5,$param) #------------------------------------------------------------------------------------------------------------------------ # ヘッダ作成処理[CreateHead] #------------------------------------------------------------------------------------------------------------------------ [CreateHead] #帳票タイトル putcell(1,1,$title) #2.3行目の処理(ymd等) putcell(2,1,受注番号) putcell(3,1,@rs1.mitsumori_no) putcell(2,4,納期) putcell(2,6,@rs1.nonyu_ymd) putcell(2,12,数量) putcell(2,14,@rs1.jucyu_su) putcell(2,18,@rs1.tani) putcell(2,20,$label_ymd) putcell(3,20,@rs1.syori_ymd) putcell(2,44,仮バーコード等) #4.5行目処理(得意先情報等、エクセルへの埋め込み文字有) putcell(4,1,得意先コード) putcell(5,1,@rs1.tok_cd) putcell(4,4,お得意先様) putcell(4,7,@rs1.tok_nm) putcell(4,14,御中) putcell(4,18,@rs1.tok_tan) #6.7行目処理(商品情報等) putcell(6,1,商品コード) putcell(7,1,@rs1.hin_cd) putcell(6,4,商品名称) putcell(6,7,@rs1.hin_nm) putcell(6,18,@rs1.hosoku2) #4~8行目処理(木型情報等) putcell(4,25,@rs1.kigata_no_01) putcell(5,25,@rs1.kigata_no_02) putcell(4,29,@rs1.kigata_no_03) putcell(5,29,@rs1.kigata_no_04) putcell(4,33,@rs1.kigata_no_05) putcell(5,33,@rs1.kigata_no_06) putcell(6,25,@rs1.kigata_info_01) putcell(7,25,@rs1.kigata_info_02) putcell(6,31,@rs1.kigata_info_03) putcell(7,31,@rs1.kigata_info_04) putcell(6,37,@rs1.kigata_info_05) putcell(7,37,@rs1.kigata_info_06) #右部営業担当区分 putcell(5,48,営業担当) putcell(6,48,@rs1.tan_nm) #------------------------------------------------------------------------------------------------------------------------ # 購入作成処理[MeisaiKounyu] #------------------------------------------------------------------------------------------------------------------------ [MeisaiKounyu] #見出し作成 formatspecialrow($_row,0,9,2) putcell($_row,1,購入資材品) putline(,) putcell($_row,1,No) putcell($_row,2,材料名) putcell($_row,10,寸法) putcell($_row,15,u数) putcell($_row,17,重量) putcell($_row,19,連量) putcell($_row,21,s/単価) putcell($_row,24,枚/単価) putcell($_row,27,必要枚数) putcell($_row,30,予備数) putcell($_row,33,合計枚数) putcell($_row,37,入荷日数) putcell($_row,41,仕入先) putcell($_row,48,購入金額) putline(,) #明細作成 subroutine(SelectRecords_kounyu) loop(PrintNormal_kounyu,@rs2) #合計行作成 formatspecialrow($_row,0,20,1) putcell($_row,48,$kounyu_gaku) putcell($_row,46,合計) putline(,) #明細カウント sum($meisai_cnt,1) #------------------------------------------------------------------------------------------------------------------------ # 外注作成処理[MeisaiGaicyu] #------------------------------------------------------------------------------------------------------------------------ [MeisaiGaicyu] #見出し作成 formatspecialrow($_row,0,21,2) putcell($_row,1,外注先) putline(,) putcell($_row,1,外注先) putcell($_row,9,材料No) putcell($_row,11,外注加工内容) putcell($_row,34,加工枚数) putcell($_row,37,加工単価) putcell($_row,40,外注担当者) putcell($_row,44,加工日数) putcell($_row,48,外注料金) putline(,) #明細作成 subroutine(SelectRecords_gaicyu) loop(PrintNormal_gaicyu,@rs3) #合計行作成 formatspecialrow($_row,0,20,1) putcell($_row,48,$gaicyu_gaku) putcell($_row,46,合計) putline(,) #明細カウント sum($meisai_cnt,1) #------------------------------------------------------------------------------------------------------------------------ # 加工作成処理[MeisaiKakou] #------------------------------------------------------------------------------------------------------------------------ [MeisaiKakou] #見出し作成 formatspecialrow($_row,0,29,2) putcell($_row,1,工場内加工) putline(,) putcell($_row,1,機械名・手作業) putcell($_row,6,作業者) putcell($_row,9,材料No) putcell($_row,11,木型No・作業内容) putcell($_row,28,荷姿) putcell($_row,32,加工枚数) putcell($_row,35,加工時間) putcell($_row,38,加工人数) putcell($_row,41,$label_a) putcell($_row,45,$label_b) putcell($_row,48,$label_c) putline(,) #SQL呼び出し subroutine(SelectRecords_kakou) #明細出力 loop(PrintNormal_kakou,@rs4) #合計行作成 formatspecialrow($_row,0,43,1) putcell($_row,41,$kakou_seizou_gaku) case($kakou_gokei_gaku,$report_kbn,1,$kakou_gaku,2,分) putcell($_row,48,$kakou_gokei_gaku) putcell($_row,39,合計) putcell($_row,46,合計) putline(,) #明細カウント sum($meisai_cnt,1) #------------------------------------------------------------------------------------------------------------------------ # 出荷作成処理[MeisaiSyukka] #------------------------------------------------------------------------------------------------------------------------ [MeisaiSyukka] #見出し作成 formatspecialrow($_row,0,29,2) putcell($_row,1,出荷) putline(,) putcell($_row,1,送付先情報) putcell($_row,6,作業者) putcell($_row,9,材料No) putcell($_row,11,木型No・作業内容) putcell($_row,28,荷姿) putcell($_row,32,加工枚数) putcell($_row,35,加工時間) putcell($_row,38,加工人数) putcell($_row,41,$label_a) putcell($_row,45,$label_b) putcell($_row,48,$label_c) putline(,) #SQL呼び出し subroutine(SelectRecords_syukka) #明細出力 loop(PrintNormal_syukka,@rs5) #合計行作成 formatspecialrow($_row,0,43,1) putcell($_row,39,合計) putcell($_row,41,$syukka_seizou_gaku) putcell($_row,46,合計) #帳票によって出力する値を変更する。 case($syukka_gokei_gaku,$report_kbn,1,$syukka_gaku,2,分) putcell($_row,48,$syukka_gokei_gaku) putline(,) #明細カウント sum($meisai_cnt,1) #------------------------------------------------------------------------------------------------------------------------ # 明細作成処理[CreateMeisai] #------------------------------------------------------------------------------------------------------------------------ [CreateMeisai] #$meisai_cntで、呼び出す見出しを判別 case($meisai_kounyu,$meisai_cnt,0,1,0) case($meisai_gaicyu,$meisai_cnt,1,1,0) case($meisai_kakou,$meisai_cnt,2,1,0) case($meisai_syukka,$meisai_cnt,3,1,0) case($meisai_ruikei,$meisai_cnt,4,1,0) iterate(MeisaiKounyu_s,$meisai_kounyu) iterate(MeisaiGaicyu_s,$meisai_gaicyu) iterate(MeisaiKakou_s,$meisai_kakou) iterate(MeisaiSyukka_s,$meisai_syukka) iterate(MeisaiRuikei_s,$meisai_ruikei) [MeisaiKounyu_s] subroutine(MeisaiKounyu) [MeisaiGaicyu_s] subroutine(MeisaiGaicyu) [MeisaiKakou_s] subroutine(MeisaiKakou) [MeisaiSyukka_s] subroutine(MeisaiSyukka) [MeisaiRuikei_s] subroutine(MeisaiRuikei) #----------------------- # 見出し・明細・合計行作成 #----------------------- [MeisaiSyori] #明細行(購入資材品)作成 subroutine(CreateMeisai) #------------------------------------------------------------------------------------------------------------------------ # 累計作成処理[MeisaiRuikei] #------------------------------------------------------------------------------------------------------------------------ #累計 [MeisaiRuikei] #見出し・明細作成(累計)(NETコスト再現) #$net_cost(購入金額合計+外注先金額合計+工場内加工金額合計+出荷金額合計+送料) sum($net_cost,$kounyu_gaku) sum($net_cost,$gaicyu_gaku) sum($net_cost,$kakou_gaku) sum($net_cost,$syukka_gaku) sum($net_cost,@rs1.unchin) #$zairyou_sir(購入金額合計+外注先金額合計) sum($zairyou_sir,$kounyu_gaku) sum($zairyou_sir,$gaicyu_gaku) #$net_arari(売上-材料-送料) sum($net_arari,@rs1.kingaku) diff($net_arari,$zairyou_sir) diff($net_arari,@rs1.unchin) #$zairyou_sir_v(材料仕入(v)=材料仕入(VQ)/受注数,四捨五入(小数第二位まで)) realdiv($zairyou_sir_v,$zairyou_sir,@rs1.jucyu_su,2,2) #$kouji_gaku(工賃=(加工額+出荷額)/受注数,四捨五入(小数第二位まで)) sum($kouji_gaku,$kakou_gaku) sum($kouji_gaku,$syukka_gaku) realdiv($kouji_gaku,$kouji_gaku,@rs1.jucyu_su,2,2) #$arari_m(粗利=ネット粗利/受注数,四捨五入(小数第二位まで)) realdiv($arari_m,$net_arari,@rs1.jucyu_su,2,2) #$net_tanka(NETコスト/受注数) realdiv($net_tanka,$net_cost,@rs1.jucyu_su,2,2) #$sari(販売単価-NET単価) sum($sari,@rs1.tanka) diff($sari,$net_tanka) #$net_tanka(NETコスト/受注数) realdiv($hope_tanka,$net_cost,@rs1.jimu_cost,2,2) #見出し作成 putline(,) formatspecialrow($_row,0,49,1) putcell($_row,1,売上(PQ)) putcell($_row,5,NETコスト) putcell($_row,9,材料仕入(VQ)) putcell($_row,13,送料(VQ)) putcell($_row,17,NET粗利(MQ)) putcell($_row,21,材料仕入(v)) putcell($_row,25,工賃(m)) putcell($_row,29,粗利(m)) putcell($_row,33,差利) putcell($_row,37,NET単価) putcell($_row,41,事手) putcell($_row,44,希望単価) putcell($_row,48,販売単価(P)) putline(,) #明細作成 formatspecialrow($_row,0,50,1) putline(@rs1.rui_kingaku#,,,,@rs1.genka_gaku#,,,,@rs1.zairyo_gaku#,,,,@rs1.unchin#,,,,@rs1.arari_gaku#,,,,@rs1.zairyo_tanka#,,,,@rs1.koutei_tanka#,,,,@rs1.arari_tanka#,,,,@rs1.saeki_tanka#,,,,@rs1.gentanka#,,,,@rs1.price_rate#,,%#,@rs1.kibo_tanka#,,,,@rs1.rui_tanka#) #putline(@rs1.kingaku#,,,,$net_cost#,,,,$zairyou_sir#,,,,@rs1.unchin#,,,,$net_arari#,,,,$zairyou_sir_v#,,,,$kouji_gaku#,,,,$arari_m#,,,,$sari#,,,,$net_tanka#,,,,@rs1.jimu_cost#,,%#,$hope_tanka#,,,,@rs1.tanka#) #改行(累計)作成 putline(,) #明細カウント sum($meisai_cnt,1) #------------------------------------------------------------------------------------------------------------------------ # 累計2処理[Create_Genka_Footer][Create_Sagyou_Footer] #------------------------------------------------------------------------------------------------------------------------ [Create_Genka_Footer] #右部 PQ(売上高) #@rs1.kingaku #右部 VQ(製造原価・売上原価) #$uri_genka(購入資材品合計+外注額合計+送料) sum($uri_genka,$kounyu_gaku) sum($uri_genka,$gaicyu_gaku) sum($uri_genka,@rs1.unchin) #右部 MG(粗利益) #$arari_gaku(売上高-売上原価) sum($arari_gaku,@rs1.kingaku) diff($arari_gaku,$uri_genka) #右部 F(固定費) #$kotei_gaku(加工合計金額+出荷合計金額) sum($kotei_gaku,$kakou_seizou_gaku) sum($kotei_gaku,$syukka_seizou_gaku) #右部 G(利益) #$rieki(粗利益-固定費) sum($rieki,@rs1.arari_gaku) diff($rieki,$kotei_gaku) #左部 P(単価) #@rs1.tanka #左部 V(原価) #$genka(売上原価/受注数) realdiv($genka,$uri_genka,@rs1.jucyu_su,2,2) #左部 M(粗利) #$arari(売上高-売上原価) sum($arari,@rs1.tanka) diff($arari,$genka) #中部 Q(数量) #@rs1.jucyu_su putline(,) formatspecialrow($_row,0,52,6) putcell($_row,33,PQ(売上高)) putcell($_row,41,VQ(製造原価・売上原価)) putline(,) #putcell($_row,41,$uri_genka) putcell($_row,41,@rs1.zairyo_gaku) putline(,) putcell($_row,5,P(単価)) putcell($_row,13,V(原価)) putcell($_row,23,Q(数量)) putcell($_row,41,MG(粗利益)) putcell($_row,47,F(固定費)) putline(,) #putcell($_row,13,$genka) putcell($_row,13,@rs1.zairyo_tanka) putcell($_row,33,@rs1.kingaku) putcell($_row,47,$kotei_gaku) putline(,) putcell($_row,5,@rs1.rui_tanka) putcell($_row,13,M(粗利)) putcell($_row,23,@rs1.jucyu_su) putcell($_row,41,@rs1.arari_gaku) putcell($_row,47,G(利益)) putline(,) putcell($_row,13,@rs1.arari_tanka) putcell($_row,47,$rieki) [Create_Sagyou_Footer] putline(,) putline(,) formatspecialrow($_row,0,59,2) putcell($_row,1,備考・報告事項) putcell($_row,6,注意:加工時間を目安に作業を進めてください。) putcell($_row,28,生産管理) putcell($_row,31,営業部長) putcell($_row,34,担当営業) putline(,) putcell($_row,1,@rs1.sekkei_biko) putcell($_row,38,在庫入庫) putcell($_row,42,預り入庫) putcell($_row,46,一括) #------------------------------------------------- # Key1設定ルーチン #------------------------------------------------- [KeyInfo_key1] keyvalue(@rs1.row_no) keybreakproc(GroupBegin_key1,GroupEnd_key1) #------------------------------------------------- # Key1開始時 #------------------------------------------------- [GroupBegin_key1] deforgpage(blank) #Importするかどうか,FormatNormalするかどうか pageopen(true,false) deforgpage(formats) resetorg() #変数宣言 #見出し/明細変更用の変数 setdouble($meisai_cnt,0) #合計額変数 setdouble($kounyu_gaku,0) setdouble($gaicyu_gaku,0) setdouble($kakou_gaku,0) setdouble($syukka_gaku,0) setdouble($kakou_seizou_gaku,0) setdouble($syukka_seizou_gaku,0) ##フッタ出力金額変数 #NETコスト setdouble($net_cost,0) #材料仕入(VQ) setdouble($zairyou_sir,0) #NET粗利 setdouble($net_arari,0) #材料仕入(v)(単) setdouble($zairyou_sir_v,0) #工賃 setdouble($kouji_gaku,0) #粗利(m) setdouble($arari_m,0) #NET単価 setdouble($net_tanka,0) #差利 setdouble($sari,0) #希望単価 setdouble($hope_tanka,0) ##フッタ2出力金額変数 #VQ(製造原価・売上原価) setdouble($uri_genka,0) #V(原価) setdouble($genka,0) #F(固定費) setdouble($kotei_gaku,0) #MG(粗利益) setdouble($arari_gaku,0) #M(粗利) setdouble($arari,0) #G(利益) setdouble($rieki,0) #------------------------------------------------- # ヘッダ・見出し・明細・フッタの印字処理 #------------------------------------------------- #ヘッダ処理 subroutine(CreateHead) #帳票によって明細を出す回数を変える。(原価計算書は5,作業指図書は4) case($head_cnt,$report_kbn,1,5,2,4,0) iterate(MeisaiSyori,$head_cnt) #フッタ作成 case($foot_genka,$report_kbn,1,1,0) case($foot_sagyou,$report_kbn,2,1,0) iterate(Foot_Genka,$foot_genka) iterate(Foot_Sagyou,$foot_sagyou) [Foot_Genka] subroutine(Create_Genka_Footer) [Foot_Sagyou] subroutine(Create_Sagyou_Footer) #------------------------------------------------- # Key1終了時 #------------------------------------------------- [GroupEnd_key1] pageclose(false) #------------------------------------------------- # 明細表示処理 #------------------------------------------------- [PrintNormal] #------------------------------------------------- # 明細表示処理_購入 #------------------------------------------------- [PrintNormal_kounyu] formatspecialrow($_row,0,13,1) putline(@rs2.row_no#,@rs2.hin_nm#,,,,,,,,@rs2.size_l#,,×#,@rs2.size_w#,,@rs2.size_lw#,,@rs2.weight#,,@rs2.renryo#,,@rs2.wtanka#,,,@rs2.tanka#,,,@rs2.calc_su#,,,@rs2.yobi_su#,,,@rs2.suryo#,,,,@rs2.hacyu_leadtime#,,,,@rs2.sir_nm#,,,,,,,@rs2.kingaku#) sum($kounyu_gaku,@rs2.kingaku) #------------------------------------------------- # 明細表示処理_外注 #------------------------------------------------- [PrintNormal_gaicyu] formatspecialrow($_row,0,23,1) putline(@rs3.sir_nm#,,,,,,,,@rs3.zairyo_no#,,@rs3.hin_nm#,,,,,,,,,,,,,,,,,,,,,,,@rs3.suryo#,,,@rs3.tanka#,,,@rs3.sir_tan#,,,,@rs3.hacyu_leadtime#,,,,@rs3.kingaku#) sum($gaicyu_gaku,@rs3.kingaku) #------------------------------------------------- # 明細表示処理_加工 #------------------------------------------------- [PrintNormal_kakou] formatspecialrow($_row,0,31,1) #帳票によって出力する値を変更し、@rs4.kingakuを更新 case($kakou_must,$report_kbn,1,@rs4.kingaku,2,分) #putline(@rs4.koutei_nm#,,,,,@rs4.tan_nm#,,,@rs4.zairyo_no#,,@rs4.seizou_biko#,,,,,,,,,,,,,,,,,@rs4.seizou_hosoku#,,,,@rs4.suryo#,,,@rs4.kousu#,,分#,@rs4.seizou_tan_cnt#,,人#,@rs4.fixed_cost#,,,,@rs4.tanka#,,,$kakou_must#) putcell($_row,1,@rs4.koutei_nm) putcell($_row,6,@rs4.tan_nm) putcell($_row,9,@rs4.zairyo_no) putcell($_row,11,@rs4.seizou_biko) putcell($_row,28,@rs4.seizou_hosoku) putcell($_row,32,@rs4.suryo) putcell($_row,35,@rs4.kousu) putcell($_row,37,分) putcell($_row,38,@rs4.seizou_tan_cnt) putcell($_row,40,人) putcell($_row,41,@rs4.fixed_cost) putcell($_row,45,@rs4.tanka) putcell($_row,48,$kakou_must) putline() sum($kakou_seizou_gaku,@rs4.fixed_cost) sum($kakou_gaku,@rs4.kingaku) #------------------------------------------------- # 明細表示処理_出荷 #------------------------------------------------- [PrintNormal_syukka] formatspecialrow($_row,0,31,1) #帳票によって出力する値を変更し、@rs5.kingakuを更新 case($syukka_must,$report_kbn,1,@rs5.kingaku,2,分) #putline(@rs5.koutei_nm#,,,,,@rs5.tan_nm#,,,@rs5.zairyo_no#,,@rs5.seizou_biko#,,,,,,,,,,,,,,,,,@rs5.seizou_hosoku#,,,,@rs5.suryo#,,,@rs5.kousu#,,分#,@rs5.seizou_tan_cnt#,,人#,@rs5.fixed_cost#,,,,@rs5.tanka#,,,$syukka_must#) putcell($_row,1,@rs5.koutei_nm) putcell($_row,6,@rs5.tan_nm) putcell($_row,9,@rs5.zairyo_no) putcell($_row,11,@rs5.seizou_biko) putcell($_row,28,@rs5.seizou_hosoku) putcell($_row,32,@rs5.suryo) putcell($_row,35,@rs5.kousu) putcell($_row,37,分) putcell($_row,38,@rs5.seizou_tan_cnt) putcell($_row,40,人) putcell($_row,41,@rs5.fixed_cost) putcell($_row,45,@rs5.tanka) putcell($_row,48,$syukka_must) putline() sum($syukka_seizou_gaku,@rs5.fixed_cost) sum($syukka_gaku,@rs5.kingaku)