3. Numbering

Navigation:  Các công cụ phát triển phần mềm > Nhập liệu (Data Entry) > Biểu mẫu tính năng (Function Form) > Các thiết lập cho form >

3. Numbering

Previous pageReturn to chapter overviewNext page
Show/Hide Hidden Text

Numbering Rules - Quy tắc đánh số

Quy tắc đánh số dùng để lấy ra số tự động tiếp theo và điền vào một trường dữ liệu trước khi lưu mẫu tin vào cơ sở dữ liệu (CSDL).

Nguyên tắc hoạt động: Ngay sau khi người dùng bấm nút nut_save Save, hệ thống sẽ lấy số tiếp theo và điền vào trường dữ liệu cần nhảy số tuần tự, người dùng sẽ không điền vào các trường này nữa.

Profile số tuần tự chỉ nhảy số tiếp theo khi người dùng bấm Save form (mẫu tin được ghi nhận vào hệ thống).

Nếu một mẫu tin bị xóa đi, trong hệ thống sẽ trống số tuần tự đã xóa.

Quy tắc đánh số được áp dụng cho từng Sub Form riêng biệt của một kiểu dữ liệu, thiết lập tại Setup > 3.Numbering của mỗi Sub Form.

 

Ví dụ: Trong tính năng Tên và địa chỉ (Name And Address - pbs.BO.LA.NA) thiết lập cho trường AddCode là số tuần tự nhảy tự động.

nut_arrow Như vậy, ngay sau khi người dùng bấm Save form, hệ thống sẽ lấy ra số tiếp theo và điền vào trường AddCode.

nut_arrow Nếu tính năng pbs.BO.LA.NA sử dụng 2 Sub Form cho mẫu tin Khách hàng (pbs.BO.LA.NA/KH) và mẫu tin Nhà cung cấp (pbs.BO.LA.NA/NCC) thì có thể có 2 chuỗi số nhảy liên tục cho 2 Sub Form này, ví dụ: KH0001, NCC0001

 

Profile Số tuần tự sử dụng trong Numbering Rules

Quy tắc lấy số tiếp theo được định nghĩa ở tính năng Sequence Number (pbs.BO.SEQ) - tính năng thiết lập số tuần tự. Các điểm cần lưu ý như sau:

1.Tính năng thiết lập số chứng từ (pbs.BO.LA.SN) chỉ được sử dụng khi nhập Nhật ký sổ cái và nhập Lưu chuyển kho, với điều kiện là những profile SN này được khai báo trong Định nghĩa nhật ký (Journal Definition - pbs.BO.LA.JD) và Định nghĩa lưu chuyển kho (Movement Definition - pbs.BO.PI.MD)

2.Toàn bộ các số tuần tự định nghĩa trong Numbering Rules được định nghĩa bởi SEQ.

3.Nếu các Nhật ký sổ cái hoặc Lưu chuyển kho cần sử dụng số chứng từ định nghĩa bởi SEQ thì Seq.Code trong Định nghĩa nhật ký hoặc Định nghĩa lưu chuyển kho phải để trống và Numbering Rules cho các tính năng này phải được thiết lập.

 

Cách thiết lập Numbering Rules

Numbering Rules cho phép sử dụng profile lấy số tuần tự một cách linh động.

Quy tắc đánh số được áp dụng cho từng Sub Form riêng biệt của một kiểu dữ liệu, thiết lập tại DataType(/SubForm) >Setup > 3.Numbering

Trong tất cả các trường dữ liệu của các kiểu dữ liệu trong Phoebus, người dùng muốn dùng số nhảy tuần tự tự động ở dòng nào thì thiết lập quy tắc đánh số tương ứng vào dòng đó.

formcn_setup_003_zoom40

 

Các cách để thiết lập quy tắc đánh số, mỗi cách đáp ứng nhu cầu sử dụng khác nhau như sau:

<%EXTOGGLE%>Sequence Profile

Để thiết lập số tuần tự nhảy tự động cho một trường dữ liệu bất kỳ, nhập Seq.Code (định nghĩa tại pbs.BO.SEQ) vào cột Sequence Profile.

 

Ví dụ: thiết lập số tuần tự nhảy tự động cho trường AddCode của kiểu dữ liệu Tên và địa chỉ

1.Định nghĩa SEQ Profile là 'KHSEQ'

form_setup_numbering_001_zoom20

2.Thiết lập quy tắc đánh số tại dòng AddCode của tính năng pbs.BO.LA..NA/KH > Setup > 3.Numbering > Sequence Profile: KHSEQ

form_setup_numbering_002_zoom20

 

nut_arrow Kết quả: Mã khách hàng sẽ được đánh số liên tục tự động: KH-0001, KH-0002, KH-0003, ... KH-9999

