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.vnseolab.com
