Tải về xử lý bên ngoài cho 1c. Thêm xử lý bên ngoài vào cơ sở dữ liệu. Báo cáo bên ngoài bổ sung

Để kết nối xử lý bên ngoài, báo cáo và biểu mẫu in cho nền tảng 1C:Enterprise 8.2, một tiêu chuẩn mới đã được phát triển để làm việc trong một ứng dụng được quản lý (tiêu chuẩn từ hệ thống con thư viện tiêu chuẩn 8.2). “Chip” đã xuất hiện mà trước đây chưa từng có, cụ thể là:

    Kiểu xử lý đã được mở rộng: điền vào một đối tượng, tạo các đối tượng liên quan. Giờ đây, trong tài liệu, bạn có thể thêm các nút của riêng mình để điền vào toàn bộ tài liệu, cũng như các nút của riêng bạn để nhập vào phần đế.

    Một quá trình xử lý có thể chứa danh sách một số thao tác (lệnh), tức là. bạn có thể thực hiện một quá trình xử lý, trong đó sẽ có một số mục menu cùng một lúc: in và giao hàng, in biên lai bán hàng, in thẻ bảo hành. (Ghi chú của tác giả: trước đây theo tiêu chuẩn cũ, để làm được những việc như vậy, bạn phải làm mọi thứ cùng một lúc (ngay cả khi không cần thiết) và không cần phải đóng hoặc vẽ biểu mẫu của riêng mình, trong đó có các nút cần thiết để chọn thao tác cần thiết)

    Bạn có thể nhập dựa trên và điền vào các đối tượng dựa trên nhiều đối tượng cùng một lúc, thay vì chỉ một đối tượng

    Bạn có thể đặt lịch thực hiện các lệnh máy chủ (trên máy chủ).

    Bạn có thể đặt chế độ thành “An toàn” hoặc “Không an toàn”, tức là. chạy xử lý có tính đến các quyền bị hạn chế hoặc bỏ qua chúng (như với toàn quyền)

    Bạn có thể đặt chế độ sử dụng: Không sử dụng, gỡ lỗi, sử dụng. “Không sử dụng” - không hoạt động, “Gỡ lỗi” - chỉ hiển thị đối với quản trị viên, “Sử dụng trong hoạt động”.

    Có thể được sử dụng trong các dạng đối tượng và dạng danh sách

    Bạn có thể liên kết một quá trình xử lý hoặc báo cáo tới tất cả các đối tượng cùng một lúc.

    Bạn có thể định cấu hình quyền truy cập nhanh vào một số lệnh xử lý bên ngoài nhất định.

    Có thể chỉ định phần nào của giao diện sẽ xuất hiện các báo cáo và xử lý bổ sung.

Vậy cấu hình tiêu chuẩn có thể kết nối những gì?

Từ quan điểm nền tảng, bạn có thể kết nối:

  • xử lý bên ngoài (các tệp có phần mở rộng “epf”);
  • báo cáo bên ngoài (tệp có phần mở rộng “erf”).

Từ quan điểm của khu vực ứng dụng (cấu hình), bạn có thể kết nối xử lý và báo cáo bên ngoài với biểu mẫu*:

  • Xử lý bổ sung
    • Chỉ cần một số xử lý bổ sung. Có thể tùy chỉnh
  • Báo cáo bổ sung
    • Chỉ là một báo cáo bổ sung
  • Điền vào một đối tượng
    • Có các nút điền riêng đối tượng (tài liệu), trước đây chỉ có nút điền phần dạng bảng.
  • Mẫu có thể in được
    • Biểu mẫu có thể in bổ sung (một nút “Các biểu mẫu có thể in bổ sung” được thêm vào)
  • Báo cáo
    • Một báo cáo gắn liền với các đối tượng (thư mục và tài liệu).
  • Tạo các đối tượng được liên kết
    • Thông tin đầu vào của riêng bạn dựa trên (nút “Tạo đối tượng liên quan…” được thêm vào mục menu “Đầu vào dựa trên”)

*sử dụng ví dụ của tòa soạn “Quản lý một công ty nhỏ ed. 1,2"

Chúng ta hãy xem tất cả hoạt động như thế nào. Để kết nối xử lý và báo cáo bên ngoài, có một tiêu chuẩn mô tả giao diện tương tác với xử lý và báo cáo bên ngoài, đồng thời có các yêu cầu chung cho tất cả các loại và có các yêu cầu cụ thể cho từng loại xử lý hoặc báo cáo.

Hãy bắt đầu với các yêu cầu chung cho tất cả các loại xử lý và báo cáo. Để tạo báo cáo hoặc xử lý phần bổ trợ bên ngoài, bạn phải khai báo hàm xuất InformationOnExternalProcessing() trong mô-đun đối tượng, hàm này phải điền vào cấu trúc mô tả hành vi. Một ví dụ về chức năng này:

Chức năng InformationOnExternalProcessing() Xuất
Dữ liệu đăng ký = Cấu trúc mới;
Đăng ký Data.Insert("Tên", "Ví dụ về sử dụng xử lý bên ngoài 8.2.");
RegistrationData.Insert("SafeMode", True);
RegistrationData.Insert("Phiên bản", "1.0");

// Xử lý bổ sung
//Báo cáo bổ sung
// Điền vào đối tượng
//Báo cáo
//Mẫu in
//Tạo các đối tượng liên quan
RegistrationData.Insert("Xem", "Xử lý bổ sung");

Đăng ký Data.Insert("Thông tin", "Xử lý được thực hiện theo tiêu chuẩn mới để kết nối xử lý bên ngoài 8.2. Ví dụ xử lý ""Hello Word"" ");

///////////// lệnh /////////////////////////
tzCommand = Bảng giá trị mới;
tzCommand.Columns.Add("Mã định danh");
tzCommand.Columns.Add("Xem");
tzCommand.Columns.Add("Công cụ sửa đổi");
tzCommand.Columns.Add("Hiển thị cảnh báo");
tzCommand.Columns.Add("Cách sử dụng");


stringCommands.Identifier = "1";
stringCommands.View = "lệnh ""Xin chào Word"" (OpenForm)";

stringCommands.Use = "OpenForm";

CommandString = tzCommand.Add();
stringCommands.Identifier = "2";
stringCommands.View = "lệnh""Xin chào Word""(CallClientMethod)";
stringCommands.ShowAlert = True;
stringCommand.Usage = "CallClientMethod";

CommandString = tzCommand.Add();
stringCommands.Identifier = "3";
stringCommands.View = "lệnh""Xin chào Word""(CallServerMethod)";
stringCommands.ShowAlert = True;
stringCommand.Use = "CallServerMethod";

RegistrationData.Insert("Lệnh", tzCommands);

