Biểu diễn hồ sơ chi tiết 1s 8.3. Một ví dụ đơn giản về cách sử dụng các trường tùy chỉnh trong báo cáo DCS. Làm việc với giá trị NULL

Báo cáo nhận số dư hàng hóa trong kho theo các phần khác nhau (tính chất, dãy, đơn vị đo,…). Để không làm phức tạp ví dụ, chúng tôi sẽ chỉ nhóm theo mục và chỉ hiển thị số dư cuối cùng kể từ ngày báo cáo. Bảng cuối cùng sẽ hiển thị số dư của mặt hàng trong kho.

Nhưng sau đó người dùng báo cáo rằng anh ta cần thêm hai trường bổ sung:

  1. Cảnh báo số lượng. Nếu số lượng nhỏ hơn hoặc bằng 5 thì cảnh báo là "Không đủ". Nếu số lượng lớn hơn 5 thì nhỏ hơn hoặc bằng 10 thì cảnh báo là “Bình thường”. Nếu số lượng lớn hơn 10 thì là “Dư thừa”.
  2. Công thức tính số dư cuối kỳ. Trong cột bổ sung, người dùng muốn xem chương trình đã thực hiện những hành động nào để có được giá trị số dư cuối cùng. Tức là công thức “Số dư ban đầu + Doanh thu = Số dư cuối cùng”, trong đó các giá trị tương ứng sẽ được thay thế.

Tất nhiên, lập trình viên có thể can thiệp vào đây và thay đổi cài đặt báo cáo và yêu cầu sơ đồ tổng hợp dữ liệu, nhưng chúng tôi sẽ hoàn thành nhiệm vụ ở chế độ người dùng mà không thay đổi báo cáo ở chế độ cấu hình.

Các trường bổ sung

Vậy hãy bắt đầu. Hãy chuyển đến cài đặt tùy chọn báo cáo:

Trình thiết kế cài đặt cho tùy chọn báo cáo ACS sẽ mở ra trước mặt chúng tôi. Bằng cách chuyển đến tab "Trường tùy chỉnh", chúng tôi sẽ bắt đầu tạo chúng.

Ảnh chụp màn hình đã hiển thị hai trường tùy chỉnh đã tạo, chức năng của trường này đã được mô tả ở trên. Chúng ta hãy xem xét các cài đặt cho từng. Hãy bắt đầu với trường "Thông báo".

Trong cài đặt, chúng ta cần đặt tiêu đề trường sẽ được hiển thị trong báo cáo, cũng như đặt biểu thức để tạo giá trị trong trường bản ghi chi tiết và trong tổng số cho trường này. Vì không cần hiển thị cảnh báo trong tổng số nên chúng tôi sẽ chỉ viết biểu thức cho các bản ghi chi tiết.

Cú pháp biểu thức tương tự như ngôn ngữ truy vấn 1C:Enterprise. Có một số khác biệt, nhưng chúng tôi sẽ không đề cập chi tiết đến chúng trong bài viết này. Biểu thức sử dụng toán tử lựa chọn:

"Lựa Chọn Khi Nào Nếu Không Thì Kết Thúc"

tương tự như một toán tử trong ngôn ngữ truy vấn. Các trường trong biểu thức trường tùy chỉnh được chỉ định bằng cách biểu diễn chúng. Để nền tảng hiểu rằng chế độ xem đã nhập đại diện cho một trường nhất định, tên chế độ xem được bao quanh bởi dấu ngoặc vuông "". Nếu cách trình bày trường là một từ thì dấu ngoặc vuông là tùy chọn. Trong ví dụ trên, chúng ta đang xem trường Số dư cuối kỳ.

Cài đặt cho trường "Công thức tính số dư cuối cùng" được đặt theo cách tương tự:


Ở đây cần phải đề cập đến một số sắc thái:

  1. Chúng ta chỉ có thể hiển thị công thức trong một ô dưới dạng một dòng. Do đó, chúng tôi chuyển đổi tất cả các giá trị số thành chuỗi bằng phương thức ngôn ngữ biểu thức SKD “String()”, phương thức này chuyển đổi bất kỳ giá trị nào thành chuỗi. Sau đó chúng ta thực hiện nối chuỗi.
  2. Để trường được hiển thị trong tổng số báo cáo, chúng tôi sẽ thêm công thức tương tự vào biểu thức của tổng số bản ghi. Bạn chỉ cần thêm hàm tổng hợp “SUM()” cho từng giá trị theo tổng.

Bạn đã sẵn sàng sử dụng các trường trong báo cáo của mình!

Thiết lập và tạo báo cáo

Thêm trường "Công thức tính số dư cuối cùng" vào trường đầu ra của báo cáo:

Chúng tôi sẽ thêm biểu thức “Thông báo” vào bản ghi mục chi tiết. Để thực hiện việc này, hãy thêm trường biểu thức “Thông báo” vào nhóm “Danh pháp”. Sau đó, cấu trúc báo cáo sẽ có dạng sau:

Việc thiết lập báo cáo hiện đã hoàn tất. Nếu cần, các cài đặt đã thêm có thể được lưu để sử dụng lại. Hãy tạo một báo cáo:

Như chúng ta có thể thấy, các trường đã được thêm vào báo cáo phù hợp với các điều kiện của nhiệm vụ. Đồng thời, không cần sửa đổi báo cáo ở chế độ cấu hình. Đây là lợi thế chính của các trường tùy chỉnh! Người dùng được đào tạo để sử dụng chúng có thể sử dụng chúng để tạo báo cáo nội bộ về các yêu cầu của họ mà không cần sự trợ giúp của lập trình viên.

Tin tôi đi, bạn có thể huấn luyện anh ấy sử dụng những tính năng này vì nó dễ hơn nhiều so với việc viết công thức trong bảng tính Excel.

Báo cáo về hệ thống thành phần dữ liệu(SKD) trong cấu hình 1C hiện đại đã trở thành tiêu chuẩn. Chúng rất tiện lợi vì người dùng có thể tự chỉnh sửa cài đặt mà không cần sự trợ giúp của người lập trình. Điều này sẽ được thảo luận thêm.

