Hệ thống chi nhánh văn phòng công ty, được xây dựng ở tất cả các tỉnh thành khắp cả nước. Mỗi chi nhánh có trưởng chi nhánh, nhiều chi nhánh trong khu vực chịu sự quản lý của giám đốc khu vực, và cao nhất là tổng giám đốc. Tổng Giám đốc sẽ quản lý các các giám đốc khu vực, và giám đốc khu vực sẽ quản lý các trưởng chi nhánh trong khu vực của mình.
Công ty dự định xây dựng qui trình kiểm duyệt chi phí mua sắm tại các chi nhánh văn phòng. Nhân viên tại chi nhánh sẽ lập phiếu đề nghị mua sắm, phiếu này sẽ được gửi đến trưởng chi nhánh kiểm duyệt, sau đó phiếu mua sắm sẽ được gửi đến giám đốc khu vực của mình kiểm duyệt chi phí trước khi thực hiện mua sắm. Như nếu chi phí mua sắm lớn hơn X đồng thì phiếu đề nghị này phải được sự đồng ý của tổng giám đốc.
Bài lab này sẽ hướng dẫn các bạn ứng dụng sharepoint 2016 để xây dựng qui trình quản lý đa cấp theo yêu cầu trên.
Các Bước Xây Dựng Qui Trình Kiểm Duyệt Đa Cấp:
Bài LAB này được thực hiện theo các bước sau:
- Tạo subsite Quản lý Mua Sắm.
- Tạo Danh mục văn phòng phẩm.
- Tạo column cho Danh mục văn phòng phẩm.
- Dùng infopath edit form nhập Danh mục văn phòng phẩm.
- Sử dụng infopath form web part.
- Tạo form library Phiếu Đề nghị mua hàng.
- Thiết kế form Phiếu Đề nghị mua hàng dùng infopath.
- Tạo Rule load Form Phiếu Đề nghị mua hàng.
- Publishing Phiếu Đề nghị mua hàng.
- Tạo workflow.
- Tạo View.
- Tạo Promoted link.
- Edit page.
- Kiểm Tra.
Sau khi hoàn thành bài lab, các bạn sẽ biết cách edit form dùng infopath, sử dụng infopath form web part, tạo form mới bằng infopath và publishing form, định nghĩa workflow mới bằng sharepoint designer workflow, tạo promoted link.
Thực Hiện Qui Trình Kiểm Duyệt Đa Cấp:
B1: Tạo subsite Quản lý Mua Sắm:
Vào int.ctl.local Chọn Settings Chọn site contents Chọn New Subsite
Title: Quản lý Mua Sắm, URL Name: http://int.ctl.local/QLMS, Select a template: chọn team site.
User permission: chọn Use unique permissions
Use the top link bar form the parent site: chọn Yes ấn create.
Cấp quyền cho domain users thuộc group Visitors và Members. Cấp quyền cho giamdoc, các giám đốc vùng, và các trưởng phòng thuộc group Owner.
B2. Tạo Danh mục văn phòng phẩm:
Tại subtite Quản lý mua sắm, vào Settings chọn Add an app
Name: DMVanPhongPham Create.
Chọn DMVanPhongPham vừa tạo.
Vào tab list List Settings
Chọn List name, description and navigation.
Name: sửa lại DM Văn Phòng Phẩm Save
B3. Tạo column cho Danh mục văn phòng phẩm:
Cũng tại setting DM Văn phòng phẩm, trong phần Columns, chọn Title
Sửa column name: MaVPP
.
Cũng trong columns chọn create column
Column name: TenVPP, chọn option Single line of text. Ok
Tiếp tục chọn create column, tạo column name: Diengiai, chọn option Multiple lines of text Tạo column xong.
B4. Dùng infopath edit form nhập Danh mục văn phòng phẩm.
Vào InfoPath Designer, chọn SharePoint List Design form.
Nhập vào http://int.ctl.local/QLMS next
Chọn option Customize an existing sharepoint list và chọn list DM văn phòng phẩm Next
Check vào Manage multiple list Items with this form Finish.
Xóa dòng file Attachment, và sửa lại tiếng Việt như trong hình. Phải chuột vào Repeating section chọn Repeating section properties.
Check vào Allow users to insert… và Show Insert button: nhập vào Thêm mới như trong hình. qua tab Browser forms chọn option always Ok
Bằng cách Split cell và Merge cell sắp xếp form lại như trong hình.
Phải chuột vào field MaVPP chọn text box Properties.
Chọn tab Display, check vào Read-only
Qua tab Data, ấn Fx
Nhập vào concat(“MaVPP_”,now()) Verity formula Ok (MaVPP tự động phát sinh)
Bỏ Check Refresh value when formula is recalculated Ok
Đặt con trỏ ở cuối form vào Tab Home controls chọn Button.
Phải chuột vào button vừa them chọn Button Properties.
Action: chọn Submit, label: Lưu, ấn Submit Option
Chọn option perform custom action using Rules, label: Lưu, trong phần after submit chọn Open a new form Ok
Xuất hiện cửa sổ Rules(bên phải) Ok
Tại cửa sổ Rules, trong phần Details for: Rule Luu, trong phần Condition: ấn None – Rule runs when form
Chọn field TenVPP is not blank Ok
ấn nút Add chọn Submit using a data connect xong. Vào tab file chọn Publish
Publish thành công Ok
B5. Sử dụng infopath form web part:
Trở về site Quản lý mua sắm, vào setting Site contents, chọn Site Pages
Vào tab File chọn New Document Web part Page. (tạo page mới)
Name: DanhMucVanPhongPham, chọn template: Full Page, Virtical
Trong phần Document Library: chọn Site Pages Create
Chọn add a Web part
Chọn Apps DMVanPhongPham Add
Tại DMVanphongPham vừa add chọn Edit Web part.
Toolbar Type: No Toolbar, title: Danh mục văn phong phẩm Ok
Tiếp tục ấn Add a Web Part
Chọn Forms InfoPath form Web part Add
Tại InfoPath form Web part vừa add chọn Edit Web Part
List Or Library: chọn DMVanPhongPham, Content Type: Item, chọn các check box như trong hình
Title: Thông Tin Văn Phòng Phẩm Ok
Form đã hiển thị trên page Stop Editing.
B6. Tạo form library Phiếu Đề nghị mua hàng
Trở về site Quản lý mua sắm, vào setting Add an app Chọn Form Library.
Name: PhieuMuaHang Create
Chọn phieuMuahang vừa tạo
Ào Tab Library ibrary settings.
Chọn List name, description and navigation.
Name: sửa lại Phiếu Mua Hàng Ok
B7. Thiết kế form Phiếu Đề nghị mua hàng dùng infopath.
Vào Infopath Designer chọn SharePoint Form Design form
Thiết kế form có repeating table giống như giao diện sau, trong đó:
Các field: MaP, NVdexuat, soluong;giathamkhao;thanhtien,tongchiphi:textbox. tenVPP:combo box.
Phải chuột vào field NVdexuat chọn text box properties.
Tại tab Data ấn Fx,
trong của sổ formula nhập vào Username() OK
Qua tab Display chọn checkbox read only OK
Phải chuột vào field tenvpp chọn combo box properties.
Tại tab Data, chọn option Get choices from an external data source ấn Add
Chọn option Receive data next
Chọn option Sharepoint library or list next
Nhập vào http://int.ctl.local/qlms –> next
Chọn list DMvanphongpham next
Check vào TenVpp next.
Check vào store a copy of the data in the form template
Đặt tên: Thong tin DMVanphongpham, check vào Automatic retrieve ..–> Finish
Thông tin vừa hoàn tất OK
Phải chuột vào field soluong chọn text box properties.
Field name soluong, data type: Whole Number (integer) Ok
Phải chuột vào field giathamkhao chọn Text box properties
data type: Whole Number (integer) Ok
Phải chuột vào field thanhtien chọn text box properties
data type: Whole Number (integer) ấn Fx
ấn Insert field or Group chèn field soluong*giathamkhao Ok
.
Check vào checkbox Refresh value when formula is recalculated ok
Phải chuột vào Repeating Table chọn Repeating table Properties.
Check vào checkbox Allow user to insert and delete rows, và show insert button and hint text Ok
Qua tab Display, check vào Include footer Ok
Chèn thêm text box tongchiphi như trong hình. Phải chuột tongchiphi chọn properties.
Data type: Decimal ấn format
Chọn option Currency symbol: chọn Vietnamese Ok
Chọn tiếp Fx
ấn Insert Function
Chọn hàm sum Ok
Double click to insert field
Chọn field thanhtien Verify Formula Ok
Check vào Refresh value when formula is recalculated Ok
Chèn thêm field ngaydx là date picker
Phải chuột vào field Map chọn text box properties. ấn fx
Formula: concat(“PDX_”,username(),now())-> OK
.
Bỏ checkbox Refresh value when formula is recalculated Ok
Chèn thêm 2 button như trong hình
Phải chuột vào một button chọn Button Properties
Action: Rules and Custom code, label: Thoát Ok
Chọn button Thoát, chọn Tab Home Manage Rules
Trong cửa sổ Rules chọn New Action
Trong Run these actions chọn add Close the form.
Rule thoát vừa làm xong.
Để tạo rule cho button còn lại, trước tiên phải vào tab Data chọn Data Connections
ấn nút add
Chọn option Submit data Next
Chọn option to a document library on a Sharepoint site next
Document library: http://int.ctl.local/QLMS/PhieuMuaHang , ấn Fx
Formula: concat(‘PMH_”,Map) Ok
Check vào allow overwrite if file exists next
Để tên mặc định, check vào set as the default submit connection. Finish
Tạo xong Data connections Close
Phải chuột vào button còn lại chọn Button Properties
Action:Rules and Custom code, lable: Gửi
Chọn nút gửi, tại cửa sổ Rules chọn new Action.
Trong phần Condition: chọn None – Rule Runs when …
Set điều kiện: Soluong is greater than 0 và giathamkhao is greater than 0 Ok
Ấn nút add chọn Submit data
Data connection: chọn Sharepoint Library Submit Ok
Vào tab Data, chọn show Fields, xuất hiện cửa sổ Fields, chọn MyFields, ấn dd field để tạo them field TT
Name: TT Ok ( field này dùng để load form và tạo workflow sau này).
Trở về cửa sổ Rules, ấn add chọn Set a field’s value.
Field chọn TT, Value:GP Ok
Chọn set a field’s value TT chọn Move Up.
Tiếp tục ấn add chọn Close the form
Rule Nút Gửi sau khi tạo xong.
Phải chuột vào Map, chọn text box properties
Chọn tab Display, check vào Read only, làm tương tự cho field NVdexuat.
Vào tab Page Design chọn Properties, View name: GuiPhieu Ok
Ấn Ctrl+A chọn tất View Guiphieu chọn copy, vào tab Page Design chọn New View.
New View name: Truongphong Ok
Paste vào nội dung đã copy vào View Truongphong, lần lượt chọn properties của các field chuyển thành read only.
Chèn thêm 2 field thaoluan, noidungthaoluan và một button như trong hình.
Với field noidungthaoluan là Multi-line.
Tạo file c:\newline.xml có nội dung sau
Vào tab Data, chọn from Other Sources From XML file.
Ấn Resource Files
ấn add chọn file c:\newline.xml Ok next
.
Enter a name for this data connection: Newline, check vào Automatically retrieve… Finish
Chọn cửa sổ Fields, chọn myfields, ấn add field
Tạo field name: noidungtam Ok
Phải chuột vào button chọn Button properties
Action: chọn Rules and Custom Code, Label: Gửi Tin Ok
Chọn nút Gửi tin, vào tab Home, chọn Add rule chọn When this Button is Clicker Set a field’s value.
Field: chọn noidungtam ấn Fx
Formula: concat(username(),” Say: “,thaoluan) Ok
Kiểm tra lại giá trị của value Ok
Cũng tại Rule Gui tin chọn add Set a Field’s Value
Field: chọn Noidungthaoluan, value: ấn fx
Formula: concat(noidungthaoluan,noidungtam,newline)
Tiếp tục, tại Rule Gui tin chọn add Set a Field’s Value
Field: Thaoluan, Value: “” OK.
Tại cửa sổ Fields, chọn myFields, chọn add Field
Tạo field name:Guitin, Data type:True/False, Default value:FALSE Ok
Trở lại cửa sổ Rules: Rule Gui tin, chọn Add Set a field’s value
Field:Guitin, Value:True Ok
Trong phần Condition của Rule Gui tin chọn None – Rule runs when button.
Chọn field thaoluan is not blank OK
Cũng tại rule Gui Tin chọn add Submit using a data connect, ấn add lần nữa chọn close this form. Tạo rule cho nút gửi tin xong.
Chọn nút Gửi chọn button Properties
Label: sửa thành Đồng ý Ok.
Chọn Rules gửi chọn Delete.
Rồi vào new chọn action để tạo rule mới cho nút đồng ý
Ấn add chọn:
- set a field’s value TT=”DY”
- set a field’s value Guitin = FALSE
- Submit using a data connection
- Close this form.
Tương tự phải chuột vào nút Thoát chọn Button Properties.
Đổi Lable thành: Không Đồng Ý Ok
Xóa Rule thoát, vào New action để tạo rule mới: Rule khong dong y.
Ấn add chọn:
- set a field’s value TT=”KDY”
- set a field’s value Guitin = FALSE
- Submit using a data connection
- Close this form.
Hoàn tất View Truongphong ấn ctrl+A và copy tất cả thông tin trên View
Vào tab Page design new View tạo View mới: QuanlyVung Ok
Paste nội dụng copy vào View QuanlyVung.
Tạo thêm field Ý Kiến Quản lý Vùng: Ykienquanlyvung (rich text box). Phải chuột vào nút Đồng ý chọn Button Properties
Label đổi lại thành: Chấp nhận Ok
Chọn Rule Dong y Delete
Chọn new action Tạo rule mới: Rule chap nhan
Ấn add chọn:
- set a field’s value TT=”CN”
- set a field’s value Guitin = FALSE
- Submit using a data connection
- Close this form.
Tương tự đổi nút Không đồng ý thành nút Không chấp nhận. và tạo Rule không chấp nhận với các thông tin sau:
- set a field’s value TT=”KCN”
- set a field’s value Guitin = FALSE
- Submit using a data connection
- Close this form.
Hoàn tất View Quản lý Vùng, copy toàn bộ nội dung của View Quản lý Vùng.
Vào tab Page Design New View new View Name: Giamdoc Ok
Paste toàn bộ nội dung vào view giamdoc, set field Ykienquanlyvung thành read only, tạo thêm field ykiengiamdoc: Rich text box.
Đổi nút Chấp nhận thành Duyệt Phiếu và tạo Rule Duyet Phieu với các action sau:
- set a field’s value TT=”DP”
- set a field’s value Guitin = FALSE
- Submit using a data connection
- Close this form.
Đổi nút Không Chấp nhận thành Không Duyệt Phiếu và tạo Rule Không Duyệt với các action sau:
- set a field’s value TT=”KD”
- set a field’s value Guitin = FALSE
- Submit using a data connection
- Close this form.
View Giamdoc vừa thiết kế xong. Copy toàn bộ view giamdoc
Vào tab Page Design chọn New View New view name:HoanTat OK
Paste nội dung vào View hoanTat, set field YKiengiamdoc thành Read only. Xóa nút Không Duyệt, sửa nút Duyệt Phiếu thành nút Xong.
Xóa Rule Duyệt Phiếu và tạo rule mới cho nút Xong với action:
- Close this form.
- Hoàn tất thiết kế form Phiếu Đề Xuất Mua Hàng bao gồm 5 View:
- View GuiTin
- View TruongPhong
- View QuanlyVung
- View Giamdoc
- View Xong
B8 Tạo Rule load Form Phiếu Đề nghị mua hàng:
Vào Tab Data chọn Form Load, tại cửa sổ Rules, vào New Action
Details for: Load form trưởng phòng, trong phần condition chọn None – Rule runs when …
Chọn field TT is equal to GP OK
Run these action: ấn add chọn Swich View
View: chọn View truongphong Ok
Tiếp tục vào New Action
Details for: Load view quan ly vung
Chọn field TT is equal to DY OK
Run these action: ấn add chọn Swich View. Chọn View: Quanlyvung Ok
Tương tự tạo rule load View Xong với điều kiện: TT=DP or TT=KD or TT=KCN or TT=KDY Switch to view Hoantat
Tương tự tạo rule load View giamdoc với điều kiện: TT=CN and tongchiphi > 10000000 Switch to view giamdoc
Cuối cùng tạo rule load View xong1 với điều kiện: TT=CN and tongchiphi <= 10000000 Switch to view Hoantat. Tạo Rule form load xong.
B9. Publishing Phiếu Đề nghị mua hàng:
Vào Tab File Info Form Option, chọn Web Browser, bỏ check box Show InfoPath commands in Ribbon or toolbar.
Chọn Property Promotion, ấn Add chọn Field Guitin,TT,Tongchiphi.
Chọn Security and trust: check vào Automatically determine security level. Ok
Chọn Publish SharePoint Server
Nhập vào http://int.ctl.local next
Chọn option administrator-approved form template(advanced) next
Ấn Browse chọn nơi lưu trữ file next (file này dung đề publish lên sharepoint)
Kiểm tra lại các field cần sử dụng next Publish Close
Vào Sharepoint 2016 Central administration. Chọn General Application Settings Manage form templates.
Chọn Upload form template
Chọn file đã lưu khi publish Upload Ok
Chờ installing xong
Chọn vào mũi tên form phieu se xuat.xsn
Chọn Active to a site collection
Chọn Change site Collection
Chọn Change Web application
Chọn Sharepoint – int.ctl.local Ok Ok
Trở về site Int.ctl.local, vào setting Site settings. Chọn Site collection features.
Kiểm tra Form phieu de xuat đã active chưa
Vào site Quản lý Mua Sắm, chọn phiếu mua hàng, vào tab Library Library Settings
Chọn Advanced settings
Trong phần Allow management of content types: chọn Yes Ok
Trong phấn content Types chọn add form existing site content types
Chọn form phieu de xuat add sang phải OK
.
Cũng trong phần Content types chọn change new button order and default content type.
Chọn số 1 cho form phieu de xuat Ok. Publish form xong. Trở lại phiếu mua hàng, tạo mới phiếu mua hàng, kiểm tra form mới publish.
B10. Tạo workflow:
Tại phiếu mua hàng, chọn tab Library, chọn workflow Create a workflow in Sharepoint designer. ấn Allow
Name: Find manage workflow, platform type: Sharepoint 2010 Workflow Ok
Đặt con trỏ vào Inser a condition, vào condition chọn If current item field equals value.
Click vào Field, chọn Current item: Guitin equals click vào value
Chọn No (nếu Guitin = No)
Đặt con trỏ phía dưới If vào Condition chọn If current item field equals value.
Click vào field chọn Current Item: TT equals, click vào value nhập GP( và nếu TT=GP)
Đặt con trỏ phía dưới and vào Action chọn Lookup Manager of a user
Click vào this user
Chọn User who created current item add Ok
Trong phấn output to chọn Create a new variable
Name: Tr_phong Ok
Xong phấn Find manager, bây giờ sẽ gán Assign to = Tr_phong
Bây giờ sẽ gán field Assigned to = Tr_phong. Trước tiên trở về site quản lý mua sắm, chọn Phiếu mua hàng, chọn tab library library setting, trong phần Columns chọn Add form existing site columns
Chọn Assigned To ấn add sang phải Ok
Trở về Workflow, đặt con trỏ dưới find Manager vào Action chọn Set Field in current Item.
Click vào Field
Chọn Assigned To
Click vào Value
Chọn Workflow lookup for a User Add
Trong phần data source: chọn Workflow Variables and Parameters, Field form source chọn Tr_phong, Return field as: chọn Display name Ok
Xong bước tìm trưởng phòng.
Đặt con trỏ bên ngoài If vào Condition chọn Condition chọn If current item field equals value
Click vào Field, chọn Current item: Guitin equals click vào value
Chọn Current Item: Guitin, equals, click vào value chọn No.
Đặt con trỏ phía dưới else If vào Condition chọn If current item field equals value.
Click vào field chọn Current Item: TT equals, click vào value nhập DY
Đặt con trỏ phía dưới and vào Action chọn Lookup Manager of a user
Click vào This User
Chọn User who created current item add Ok
Output to: chọn Tr-Phong.
Đặt con trỏ phía dưới Find manager vào Action chọn Lookup Manager of a user
Click vào this user
Chọn Workflow lookup for a User Add
Data source: chọn workflow Variabled and parameters, Field from sources: chọn Tr_phong, Reture field as: Display Name OK Ok
Output to chọn Create a new variable, nhập vào Qly_Vung.
Đặt con trỏ dưới then find Manager vào Action chọn Set Field in current Item. Click vào field chọn Assigned to, click vào Value.
Chọn Workflow lookup for a user add
Data source: chọn workflow variables and Parameters
.
Return field as: Display name Ok Ok
Hoàn tất xây dựng workflow tìm quản lý vùng, tiếp theo sẽ Assigned cho giamdoc
Đặt con trỏ ngoài Else If, vào condition chọn If current item field equals value.
Click vào field chọn Current Item: Guitin, equals, click vào value chọn No.
Tiếp tục If current item field equals value, Click vào field chọn Current Item: TT equals, click vào value nhập CN, chọn If current item field equals value lần nữa và chọn tongchiphi greater then 10.000.000.
Điều kiện sau khi thiết lập xong, vào Action chọn Set Field in current Item. Click vào field chọn Assigned to, click vào Value.
Chọn giamdoc, hoàn tất Assign công việc cho giamdoc
Cuối cùng đặt con trỏ bên ngày else if, Click vào Else If Branch và set assigned to = Created by.
Sau đó vào Workflow Settings
Trong phần start options, check vào 2 checkbox như trong hình. Và chọn Publish Tạo workflow Xong
B11. Tạo View:
Trở về int.ctl.local\QLMS chọn phiếu mua hàng, vào Library Create View.
Chọn Standard View.
View name: PhieuMuaHangGuiToi, và chọn các checkbox như trong hình.
Trong phần filter chọn assigned to is equal to [Me]
Tiếp tục tạo view name: Phieudangthaoluan
Trong phần filter chọn Created By = [Me] or Assigned to =[me] or Modified By=[Me] and Guitin= Yes
Tạo tiếp View Phieudaduyetxong
Trong phần filter TT=CN and tongchiphi <=10.000.000 or TT=DP Ok
Tiếp tục tạo view Phieubituchoi.
Trong phần Filter: TT = KDY or TT=KCN or TT = KD. Tạo view xong
B12. Tạo Promoted link.
Trở về int.ctl.local\QLMS vào settings site content chọn add an app
Chọn Picture Library. Đặt tên Hinh
Chọn hình vừa tạo.
Up hình vào.
Chọn từng hình copy clink hình, paste vào file text
Vào setting chọn Add an app.
Chọn Promoted links
Name: Link Create
Vào từng view copy link.
paste vào file text (tiếp tục cho các view còn lại)
Tạo phiếu đề xuất mới, copy link
Paste vào file text, và xóa từ &source đến hết.
Vào lại setting site contents, chọn link.
Vào tab itemNew Item New item
Nhập các thông tin như trong hình, Backgroup image location paste một link hình vào, Link location paste link tạo phiếu mua hàng mới. Save
Link tạo phiếu mua hàng
Tương tự tạo link phiếu mua hàng bị từ chối.
Tạo link phiếu đã duyệt.
Tạo link phiếu đang thảo luận
Tạo Phiếu mua hàng cần duyệt.
B13. Edit page:
Trở về site Quản lý mua sắm vào tab Page edit edit
Xóa hết tất cả thông tin trên form.
Vào Tab Insert chọn Web part
Chọn apps Link add
ấn Save hoàn tất bài lab.
B14. Kiểm tra.
Sign in vào site int.ctl.local/QLMS bằng quyền của Kd1, tạo phiếu mua hàng mới, sau đó vào site bằng quyền của Tpkinhdoanh kiểm tra xem có form phiếu mua hàng cần duyệt không, sau đó vào site bằng quyền của gdvung1 xem có form mua hàng cần duyệt không, Nếu tongchiphi > 10.000.000 thì sign in vào giamdoc kiểm tra tiếp.
Hoàn tất bài lab.
Mr CTL – labs.ctl.vn