////////////// mục đích (đối tượng được sử dụng) /////////////////////////
//để in biểu mẫu, điền, nhập các đối tượng liên quan
//ArrayAssignments = Mảng mới;
// Mảng bài tập.Add("Document.*"); // tất cả tài liệu được gán
// Mảng bài tập.Add("Document.Advance Report");
// Mảng bài tập.Add("Document.Order của người mua");
//Registration Data.Insert("Destination", Mảng đích);

Trả lại dữ liệu đăng ký;

Chức năng cuối cùng

Vì vậy, như bạn có thể thấy, hàm này sẽ điền vào cấu trúc Dữ liệu đăng ký, có các thành phần (tham số) sau:

    Tên – tên viết tắt của phương pháp điều trị

    Phiên bản - thông tin về phiên bản xử lý

    Chế độ an toàn - chịu trách nhiệm về việc có nên thực hiện quá trình xử lý có tính đến quyền của người dùng hay không. Nếu được đặt thành Sai, việc xử lý hoặc báo cáo sẽ được thực hiện mà không tính đến các hạn chế về quyền (như với toàn quyền). Tính năng này xuất hiện chính xác trong 8.2, trong đó khi tạo báo cáo và xử lý bên ngoài, tham số thứ hai sẽ chỉ định chế độ.

    Loại - loại xử lý hoặc báo cáo. Tôi đã liệt kê các giá trị có thể có ở đầu bài viết và các giá trị có thể đặt trong mã được chỉ định trong phần bình luận

  • Lệnh – một bảng giá trị liệt kê các lệnh được sử dụng. Các cột trong bảng giá trị:
    • Mã định danh - bất kỳ chuỗi nào (mã định danh lệnh)
    • Xem - mô tả lệnh
    • Công cụ sửa đổi - chuỗi (được sử dụng cho các biểu mẫu in bổ sung)
    • Hiển thị thông báo – cửa sổ thông báo sẽ xuất hiện trước khi bắt đầu và sau khi kết thúc thực thi (đối với các lệnh máy khách và máy chủ không có biểu mẫu)
    • Chế độ khởi động sử dụng – xử lý:
      • OpenForm – biểu mẫu xử lý sẽ mở ra
      • CallClientMethod – gọi phương thức xuất của ứng dụng khách theo biểu mẫu
      • Gọi ServerMethod – gọi phương thức xuất từ ​​mô-đun xử lý

Tùy thuộc vào loại xử lý hoặc báo cáo, cũng như chế độ khởi chạy của lệnh “Sử dụng”, các phương thức được xác định trong mô-đun biểu mẫu hoặc mô-đun đối tượng sẽ được gọi. Danh sách các tham số được truyền cũng khác nhau. Tôi đính kèm các ví dụ về cuộc gọi và cách sử dụng tất cả các loại xử lý.

Rất thường xuyên, khi trong quá trình tư vấn, cần phải giải quyết một số vấn đề phức tạp, tôi khuyên khách hàng của mình nên triển khai vấn đề đó trong chương trình 1C bằng cách sử dụng một trong hai cách sau: xử lý bên ngoài, hoặc tấm in bên ngoài. Và tôi thường nhận thấy rằng mọi người đơn giản là không quen với khả năng này của các chương trình trên nền tảng 1C Enterprise 8. Đôi khi họ thậm chí còn chửi bới tôi, tin rằng việc phát triển và triển khai quá trình xử lý đó như một phần trong cấu hình của họ sẽ dẫn đến không có khả năng tự động cập nhật chương trình. Rằng bạn sẽ phải trả rất nhiều tiền để cập nhật chương trình.

Để làm rõ những câu hỏi như vậy, cũng như nói về những cơ hội hữu ích mà các hình thức xử lý bên ngoài và in ấn bên ngoài mang lại, tôi quyết định viết bài này. Trong bài viết này, tôi sẽ không xem xét khía cạnh kỹ thuật của quá trình tạo xử lý. Điều này rất có thể sẽ được thảo luận trong một ấn phẩm khác. Ở đây tôi sẽ cố gắng giải thích bản chất của cơ chế và đưa ra các ví dụ cụ thể về các trường hợp mà các biểu mẫu in và xử lý bên ngoài có thể mang lại lợi ích cho người dùng.

Bài viết sẽ thảo luận về các tùy chọn sau cho các đối tượng có thể kết nối bên ngoài bổ sung:

  • Xử lý bổ sung bên ngoài các bộ phận dạng bảng;
  • Các hình thức in ấn bổ sung bên ngoài;
  • Các báo cáo bên ngoài bổ sung;
  • Xử lý bên ngoài bổ sung.

Xử lý bên ngoài, báo cáo và biểu mẫu in bổ sung là gì?




Để bắt đầu, tôi muốn nói một cách tổng quát về những xử lý bên ngoài, báo cáo và biểu mẫu in này là gì?. Thông thường, khi làm việc với cấu hình tiêu chuẩn, có thể là 1C ZUP hoặc 1C Enterprise Accounting hoặc một số cấu hình khác, cần có một số chức năng không được nhà phát triển 1C cung cấp. Ví dụ, bạn có thể cần mẫu in, không được quản lý nhưng được sử dụng cho nhu cầu nội bộ của tổ chức. Hoặc được yêu cầu theo một cách nào đó quá trình (thay đổi, điều chỉnh) dữ liệu có sẵn trong cơ sở dữ liệu. Ví dụ: thay đổi một số chi tiết nhất định trong tài liệu trong khoảng thời gian cần thiết, điều này gây bất tiện khi thực hiện thủ công với khối lượng thông tin lớn.

Trong trường hợp này, có hai lựa chọn. Đầu tiên, chúng ta có thể sửa đổi chính cấu hình, chính chương trình. Sau đó, nó sẽ không còn phổ biến nữa và sẽ không thể cập nhật nó bằng các phương pháp khá đơn giản mà tôi đã viết. Cập nhật cấu hình không chuẩn là một quá trình dài hơn và nghiêm túc hơn, vì vậy với phương pháp này, rất có thể bạn sẽ phải trả tiền hàng tháng cho chuyên gia 1C để cập nhật chương trình. Thứ hai Một lựa chọn là phát triển hoặc yêu cầu phát triển một biểu mẫu (báo cáo) hoặc xử lý bên ngoài. Đây thực chất là một mô-đun bên ngoài, cũng được phát triển bằng ngôn ngữ lập trình 1C trong Bộ cấu hình, nhưng không thực hiện thay đổi đối với cấu hình tiêu chuẩn. Nó tồn tại độc lập với chính cấu hình. Để lưu trữ chúng, các thư mục đặc biệt được sử dụng: mục menu chính “Dịch vụ” -> “Báo cáo và xử lý bổ sung”.

Xử lý bên ngoài bổ sung để điền vào các phần dạng bảng

Hội thảo “Lifehacks cho 1C ZUP 3.1”
Phân tích 15 mẹo vặt hay dành cho kế toán trong 1C ZUP 3.1:

DANH SÁCH KIỂM TRA để kiểm tra tính toán bảng lương trong 1C ZUP 3.1
VIDEO - tự kiểm tra kế toán hàng tháng:

Tính lương trong 1C ZUP 3.1
Hướng dẫn từng bước cho người mới bắt đầu:

Bây giờ chúng ta hãy xem xét riêng những khả năng mà mỗi mô-đun trong số bốn mô-đun bên ngoài có sẵn sẽ mang lại cho chúng ta. Hãy bắt đầu với xử lý bên ngoài của các bộ phận dạng bảng. Đối với tôi, có vẻ như việc xử lý các phần tài liệu dạng bảng này minh họa đầy đủ nhất cách bạn có thể sửa đổi một chương trình một cách nghiêm túc mà không cần chỉnh sửa cấu hình tiêu chuẩn mà chỉ thực hiện được bằng cách xử lý bên ngoài.

Để rõ ràng hơn tôi sẽ đưa ra một ví dụ cụ thể từ thực tiễn của mình, trong đó để giải quyết vấn đề tôi đã sử dụng xử lý bên ngoài của các bộ phận dạng bảng. Trong cấu hình "1C Lương và Quản lý nhân sự" phiên bản 2.5 có tài liệu "Thanh toán cho ngày lễ và cuối tuần"(Tài liệu này đã được viết chi tiết). Ở dạng tiêu chuẩn, tài liệu này cung cấp khả năng tự động điền vào phần bảng của nhân viên “Làm việc vào ngày nghỉ”.

Kế toán yêu cầu triển khai khả năng điền tài liệu này cho những nhân viên có ngày làm việc dự kiến ​​rơi vào cuối tuần, tức là. "Làm việc vào cuối tuần".

Tập tin này đã được tải lên thư mục "Xử lý bên ngoài các bộ phận dạng bảng"(mục menu “Dịch vụ” -> “Báo cáo và xử lý bổ sung” -> “Xử lý bổ sung bên ngoài các phần dạng bảng”). Khi tạo một phần tử của thư mục này, nó cho biết tài liệu nào mà quá trình xử lý đã tải xuống liên quan đến - “Thanh toán cho các ngày lễ và ngày cuối tuần của tổ chức”, cũng như phần bảng nào - “Nhân viên”. Trong ví dụ của chúng tôi, tài liệu có một phần dạng bảng, nhưng trong các tài liệu khác có thể có một số phần trong số đó, vì vậy cần phải chỉ rõ cụ thể phần nào trong số chúng được xử lý.

Kết quả của việc thêm quá trình xử lý này vào thư mục “Xử lý bên ngoài bổ sung để điền vào các phần dạng bảng” trong chính tài liệu “Thanh toán cho các ngày lễ và cuối tuần”, nút “Điền” sẽ xuất hiện cùng với danh sách thả xuống trong đó bạn có thể bắt đầu quá trình xử lý này. Trong trường hợp của chúng tôi, nút “Làm đầy Chủ nhật” có sẵn trong danh sách thả xuống. Nhấn nó sẽ khởi chạy thuật toán có trong quá trình xử lý. Trong ví dụ này, phần bảng sẽ chứa những nhân viên có ngày làm việc rơi vào ngày nghỉ. Xin lưu ý rằng nút này trước đây không tồn tại (ảnh chụp màn hình ở trên).

Cơ chế này cho phép bạn giải quyết rất nhiều vấn đề mà không cần phải sửa đổi cấu hình. Vì vậy, tôi khá thường xuyên tận dụng cơ hội này để thực hiện các nhiệm vụ của khách hàng.

Tấm in bên ngoài tùy chọn

Hội thảo “Lifehacks cho 1C ZUP 3.1”
Phân tích 15 mẹo vặt hay dành cho kế toán trong 1C ZUP 3.1:

DANH SÁCH KIỂM TRA để kiểm tra tính toán bảng lương trong 1C ZUP 3.1
VIDEO - tự kiểm tra kế toán hàng tháng:

Tính lương trong 1C ZUP 3.1
Hướng dẫn từng bước cho người mới bắt đầu:

Tùy chọn này rất giống với tùy chọn trước. Rất có thể bạn đã thấy và biết rằng hầu hết mọi tài liệu và thậm chí một số thành phần của sách tham khảo đều có dạng in. Theo quy định, chúng nằm ở góc dưới bên phải của dạng thành phần thư mục hoặc tài liệu. Đôi khi các mẫu in tiêu chuẩn là không đủ. Ví dụ, một tổ chức có thể có hình thức hợp đồng lao động riêng. Hãy để tôi nhắc bạn rằng mẫu in tiêu chuẩn “Hợp đồng lao động” được bao gồm trong mẫu thư mục “Nhân viên”.

Bạn có thể thêm của riêng bạn vào các mẫu thư mục được in này. Với mục đích này, một biểu mẫu in bên ngoài được tạo với phần mở rộng “.epf”. Sau đó, một phần tử thư mục được tạo cho nó "Tấm in bên ngoài bổ sung"(mục menu “Công cụ” -> “Báo cáo và xử lý bổ sung”) và một tệp có phần mở rộng “.epf” được thêm vào thành phần thư mục này. Cũng cần phải chỉ ra tài liệu hoặc sách tham khảo nào đang được xử lý.

Do đó, như một phần của các biểu mẫu in của các thành phần của thư mục “Nhân viên”, một biểu mẫu khác sẽ xuất hiện - “Thỏa thuận Việc làm (Alpha LLC)”, biểu mẫu này trước đây không tồn tại. Và hình thức cũng như việc điền dữ liệu của nó được lập trình viên xác định trong tệp “.epf”.

Khả năng thêm các biểu mẫu in cần thiết cho tài liệu và sách tham khảo cũng rất thường xuyên được yêu cầu và theo tôi, đây là một chức năng khá tiện lợi của các chương trình trên nền tảng 1C Enterprise.

Báo cáo bên ngoài bổ sung

Trong trường hợp này, bạn có thể phát triển báo cáo bên ngoài. Đây là một tập tin có định dạng “.erf”. Chính tệp này sẽ xác định giao diện của báo cáo, dữ liệu cấu hình nào sẽ sử dụng và dữ liệu cấu hình nào sẽ yêu cầu từ người dùng (ví dụ: khoảng thời gian, lựa chọn theo nhân viên hoặc theo bộ phận). Tệp được tạo trong bộ cấu hình 1C bằng ngôn ngữ lập trình 1C.

Báo cáo bên ngoài có thể được lưu trữ như một phần của cấu hình bằng cách sử dụng sách tham khảo “Báo cáo bên ngoài bổ sung” (mục menu “Công cụ” -> “Báo cáo và xử lý bổ sung”). Chúng không liên quan đến một tài liệu hoặc sách tham khảo cụ thể, thông tin này là không bắt buộc.

Với tùy chọn lưu trữ này, báo cáo sẽ được khởi chạy từ cùng một thư mục (bằng cách nhấp đúp).

