Exemplo n.º 1
0
  /** Print result generate for this report */
  void print() throws Exception {
    Language language = Language.getLoginLanguage(); // Base Language
    MPrintFormat pf = null;
    int pfid = 0;

    // get print format for client, else copy system to client
    RowSet pfrs =
        MPrintFormat.getAccessiblePrintFormats(
            MTable.getTable_ID(X_RV_PP_Product_BOMLine_Storage_TableName), -1, null);
    pfrs.next();
    pfid = pfrs.getInt("AD_PrintFormat_ID");

    if (pfrs.getInt("AD_Client_ID") != 0) pf = MPrintFormat.get(getCtx(), pfid, false);
    else pf = MPrintFormat.copyToClient(getCtx(), pfid, getAD_Client_ID());
    pfrs.close();

    if (pf == null) raiseError("Error: ", "No Print Format");

    pf.setLanguage(language);
    pf.setTranslationLanguage(language);
    // query
    MQuery query = new MQuery(X_RV_PP_Product_BOMLine_Storage_TableName);
    query.addRestriction(
        X_T_BOMLine.COLUMNNAME_AD_PInstance_ID,
        MQuery.EQUAL,
        AD_PInstance_ID,
        getParamenterName(X_T_BOMLine.COLUMNNAME_AD_PInstance_ID),
        getParamenterInfo(X_T_BOMLine.COLUMNNAME_AD_PInstance_ID));

    query.addRestriction(
        X_T_BOMLine.COLUMNNAME_M_Warehouse_ID,
        MQuery.EQUAL,
        p_M_Warehouse_ID,
        getParamenterName(X_T_BOMLine.COLUMNNAME_M_Warehouse_ID),
        getParamenterInfo(X_T_BOMLine.COLUMNNAME_M_Warehouse_ID));

    query.addRestriction(
        X_T_BOMLine.COLUMNNAME_M_Warehouse_ID,
        MQuery.EQUAL,
        p_M_Warehouse_ID,
        getParamenterName("DateTrx"),
        getParamenterInfo("DateTrx"));

    PrintInfo info =
        new PrintInfo(
            X_RV_PP_Product_BOMLine_Storage_TableName,
            MTable.getTable_ID(X_RV_PP_Product_BOMLine_Storage_TableName),
            getRecord_ID());
    ReportEngine re = new ReportEngine(getCtx(), pf, query, info);

    ReportCtl.preview(re);
    // wait for report window to be closed as t_bomline
    // records are deleted when process ends
    while (re.getView().isDisplayable()) {
      Env.sleep(1);
    }
  }