Phiên bản sửa đổi của báo cáo có thể dễ dàng lưu vào cơ sở dữ liệu và sử dụng song song với phiên bản gốc. Đồng thời, nếu có sự cố xảy ra, bạn có thể quay lại cài đặt tiêu chuẩn. Ở chế độ tùy chỉnh, bạn có thể thêm trường bổ sung vào bất kỳ báo cáo nào trên hệ thống kiểm soát truy cập, định cấu hình lựa chọn, nhóm, sắp xếp hoặc định dạng có điều kiện dựa trên nó.

Hãy xem việc thêm trường tùy chỉnh bằng cách sử dụng báo cáo tiêu chuẩn làm ví dụ. Tỷ lệ luân chuyển nhân viên trong cấu hình 1C: Tiền lương và quản lý nhân sự 3.1.

Tỷ lệ luân chuyển trong báo cáo có thể được tính cho toàn bộ tổ chức hoặc theo vị trí. Giả sử chúng ta cần tìm tỷ lệ luân chuyển của một hạng mục nhân sự, đó là danh sách các vị trí.

Chú ý! Trong các cấu hình cũ hơn, điều này sẽ yêu cầu thêm đạo cụ bổ sung Loại vào thư mục Vị trí, sau đó phát triển phiên bản báo cáo của riêng bạn có tính đến dữ liệu này.

Nhưng với SKD mọi chuyện đã trở nên đơn giản hơn rất nhiều.

1. Trước tiên, hãy lưu phiên bản mới của báo cáo bằng nút Chọn một tùy chọn báo cáo hoặc lưu một tùy chọn mới - Lưu tùy chọn báo cáo:

Trong cửa sổ mở ra, điền tên phiên bản báo cáo mới, sau đó nhấp vào nút Cứu. Người dùng có quyền Người quản lý có thể lưu cài đặt cho tất cả người dùng.

2. Bây giờ hãy thêm trường của chúng tôi. Đi tới thực đơn Mọi hành động(hoặc Hơn trong giao diện 1C 8.3) — Khác — Thay đổi phiên bản báo cáo.

Sau đó vào tab Trường tùy chỉnhở cuối biểu mẫu chỉnh sửa tùy chọn, nhấp vào nút Thêm - Trường lựa chọn mới:

Chúng ta điền tên trường của mình và đi xuống cuối biểu mẫu, nơi chúng ta sẽ chia các vị trí thành các danh mục mà chúng ta cần. Nhấp chuột Thêm vào, điền giá trị trường và cách thể hiện của nó, sau đó tiến hành chỉnh sửa lựa chọn bằng cách nhấp vào “…” trong cột Lựa chọn:

Chọn trường ở bên trái cửa sổ Chức danh, nhấp đúp hoặc kéo để di chuyển nó sang bảng bên phải. Lựa chọn kiểu so sánh Trên danh sách, sau đó tiến hành chỉnh sửa danh sách bằng cách nhấn vào nút “…” ở cột Nghĩa:

Chúng tôi điền vào danh sách các vị trí cần thiết theo cách thủ công hoặc sử dụng nút Lựa chọn. Ví dụ, trong danh mục Hành chính hãy phân công vị trí Giám đốcNgười quản lý, vào danh mục Tuyến tính -Người bán hàng và Kế toán, và vào danh mục Bảo vệ -Người đứng đầu an ninhvà nhân viên bảo vệ.

Chú ý! T loại giá trị danh sách - Con số, và chúng tôi nhập tên của danh mục vào trường Hiệu suất. Nếu các giá trị danh sách được gán ngay kiểu Đường kẻ, chúng tôi sẽ không thể thiết lập lựa chọn chính xác theo trường này trong tương lai. Lựa chọn theo trường chuỗi chỉ có thể được định cấu hình theo nguyên tắc Điền/Không Điền.

3. Bây giờ hãy thiết lập lựa chọn. Chuyển đến tab Lựa chọn. Chúng ta tìm thư mục ở cuối danh sách bên trái Trường tùy chỉnh, và trong đó có một trường Hạng mục nhân sự, di chuyển nó sang bên phải.

Sau đó nhấp chuột phải vào dòng lựa chọn và chọn Thuộc tính mục cài đặt tùy chỉnh.

Đặt cờ Bao gồm trong cài đặt người dùng và chọn chế độ chỉnh sửa - Truy cập nhanh. Điều này sẽ cho phép bạn quản lý cài đặt lựa chọn theo danh mục nhân sự trực tiếp trong tiêu đề báo cáo.

4. Bây giờ hãy thêm nhóm theo trường tùy chỉnh. Để làm điều này, sau khi nhóm theo các trường Tổ chứcThời kỳ hình thành Chúng tôi thêm một nhóm theo danh mục nhân sự và chuyển nhóm theo vị trí vào đó. Sau đó chọn nhóm Loại nhân viên và đi đến tab Cài đặt thêm . Đặt cờ Phần tử hiện tại có cài đặt bổ sung riêng, tìm tham số ở danh sách bên dưới Sắp xếp theo chiều dọc của tổng số và đặt giá trị của nó thành Kết thúc.

5. Hãy thử tạo một báo cáo:

Toàn bộ báo cáo đã sẵn sàng, nhưng nếu cần, nó có thể được cải thiện một chút.

6. Việc phân nhóm theo loại nhân sự sẽ được sắp xếp tương tự như danh sách chúng tôi đã điền trước đó. Nếu bạn muốn sắp xếp khác đi, chẳng hạn như theo thứ tự giảm dần, chúng ta có thể chuyển đến tab Sắp xếp, thêm danh mục nhân sự vào danh sách các trường và định cấu hình như sau:

Lưu ý rằng các trường tùy chỉnh được sắp xếp theo giá trị chứ không phải theo chế độ xem.

7. Bạn có thể định cấu hình giao diện có điều kiện cho các trường báo cáo. Để thực hiện việc này, hãy chuyển đến tab Thiết kế có điều kiện và thêm một phần tử mới vào danh sách. Chọn một tab Tình trạng, thêm trường bắt buộc vào bên phải và định cấu hình nó:

Trên tab Thiết kế nội thất chúng tôi đặt thiết kế cần thiết cho các trường thỏa mãn điều kiện. Ví dụ: màu chữ đỏ. Hãy lưu cài đặt của chúng tôi:

Báo cáo bây giờ trông như thế này:

Đối với cơ quan quản lý có thẩm quyền, bất kỳ tổ chức thương mại nào cũng cần nhận được thông tin kịp thời về tình trạng hàng hóa, doanh thu và lợi nhuận hiện tại. Tuy nhiên, nếu chúng ta cho rằng các tổ chức thường làm việc với nhiều loại hàng hóa và số lượng lớn đối tác thì công cụ tùy chỉnh báo cáo phân tích đóng vai trò quan trọng trong việc thu thập thông tin cần thiết. Chúng ta hãy xem xét kỹ hơn cách làm việc với các trường tùy chỉnh trong báo cáo chương trình tiêu chuẩn (phiên bản 11).

Sự phát triển của nền tảng 1C: Enterprise 8 ngày càng mang đến cho người dùng nhiều cơ hội hơn. Ví dụ: trong phiên bản 8.2, các báo cáo trở nên linh hoạt hơn, cho phép chúng được tùy chỉnh để phù hợp với nhiều yêu cầu khác nhau mà không cần sự trợ giúp của các lập trình viên có trình độ.

Thay đổi cài đặt báo cáo

Để xem hoặc thay đổi cài đặt báo cáo, hãy chuyển đến menu “Tất cả hành động” và chọn lệnh “Tùy chọn thay đổi”. Sau đó, một cửa sổ có cài đặt cho báo cáo đang mở sẽ mở ra trước mặt người dùng.

Ở phần trên của cửa sổ cài đặt, bạn có thể thấy cấu trúc của báo cáo, không gì khác hơn là sự phản ánh trực quan của các cột báo cáo và nhóm các hàng của báo cáo, về cơ bản giúp bạn có thể tưởng tượng thứ tự trong đó dữ liệu phân tích được sắp xếp. hiển thị trong báo cáo này.

Ở cuối cửa sổ cài đặt, thông tin thực tế và cài đặt trường được hiển thị, liên quan đến báo cáo hoặc các thành phần trong cấu trúc của báo cáo (cột và nhóm hàng).

Trường tùy chỉnh

Trong một chương trình 1C: Quản lý thương mại 8 Cài đặt báo cáo Phiên bản 11 cung cấp cho người dùng nhiều tùy chọn hơn trong thế hệ của họ.

Trong cửa sổ chỉnh sửa cài đặt và cấu trúc báo cáo, chúng tôi muốn thu hút sự chú ý đặc biệt của người dùng đến tab “Trường tùy chỉnh”, cho phép bạn tạo các trường của riêng mình và thêm chúng vào báo cáo. Cần nhớ lại rằng trước đây người dùng chỉ có thể sử dụng những trường do nhà phát triển triển khai.

Hãy xem xét việc sử dụng chức năng này bằng một ví dụ.

Giả sử rằng người đứng đầu một công ty thương mại bán hàng hóa ở Moscow và các khu vực muốn tùy chỉnh báo cáo “Lịch sử bán hàng” theo yêu cầu của mình, muốn hiển thị trong đó dữ liệu về việc bán sản phẩm ở Moscow và các khu vực nói chung, như cũng như với các đối tác. Điều này rất dễ thực hiện bằng cách sử dụng các trường tùy chỉnh.

Do đó, một ví dụ rõ ràng cho thấy rằng cài đặt linh hoạt cho các trường tùy chỉnh trong chương trình tiêu chuẩn 1C: Quản lý thương mại 8 cung cấp cho người dùng nhiều cơ hội để tùy chỉnh các báo cáo, cho phép họ nhanh chóng có được thông tin cần thiết ở dạng thuận tiện.

Ngôn ngữ biểu thức hệ thống cấu thành dữ liệu

Ngôn ngữ biểu thức hệ thống tổng hợp dữ liệu được thiết kế để viết các biểu thức được sử dụng trong các phần khác nhau của hệ thống.

Biểu thức được sử dụng trong các hệ thống con sau:

  • sơ đồ bố trí dữ liệu - để mô tả các trường được tính toán, trường tổng, biểu thức kết nối, v.v.;
  • cài đặt bố cục dữ liệu - để mô tả các biểu thức trường tùy chỉnh;
  • bố cục bố cục dữ liệu - để mô tả các biểu thức để kết nối các tập dữ liệu, mô tả các tham số bố cục, v.v.

chữ

Biểu thức có thể chứa chữ. Có thể có các loại chữ sau đây:

  • Đường kẻ;
  • Con số;
  • Ngày của;
  • Boolean.

Đường kẻ

Một chuỗi ký tự được viết bằng ký tự “”, ví dụ:

"Chuỗi chữ"

Nếu bạn cần sử dụng ký tự “” bên trong một chuỗi ký tự, bạn nên sử dụng hai ký tự như vậy.

Ví dụ:

“Chữ đen ““trong dấu ngoặc kép”““

Con số

Số được viết không có dấu cách, ở dạng thập phân. Phần phân số được phân tách bằng dấu ".". Ví dụ:

10.5 200

ngày

Một hằng ngày được viết bằng hằng khóa DATETIME. Sau từ khóa này, năm, tháng, ngày, giờ, phút, giây được liệt kê trong ngoặc đơn, cách nhau bằng dấu phẩy. Đặc điểm kỹ thuật thời gian là không cần thiết.

Ví dụ:

DATETIME(1975, 1, 06) – 6 tháng 1 năm 1975 DATETIME(2006, 12, 2, 23, 56, 57) – 2 tháng 12 năm 2006, 23 giờ 56 phút 57 giây, 23 giờ 56 phút 57 giây

Boolean

Các giá trị Boolean có thể được viết bằng các ký tự True (Đúng), Sai (Sai).

Nghĩa

Để chỉ định các loại chữ khác (liệt kê hệ thống, dữ liệu được xác định trước), từ khóa Giá trị được sử dụng, theo sau là tên của chữ trong ngoặc đơn.