Bạn cũng có thể khởi chạy một báo cáo bên ngoài bằng cách sử dụng mục menu “Tệp” -> “Mở”. Tùy chọn này có thể được sử dụng nếu thuận tiện hơn cho bạn khi lưu trữ các báo cáo bên ngoài không phải như một phần của chương trình mà chỉ trong các thư mục máy tính.

Phương pháp điều trị bên ngoài bổ sung

Phương pháp điều trị bên ngoài có ý nghĩa gần giống như các báo cáo bên ngoài. Nhưng không giống như các báo cáo được sử dụng để xem dữ liệu cơ sở thông tin ở định dạng thân thiện với người dùng, quá trình xử lý được thiết kế để thay đổi, chỉnh sửa hoặc chuyển đổi dữ liệu cơ sở thông tin. Phạm vi vấn đề được giải quyết bằng cách sử dụng xử lý bên ngoài khá rộng.

Ví dụ, xử lý để tải lên báo cáo bảng lương. Mặc dù có sự hiện diện của quy trình xử lý tiêu chuẩn trong ZUP (đọc về nó), đôi khi nó có thể không phù hợp với một ngân hàng cụ thể và quy trình xử lý bên ngoài được phát triển để chuyển đổi và tải xuống thông tin ở định dạng được yêu cầu.

Tôi sẽ đưa bạn một ví dụ nữa một cách điều trị hoàn toàn đơn giản nhưng khá phổ biến. Nếu trong 1C ZUP bạn không duy trì tài liệu “Chuyển thuế thu nhập cá nhân vào ngân sách” trong năm, thì khi tạo thuế thu nhập 2 cá nhân trong năm, trường “Đã chuyển” cho mỗi nhân viên sẽ bằng 0, nghĩa là thường không chính xác về mặt thực tế. Việc nhập văn bản “Chuyển thuế thu nhập cá nhân vào ngân sách” cả năm có thể khá tẻ nhạt, do tính chất cụ thể của văn bản. Nhưng bạn có thể thực hiện xử lý bên ngoài, trong 2-NDFL được tạo sẽ chỉ điền vào trường “Được liệt kê” cho mỗi nhân viên, dựa trên các giá trị trong trường “Đã tính toán”. Kế toán thường thực sự thích lựa chọn này.

Quá trình xử lý bên ngoài có hai tùy chọn lưu trữ và khởi chạy giống hệt nhau: sử dụng thư mục "Xử lý bên ngoài bổ sung"(mục menu “Công cụ” -> “Báo cáo và xử lý bổ sung”) hoặc mục menu chính “Tệp” -> “Mở”.

Đó là tất cả cho ngày hôm nay!

Để là người đầu tiên biết về các ấn phẩm mới, hãy đăng ký nhận thông tin cập nhật trên blog của tôi:

Chú ý!
Tất cả quá trình xử lý từ đĩa ITS đều nhằm mục đích cung cấp thông tin và dành riêng cho người dùng ITS đã đăng ký.

Lựa chọn và xử lý đối tượng (Phổ quát)

Tìm kiếm các đối tượng trong tài liệu và thư mục đáp ứng các điều kiện nhất định. Xử lý kết quả tìm kiếm.

Sự tích hợp của cơ sở thông tin. (Phổ quát)

Thực hiện tổng hợp bảo mật thông tin của các cấu hình điển hình:

  • UPP 3.1.
  • BP 1.6.
  • UT 10.3.

Đăng ký thay đổi để trao đổi. (Phổ quát)

Chỉnh sửa, trong chế độ ứng dụng được quản lý, đăng ký các thay đổi đối với các đối tượng được trao đổi. Cho phép bạn thay đổi đăng ký hiện tại trên các nút khác nhau. Thay đổi số lượng tin nhắn đã nhận và gửi.

Chuyển đổi nhật ký hoạt động của người dùng. (Phổ quát)

Chuyển đổi nhật ký hành động của người dùng thành chương trình bằng ngôn ngữ tích hợp.

Tìm kiếm toàn văn trong dữ liệu. (Phổ quát)

Lập chỉ mục và tìm kiếm dữ liệu.

Tìm và thay thế các giá trị (Phổ quát)

Tìm kiếm và thay thế các giá trị tham chiếu trong các đối tượng bảo mật thông tin.

Lập nhật ký công nghệ. (Phổ quát)

Tạo hoặc chỉnh sửa một tập tin nhật ký quá trình. Nó có khả năng định cấu hình việc tạo kết xuất sự cố, định cấu hình các điều kiện và sự kiện, khi xảy ra thông tin nào sẽ được ghi lại trong nhật ký này.

Bảng điều khiển công việc. (Phổ quát)

Giám sát các tác vụ nền và thường lệ. Xóa, tạo cái mới.

Chuyển đổi xử lý bên ngoài. (Phổ quát)

Thay đổi thông tin bí mật. (Phổ quát)

Thay đổi có chọn lọc hoặc xóa bỏ tính bảo mật thông tin khỏi một số thông tin nhất định.

Nhóm thay đổi chi tiết. (Phổ quát)

Thay đổi chi tiết, phần bảng biểu trong tài liệu, sách tham khảo.

Tải lên và tải người dùng. (Phổ quát)

Tải lên và tải người dùng bảo mật thông tin vào một tệp XML.

Tải dữ liệu lên cơ sở dữ liệu bên ngoài. (Phổ quát)

Tải cấu trúc dữ liệu lên DBMS bên ngoài bằng ADO ở hai chế độ:

  • Dỡ bỏ mọi thứ
  • Tải lên các thay đổi (được sử dụng để đồng bộ hóa các thay đổi trong IS đang hoạt động với IS nhận). Chế độ này sử dụng cơ chế kế hoạch trao đổi.

Hỗ trợ DBMS sau:

  • Microsoft SQL
  • IBM DB2
  • Lời tiên tri
  • PostgreSQL
  • MySQL

Tải lên và tải dữ liệu XML. (Phổ quát)

Tải lên và tải dữ liệu vào bảo mật thông tin, cả toàn bộ và một phần. Được sử dụng để truyền dữ liệu giữa các cấu hình có thành phần đối tượng tương tự nhau.

Đang tải dữ liệu từ một tài liệu bảng tính. (Phổ quát)

Tải dữ liệu vào các thư mục và các phần dạng bảng từ các tài liệu dạng bảng.

Hoạt động trong máy khách dày ở chế độ ứng dụng thông thường.

Yêu cầu bảng điều khiển. (Phổ quát)

Cung cấp hỗ trợ tuyệt vời trong việc tạo báo cáo và truy vấn.

Chuyển đến menu trên cùng Dịch vụ->->.

Biểu mẫu danh sách thư mục xử lý bên ngoài xuất hiện. Trong menu trên cùng nhấn nút Thêm vào.

