private void runOrderReport (){
    String reportFileLocation = getReportFileLocation("orderrep.txt");
    if (reportFileLocation != null){
      ReportFormatter rf = new ReportFormatter(new int[]{5,16,10,8,8,8,8}, 
          new int[]{ReportFormatter.ALLIGN_LEFT,
            ReportFormatter.ALLIGN_LEFT,
            ReportFormatter.ALLIGN_RIGHT,
            ReportFormatter.ALLIGN_RIGHT,
            ReportFormatter.ALLIGN_RIGHT,
            ReportFormatter.ALLIGN_RIGHT,
            ReportFormatter.ALLIGN_RIGHT},
          new boolean[]{true,true,true,true,true,true,true});
      rf.addText("Datum vytvorenia reportu: " + AssemblyMonitoring.STORAGE_DATE_FORMAT.format(new Date()));
      rf.addNewLine();
      rf.addNewLine();
      rf.addCenteredLine("Rozpracovane objednavky");
      rf.addNewLine();
      rf.addColumnText("C.o.");
      rf.addColumnText("Cislo vyr.");
      rf.addColumnText("Datum o.");
      rf.addColumnText("Planov.");
      rf.addColumnText("Hotove");
      rf.addColumnText("Dorobit");
      rf.addColumnText("Hotove %");
      rf.addNewLine();
      for (Order order : orderTableModel.getData()){
        List<Monitoring> monitorings = order.getMonitoring();
        int produced = 0;
        if (monitorings != null){
          for (Monitoring monitoring : monitorings){
            produced += monitoring.getPieces();
          }
        }  
        if (produced < order.getNumItemsPlanned()) {
          rf.addNewLine();
          rf.addColumnText(order.getOrderNumber());
          rf.addColumnText(order.getItemNumber());
          rf.addColumnText(order.getDate() == null ? ""
              : AssemblyMonitoring.DISPLAY_DATE_FORMAT
                  .format(order.getDate()));
          rf.addColumnText(String.valueOf(order.getNumItemsPlanned()));
          rf.addColumnText(String.valueOf(produced));
          int missing = order.getNumItemsPlanned() - produced;
          rf.addColumnText(String.valueOf(missing));
          rf.addColumnText(AssemblyMonitoring.DECIMAL_FORMAT
              .format(((float) produced / order.getNumItemsPlanned()) * 100));
        }
      }
      writeToFile(reportFileLocation, rf.getReportText());
      MessageBox.displayMessageBox(reportControl.getShell(), SWT.ICON_INFORMATION, "Info",
        "Report bol vygenerovany do suboru: " + reportFileLocation);
    }
  }