修改了下,以适合用行业特性 //横向打印 int before_draw_obj() { if (to_draw_obj == "ext_txt1" && ext_txt1 == "") { pp_w = 0; pp_h = 0; pp_edge_left = 0; pp_edge_top = 0; pp_edge_right = 0; pp_edge_bottom = 0; }; if (to_draw_obj == "ext_txt2" && ext_txt2 == "") { pp_x = 10; pp_y = 10; pp_w = 0; pp_h = 0; pp_edge_left = 0; pp_edge_top = 0; pp_edge_right = 0; pp_edge_bottom = 0; }; if (to_draw_obj == "ext_txt3" && ext_txt3 == "") { pp_x = 10; pp_y = 10; pp_w = 0; pp_h = 0; pp_edge_left = 0; pp_edge_top = 0; pp_edge_right = 0; pp_edge_bottom = 0; }; if (to_draw_obj == "ext_txt4" && ext_txt4 == "") { pp_x = 10; pp_y = 10; pp_w = 0; pp_h = 0; pp_edge_left = 0; pp_edge_top = 0; pp_edge_right = 0; pp_edge_bottom = 0; }; if (to_draw_obj == "ext_txt5" && ext_txt5 == "") { pp_x = 10; pp_y = 10; pp_w = 0; pp_h = 0; pp_edge_left = 0; pp_edge_top = 0; pp_edge_right = 0; pp_edge_bottom = 0; }; if (to_draw_obj == "ext_txt6" && ext_txt6 == "") { pp_x = 10; pp_y = 10; pp_w = 0; pp_h = 0; pp_edge_left = 0; pp_edge_top = 0; pp_edge_right = 0; pp_edge_bottom = 0; }; if (to_draw_obj == "ext_txt7" && ext_txt7 == "") { pp_x = 10; pp_y = 10; pp_w = 0; pp_h = 0; pp_edge_left = 0; pp_edge_top = 0; pp_edge_right = 0; pp_edge_bottom = 0; }; if (to_draw_obj == "ext_txt8" && ext_txt8 == "") { pp_x = 10; pp_y = 10; pp_w = 0; pp_h = 0; pp_edge_left = 0; pp_edge_top = 0; pp_edge_right = 0; pp_edge_bottom = 0; }; if (to_draw_obj == "ext_txt9" && ext_txt9 == "") { pp_x = 10; pp_y = 10; pp_w = 0; pp_h = 0; pp_edge_left = 0; pp_edge_top = 0; pp_edge_right = 0; pp_edge_bottom = 0; }; if (to_draw_obj == "ext_txt10" && ext_txt10 == "") { pp_x = 10; pp_y = 10; pp_w = 0; pp_h = 0; pp_edge_left = 0; pp_edge_top = 0; pp_edge_right = 0; pp_edge_bottom = 0; }; //调整标题扩展字段大小 if (to_draw_obj == "ext_zd1" && ext_txt1 == "") { pp_x = 10; pp_y = 10; pp_w = 0; pp_h = 0; pp_edge_left = 0; pp_edge_top = 0; pp_edge_right = 0; pp_edge_bottom = 0; }; if (to_draw_obj == "ext_zd2" && ext_txt2 == "") { pp_x = 10; pp_y = 10; pp_w = 0; pp_h = 0; pp_edge_left = 0; pp_edge_top = 0; pp_edge_right = 0; pp_edge_bottom = 0; }; if (to_draw_obj == "ext_zd3" && ext_txt3 == "") { pp_x = 10; pp_y = 10; pp_w = 0; pp_h = 0; pp_edge_left = 0; pp_edge_top = 0; pp_edge_right = 0; pp_edge_bottom = 0; }; if (to_draw_obj == "ext_zd4" && ext_txt4 == "") { pp_x = 10; pp_y = 10; pp_w = 0; pp_h = 0; pp_edge_left = 0; pp_edge_top = 0; pp_edge_right = 0; pp_edge_bottom = 0; }; if (to_draw_obj == "ext_zd5" && ext_txt5 == "") { pp_x = 10; pp_y = 10; pp_w = 0; pp_h = 0; pp_edge_left = 0; pp_edge_top = 0; pp_edge_right = 0; pp_edge_bottom = 0; }; if (to_draw_obj == "ext_zd6" && ext_txt6 == "") { pp_x = 10; pp_y = 10; pp_w = 0; pp_h = 0; pp_edge_left = 0; pp_edge_top = 0; pp_edge_right = 0; pp_edge_bottom = 0; }; if (to_draw_obj == "ext_zd7" && ext_txt7 == "") { pp_x = 10; pp_y = 10; pp_w = 0; pp_h = 0; pp_edge_left = 0; pp_edge_top = 0; pp_edge_right = 0; pp_edge_bottom = 0; }; if (to_draw_obj == "ext_zd8" && ext_txt8 == "") { pp_x = 10; pp_y = 10; pp_w = 0; pp_h = 0; pp_edge_left = 0; pp_edge_top = 0; pp_edge_right = 0; pp_edge_bottom = 0; }; if (to_draw_obj == "ext_zd9" && ext_txt9 == "") { pp_x = 10; pp_y = 10; pp_w = 0; pp_h = 0; pp_edge_left = 0; pp_edge_top = 0; pp_edge_right = 0; pp_edge_bottom = 0; }; if (to_draw_obj == "ext_zd10" && ext_txt10 == "") { pp_x = 10; pp_y = 10; pp_w = 0; pp_h = 0; pp_edge_left = 0; pp_edge_top = 0; pp_edge_right = 0; pp_edge_bottom = 0; }; //调整尺码数量大小 return 1; }; int func_cal_row_height() { return 1; }; int main() { db_select_dbio("data"); int 打印数据库列 打印数据库列 = db_field_count(); db_select_dbio(0); string sql sql = "select a.sub_attr_val_2 from ebs_vr_item a,res b where a.res_id=b.res_id and voucher_id=" + v_voucher_id + " group by a.sub_attr_val_2"; db_run(sql); db_set_field_name(0, "hy_cc"); db_map("res_cloth_size", "hy_cc", "hy_cc"); db_sort_ext("hy_cc"); //编码转成名字再排序 //db_show(); int n; //定义整数 报表行数 int id; //定义整数 循环条件初始化数 n = db_row_count(); // SQL检索出报表 提取报表行数 for (id = 1; id <= n; id++) //循环次数 id的初始值为1.一般表格有合计可以少循环一次如果一定要的id<=n { switch (id) { case 1: ext_txt1 = db_res(0) break; case 2: ext_txt2 = db_res(0) break; case 3: ext_txt3 = db_res(0) break; case 4: ext_txt4 = db_res(0) break; case 5: ext_txt5 = db_res(0) break; case 6: ext_txt6 = db_res(0) break; case 7: ext_txt7 = db_res(0) break; case 8: ext_txt8 = db_res(0) break; case 9: ext_txt9 = db_res(0) break; case 10: ext_txt10 = db_res(0) break; } //打印标题列输入 string 尺码名数据列 尺码名数据列 = db_res(0); //暂存尺码名数据,下面增列使用 db_select_dbio("data"); db_add_field(尺码名数据列); db_set_field_info(打印数据库列 +id, 尺码名数据列, 尺码名数据列, 50); db_set_field_type(打印数据库列 +id, 'I'); db_select_dbio(0); db_next(); }; /* 列标题 */ db_select_dbio("data"); db_sort_ext('res_id,attr.val.1'); db_go_head(); //db_show(); int hn, hid; hn = db_row_count(); string 产品编号临时, 颜色临时, 尺码临时; 产品编号临时 = ''; 颜色临时 = ''; 尺码临时 = ''; int temp_qqh, temp_seh; temp_qqh = 0; temp_seh = 0; num 数量临时; 数量临时 = 0; for (hid = 1; hid <= hn; hid++) { if (产品编号临时 != '' && 产品编号临时 == db_res_ext("res_id") && 颜色临时 == db_res_ext("attr.val.1")) { 数量临时 = db_res_ext("inp_num"); 尺码临时 = db_res_ext("attr.val.2"); db_del_row(); db_go_row(temp_qqh); db_set_value_ext(尺码临时, num_dec_cut(to_float(db_res_ext(尺码临时)) + 数量临时, 2)); temp_qqh = db_row_id(); } else { db_set_value_ext(db_res_ext("attr.val.2"), num_dec_cut(db_res_ext("inp_num"), 2)); 产品编号临时 = db_res_ext("res_id"); 颜色临时 = db_res_ext("attr.val.1"); temp_qqh = db_row_id(); } db_next(); }; db_select_dbio("data"); int hid; string 打印字段默认名 打印字段默认名 = "ext_zd"; for (hid = 1; hid <= n; hid++) { 打印字段默认名 += hid; //msg(打印字段默认名) db_set_field_info(打印数据库列 +hid - 1, 打印字段默认名, 打印字段默认名, 50); 打印字段默认名 = "ext_zd"; }; //修列名字 int n; //定义整数 报表行数 int id; //定义整数 循环条件初始化数 n = db_row_count(); // SQL检索出报表 提取报表行数 string sql, ext_voucher_id, ext_res_id, ext_attr.val.1; num ext_inp_num ext_inp_num = 0; db_go_head(); for (id = 1; id <= n; id++) { ext_voucher_id = db_res_ext("voucher_id"); ext_res_id = db_res_ext("res_id"); ext_attr.val.1 = db_res_ext("attr.val.1"); db_select_dbio(2); sql = "select sum(inp_num) from ebs_vr_item a,res b where a.res_id=b.res_id and a.voucher_id=" + ext_voucher_id + " and a.res_id='" + ext_res_id + "' and a.sub_attr_val_1='" + ext_attr.val.1 + "'"; db_run(sql); //dbg(sql); ext_inp_num = db_res(0); db_select_dbio("data"); db_set_value_ext("inp_num", ext_inp_num); db_next(); }; //更数量为尺码合计数 //db_show(); db_temp(); return 1; }; |