Giá trị(Loại tài khoản. Hoạt động)

Các thao tác trên số

Đơn nhất –

Thao tác này nhằm mục đích thay đổi dấu của một số thành dấu ngược lại. Ví dụ:

Số lượng khuyến mãi

Đơn nhất +

Thao tác này không thực hiện bất kỳ hành động nào trên số. Ví dụ:

Số lượng khuyến mãi

Nhị phân -

Hoạt động này nhằm tính toán sự khác biệt của hai số. Ví dụ:

ResidualsAndTurnovers.InitialRemaining – RemainingsAndTurnovers.FinalResidualsRemainingsAndTurnovers.InitialRemaining - 100 400 – 357

Nhị phân +

Hoạt động này được thiết kế để tính tổng của hai số. Ví dụ:

Phần dưAndTurnover.InitialRemaining + RemainingAndTurnover.Turnover ResiduesAndTurnover.InitialRemaining + 100 400 + 357

Công việc

Hoạt động này được thiết kế để tính tích của hai số. Ví dụ:

Danh pháp.Giá * 1,2 2 * 3,14

Phân công

Hoạt động này được thiết kế để thu được kết quả của việc chia một toán hạng cho một toán hạng khác. Ví dụ:

Danh pháp.Giá / 1,2 2 / 3,14

Phần dư của phép chia

Hoạt động này được thiết kế để lấy số dư khi chia một toán hạng cho một toán hạng khác. Ví dụ:

Danh mục Giá % 1,2 2 % 3,14

Hoạt động chuỗi

Ghép nối (Nhị phân +)

Hoạt động này được thiết kế để nối hai chuỗi. Ví dụ:

Danh pháp.Article + “: ”+ Danh pháp.Name

Giống

Thao tác này kiểm tra xem chuỗi có khớp với mẫu đã truyền hay không.

Giá trị của toán tử THÍCH là TRUE nếu giá trị<Выражения>thỏa mãn mẫu và FALSE nếu không.

Các ký tự sau đây trong<Строке_шаблона>có ý nghĩa khác với chỉ một ký tự khác trong dòng:

  • % - phần trăm: một chuỗi chứa 0 hoặc nhiều ký tự tùy ý;
  • _ - gạch dưới: một ký tự tùy ý;
  • […] - một hoặc nhiều ký tự trong dấu ngoặc vuông: một ký tự, bất kỳ ký tự nào được liệt kê bên trong dấu ngoặc vuông. Bảng liệt kê có thể chứa các phạm vi, ví dụ a-z, nghĩa là một ký tự tùy ý có trong phạm vi, bao gồm cả các phần cuối của phạm vi;
  • [^...] - trong ngoặc vuông một biểu tượng phủ định theo sau là một hoặc nhiều ký tự: bất kỳ ký tự nào ngoại trừ những ký tự được liệt kê sau biểu tượng phủ định;

Bất kỳ biểu tượng nào khác đều có nghĩa là chính nó và không mang thêm bất kỳ tải trọng nào. Nếu một trong các ký tự được liệt kê cần được viết dưới dạng chính nó thì nó phải được đặt trước bởi<Спецсимвол>, được chỉ định sau từ khóa CHARACTER ĐẶC BIỆT (ESCAPE).

Ví dụ, mẫu

“%ABV[abvg]\_abv%” KÝ TỰ ĐẶC BIỆT “\”

nghĩa là một chuỗi con gồm một dãy ký tự: chữ A; chữ B; chữ B; Một chữ số; một trong các chữ cái a, b, c hoặc d; gạch dưới; chữ a; chữ b; chữ v. Hơn nữa, trình tự này có thể được định vị bắt đầu từ một vị trí tùy ý trong dòng.

Hoạt động so sánh

Bằng

Hoạt động này nhằm mục đích so sánh hai toán hạng cho sự bằng nhau. Ví dụ:

Sales.Counterparty = Sales.NomenclatureMainSupplier

Không công bằng

Hoạt động này nhằm mục đích so sánh hai toán hạng cho sự bất bình đẳng. Ví dụ:

Bán hàng.Đối tác<>Sales.NomenclatureNhà cung cấp chính

Ít hơn

Thao tác này được thiết kế để kiểm tra xem toán hạng đầu tiên có nhỏ hơn toán hạng thứ hai hay không. Ví dụ:

Doanh số bán hàng Current.Amount< ПродажиПрошлые.Сумма

Hơn

Thao tác này được thiết kế để kiểm tra xem toán hạng đầu tiên có lớn hơn toán hạng thứ hai hay không. Ví dụ:

SalesCurrent.Sum > SalesPast.Sum

Ít hơn hoặc bằng

Thao tác này được thiết kế để kiểm tra xem toán hạng đầu tiên có nhỏ hơn hoặc bằng toán hạng thứ hai hay không. Ví dụ:

Doanh số bán hàng Current.Amount<= ПродажиПрошлые.Сумма

Nhiều hơn hoặc bằng

Thao tác này được thiết kế để kiểm tra xem toán hạng đầu tiên có lớn hơn hoặc bằng toán hạng thứ hai hay không. Ví dụ:

SalesCurrent.Amount >= SalesPast.Amount

Hoạt động B

Thao tác này kiểm tra sự hiện diện của một giá trị trong danh sách giá trị được truyền. Kết quả của thao tác sẽ là Đúng nếu tìm thấy giá trị hoặc Sai nếu không tìm thấy. Ví dụ:

Mục B (&Sản phẩm1, &Sản phẩm2)

Hoạt động kiểm tra sự hiện diện của một giá trị trong tập dữ liệu

Hoạt động kiểm tra sự hiện diện của một giá trị trong tập dữ liệu đã chỉ định. Tập dữ liệu xác thực phải chứa một trường. Ví dụ:

Bán hàng. Đối tác với các đối tác

Hoạt động kiểm tra giá trị cho NULL

Thao tác này trả về True nếu giá trị là NULL. Ví dụ:

Bán hàng.Đối tác LÀ NULL

Hoạt động kiểm tra giá trị của bất đẳng thức NULL

Thao tác này trả về True nếu giá trị không phải là NULL. Ví dụ:

Bán hàng. Đối tác KHÔNG phải là vô giá trị

Các phép toán logic

Các phép toán logic chấp nhận các biểu thức kiểu Boolean làm toán hạng.

hoạt động KHÔNG

Phép toán NOT trả về True nếu toán hạng của nó là Sai và Sai nếu toán hạng của nó là True. Ví dụ:

KHÔNG phải Document.Consignee = Document.Consignor

Chiến dịch tôi

Phép toán AND trả về True nếu cả hai toán hạng đều đúng và trả về Sai nếu một trong các toán hạng là Sai. Ví dụ:

Document.Consignee = Document.Consignor VÀ Document.Consignee = &Đối tác

HOẶC hoạt động

Phép toán OR trả về Đúng nếu một trong các toán hạng của nó là Đúng và Trả về Sai nếu cả hai toán hạng đều Sai. Ví dụ:

Document.Consignee = Document.Consignor HOẶC Document.Consignee = &Đối tác

Chức năng tổng hợp

Các hàm tổng hợp thực hiện một số hành động trên một tập hợp dữ liệu.

Tổng

Hàm tổng hợp Sum tính tổng các giá trị của các biểu thức được truyền cho nó dưới dạng đối số cho tất cả các bản ghi chi tiết. Ví dụ:

Số tiền(Doanh số.Số lượngDoanh thu)

Số lượng

Hàm Count tính toán số giá trị khác NULL. Ví dụ:

Số lượng(Bán hàng.Đối tác)

Số lượng khác nhau

Hàm này tính toán số lượng giá trị riêng biệt. Ví dụ:

Số lượng (Bán hàng khác nhau. Đối tác)

Tối đa

Hàm nhận giá trị lớn nhất. Ví dụ:

Tối đa (Còn lại.Số lượng)

tối thiểu

Hàm nhận giá trị nhỏ nhất. Ví dụ:

Tối thiểu (Còn lại.Số lượng)

Trung bình

Hàm lấy giá trị trung bình của các giá trị không NULL. Ví dụ:

Trung bình(Còn lại.Số lượng)

Các hoạt động khác

Thao tác CHỌN

Thao tác Chọn nhằm mục đích chọn một trong một số giá trị khi đáp ứng một số điều kiện nhất định. Ví dụ:

Chọn Khi Số tiền > 1000 Sau đó Số tiền Nếu không 0 Kết thúc

Quy tắc so sánh hai giá trị

Nếu loại của các giá trị được so sánh khác nhau thì mối quan hệ giữa các giá trị được xác định dựa trên mức độ ưu tiên của các loại:

  • NULL (thấp nhất);
  • Boolean;
  • Con số;
  • Ngày của;
  • Đường kẻ;
  • Các loại tài liệu tham khảo

Mối quan hệ giữa các loại tham chiếu khác nhau được xác định dựa trên số tham chiếu của các bảng tương ứng với một loại cụ thể.

Nếu các kiểu dữ liệu giống nhau thì các giá trị được so sánh theo quy tắc sau:

  • đối với kiểu Boolean, giá trị TRUE lớn hơn giá trị FALSE;
  • loại Số có các quy tắc so sánh thông thường đối với các số;
  • đối với loại Ngày, ngày trước nhỏ hơn ngày sau;
  • đối với kiểu Chuỗi - so sánh các chuỗi theo đặc điểm quốc gia đã thiết lập của cơ sở dữ liệu;
  • các loại tham chiếu được so sánh dựa trên giá trị của chúng (số bản ghi, v.v.).

Làm việc với giá trị NULL

Bất kỳ thao tác nào trong đó một trong các toán hạng là NULL sẽ tạo ra kết quả NULL.

Có những ngoại lệ:

  • Phép toán AND sẽ chỉ trả về NULL nếu không có toán hạng nào sai;
  • Phép toán OR sẽ chỉ trả về NULL nếu không có toán hạng nào của nó là True.

Ưu tiên hoạt động

Các hoạt động có mức độ ưu tiên sau (dòng đầu tiên có mức độ ưu tiên thấp nhất):

  • B, LÀ NULL, KHÔNG PHẢI LÀ NULL;
  • =, <>, <=, <, >=, >;
  • Nhị phân +, Nhị phân – ;
  • *, /, %;
  • Một ngôi +, Một ngôi -.

Hàm ngôn ngữ biểu thức của hệ thống cấu thành dữ liệu

Tính toán

Hàm Tính toán được thiết kế để tính toán một biểu thức trong ngữ cảnh của một nhóm nhất định. Hàm này có các tham số sau:

  • Sự biểu lộ. Nhập chuỗi. Chứa một biểu thức được tính toán;
  • Phân nhóm. Nhập chuỗi. Chứa tên của nhóm trong ngữ cảnh mà biểu thức được đánh giá. Nếu một chuỗi trống được sử dụng làm tên nhóm, phép tính sẽ được thực hiện trong bối cảnh của nhóm hiện tại. Nếu chuỗi GrandTotal được sử dụng làm tên nhóm thì phép tính sẽ được thực hiện trong bối cảnh tổng cuối. Nếu không, phép tính sẽ được thực hiện trong bối cảnh nhóm chính có cùng tên. Ví dụ:
Sum(Sales.SumTurnover) / Tính toán("Sales.SumTurnover)", "Tổng")

Trong ví dụ này, kết quả sẽ là tỷ lệ số lượng của trường "Sales.AmountTurnover" của bản ghi nhóm với số lượng của cùng một trường trong toàn bộ bố cục.

Mức độ

Chức năng này được thiết kế để đạt được mức ghi hiện tại.

Mức độ()

Số theo thứ tự

Lấy số thứ tự tiếp theo.

NumberByOrder()

Số theo thứ tự trong nhóm

Trả về số thứ tự tiếp theo trong nhóm hiện tại.

NumberByOrderInGroup()

Định dạng

Nhận một chuỗi được định dạng của giá trị được truyền.

Chuỗi định dạng được đặt theo chuỗi định dạng 1C:Enterprise.

Tùy chọn:

  • Nghĩa;
  • Định dạng chuỗi.

Định dạng(Hóa đơn.Số tiền tài liệu, "NPV=2")

Đầu kỳ

Tùy chọn:

    • Phút;
    • Ngày;
    • Một tuần;
    • Tháng;
    • Một phần tư;
    • Thập kỷ;
    • Nưa năm.

StartPeriod(DateTime(2002, 10, 12, 10, 15, 34), "Tháng")

Kết quả:

01.10.2002 0:00:00

Kết thúc kỳ

Hàm này được thiết kế để trích xuất một ngày cụ thể từ một ngày nhất định.

Tùy chọn:

  • Ngày của. Nhập ngày. Ngày quy định;
  • Loại thời kỳ. Nhập chuỗi. Chứa một trong các giá trị sau:
    • Phút;
    • Ngày;
    • Một tuần;
    • Tháng;
    • Một phần tư;
    • Thập kỷ;
    • Nưa năm.

EndPeriod(DateTime(2002, 10, 12, 10, 15, 34), "Tuần")

Kết quả:

13.10.2002 23:59:59

Thêm vào ngày

Hàm này được thiết kế để thêm một giá trị nhất định vào một ngày.

Tùy chọn:

  • Loại phóng đại. Nhập chuỗi. Chứa một trong các giá trị sau:
    • Phút;
    • Ngày;
    • Một tuần;
    • Tháng;
    • Một phần tư;
    • Thập kỷ;
    • Nưa năm.
  • Số tiền – bạn cần tăng ngày bao nhiêu. Loại Số. Phần phân số được bỏ qua.

AddToDate(DateTime(2002, 10, 12, 10, 15, 34), "Tháng", 1)

Kết quả:

12.11.2002 10:15:34

Chênh lệch ngày

Hàm này được thiết kế để có được sự khác biệt giữa hai ngày.

Tùy chọn:

  • Sự biểu lộ. Nhập ngày. Ngày ban đầu;
  • Sự biểu lộ. Nhập ngày. Ngày trừ;
  • Kiểu khác biệt. Nhập chuỗi. Chứa một trong các giá trị sau:
    • Thứ hai;
    • Phút;
    • Ngày;
    • Tháng;
    • Một phần tư;

NGÀY KHÁC BIỆT(DATETIME(2002, 10, 12, 10, 15, 34), DATETIME(2002, 10, 14, 9, 18, 06), "DAY")

Kết quả:

Chuỗi con

Hàm này được thiết kế để trích xuất một chuỗi con từ một chuỗi.

Tùy chọn:

  • Đường kẻ. Nhập chuỗi. Chuỗi mà chuỗi con được trích xuất;
  • Chức vụ. Loại Số. Vị trí của ký tự bắt đầu chuỗi con được trích xuất khỏi chuỗi;
  • Chiều dài. Loại Số. Độ dài của chuỗi con được phân bổ.

SUBSTRING(Tài khoản.Địa chỉ, 1, 4)

Độ dài dòng

Hàm này được thiết kế để xác định độ dài của một chuỗi.

Tham số:

  • Đường kẻ. Nhập chuỗi. Một chuỗi có độ dài được xác định.

Line(Đối tác.Địa chỉ)

Năm

Hàm này được thiết kế để trích xuất năm từ giá trị loại Ngày.

Tham số:

  • Ngày của. Nhập ngày. Ngày mà năm được xác định.

NĂM(Chi phí.Ngày)

Một phần tư

Hàm này được thiết kế để trích xuất số quý từ giá trị loại Ngày. Số quý thường nằm trong khoảng từ 1 đến 4.

Tham số

  • Ngày của. Nhập ngày. Ngày xác định quý
QUARTER(Chi phí.Ngày)

Tháng

Hàm này được thiết kế để trích xuất số tháng từ giá trị loại Ngày. Số tháng thường dao động từ 1 đến 12.

  • Ngày của. Nhập ngày. Ngày mà tháng được xác định.
THÁNG(Chi phí.Ngày)

Ngày trong năm

Hàm này được thiết kế để lấy ngày trong năm từ giá trị loại Ngày. Ngày trong năm thường dao động từ 1 đến 365 (366).

  • Ngày của. Nhập ngày. Ngày mà ngày trong năm được xác định.
NGÀY(ExpenseAccount.Date)

Ngày

Hàm này được thiết kế để lấy ngày trong tháng từ giá trị loại Ngày. Ngày trong tháng thường nằm trong khoảng từ 1 đến 31.

  • Ngày của. Nhập ngày. Ngày mà ngày trong tháng được xác định.
NGÀY(Chi phí.Ngày)

Một tuần

Hàm này được thiết kế để lấy số tuần trong năm từ giá trị loại Ngày. Các tuần trong năm được đánh số bắt đầu từ 1.

  • Ngày của. Nhập ngày. Ngày mà số tuần được xác định.
TUẦN(Chi phí.Ngày)

Ngày trong tuần

Hàm này được thiết kế để lấy ngày trong tuần từ giá trị loại Ngày. Ngày bình thường trong tuần dao động từ 1 (Thứ Hai) đến 7 (Chủ nhật).

  • Ngày của. Nhập ngày. Ngày mà ngày trong tuần được xác định.
NGÀY TRONG TUẦN(Chi phí.Date)

Giờ

Hàm này được thiết kế để lấy giờ trong ngày từ giá trị loại Ngày. Giờ trong ngày dao động từ 0 đến 23.

  • Ngày của. Nhập ngày. Ngày mà giờ trong ngày được xác định.
GIỜ(Chi phí.Ngày)

Phút

Hàm này được thiết kế để lấy phút trong giờ từ giá trị loại Ngày. Phút của giờ nằm ​​trong khoảng từ 0 đến 59.

  • Ngày của. Nhập ngày. Ngày mà phút trong giờ được xác định.
PHÚT(Chi phí.Ngày)

Thứ hai

Hàm này được thiết kế để lấy giây của phút từ giá trị loại Ngày. Giây của một phút nằm trong khoảng từ 0 đến 59.

  • Ngày của. Nhập ngày. Ngày mà giây của phút được xác định.