<%EXTOGGLE%>Dynamic Seq Profile

Đối với các trường hợp khi thiết lập số tuần tự cho các trường dữ liệu trong Form/SubForm, người thiết kế không biết trước SEQ Profile nào sẽ được sử dụng.

Nghĩa là SEQ Profile chỉ được xác định khi người dùng đã nhập liệu xong > khi thực hiện Lưu form thì SEQ Profile sẽ được xác định dựa theo giá trị nhập vào của một trường dữ liệu nào đó.

Như vậy, có bao nhiêu giá trị được dùng để xác định dãy số tuần tự thì sẽ có bấy nhiêu SEQ Profile được định nghĩa; và các SEQ này sẽ đánh số độc lập với nhau.

Trong trường hợp này SEQ sử dụng phải được xác định bằng công thức ở cột Dynamic Seq Profile.

 

Ví dụ: Khi nhập phiếu thu (PT) từ nhiều chi nhánh khác nhau vào cùng một CSDL, PT ở mỗi chi nhánh được đánh số riêng biệt dựa theo mã của từng chi nhánh.

Công ty TNHH ABC có 2 chi nhánh có mã lần lượt là CN1, CN2.

1.Để thiết lập số tuần tự cho PT thì cần định nghĩa 2 SEQ Profile là PTCN1, PTCN2.

2.Thiết lập quy tắc đánh số tại tính năng Nhập nhật ký kế toán: pbs.BO.LA.J/PT > Setup > 3.Numbering > Dynamic Sq Profile: công thức

Giả sử AnalT0 là trường lưu thông tin chi nhánh, Treference là trường nhảy số chứng từ PT tự động.

Tại cột Dynamic Seq Profile của dòng Treference, bấm F5 hoặc nút nut_lookup để mở Trình soạn thảo biểu thức: IF([AnalT0] = 'CN1', 'PTCN1', 'PTCN2')

form_setup_numbering_003_zoom20

 

nut_arrow Kết quả: Số chứng từ PT sẽ được đánh số liên tục tự động PTCN1-0001, PTCN1-0002, ... và PTCN2-0001, PTCN2-0002, ...

 

<%EXTOGGLE%>Number Composition

Nếu số tuần tự là một tổ hợp gồm nhiều thành phần, bao gồm nội dung lấy từ một hoặc nhiều trường nhập liệu nào đó, kết hợp với dãy số tuần tự từ SEQ Profile. Nghĩa là:

ngoài dãy số tuần tự sẽ được lấy tự động của SEQ Profile,

thì các nội dung thêm vào trước dãy số đó sẽ được linh động, thay đổi theo giá trị nhập vào của một hoặc nhiều trường dữ liệu.

Như vậy, hệ thống sẽ dùng duy nhất một SEQ Profile để đánh số liên tục cùng với phần nội dung thêm vào.

Trong trường hợp này SEQ sử dụng phải được xác định bằng công thức ở cột Number Composition, kết hợp với các phương pháp đánh số là Sequence Profile và Dynamic Seq Profile.

 

Ví dụ: cùng một form nhập thông tin khách hàng (pbs.BO.LA.NA/KH), sử dụng cùng một SEQ Profile nhưng khi đánh số tuần tự sẽ phân theo địa điểm của khách hàng: CITYKH-nnnn, trong đó CITY là mã phân tích thành phố và KH-nnnn là dãy số tuần tự. Giả sử Address6 là trường lưu thông tin phân tích CITY, AddCode là trường nhảy mã khách hàng tự động.

1.Tạo SEQ Profile 'KHSEQ' để nhảy số tuần tự liên tục có cấu trúc: KH-nnnn

2.Thiết lập quy tắc đánh số tại dòng AddCode của tính năng nhập thông tin khách hàng: pbs.BO.LA.NA/KH > Setup > 3.Numbering > Sequence Profile: KHSEQ

3.Thiết lập công thức đánh số tuần tự gồm nhiều thành phần: pbs.BO.LA.NA/KH > Setup > 3.Numbering > Number Composition: công thức

Tại cột Number Composition của dòng AddCode, bấm F5 hoặc nút nut_lookup để mở Trình soạn thảo biểu thức: [Address6] + ?

form_setup_numbering_004_zoom20

 

nut_arrow Kết quả: Mã khách hàng sẽ được đánh số liên tục tự động dựa theo thông tin CITY: HNKH-0001, HCMKH-0002, HCMKH-0003, DNKH-0004, ...

nut_arrow Có thể ứng dụng phương pháp này trong việc đánh số chứng từ như PT-YY-MM-nnnn

 

 

 

________________________

Updated date: 14/07/2016