Biểu mẫu Thêm đối tượng mới sẽ xuất hiện. Nhấp vào nút mở và chọn tệp có cách xử lý mong muốn. Sau khi bạn đã chọn tệp mong muốn, nếu cần, hãy chỉ định tên xử lý (Trường Tên). Sau đó, bạn cần nhấp vào OK để lưu các thay đổi đã thực hiện.

Sau đó, cửa sổ tạo mục thư mục sẽ đóng lại và bạn được đưa trở lại biểu mẫu danh sách đã chứa quá trình xử lý mới.

Đó là tất cả! Quá trình thêm xử lý vào cấu hình đã hoàn tất. Để mở quá trình xử lý này sau, hãy đi theo đường dẫn cũ: Dịch vụ->Báo cáo và xử lý bổ sung->Phương pháp điều trị bên ngoài bổ sung.

Dành cho BP 3.0, ZUP 3.0, UT 11, ERP 2.0.

Xử lý bên ngoài cho 1C:Enterprise 8 có nhiều loại. Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách đính kèm xử lý để sửa đổi nhóm và xử lý để điền vào các đối tượng cụ thể.

Đối với trường hợp đầu tiên, chúng tôi sẽ thêm xử lý để điền vào thư mục danh pháp từ Excel.

Chúng ta hãy đi đến phần thích hợp của chương trình:


Điều cần thiết là phải đặt cờ cho việc sử dụng các báo cáo và xử lý bổ sung; theo siêu liên kết đến danh sách các đối tượng bên ngoài:

Trong danh sách bấm vào Tạo nên:


Trong hộp thoại mở ra, chọn tệp mong muốn để xử lý:


Thẻ cho đối tượng bên ngoài mới trong chương trình đã được điền, tất cả những gì còn lại là cấu hình nó chỗ ở(các phần của chương trình sẽ được xử lý):


Chọn một (hoặc một số) phần tùy ý để sắp xếp:


Viết và đóng thẻ đối tượng bên ngoài:


Bây giờ hãy mở xử lý từ giao diện:


Danh sách trống, bấm vào Tùy chỉnh danh sách:


Chọn cách xử lý của chúng tôi:


Bây giờ nó có sẵn để lựa chọn. Để mở xử lý, bạn cần nhấp vào Hành hình:


Bây giờ hãy xem cách xử lý để điền (sửa đổi) các đối tượng cụ thể được thêm vào. Ví dụ: hãy thực hiện xử lý bên ngoài, gắn bản quét vào các thành phần đã chọn của thư mục hoặc tài liệu hệ thống. Việc bắt đầu thêm quá trình xử lý như vậy không khác gì tùy chọn trước đó. Sự khác biệt là trong trường hợp này, vị trí được điền tự động (không phải theo phần chương trình mà theo loại đối tượng cơ sở dữ liệu):


Nếu muốn, danh sách vị trí có thể được điều chỉnh ( không thêm vị trí bổ sung mà loại bỏ những vị trí không cần thiết):


Để chấp nhận thay đổi, thẻ đối tượng bên ngoài cũng phải được ghi vào.

Để sử dụng quá trình xử lý, bạn cần đi tới một đối tượng cơ sở dữ liệu cụ thể (từ danh sách vị trí), nhấp vào Đổ đầy trong bảng lệnh và chọn lệnh:

Hãy xem xét việc tạo một báo cáo bên ngoài trong 1C 8 mà không cần sử dụng hệ thống tổng hợp dữ liệu. Để tạo báo cáo bên ngoài, chúng ta sẽ sử dụng cấu hình Accounting 2.0, dữ liệu ban đầu: “Viết báo cáo tài khoản kế toán 62 trong đó hiển thị doanh thu trong kỳ đã chỉ định trong ngữ cảnh Đối tácHợp đồng của các đối tác.

1. Tạo báo cáo

Trước hết, hãy tạo một tệp báo cáo bên ngoài; để thực hiện việc này, hãy chuyển đến 1s 8 ở chế độ Bộ cấu hình, chúng ta hãy vào menu Tệp -> Mới, hoặc bấm vào biểu tượng tài liệu mới.

Chọn mục từ danh sách Báo cáo bên ngoài. Sau khi tạo báo cáo bên ngoài, hãy đặt Tên cho nó (ví dụ: Báo cáo đơn giản nhất) và lưu vào đĩa. Chúng tôi cũng sẽ thêm hai chi tiết: Đầu kỳKết thúc kỳ kiểu ngày, chúng tôi sẽ cần chúng để giới hạn khoảng thời gian lấy mẫu dữ liệu khi tạo báo cáo.

2. Tạo bố cục báo cáo bên ngoài

Để tạo báo cáo trong 1C 8, bạn cần có bố cục, đây là mẫu để hiển thị dữ liệu trong đó tất cả các tham số cần thiết được đặt, bảng được vẽ, v.v. Hãy thêm bố cục mới; để thực hiện việc này, hãy chọn mục trong cây siêu dữ liệu báo cáo Bố cục và nhấn nút Thêm vào, khi tạo chọn kiểu cho bố cục tài liệu bảng tính.

Bố cục của chúng ta sẽ có 4 khu vực:

  • Tiêu đề - trong khu vực này, chúng tôi sẽ hiển thị tên của báo cáo, khoảng thời gian báo cáo được tạo và tiêu đề bảng;
  • Dữ liệu của đối tác - trong khu vực này, chúng tôi sẽ hiển thị dữ liệu về đối tác trong bảng;
  • Thỏa thuận đối tác dữ liệu - trong lĩnh vực này, chúng tôi sẽ hiển thị dữ liệu về thỏa thuận đối tác trong bảng;
  • Chân trang - trong khu vực này, chúng tôi sẽ hiển thị tổng giá trị cho toàn bộ báo cáo cho các trường Thu nhập và Chi phí.

Hãy bắt đầu tạo các vùng bố cục. Để tạo một vùng trong bố cục, hãy chọn số dòng cần thiết và nhấp vào Bảng menu -> Tên -> Gán tên(Hoặc Ctrl + Shift + N). Đến khu vực một chiếc mũ lưỡi trai Hãy viết tên của báo cáo: Doanh thu 62 lần, vẽ bằng công cụ Biên giới tiêu đề báo cáo và cũng đặt các tham số Đầu kỳKết thúc kỳ. Bằng cách sử dụng các tham số, bạn có thể hiển thị dữ liệu cần thiết trong báo cáo; chúng tôi sẽ giải quyết vấn đề này ở giai đoạn phát triển tiếp theo, cụ thể là khi viết mã báo cáo. Để tạo một tham số trong bố cục, chọn ô mong muốn, viết tên tham số trong đó (không có dấu cách), nhấp chuột phải vào ô đó, chọn mục trong menu mở ra Của cải. Trong thuộc tính ô trên tab Cách trình bày chọn phần đệm Tham số.