THỨ HAI(Ngày hết hạn)

Thể hiện

Hàm này được thiết kế để trích xuất một kiểu từ một biểu thức có thể chứa một kiểu ghép. Nếu biểu thức chứa loại khác với loại được yêu cầu, NULL sẽ được trả về.

Tùy chọn:

  • Biểu thức để chuyển đổi;
  • Chỉ báo loại. Nhập chuỗi. Chứa một chuỗi kiểu. Ví dụ: "Số", "Chuỗi", v.v. Ngoài các kiểu nguyên thủy, dòng này có thể chứa tên của bảng. Trong trường hợp này, một nỗ lực sẽ được thực hiện để thể hiện một tham chiếu đến bảng đã chỉ định.

Express(Data.Props1, "Số(10,3)")

Không có

Hàm này trả về giá trị của tham số thứ hai nếu giá trị của tham số thứ nhất là NULL.

Ngược lại giá trị của tham số đầu tiên sẽ được trả về.

CóNULL(Số tiền(Doanh số.Số lượngdoanh thu), 0)

Chức năng của các module thông dụng

Biểu thức công cụ cấu thành dữ liệu có thể chứa các lệnh gọi đến các chức năng của mô-đun cấu hình chung toàn cầu. Không cần cú pháp bổ sung để gọi các hàm như vậy.

Trong ví dụ này, hàm "AbbreviatedName" sẽ được gọi từ mô-đun cấu hình chung.

Lưu ý rằng việc sử dụng các chức năng mô-đun chung chỉ được phép nếu tham số bộ xử lý thành phần dữ liệu thích hợp được chỉ định.

Ngoài ra, không thể sử dụng chức năng của các mô-đun thông thường trong biểu thức trường tùy chỉnh.

Chúng tôi đã kiểm tra một số chi tiết về cài đặt báo cáo được triển khai trên cơ sở hệ thống kiểm soát truy cập. Bây giờ chúng ta hãy xem xét các cài đặt chi tiết và tinh tế hơn cho các tùy chọn báo cáo. Cửa sổ cài đặt “nâng cao” của tùy chọn báo cáo được gọi bằng lệnh “Thêm” - “Khác” - “Thay đổi tùy chọn báo cáo”.

Cửa sổ thay đổi phiên bản báo cáo được chia thành hai phần:

1. Cấu trúc báo cáo.

2. Cài đặt báo cáo.


Phần cấu trúc tùy chọn báo cáo tương tự như tab “Cấu trúc” của cài đặt báo cáo tiêu chuẩn. Mục đích và cấu hình của các nhóm được thảo luận chi tiết trong Phần 1 của bài viết.

Bảng cấu trúc biến thể báo cáo, ngoài cột thực tế có các nhóm, còn chứa một số cột bổ sung:

Phần cài đặt tùy chọn báo cáo mang đến cho người dùng nhiều cơ hội để định cấu hình báo cáo phù hợp với nhu cầu của họ. Nó gần như hoàn toàn trùng khớp với các cài đặt báo cáo tiêu chuẩn đã thảo luận trong Phần 1. Hãy xem xét tất cả các tab của phần này và lưu ý những điểm khác biệt.

Phần cài đặt bao gồm các tab sau:

1. Thông số. Chứa các thông số ACS có sẵn cho người dùng.

Tham số SKD là giá trị được sử dụng để lấy dữ liệu báo cáo. Đây có thể là giá trị điều kiện để chọn hoặc kiểm tra dữ liệu cũng như giá trị phụ trợ.


Bảng tham số được trình bày ở định dạng “Thông số” - “Giá trị”. Nếu cần, bạn có thể thay đổi các giá trị tham số. Nhấp vào nút “Thuộc tính phần tử cài đặt tùy chỉnh” sẽ mở cài đặt tùy chỉnh của phần tử.


Trong cửa sổ này, bạn có thể chọn xem phần tử có được đưa vào cài đặt người dùng hay không (nghĩa là hiển thị cho người dùng khi thiết lập báo cáo), đặt chế độ chỉnh sửa và trình bày của phần tử (truy cập nhanh trong tiêu đề báo cáo, bình thường trong phần cài đặt báo cáo và không thể truy cập được).

Thuộc tính mục cài đặt tùy chỉnh cũng có các trường, lề, lựa chọn và thành phần giao diện có điều kiện có thể nhóm được.

2. Các trường tùy chỉnh. Chứa các trường do chính người dùng tạo dựa trên dữ liệu được báo cáo chọn.


Người dùng có thể thêm hai loại trường:

  • Trường lựa chọn mới...
  • Trường biểu thức mới...

Các trường lựa chọn cho phép bạn tính toán một giá trị dựa trên một điều kiện nhất định. Cửa sổ chỉnh sửa trường lựa chọn chứa tiêu đề trường và một bảng trong đó việc lựa chọn, giá trị và cách trình bày của trường được chỉ định. Lựa chọn là một điều kiện, tùy theo giá trị mong muốn sẽ được thay thế.


Ví dụ: hãy tính ước tính số lượng bán hàng. Chúng ta sẽ giả định rằng nếu bán được ít hơn 10 đơn vị sản phẩm thì chúng ta đã bán được một ít và nếu nhiều hơn 10 đơn vị thì chúng ta đã bán được rất nhiều. Để thực hiện việc này, chúng tôi sẽ đặt 2 giá trị cho trường được tính toán: giá trị đầu tiên sẽ là lựa chọn “Số lượng hàng nhỏ hơn hoặc bằng “10”, giá trị thứ hai là lựa chọn “Số lượng hàng hóa lớn hơn” 10 ””.

Các trường biểu thức cho phép bạn tính toán một giá trị bằng các thuật toán tùy ý. Họ có thể sử dụng các chức năng của ngôn ngữ truy vấn và ngôn ngữ lập trình 1C tích hợp. Cửa sổ chỉnh sửa trường biểu thức chứa hai trường dành cho biểu thức của bản ghi chi tiết và bản ghi tóm tắt. Tổng số bản ghi là các nhóm được định cấu hình trong khu vực “Cấu trúc báo cáo”; chúng phải sử dụng các hàm tổng hợp (“Tổng”, “Tối thiểu”, “Tối đa”, “Số lượng”).

Ví dụ: hãy tính phần trăm chiết khấu trung bình. Tỷ lệ phần trăm chiết khấu trung bình được tính bằng công thức: [Số tiền bán hàng không chiết khấu] - [Số tiền bán hàng không chiết khấu] / [Số tiền bán hàng không chiết khấu]. Điều quan trọng cần nhớ là số tiền bán hàng không chiết khấu có thể bằng 0, vì vậy chúng tôi sử dụng toán tử SELECT để kiểm tra. Chúng tôi nhận được các biểu thức sau:

· Đối với các mục chi tiết:

Sự lựa chọn

Khi [Số tiền bán hàng không chiết khấu] = 0

Sau đó 0

Ngược lại [Số tiền bán hàng không chiết khấu] - [Số tiền bán hàng không chiết khấu] / [Số tiền bán hàng không chiết khấu]

Kết thúc

· Đối với hồ sơ tóm tắt:

Sự lựa chọn

Khi Số tiền([Số tiền bán hàng không chiết khấu]) = 0

Sau đó 0

Ngược lại Sum([Số tiền bán hàng không chiết khấu]) - Sum([Số tiền bán hàng không chiết khấu]) / Sum([Số tiền bán hàng không chiết khấu])

Kết thúc

Như đã đề cập trước đó, trong biểu thức tổng số bản ghi, chúng ta sử dụng hàm tổng hợp “Sum”.

3. Các trường có thể nhóm được. Chứa các trường mà kết quả của biến thể báo cáo sẽ được nhóm lại. Các trường được nhóm được định cấu hình riêng cho từng nhóm, nhưng bạn có thể đặt các trường được nhóm chung cho tùy chọn báo cáo nếu bạn chọn gốc “Báo cáo” trong cây cấu trúc. Bạn có thể thêm trường từ kết quả báo cáo, trường tùy chỉnh hoặc chọn trường tự động, sau đó hệ thống sẽ tự động chọn các trường. Tab này cũng cho phép bạn thay đổi thứ tự của các trường được nhóm.


4. Cánh đồng. Chứa các trường sẽ được xuất ra do biến thể báo cáo. Các trường được định cấu hình riêng cho từng nhóm, nhưng bạn có thể đặt các trường chung cho tùy chọn báo cáo nếu bạn chọn gốc “Báo cáo” trong cây cấu trúc. Bạn có thể thêm trường từ kết quả báo cáo, trường tùy chỉnh hoặc chọn trường tự động, sau đó hệ thống sẽ tự động chọn các trường. Tab này cũng cho phép bạn thay đổi thứ tự của các trường.

Các trường có thể được nhóm lại để làm nổi bật một cách hợp lý bất kỳ phần nào của báo cáo hoặc để chỉ định cách sắp xếp các cột đặc biệt. Khi thêm một nhóm, cột “Vị trí” sẽ hoạt động và cho phép bạn chọn một trong các tùy chọn vị trí:

  • Tự động - hệ thống đặt các trường tự động;
  • Ngang - các trường được định vị theo chiều ngang;
  • Dọc - các trường được sắp xếp theo chiều dọc;
  • Trong một cột riêng biệt - các trường nằm ở các cột khác nhau;
  • Cùng nhau - các trường được đặt trong một cột.


5. Lựa chọn. Chứa các lựa chọn được sử dụng trong biến thể báo cáo. Việc thiết lập các lựa chọn đã được thảo luận chi tiết trong phần 1 của bài viết này. Các bộ lọc được định cấu hình riêng cho từng nhóm, nhưng bạn có thể đặt các bộ lọc chung cho tùy chọn báo cáo nếu bạn chọn gốc “Báo cáo” trong cây cấu trúc.


6. Sắp xếp. Chứa các trường sắp xếp được sử dụng trong biến thể báo cáo. Việc thiết lập các trường sắp xếp đã được thảo luận chi tiết trong Phần 1 của bài viết này. Việc sắp xếp được định cấu hình riêng cho từng nhóm, nhưng bạn có thể đặt các trường sắp xếp chung cho tùy chọn báo cáo nếu bạn chọn gốc “Báo cáo” trong cây cấu trúc.


7. Đăng ký có điều kiện. Chứa các yếu tố thiết kế có điều kiện được sử dụng trong biến thể báo cáo. Việc thiết lập giao diện có điều kiện đã được thảo luận chi tiết trong Phần 1 của bài viết này. Giao diện có điều kiện được định cấu hình riêng cho từng nhóm, nhưng bạn có thể đặt các thành phần chung về giao diện có điều kiện cho tùy chọn báo cáo nếu bạn chọn gốc “Báo cáo” trong cây cấu trúc.


8. Cài đặt bổ sung. Chứa các cài đặt thiết kế báo cáo bổ sung. Cho phép bạn chọn giao diện chung của báo cáo, vị trí của các trường, nhóm, chi tiết, tài nguyên, tổng số, đặt cài đặt biểu đồ, kiểm soát hiển thị tiêu đề, tham số và lựa chọn, xác định vị trí của tài nguyên và sửa tiêu đề và nhóm các cột của phiên bản báo cáo.


Tóm lại, tôi muốn lưu ý rằng cài đặt báo cáo không chỉ có thể được lưu dưới dạng tùy chọn báo cáo mà còn có thể được tải lên một tệp (menu “Thêm” - “Lưu cài đặt”). Để tải xuống, bạn phải chọn “Tải cài đặt” và chọn tệp đã lưu. Do đó, chúng tôi có thể chuyển cài đặt biến thể báo cáo giữa các cơ sở dữ liệu khác nhau có cùng cấu hình.


Dựa trên điều này, chúng tôi có thể tóm tắt rằng người dùng không chỉ có thể tùy chỉnh báo cáo một cách độc lập cho phù hợp với nhu cầu của mình mà còn có thể lưu cài đặt của mình và sử dụng chúng trong tương lai nếu cần.