Thiết kế report openerp với Pentaho

Thảo luận trong 'Report' bắt đầu bởi thinhgr, 4/1/13.

  1. thinhgr Active Member

    Source cần thiết:
    Pentaho report designer: http://www.mediafire.com/?nl0zkj3czc4z2szp (Dùng để tạo report đã add data openerp)
    Ant apache: http://www.mediafire.com/?t9pftlraw0fsiku (Dùng để dựng java server)
    jdk-7u10-windows-i586.exe: http://www.mediafire.com/?ae72p8acq2egdwa (Dùng để dựng java server)
    Pentaho-reports-for-OpenERP-master.zip:http://www.mediafire.com/?7dnoiz8huuhouf0 (Gồm addon opernerp và java_server)
    B1: Dựng java server
    -Giải nén apache-ant-1.8.4 và cài đặt jdk-7u10-windows-i586.exe (ví dụ đặt tại ổ đĩa C: với 2 thư mục là C:\apache-ant-1.8.4 và C:\jdk)
    - Click chuột phải vào My computer->Properties->Advanced->Environment Variables
    User Variables ta thêm vào 3 biến ->New:
    + Name: ANT_HOME ; Value: C:\apache-ant-1.8.4 (đường dẫn vào thư mục ant apache)
    +Name: JAVA_HOME; Value: C:\jdk\jdk1.7.0_10 (đường dẫn vào thư mục java)
    +Name: JAVA_HOME;Value: C:\jdk\jdk1.7.0_10\jre (đường dẫn vào thư mục java)
    System Variables chọn PATH:
    Ta thêm vào ;C:\apache-ant-1.8.4\bin;%JAVA_HOME%\bin;C:\Java\jdk1.7.0_10\jre\bin
    -Ta vào cmd type: ant –version
    Java –version
    (Nếu nó hiện ra version của ant và java thì ok, còn không thì kiểm tra lại các đường dẫn trên).
    - Tiếp tục ta giải nén Pentaho-reports-for-OpenERP-master.zip chép java_server (Ví dụ: chép vào ổ C:\ ta có C:\java_server)
    Vào cmd type: cd c:\ (Để trả về ổ C)
    cd java_server (vào thư mục java_server)
    ant war (build file jar)
    Nếu war thành công trong build/jar sẽ có file pentaho-reports-for-openerp.jar
    Type tiếp: ant launch (Chạy java_server, không được tắt cửa sổ cmd này).
    (Nếu chạy thành công nó sẽ hiện ra 2 dòng sau:
    [java] INFO Standalone Report Server – Started Successfully
    [java] INFO Standalone Report Server – Accepting Requests
    Còn không là phải xem lại khà khà)
    B2: Cài addon openerp trong Pentaho-reports-for-OpenERP-master.zip
    (Bước này tự cài nha không biết cài là thua luôn).
    Khi cài xong trong Settings->Customazation->Low Level Objects->Action->Pentaho Report
    ettings->Customazation->Low Level Objects-> System Parameters chỉnh pentaho.server.url port 8090
    B3: Thiết kế report bằng Pentaho designer
    Giải nén report-designer.rar, vào chạy file report-designer.rar
    Create new file
    Data->Data source-> Advenced-> Open ERP data access
    Tab Data Source Điền các thông tin của CSDL:
    Host: localhost
    Port: 8069
    Database: (chọn data mình cần báo cáo)
    Username, password: ( của admin)
    Model Name: chọn class mình cần báo cáo
    Tab Search Fields: chọn các fields mình cần lấy
    Sau đó thiết kế report (toàn giao diện kéo thả nên cũng dễ).
    Save lại với file .prpt
    B4: Import vào openerp
    Vào Settings->Customazation->Low Level Objects->Action->Pentaho Report
    Chọn Create
    Name: tên báo cáo
    Model: class báo cáo
    Service name: không biết đánh đại vô không hà (cái này hình như để hiển thị trong phần service)
    Output format: tùy chọn (tui chọn PDF)
    File: select tới file .prpt
    Xong ok, chúc các bạn thành công:
    *Một số điểm trong Pentaho report designer
    - Để PDF hiển thị được tiếng việt ta vào format->font qua tab Advanced Font Settings, check vào embed fonts sau đó encoding chọn uft-8.
    -Truyền tham số vào sub report ta qua phần sub report click chuột phải Parameters chọn Edit…
    Outer name : bên report master, còn Inner name: hiển thị bên sub report (ví dụ type: sub_id)
    - Để lọc theo trong query theo parameters của sub report phần filters ta chọn field rùi cho bằng ví dụ parameter ở trên: ${sub_id}
    xuantongmuoi and admin like this.
  2. bruce.nguyen Active Member

    - Pentaho mạnh mẻ được build trên port khác ( thường là 8099) dựa trên lib & module tích hợp trong addons openerp truy xuất tới postgress
    - Cơ chế này khá mạnh mẻ và tùy biến query ( có thể coi là query động )
    - Nhược điểm là ko tích hợp sẳn vào openerp mà là 1 môi trường khác hoàn toàn
    - Bản chất của nó không khác jasper là nhiêu nhưng khắc phục được nhược điểm của jasper build nhanh và không làm giảm perfomance của openerp.
    - Nhược điểm so với các loại report khác: không sử dụng được biến context trong ORM method openerp, vì như đã nói ở trên, nó ở 1 môi trường, framework khác biệt rồi.
    - Hệ thống report trung hòa giửa 2 vấn đề này là Aeroo Report ( nhưng nhược điểm của Aeroo lại không hổ trợ report chart =)) )
    admin thích bài này.
  3. thinhgr Active Member

    Port mặc định là 8090. Tại mò cái Aeroo không ra he he, với lại từ lúc chơi với openerp chưa biết cái context là gì toàn để context = None nên chưa thấy cái bất lợi của Pentaho he he.
    Tui thấy cái Aeroo: toàn nhớ mấy cái fields rùi type qua kia (thích hợp cho thuần dân lập trình, rùi for gì tùm lum bật mấy cái biến lên nhìn hoa cả mắt)
    Còn cái Pentaho: giao diện đồ họa kéo thả mấy cái fields (thích hợp cho dân ngang ngang hô hô)
  4. thinhgr Active Member

    Pentaho này có ai biết format nhiều cột không, báo cáo liệt kê theo hàng ngang á. Ví dụ trong Crytal report ta chọn, Format with multiple columns sau đó chọn Across then Down. Khi đó nó liệt kê các record như sau:
    record 1 record 2 record 3
    record 4 record 5 record 6
  5. hongchuong New Member

    Mình đã làm như bạn hưỡng dẫn nhưng lỗi từ bước thứ 1 :(
    Bước 1: Mình tạo 1 folder có tên jdk trong ổ C ( C:\jdk ) sau đó mình chạy jdk.exe. Lúc cài đặt chương trình. Mình cho tất cả file vào thư mưc C:\jdk
    Sau đó, mình làm tương tự như bạn chỉ dẫn.
    Kiểm tra version của ant và java trên CMD đã đúng.
    Nhưng lại gặp lỗi ở chố build file java thì lại ko được.
    Cửa sổ CMD sau khi mình build và chạy java server
    [IMG]
    Còn đây là folder java_server trong ổ C sau khi mình gõ lênh ant war ( ko thấy có file pentaho-reports-for-openerp.jar cả )
    [IMG]
    Cũng cho mình hỏi luôn là, sau khi giải nén folder ( Pentaho-reports-for-OpenERP-master ) thì mình ko thấy file .exe trong folder addon openerp. Thì mình làm bước 2 như thế nào.
    [IMG]
    Xin chân thành cảm ơn bạn :)
  6. thinhgr Active Member

    1.Cái này thiếu file tool.jar, bạn qua bên jre trong lib có file tool.jar, bạn copy bỏ vào lib của jdk nhé.
    2. Cái đó là addon đâu phải cài bằng .exe bạn copy nó vào addon của OpenERP rùi update list rùi cài trong openERP
    admin and bruce.nguyen like this.
  7. hongchuong New Member

    1.Em ko tìm thấy file tool.jar anh ah ( em thấy anh 26 tuổi :D )
    2. Anh có thể nói rõ hơn được ko ạ. Em đang thực tập làm về cái này, giờ mới bắt đầu tìm hiểu. mấy hôm đọc lý thuyết. Giờ mới bắt đầu cài đặt. Nhưng ko được :(
    Cảm ơn anh nhiều .
  8. thinhgr Active Member

    khi cài java nó sẽ cài 2 thư mục khác nhau bao gồm: jre và jdk bạn phải khai báo lần 2 cái. trong mỗi cái nó sẽ có 1 thư mục lib khác nhau trong thư mục lib sẽ có toor.jar bạn tìm 1 trong 2 cái nào có thì copy qua cái kia. Theo báo lỗi trên thì jdk không có tool.jar.
  9. thinhgr Active Member

  10. thinhgr Active Member

    Lỗi, khi sử dụng Pentaho báo cáo record, thì khi ngắt qua trang khác nó bị mất 1 phần cái record, 1 phần hiện ở trang trước, phần còn lại hiện trang sau, nhờ các anh chỉ giúp.
    Có cách nào mình khống chế số record trên 1 trang không, ví dụ 20 record / 1 page.
    Cám ơn!!
  11. David New Member

    Chào ACE,
    Bài viết rất hay. Xin cám ơn vì đã chia sẻ.
    Tôi thực hiện theo bài viết này, đã thiết kế 1 report đơn giản.
    Tuy nhiên, khi tạo menu, gán report cho menu đó trong openerp (V7) thì hệ thống thông báo là Connection refused
    Rất mong ACE giúp tôi fix lỗi này với.
  12. thinhgr Active Member

    Nếu không nhầm thì không kết nối được cơ sở dữ liệu. Bạn có thêm các system parameters chưa
    pentaho.server.url
    pentaho.postgres.host
    pentaho.postgres.port
    pentaho.postgres.login
    pentaho.postgres.password
    Check lại các giá trị này nha
    Bài này viết hùi v6.1 lên 7 phải sử dụng addon khác
    https://github.com/WillowIT/Pentaho-reports-for-OpenERP/tree/version70
  13. David New Member

    Trong quá trình cài đặt, mình đã theo link trên để cài đặt rồi. Khi thiết kế mình có Preview, bước này thì OK, dữ liệu xuất ra được.
    Sau đó khi gán vào menu của Openerp thì bị báo lỗi.
    Ý của bạn có phải là mình edit lại file xml trong folder data không (config_data.xml)?
  14. thinhgr Active Member

    Preview được là Pentaho ổn rùi, xem lại quyền admin phải là settings không?
  15. HoangNam New Member

    Xin lỗi, Minh mới bắt đầu tìm hiểu về OpenERP.
    Mình đang setup. đến giai đoạn này thì cũng gặp lỗi như bạn trên. Mặc dù mình đã chép tool.jar vào lib của jdk và jre rồi.
    Nhờ mọi người chỉ giáo.
    Xin cám ơn nhiều !
  16. huy_nguyen_41 Member

    e làm đến bước chạy ant war cũng bị lỗi tương tự như của bạn hong chuong nhưng nó không báo thiếu file tool.jar mà nó thế này, a giúp e với , cảm ơn anh nhiều !
    [IMG]
  17. huy_nguyen_41 Member

    Mọi ng cho e hỏi chút e down report designer theo link có trên nhưng down về là prd-ce-3.9.1-GA.zip giải nén ra thì là folder report-designer trong đấy e k tìm thấy file report-designer.rar e thử chạy launch.jar với report-designer.batch đều cho chương trình giao diện như trong các video hướng dẫn nhưng Add datásource thì k thấy Openerp data access đâu , ai biết chỉ e với , mấy cái b1 b2 e khắc phục đc hết lỗi rồi !
    cảm ơn moi ng nhiều !
  18. thinhgr Active Member

    Tải cái này về http://www.mediafire.com/download/y6advas1jymcdaa/ivy-2.3.0.jar bỏ vào lib của ant. C:\apache-ant-1.8.4\lib
    --- merged: Aug 15, 2013 8:14 AM ---
    Data->Add Datasource->Advanced->OpenERP Data Access.
    huy_nguyen_41 thích bài này.
  19. huy_nguyen_41 Member

    cảm ơn anh ! 2 cái này e vừa khắc phục được nhưng khổ nỗi lại vướng cái khác, a cho e hỏi ngu 1 câu thế này ạ :
    e tạo file prpt và preview = cái nút trên cửa sổ mở file mới thì đc nhưng preview = cái nút hình con mắt ở cửa sổ chính thì k thấy dl, e thử add báo cáo vào openerp chạy thử thì nó lại download về cái file pdf trắng tinh k có dl nào , k biết lỗi do ở đâu mong a chỉ e với , cảm ơn anh rất nhiều nhé !
    [IMG]
    [IMG]
  20. thinhgr Active Member

    Bên phải có 2 tab là Structure và Data. Vào tab Data thấy dữ liệu mình truy xuất tới. Click vào OpenERP Data Access, khai báo các thông số để kết nối dữ liệu, nếu sử dụng nhiều query thì phải click chuột phải query nào mình chọn select query đó
    huy_nguyen_41 thích bài này.

Chia sẻ trang này