Sau đó, tên tham số trong ô sẽ được đặt trong dấu ngoặc nhọn("<>“). Kết quả là, khu vực một chiếc mũ lưỡi trai sẽ trông như thế này:

Trong khu vực Dữ liệuĐối tác Chúng tôi sẽ tạo các tham số để hiển thị tên của đối tác cũng như thu nhập và chi phí cho tài khoản 62 bằng công cụ Biên giới Hãy thiết kế khu vực này như một hàng của bảng.

Trong khu vực Thỏa thuận đối tác dữ liệu Hãy tạo các tham số hiển thị tên hợp đồng cũng như thu nhập và chi phí cho tài khoản 62, sử dụng công cụ Borders chúng ta sẽ thiết kế vùng dưới dạng một hàng trong bảng. Hãy thụt lề nhỏ trước tham số Thỏa thuận đối tác(điều này có thể được thực hiện bằng cách chia tách và hợp nhất các ô. Nhấp chuột phải vào ô -> Hợp nhất hoặc Tách ô), điều này là cần thiết để báo cáo có thể thấy rằng dòng dành cho hợp đồng nằm trong hệ thống phân cấp thấp hơn dòng dành cho đối tác.

Trong khu vực Tầng hầm Hãy tạo các tham số cho tổng thu nhập và chi phí.

Kết quả là chúng ta sẽ có được bố cục như thế này:

3. Tạo biểu mẫu báo cáo

Để hiển thị dữ liệu, hãy đặt thời gian hình thành và nút Hình thức báo cáo của chúng tôi sẽ yêu cầu một biểu mẫu. Để tạo biểu mẫu, hãy tìm mục trong cây siêu dữ liệu báo cáo bên ngoài Các hình thức và nhấn nút Thêm vào. Trên trang đầu tiên của công cụ thiết kế biểu mẫu, bạn không cần thực hiện bất kỳ thay đổi nào mà chỉ cần nhấp vào nút Hơn nữa.

Trên trang tiếp theo của công cụ thiết kế, hãy chọn cả hai chi tiết có sẵn( Đầu kỳ, Kết thúc kỳ) để đặt vị trí trên biểu mẫu.

Kết quả chúng ta sẽ được dạng này:

Nhưng chúng tôi không hài lòng với nó ở dạng này; hãy thực hiện một số thay đổi cho nó:

  • Hãy kéo nút Hình thức từ bảng dưới cùng của báo cáo lên trên cùng (điều này sẽ thuận tiện hơn cho người dùng);
  • Kéo dài hình dạng theo chiều dọc và chiều ngang;
  • Hãy sắp xếp các trường Đầu kỳKết thúc kỳ theo chiều ngang;
  • Hãy thêm phần tử kiểm soát Trường Tài liệu Bảng tính vào biểu mẫu (báo cáo của chúng tôi sẽ được hiển thị trong đó), đặt tên cho nó TabDoc;
  • Hãy tạo nút chọn khoảng thời gian (khi nhấp vào, một hộp thoại sẽ xuất hiện với lựa chọn thuận tiện về khoảng thời gian mong muốn). Chúng ta chưa viết mã chương trình cho nó nên chúng ta sẽ chỉ đặt nút bên cạnh các trường dấu chấm.

Kết quả là, biểu mẫu của chúng tôi sẽ trông như thế này:

4. Lập trình

Sau khi tạo biểu mẫu báo cáo, chúng ta hãy bắt đầu lập trình. Trước tiên, hãy tạo một quy trình để hiển thị hộp thoại chọn dấu chấm (chúng tôi đã tạo một nút cho việc này ở giai đoạn trước). Nhấp chuột phải vào nút và chọn mục menu Của cải, trong thuộc tính nút, hãy chuyển đến tab Sự kiện, trong đó sử dụng nút có biểu tượng kính lúp, chúng ta sẽ tạo một quy trình Nút1Nhấn trong mô-đun biểu mẫu.

Bạn có thể chuyển đổi giữa biểu mẫu và mô-đun của nó bằng cách sử dụng các tab ở cuối biểu mẫu

Để gọi biểu mẫu lựa chọn khoảng thời gian, chúng tôi sẽ sử dụng thủ tục tiêu chuẩn Kế toán 2.0 từ một mô-đun chung Làm việc với hộp thoại - HandlerPeriodSettingPress, bạn cần chuyển chi tiết báo cáo cho nó dưới dạng tham số Đầu kỳKết thúc kỳ.

Thủ tục Button1Press(Phần tử) Làm việc với Dialogs.PeriodSettingHandlerPressing(PeriodStart,PeriodEnd); Kết thúc thủ tục

Bây giờ hãy chuyển sang viết mã sẽ tạo và hiển thị báo cáo của chúng tôi. Mô-đun biểu mẫu đã có sẵn một quy trình NútTạoBáo Chí, sẽ được thực thi khi nhấn nút Hình thức, đó là nơi chúng ta sẽ viết mã. Hãy bắt đầu bằng cách khởi tạo các biến cần thiết. Trước hết hãy tạo một biến cho trường tài liệu bảng tính mà chúng ta sẽ xuất dữ liệu vào đó, điều này là không cần thiết, chỉ là việc ghi âm các cuộc gọi đến nó sẽ ngắn hơn, điều đó có nghĩa là mã chương trình sẽ dễ đọc hơn.

TabDoc = FormElements.TabDoc;

Hãy lấy bố cục của báo cáo bên ngoài bằng hàm GetLayout(<ИмяМакета>) , chúng ta sẽ chuyển tên của bố cục làm tham số và nếu bố cục đó tồn tại thì hàm sẽ tìm thấy bố cục đó.

Bố cục = GetLayout("Bố cục" );

Sau khi nhận được bố cục, hãy tạo các biến cho từng khu vực của nó, sử dụng phương thức bố cục cho việc này GetArea(<ИмяОбласти>) .

AreaHeader = Layout.GetArea("Tiêu đề" ); AreaDataAccount = Bố cục.GetArea( "Dữ liệu nhà thầu"); AreaDataContract = Layout.GetArea("DataContract" ); AreaFooter = Layout.GetArea("Footer" );

Hãy xóa trường của tài liệu bảng tính. Điều này là cần thiết để mỗi khi tạo báo cáo mới, dữ liệu cũ sẽ bị xóa.

TabDoc.Clear();

Bây giờ quá trình khởi tạo các biến đã hoàn tất, hãy chuyển sang điền và hiển thị từng vùng bố cục. Hãy bắt đầu với tiêu đề. Nếu bạn còn nhớ, chúng ta đã tạo hai tham số trong vùng này Đầu kỳKết thúc kỳ, chúng tôi sẽ chuyển đến đó các giá trị của giai đoạn tạo báo cáo, để làm điều này, chúng tôi sẽ sử dụng thuộc tính Tùy chọn các khu vực bố trí.

AreaHeader.Parameters.PeriodStart = PeriodStart; AreaHeader.Parameters.EndPeriod = EndPeriod;

Không còn hành động nào với khu vực này một chiếc mũ lưỡi trai Không cần nhà sản xuất nên chúng tôi sẽ hiển thị trường của nhà sản xuất trong tài liệu bảng tính.

TabDoc.Output(AreaHead);

Tiếp theo, chúng tôi sẽ viết một truy vấn tới cơ sở dữ liệu để lấy doanh thu tài khoản 62 từ sổ kế toán Tự hỗ trợ. Hãy xác định một biến trong đó yêu cầu của chúng ta sẽ được đặt.

Yêu cầu = Yêu cầu mới;

Trước khi bắt đầu viết văn bản yêu cầu, hãy chuyển các tham số cần thiết cho nó. Vì chúng tôi đang viết yêu cầu xuất hóa đơn 62 kế toán thì trước hết chúng ta sẽ tạo tham số cho nó

Yêu cầu.SetParameter ("Tài khoản62", Biểu đồ tài khoản. Tự hỗ trợ. Tìm theo mã ("62" ));

Cũng cần phải chuyển giai đoạn tạo báo cáo vào yêu cầu. Đừng quên rằng chúng tôi có các chi tiết báo cáo đặc biệt cho giai đoạn tạo và chúng tôi chuyển chúng dưới dạng tham số.

request.SetParameter("Bắt đầu kỳ", Bắt đầu kỳ); Request.SetParameter("Cuối kỳ", Cuối kỳ);

Hãy bắt đầu viết văn bản truy vấn, chúng ta sẽ thực hiện việc này bằng cách sử dụng trình thiết kế truy vấn. Trong nhiều hướng dẫn, họ viết rằng bạn cần có khả năng viết truy vấn theo cách thủ công và sử dụng hàm tạo, nhưng trên thực tế thì không phải như vậy. Trong các nhiệm vụ mà lập trình viên 1C thường xuyên phải đối mặt, ưu tiên hàng đầu là viết mã nhanh chóng và hiệu quả và khi viết truy vấn vào cơ sở dữ liệu theo cách thủ công, điều này gần như không thể đạt được; bạn sẽ mất rất nhiều thời gian quý báu để sao chép chính xác tất cả các cấu trúc truy vấn và tìm lỗi chính tả mà bạn đã mắc phải khi viết, v.v. Do đó, đừng lãng phí thời gian của bạn khi cố gắng viết truy vấn theo cách thủ công mà hãy sử dụng hàm tạo truy vấn. Nó sẽ tiết kiệm thời gian của bạn và cho phép bạn viết các truy vấn phức tạp mà không cần nỗ lực nhiều. Để bắt đầu viết văn bản yêu cầu, hãy viết mã:

Yêu cầu.Text = "" ;

Sau đó, đặt con trỏ giữa dấu ngoặc kép, nhấp chuột phải và chọn Người xây dựng lời yêu cầu. Cửa sổ thiết kế truy vấn sẽ mở ra.

Bây giờ chúng ta cần chọn bảng cơ sở dữ liệu 1C 8. Chúng ta cần một bảng ảo cuộc cách mạng sổ kế toán Tự hỗ trợ. Hãy tìm nó ở phía bên trái của cửa sổ thiết kế

Hãy di chuyển nó đến khu vực Những cái bàn và hãy bắt đầu điền các thông số. Đối với tất cả các bảng truy vấn ảo, có một bộ tham số đặc biệt cho phép bạn chọn dữ liệu cần thiết từ bảng chính (trong trường hợp của chúng tôi là bảng chính Sổ đăng ký kế toán Tự hỗ trợ). Hãy mở cửa sổ tham số bảng ảo.

Hãy điền các tham số cho khoảng thời gian mà chúng tôi đã chuyển cho yêu cầu. Để sử dụng một tham số trong văn bản yêu cầu, bạn nên viết ký hiệu trước tên của nó dấu và(&)

Việc còn lại là điền điều kiện cho tài khoản kế toán. kế toán. Để thực hiện việc này, hãy tìm dòng trong tham số của bảng ảo Tình trạng tài khoản và chúng ta sẽ viết ở đó

Tài khoản TRONG HIERARCHY (&Account62)

Bạn cũng có thể sử dụng hàm tạo điều kiện bằng cách nhấp vào nút có ba dấu chấm.

Không cần áp đặt thêm bất kỳ điều kiện nào trên bảng ảo, hãy nhấp vào nút ĐƯỢC RỒI trong cửa sổ tham số bảng ảo. Tiếp theo, chúng ta cần chọn các trường chúng ta cần từ bảng Tự hỗ trợ.Doanh thu(cụ thể là: Đối tác, Thỏa thuận đối tác, Thu nhập và chi phí). Để xem danh sách các trường có sẵn trong bảng chúng tôi đã chọn, hãy nhấp vào biểu tượng “+” bên cạnh tên của nó. Sau đó, kéo các trường bắt buộc vào khu vực ngoài cùng bên phải của trình thiết kế truy vấn, được gọi là: Trường. Nếu mở biểu đồ tài khoản, chúng ta sẽ thấy tài khoản đó 62 phân tích trên Đối với đối tác đây là Subconto1, và bởi Thỏa thuận đối tác - Subconto2.

Do đó, từ các trường của bảng ảo, chúng tôi chọn Subconto1Subconto2. Vì chúng tôi cần thu nhập và chi phí theo số tiền nên chúng tôi cũng chọn các trường Số tiềnDoanh thuDtSố tiềnDoanh thuKt

Hãy điền bí danh của các trường chúng tôi đã chọn; để thực hiện việc này, hãy chuyển đến tab Công đoàn/Bí danh và đặt tên trường bắt buộc.

Vì trong báo cáo của chúng tôi, dữ liệu sẽ được hiển thị theo cấp bậc (Đối tác ở cấp đầu tiên và tất cả các hợp đồng của họ đều ở cấp thứ hai), chúng tôi sẽ định cấu hình hiển thị dữ liệu theo cấp bậc bằng cách sử dụng Tổng cộng. Hãy chuyển đến tab trong trình thiết kế Kết quả. Kéo vào các trường nhóm theo tuần tự đối tácThỏa thuận đối tác, và trong trận chung kết Đang tớiSự tiêu thụ.

Việc này hoàn thành công việc trong hàm tạo truy vấn, nhấp vào nút ĐƯỢC RỒI và chúng tôi thấy rằng văn bản yêu cầu của chúng tôi xuất hiện trong mã chương trình.

Query.Text = "CHỌN | Tự hỗ trợTurnover.Subconto1 NHƯ Đối tác, | Tự hỗ trợTurnover.Subconto2 AS Thỏa thuận đối tác, | Tự hỗ trợTurnover.AmountTurnoverDt NHƯ Biên nhận, | Tự hỗ trợDoanh thu.Số lượngDoanh thuKt NHƯ Chi phí|TỪ | Sổ kế toán. Tự hỗ trợ. Doanh thu (&Đầu kỳ, &Cuối kỳ, Tài khoản TRONG CẤP CẤP (&Tài khoản 62),) NHƯ Tự tài trợ Doanh thu|KẾT QUẢ | SỐ TIỀN(Doanh thu), | SỐ TIỀN(Chi phí) |PO | đối tác, | Thỏa thuận đối tác";

Sau khi viết xong yêu cầu chúng ta bắt đầu điền vào các ô Dữ liệuĐối tác, Dữ liệuThỏa thuậnĐối tácTầng hầm. Chúng tôi sẽ điền vào tất cả các khu vực này dữ liệu nhận được khi thực hiện yêu cầu. Vì truy vấn của chúng tôi chứa các nhóm ( đối tácThỏa thuận đối tác) chọn dữ liệu từ nó như sau:

SelectionCounterpart = Yêu cầu.Execute().Select(BypassQueryResult.ByGrouping);

Bằng cách này, chúng tôi sẽ nhận được hồ sơ có tổng số cho tất cả các đối tác.

Trước khi duyệt qua dữ liệu mẫu bằng vòng lặp, chúng tôi khởi tạo các biến dùng để tính toán kết quả tổng thể cho báo cáo:

Tổng số đến = 0; Tổng mức tiêu thụ = 0;

Để dữ liệu báo cáo được hiển thị theo thứ bậc (và xoay dọc theo dấu “+”), hãy đặt phần bắt đầu tự động nhóm các hàng của tài liệu bảng tính:

TabDoc.StartAutoGroupingRows();

Mọi công tác chuẩn bị đã hoàn tất, bây giờ chúng ta hãy bắt đầu thu thập kết quả truy vấn. Chúng tôi sẽ thực hiện việc truyền tải bằng cách sử dụng một vòng lặp Tạm biệt

Trong khi chọn Account.Next() Cycle EndCycle ;

Khi bắt đầu chu kỳ, hãy thiết lập lại các thông số Đang tớiSự tiêu thụ vùng đất Dữ liệuĐối tác. Nó dùng để làm gì? Hãy tưởng tượng một tình huống mà đối tác Chú Vasya, thu nhập là 10 và chi phí là 5 và đối với đối tác tiếp theo Chú Petya không có thu nhập hoặc chi phí, trong trường hợp này, nếu chúng ta không đặt lại các tham số Đang tớiSự tiêu thụ, sau đó xếp hàng theo đối tác Chú Petya sẽ có thu nhập là 5 và chi phí là 10.

AreaDataAccount.Parameters.Receipt = 0; AreaDataAccount.Parameters.Expense = 0;

Sau đó chúng tôi lấp đầy khu vực Dữ liệuĐối tác dữ liệu phần tử mẫu

FillPropertyValues(AreaAccountData.Parameters,SelectionAccount);

Sau khi điền dữ liệu, bạn có thể hiển thị khu vực trong tài liệu bảng tính, Vì chúng tôi đang sử dụng tính năng tự động nhóm các hàng nên chúng tôi cần chỉ ra cấp độ của hàng trong nhóm (báo cáo của chúng tôi sẽ có hai cấp độ, cấp độ đầu tiên dành cho các đối tác dành cho hợp đồng).

TabDoc.Output(AreaDataAccount,1);

Bây giờ đối với đối tác này, chúng tôi sẽ thực hiện lựa chọn theo hợp đồng của họ.

Thỏa thuận của SelectionCounterparty = SelectionCounterparty.Select(BypassQueryResult.ByGroups);

Chúng tôi sẽ thực hiện việc truyền tải bằng cách sử dụng một vòng lặp Tạm biệt.

Trong khi Lựa chọn Thỏa thuận đối tác.Next() Vòng lặp EndCycle;

Trong chu trình thỏa thuận đối tác, hãy đặt lại các tham số Đang tớiSự tiêu thụ, điền vào khu vực Hợp đồng dữ liệu từ mẫu và hiển thị nó trong tài liệu bảng tính ở cấp bản ghi thứ hai.

AreaDataContract.Parameters.Receipt = 0; AreaDataContract.Parameters.Expense = 0; Điền vàoPropertyValues(AreaDataAgreement.Parameters,SelectionCounterpartyAgreement); TabDoc.Output(AreaDataContract,2);

Cũng trong chu trình này, chúng ta sẽ cộng các giá trị hiện tại vào các biến để tính tổng giá trị cho thu nhập và chi phí.

Tổng số tiền nhận = Tổng số tiền nhận + Lựa chọn đối tácAgreement.Receipt; TotalExpense = TotalExpense + Mẫu Thỏa thuận với đối tác.Expense;

Điều này kết thúc việc xuất dữ liệu trong khu vực Dữ liệuĐối tác, Dữ liệuThỏa thuậnĐối tácđã hoàn tất, tất cả những gì còn lại là hoàn tất việc tự động nhóm các hàng của tài liệu bảng tính.

TabDoc.FinishAutoGroupingRows();

Chu trình đầy đủ chịu trách nhiệm xuất dữ liệu ra khu vực Dữ liệuĐối tácDữ liệuThỏa thuậnĐối tác trông như thế này:

TabDoc.StartAutoGroupingRows(); Trong khi SelectionAccount.Next() Vòng lặp AreaDataAccount.Parameters.Receipt = 0; AreaDataAccount.Parameters.Expense = 0 ; FillPropertyValues(AreaAccountData.Parameters,SelectionAccount); TabDoc.Output(AreaDataAccount,1); Thỏa thuận của SelectionCounterparty = SelectionCounterparty.Select(BypassQueryResult.ByGroups); Trong khi SelectionCounterparty Thoả thuận.Next() Vòng lặp AreaDataAgreement.Parameters.Receipt = 0; AreaDataContract.Parameters.Expense = 0 ; Điền vàoPropertyValues(AreaDataAgreement.Parameters,SelectionCounterpartyAgreement); TabDoc.Output(AreaDataContract,2); Tổng số tiền nhận = Tổng số tiền nhận + Lựa chọn đối tácAgreement.Receipt; TotalExpense = TotalExpense + Mẫu Thỏa thuận với đối tác.Expense; Chu kỳ cuối; Chu kỳ cuối; TabDoc.FinishAutoGroupingRows();

Nó vẫn hiển thị dữ liệu cuối cùng trong khu vực Tầng hầm và xuất diện tích đó thành tài liệu bảng tính.

AreaBasement.Parameters.TotalIncoming = TotalIncoming; AreaBasement.Parameters.TotalConsumption = TotalConsumption; TabDoc.Output(AreaFooter);

Điều này hoàn tất quá trình viết báo cáo bên ngoài cho 1C 8 mà không cần sử dụng hệ thống kiểm soát truy cập. Bây giờ nó có thể được tạo ở chế độ 1C:Enterprise 8 và được thêm vào thư mục Xử lý bên ngoài Bạn có thể tải xuống tệp báo cáo được thảo luận trong bài viết từ tệp .

Xem video về cách tạo bản in bên ngoài cho ứng dụng được quản lý: