Trao đổi dữ liệu tự động bằng cách sử dụng quy trình xử lý "Trao đổi dữ liệu XML phổ quát" mà không thay đổi cấu hình

Hệ thống điều khiển tự động trong hầu hết các trường hợp bao gồm các cơ sở dữ liệu riêng biệt và thường có cấu trúc phân bố theo địa lý. Đồng thời, việc trao đổi dữ liệu được thực hiện chính xác là điều kiện cần thiết để các hệ thống đó hoạt động hiệu quả.

Quá trình thiết lập ban đầu của sàn giao dịch có thể yêu cầu một số hành động, không chỉ về mặt lập trình mà còn cả tư vấn, ngay cả khi chúng tôi đang xử lý các nguồn đồng nhất, như trường hợp với các sản phẩm trên nền tảng 1C:Enterprise. Tại sao thiết lập trao đổi 1C (hay còn gọi là đồng bộ hóa dữ liệu trong 1C 8.3) có thể trở thành nhiệm vụ tốn thời gian và tốn kém nhất của một dự án tích hợp, chúng ta sẽ xem xét trong bài viết này.

Trao đổi dữ liệu trong môi trường 1C cho phép bạn:

  • Loại bỏ việc nhập tài liệu hai lần;
  • Tự động hóa các quy trình kinh doanh liên quan;
  • Tối ưu hóa sự tương tác giữa các bộ phận phân phối;
  • Cập nhật kịp thời dữ liệu phục vụ công việc của chuyên viên các phòng ban;
  • “Phân biệt” giữa các loại hình kế toán khác nhau.*

*Trong trường hợp số liệu của loại hình kế toán này khác biệt đáng kể so với loại hình kế toán khác thì cần đảm bảo tính bảo mật thông tin và “phân định” luồng thông tin. Ví dụ: trao đổi dữ liệu giữa 1C UT và 1C Accounting không yêu cầu tải dữ liệu quản lý lên cơ sở dữ liệu kế toán theo quy định, tức là. đồng bộ hóa trong 1C sẽ không đầy đủ ở đây.

Nếu chúng ta tưởng tượng quy trình tiêu chuẩn để thực hiện trao đổi dữ liệu chính, khi ít nhất một trong các đối tượng của nó là sản phẩm 1C, thì chúng ta có thể phân biệt các giai đoạn sau:

  • Phối hợp thành phần của sàn giao dịch;
  • Định nghĩa về vận chuyển (giao thức trao đổi);
  • Đặt ra các quy tắc;
  • Lên lịch.

Xác định thành phần của trao đổi 1C

Đối tượng trao đổi có thể được chia thành “nguồn” và “người nhận”. Đồng thời, họ có thể thực hiện cùng lúc hai vai trò, đây sẽ được gọi là trao đổi hai chiều. Nguồn và đích được xác định một cách logic tùy thuộc vào nhu cầu hoặc chức năng của hệ thống.*

*Ví dụ: khi tích hợp “WA: Financier” - một giải pháp duy trì kế toán tài chính và quản lý quy trình ngân quỹ, được phát triển trên cơ sở “1C:Enterprise”, các chuyên gia của WiseAdvice khuyến nghị đây là một hệ thống tổng thể. Điều này là do có sẵn các công cụ kiểm soát để tuân thủ các quy tắc của chính sách ứng dụng và theo đó, để đảm bảo tính hiệu quả của giải pháp.

Tiếp theo, dựa trên các yêu cầu đã nhận và ghi lại từ người dùng, danh sách dữ liệu trao đổi được tạo ra, khối lượng, yêu cầu về tần suất trao đổi được xác định và quy trình xử lý lỗi và xử lý các tình huống đặc biệt (va chạm) được quy định.

Ở cùng một giai đoạn, tùy thuộc vào đội hệ thống hiện có và cơ cấu của doanh nghiệp, hình thức trao đổi được xác định:

Cơ sở thông tin phân tán

  • RIB ngụ ý trao đổi giữa các cấu hình cơ sở dữ liệu 1C giống hệt nhau, với cấu trúc điều khiển “master-slave” rõ ràng cho mỗi cặp trao đổi. Là một thành phần của nền tảng công nghệ, RIB ngoài dữ liệu còn có thể truyền tải những thay đổi về cấu hình và thông tin quản trị của cơ sở dữ liệu (nhưng chỉ từ master đến Slave).

Trao đổi dữ liệu phổ quát trong 1C

  • Cơ chế cho phép bạn định cấu hình trao đổi cơ sở dữ liệu 1C, cả với cấu hình trên nền tảng 1C:Enterprise và với hệ thống của bên thứ ba. Việc trao đổi được thực hiện bằng cách chuyển dữ liệu sang định dạng xml phổ quát theo “Gói trao đổi”.

Dữ liệu doanh nghiệp

  • Sự phát triển mới nhất của 1C, được thiết kế để triển khai trao đổi dữ liệu ở định dạng xml giữa các sản phẩm được tạo trên nền tảng 1C:Enterprise với bất kỳ hệ thống tự động hóa nào. Việc sử dụng EnterpriseData giúp đơn giản hóa các sửa đổi liên quan đến trao đổi. Trước đây, khi một cấu hình mới được đưa vào hệ thống, cần phải triển khai cơ chế nhập và xuất dữ liệu cho cả cấu hình đó và các hệ thống hiện có. Giờ đây, các hệ thống hỗ trợ EnterpriseData không cần bất kỳ sửa đổi nào, chỉ có một điểm vào-ra.

Định nghĩa về vận chuyển (giao thức trao đổi)

Đối với hệ thống trên nền tảng 1C:Enterprise 8, có nhiều khả năng tổ chức trao đổi với bất kỳ nguồn thông tin nào bằng cách sử dụng các tiêu chuẩn chung được chấp nhận rộng rãi (xml, tệp văn bản, Excel, kết nối ADO, v.v.). Do đó, khi xác định việc vận chuyển dữ liệu trao đổi, bạn nên dựa vào khả năng cơ sở dữ liệu của hệ thống bên thứ ba.

Đồng bộ hóa danh mục

Nguyên tắc cơ bản của việc đồng bộ hóa hiệu quả các thư mục là sự hiện diện của một điểm vào duy nhất. Nhưng nếu chúng ta đang nói về việc làm việc với các thư mục trước đây được điền theo các quy tắc khác nhau, thì cần phải xác định rõ ràng các trường đồng bộ hóa để đưa trao đổi về một “mẫu số chung”.*

*Ở giai đoạn này, có thể cần phải thực hiện công việc chuẩn hóa dữ liệu tham chiếu ở phía nguồn dữ liệu. Tùy thuộc vào trạng thái của các thư mục và dung lượng của chúng, quá trình so sánh các phần tử, nhận dạng, xác định lỗi và trùng lặp, cũng như điền vào các trường còn thiếu và gán các trường đồng bộ hóa, có thể yêu cầu công việc của cả một nhóm chuyên gia, cả về một phần của nhà tích hợp (chủ sở hữu kỹ thuật chuẩn hóa dữ liệu chủ) và từ phía khách hàng.

Đặt quy tắc

Khả năng hiển thị dữ liệu từ hệ thống nguồn trong máy thu phụ thuộc vào các quy tắc trao đổi được xác định chính xác. Các quy tắc, được trình bày ở định dạng xml, quy định sự tương ứng của các chi tiết chính của đối tượng nguồn-nhận. Giải pháp Chuyển đổi dữ liệu 1C:Data được thiết kế để tự động hóa việc tạo các quy tắc để triển khai cả trao đổi một lần và trao đổi vĩnh viễn.

Đảm bảo không mất dữ liệu trong quá trình trao đổi Kế hoạch trao đổi. Đây là một phần không thể thiếu của bất kỳ cấu hình nào trên nền tảng 1C:Enterprise, mô tả đầy đủ quy trình trao đổi 1C: thành phần dữ liệu (tài liệu có chi tiết “nhận dạng”) và các nút (cơ sở thông tin máy thu-máy phát), cũng như kích hoạt RIB cho hướng trao đổi đã chọn.

Mọi thay đổi trong dữ liệu được nhập vào Exchange Plan đều được ghi lại và nhận dấu hiệu “đã thay đổi”. Cho đến khi dữ liệu đã thay đổi khớp với nhau trong các nút máy thu-phát, dấu hiệu sẽ không được đặt lại và hệ thống sẽ gửi thông báo điều khiển đến cả hai nút. Sau khi tải dữ liệu lên và xác nhận việc tuân thủ đầy đủ của chúng trong cả hai hệ thống, dấu hiệu sẽ được đặt lại.

Lịch giao dịch tại 1C

Để tự động hóa việc trao đổi thường xuyên, tần suất tải lên dữ liệu được đặt. Tần suất trao đổi phụ thuộc vào nhu cầu và khả năng kỹ thuật. Ngoài ra, cấu hình trên nền tảng 1C:Enterprise cho phép bạn định cấu hình trao đổi dữ liệu khi xảy ra sự kiện.

Sau khi xem xét quy trình tiêu chuẩn để thực hiện trao đổi, hãy chú ý đến các yếu tố sẽ yêu cầu cải tiến ở các giai đoạn khác nhau:

  • Cấu hình cơ sở dữ liệu không chuẩn, có tính sửa đổi cao;
  • Các phiên bản khác nhau của nền tảng 1C:Enterprise;
  • Phiên bản cấu hình lâu ngày không được cập nhật;
  • Đối tượng trao đổi đã được sửa đổi trước đó;
  • Sự cần thiết của các quy tắc trao đổi phi tiêu chuẩn;
  • Một tập hợp và bố cục chi tiết rất khác trong các sách tham khảo hiện có.

Vì ngay cả các hành động tiêu chuẩn để thực hiện trao đổi dữ liệu sơ cấp cũng cần có kiến ​​thức chuyên môn nên chúng được khuyến nghị thực hiện với sự tham gia của các chuyên gia 1C. Chỉ sau khi hoàn thành tất cả các bước được mô tả ở trên, bạn mới tiến hành thiết lập trao đổi trong cấu hình. Hãy xem xét việc tích hợp cơ sở dữ liệu bằng ví dụ về 1C:UPP và 1C:Retail (trao đổi với 1C:UT được thiết lập bằng cùng một sơ đồ). Cũng bao gồm trong đồng bộ hóa tiêu chuẩn là trao đổi SCP - SCP, điển hình cho các hệ thống tự động hóa quy mô lớn tại các doanh nghiệp công nghiệp lớn nhất.

Trong menu con “Dịch vụ”, chọn “Trao đổi dữ liệu với các sản phẩm trên nền tảng…” (chọn trao đổi trực tiếp với “Bán lẻ” thường dẫn đến lỗi ở cấp độ đối tượng COM). Vui lòng lưu ý thông báo dịch vụ “Tính năng này không khả dụng”.


Để giải quyết vấn đề này, bạn cần chọn "Cấu hình truyền thông"


...và đánh dấu vào ô. Tiếp theo, bỏ qua thông báo lỗi.


Trong cài đặt đồng bộ hóa dữ liệu, chọn “Tạo trao đổi với “Bán lẻ”...



Trước khi định cấu hình cài đặt kết nối thông qua thư mục cục bộ hoặc mạng, bạn nên đảm bảo rằng có đủ dung lượng trên đĩa cho thư mục đó. Mặc dù, theo quy định, nó không chiếm quá 30-50 MB, nhưng trong những trường hợp đặc biệt, nó có thể yêu cầu tới 600 MB. Bạn có thể tạo thư mục cần thiết trực tiếp từ bộ cấu hình.



Khi kết nối qua thư mục mạng, chúng tôi bỏ qua đề nghị định cấu hình kết nối qua địa chỉ FTP và qua email bằng cách nhấp vào “Tiếp theo”.


Trong cài đặt, chúng tôi nhập thủ công các tiền tố - ký hiệu của cơ sở dữ liệu (thường là BP, UPP, RO), đặt quy tắc và ngày bắt đầu tải lên dữ liệu. Tiền tố sẽ được chỉ định trong tên của tài liệu để cho biết cơ sở dữ liệu nơi chúng được tạo. Nếu quy tắc tải lên không được chỉnh sửa, dữ liệu sẽ được tải lên theo mặc định theo tất cả các tham số có sẵn.



Chúng tôi tạo tệp cài đặt trao đổi cho “Bán lẻ” để không lặp lại hành động của mình. Nếu bạn cần gửi dữ liệu ngay sau khi thiết lập đồng bộ hóa, hãy chọn hộp này.


Để tự động hóa quá trình trao đổi, bạn cần thiết lập lịch trình.


Thực đơn "Bán lẻ".


Chọn hộp và chọn “Đồng bộ hóa”.


Chúng tôi thực hiện thiết lập “ngược lại” bằng cách chọn Quản lý doanh nghiệp sản xuất.




Tải tệp cài đặt được tạo trong UPP.


Chúng ta đánh dấu, hệ thống sẽ tự động lấy địa chỉ.





Chúng tôi hành động theo cách tương tự như trong UPP.









So sánh dữ liệu xác minh (So sánh dữ liệu thủ công được khuyến nghị thực hiện ở giai đoạn chuẩn bị, vì công việc này có thể tốn nhiều công sức nhất trong quá trình thực hiện trao đổi). Cửa sổ so sánh mở ra bằng cách nhấp đúp chuột.



Trong trường hợp xảy ra lỗi đồng bộ hóa, “Chi tiết…” sẽ được thay thế bằng “Không bao giờ…”.


“Chi tiết…” mở nhật ký với thông tin cập nhật về sàn giao dịch.


Sẵn sàng.

Khi duy trì một số cơ sở dữ liệu 1C đang hoạt động, đôi khi cần phải trao đổi dữ liệu giữa chúng. Có 2 cách để truyền dữ liệu:

  1. Truyền dữ liệu bằng cách sử dụng các quy tắc trao đổi và xử lý “Trao đổi dữ liệu XML”. Quy tắc trao đổi được tạo bằng cấu hình 1C:Data Converter.
  2. Truyền dữ liệu giữa các cơ sở thông tin tương tự bằng cách sử dụng quy trình "Tải lên và tải dữ liệu XML".

Hãy xem xét lựa chọn thứ hai, tức là. tải lên và tải dữ liệu từ/đến các cấu hình có chứa các đối tượng giống nhau (giống hệt) mà chúng ta cần. Để thực hiện việc này, chúng tôi sẽ sử dụng quy trình xử lý bên ngoài “Tải lên và tải dữ liệu XML”, có thể được sử dụng.

Điều kiện để sử dụng quá trình xử lý này như sau: Cơ sở thông tin mà dữ liệu được tải xuống phải chứa cùng các đối tượng và có cùng chi tiết (tên và loại dữ liệu) như trong cơ sở dữ liệu nơi dữ liệu được tải vào.

Hãy xem xét một ví dụ về truyền dữ liệu bằng cách xử lý này. Giả sử bạn cần chuyển chứng từ “Lệnh thanh toán đến” và “Lệnh thanh toán đi”. Giải pháp cho vấn đề này sẽ như sau.

Chúng tôi mở quá trình xử lý bên ngoài “Tải lên và tải dữ liệu XML” thông qua menu chính: Tệp? Mở... Trên tab “Tải lên”, chúng tôi chỉ định tệp XML mà chúng tôi sẽ lưu dữ liệu vào đó.

Sau đó, bạn cần chỉ định khoảng thời gian mà chúng tôi sẽ dỡ bỏ các đối tượng dữ liệu khỏi cơ sở dữ liệu 1C và chính các đối tượng đó. Chúng tôi đánh dấu các tài liệu chúng tôi cần để tải lên bằng dấu kiểm trong trường cấu trúc đối tượng cấu hình trong cột “Dữ liệu để tải lên”. Nếu tài liệu được tải lên chứa các liên kết đến các thành phần thư mục không có trong cấu hình khác thì bạn nên chọn các hộp trong cột “Nếu cần” để các thành phần này cũng được tải lên cùng với tài liệu.

Bây giờ ở bước này, bạn cần quyết định xem có nên tải chuyển động của chúng dọc theo sổ đăng ký cùng với các tài liệu hay chuyển các tài liệu này sang cơ sở dữ liệu khác không? Để đăng lại các tài liệu đã tải lên trong cơ sở dữ liệu khác, bạn có thể sử dụng quy trình xử lý “Xử lý nhóm thư mục và tài liệu”. Nếu các thuật toán xử lý trong các cơ sở dữ liệu thông tin này khác nhau theo một cách nào đó thì không nên chọn hộp kiểm bên cạnh “Tải lên tất cả các chuyển động của nó cùng với tài liệu”.

Thế là xong, quá trình thiết lập tải lên đã hoàn tất, mọi thứ ở đây đều đơn giản! Nhấp vào nút “Tải dữ liệu lên” và đợi cho đến khi dữ liệu được lưu vào tệp XML. Đối với việc dỡ tải phức tạp hơn, bạn có thể chỉ định lựa chọn cho các đối tượng không được tải không chỉ theo thời gian.

Sau khi dỡ tải, hãy chuyển đến cơ sở dữ liệu 1C thứ hai và mở quy trình xử lý tương tự ở đó. Chuyển đến tab “Tải xuống” và chỉ ra ở đây cùng một tệp XML mà chúng tôi đã tải dữ liệu lên.

Trên tab này, hãy chọn hộp bên cạnh “Tiếp tục tải đối tượng nếu xảy ra lỗi” và nhấp vào nút “Tải dữ liệu”. Chúng tôi không xem xét các hàm khác, chẳng hạn như việc sử dụng tổng, mặc dù hàm này có thể tăng tốc đáng kể việc tải đối tượng (bản ghi theo sổ đăng ký).

In (Ctrl+P)

Trao đổi thông qua một định dạng phổ quát

Hệ thống con “Trao đổi dữ liệu” của thư viện các hệ thống con tiêu chuẩn chứa 4 tùy chọn (công nghệ) để trao đổi thông tin giữa các cơ sở thông tin khác nhau:

  • cơ sở thông tin phân tán (RIB);
  • trao đổi dữ liệu thông qua một định dạng phổ quát;
  • trao đổi dữ liệu theo quy tắc trao đổi (quy tắc trao đổi được tạo bằng cấu hình “Chuyển đổi dữ liệu”, phiên bản 2.1);
  • trao đổi dữ liệu không có quy tắc trao đổi.

Bài viết này thảo luận về công nghệ trao đổi dữ liệu thông qua định dạng dữ liệu doanh nghiệp phổ quát. Công nghệ này có sẵn trong “Thư viện hệ thống con tiêu chuẩn” bắt đầu từ phiên bản 2.3.1.62. ra mắt vào đầu năm 2016. Hiện tại, phiên bản mới nhất của BSP 2.3 (để sử dụng với nền tảng 1C:Enterprise 8.3 không thấp hơn phiên bản 8.3.8.1652 đã tắt chế độ tương thích) đã phát hành 2.3.6.17.

Cơm. 1 Phiên bản mới nhất của BSP 2.3

Trong số các tệp cung cấp giải pháp ứng dụng 1C, có một tệp văn bản “Phiên bản thư viện”, trong đó nó được viết trên cơ sở phiên bản BSP nào mà ứng dụng được phát triển, ví dụ: dựa trên giải pháp ứng dụng UT 11.3.3.231, BSP 2.3.5.65 được hình thành.

Xin lưu ý rằng để sử dụng với phiên bản nền tảng “1C:Enterprise 8.3” không được thấp hơn 8.3.10.2168 phiên bản đã được phát hành với chế độ tương thích bị tắt BSP 2.4.

Mô tả định dạng EnterpriseData

Định dạng EnterpriseData là gì?

Đây là định dạng cho phép bạn mô tả một đối tượng cơ sở thông tin (đối tác, hóa đơn, v.v.) hoặc báo cáo thực tế rằng đối tượng này đã bị xóa. Dự kiến, cấu hình nhận tệp ở định dạng EnterpriseData sẽ phản ứng tương ứng - nó sẽ tạo các đối tượng mới và xóa những đối tượng được đánh dấu là đã xóa trong tệp. Nó được thiết kế để trao đổi thông tin giữa các cấu hình UT, RT, UNF, BP. Định dạng này cũng có thể được sử dụng để trao đổi thông tin với bất kỳ hệ thống thông tin nào khác: nó không phụ thuộc vào các tính năng của phần mềm hoặc cấu trúc cơ sở thông tin tham gia trao đổi và không chứa các hạn chế rõ ràng về việc sử dụng.

Phiên bản định dạng EnterpriseData

Dữ liệu định dạng được lưu trữ trong các gói XDTO trong các nhánh cấu hình cơ sở dữ liệu chung, như trong Hình 2. 2

Hình 2 XDTO – Gói định dạng dữ liệu EnterpriseData

Trong bộ lễ phục. Hình 2 cho thấy có một số gói XDTO. Đây là các phiên bản khác nhau của định dạng. Số phiên bản định dạng bao gồm X.Y.Z, trong đó X.Y là phiên bản, Z là phiên bản nhỏ. Phiên bản nhỏ được tăng lên trong trường hợp sửa lỗi và các thay đổi khác trong đó: chức năng logic chuyển đổi dữ liệu dựa trên phiên bản trước của định dạng được duy trì (duy trì khả năng tương thích ngược của các thuật toán truyền dữ liệu hiện tại thông qua định dạng); Việc hỗ trợ các khả năng định dạng mới cho logic chuyển đổi là tự nguyện. Một ví dụ về những thay đổi như vậy có thể là sửa lỗi, thay đổi thuộc tính của đối tượng định dạng, thêm thuộc tính mà việc sử dụng chúng không bắt buộc khi chuyển đổi dữ liệu. Trong các trường hợp khác, khi định dạng thay đổi, phiên bản Chính sẽ tăng: X – trong trường hợp tái cơ cấu toàn cầu, Y – trong các trường hợp khác.
Định dạng này mô tả cách biểu diễn các đối tượng (tài liệu hoặc thành phần thư mục) dưới dạng tệp XML. Phiên bản 1.0.1 chứa mô tả 94 đối tượng từ nhiều lĩnh vực khác nhau (tài chính, sản xuất, mua bán, vận hành kho bãi). Tên của các loại, theo quy định, được hiểu rõ và không cần giải thích thêm: ví dụ: “Tài liệu.Đạo luật của công việc đã hoàn thành” hoặc “Thư mục.Các bên đối tác”. Như bạn có thể thấy, phần mô tả loại tài liệu bắt đầu bằng tiền tố “Tài liệu.” và thành phần thư mục bắt đầu bằng tiền tố “Thư mục”. Có thể tìm thấy mô tả chi tiết hơn về định dạng
Phiên bản mới nhất là 1.3, tuy nhiên phiên bản được sử dụng phổ biến nhất là 1.0. Không có nhiều khác biệt giữa các phiên bản. Định dạng EnterpriseDataExchange_1_0_1_1 được sử dụng khi trao đổi qua dịch vụ web.
Lưu ý rằng gói định dạng dữ liệu EnterpriseData được sử dụng cùng với Trao đổi tin nhắn khi tạo quy tắc chuyển đổi. Gói này chứa đối tượng kiểu Thông tin bổ sungcó thể có bất kỳ loại giá trị nào và được sử dụng khi tạo quy tắc chuyển đổi giữa các đối tượng cấu hình. không có định dạng dữ liệu. Chính xác, cảm ơn Thông tin bổ sungBạn có thể điều chỉnh và tùy chỉnh các quy tắc trao đổi mà không thay đổi dữ liệu định dạng trong gói XDTO.

Cơm. 3 Cấu trúc của gói XDTOExchangeMessage

Làm cách nào để trao đổi dữ liệu ở định dạng EnterpriseData?

Trao đổi dữ liệu ở định dạng EnterpriseData có cấu hình là trao đổi tệp. Để phản hồi tệp nhận được từ ứng dụng bên ngoài, cấu hình sẽ xử lý tệp đó và tạo tệp phản hồi. Các tập tin có thể được trao đổi:

  • thông qua một thư mục tập tin chuyên dụng,
  • qua thư mục FTP,
  • thông qua một dịch vụ web được triển khai ở phía cơ sở thông tin. Tệp dữ liệu được truyền dưới dạng tham số cho các phương thức web.

Ghi chú. Để trao đổi dữ liệu hai chiều giữa ứng dụng của bên thứ ba và cấu hình ở phía cơ sở thông tin, phải thực hiện một số cài đặt - ứng dụng của bên thứ ba phải được đăng ký trong cơ sở thông tin, phải xác định kênh trao đổi cho nó (thông qua một tập tin hoặc thư mục FTP), v.v. Nhưng đối với các trường hợp tích hợp đơn giản, khi chỉ cần chuyển thông tin từ ứng dụng của bên thứ ba sang cơ sở thông tin và chuyển ngược lại dữ liệu từ cơ sở thông tin sang ứng dụng của bên thứ ba là đủ (ví dụ: tích hợp cửa hàng trực tuyến chuyển thông tin bán hàng sang 1C: Kế toán), có một phiên bản đơn giản hóa để làm việc thông qua dịch vụ web không yêu cầu cài đặt bên cạnh.

Khi trao đổi bằng cách sử dụng các gói trao đổi cấu hình trong quá trình đồng bộ hóa, chỉ thông tin về những thay đổi đã xảy ra kể từ lần đồng bộ hóa cuối cùng mới được truyền đi (để giảm thiểu lượng thông tin được truyền đi). Lần đầu tiên bạn đồng bộ hóa, cấu hình sẽ kết xuất tất cả các đối tượng được định dạng EnterpriseData vào một tệp XML (vì tất cả chúng đều là “mới” đối với ứng dụng của bên thứ ba).

Bước tiếp theo dành cho ứng dụng của bên thứ ba - nó phải xử lý thông tin từ tệp XML và đặt nó vào phần trong phiên đồng bộ hóa tiếp theo thông tin cho biết đã nhận thành công một tin nhắn từ cấu hình với một số nhất định (đặt số lượng tin nhắn nhận được từ cấu hình vào trường Không nhận được). Thông báo nhận là tín hiệu gửi đến cấu hình rằng tất cả các đối tượng đã được ứng dụng bên ngoài xử lý thành công và không cần truyền thông tin về chúng nữa. Ngoài biên nhận, tệp XML từ ứng dụng của bên thứ ba cũng có thể chứa dữ liệu để đồng bộ hóa (trong phần ).

Sau khi nhận được tin nhắn nhận, cấu hình sẽ đánh dấu tất cả các thay đổi được gửi trong tin nhắn trước đó là đã đồng bộ hóa thành công. Chỉ những thay đổi không đồng bộ đối với các đối tượng (tạo đối tượng mới, thay đổi và xóa đối tượng hiện có) mới được gửi đến ứng dụng bên ngoài trong phiên đồng bộ hóa tiếp theo.

Khi truyền dữ liệu từ ứng dụng bên ngoài sang cấu hình, hình ảnh sẽ bị đảo ngược. Đơn đăng ký phải điền vào phần tương ứng và trong phần đặt các đối tượng được đồng bộ hóa ở định dạng EnterpriseData.

Sau khi xử lý tệp, cấu hình sẽ tạo một tệp XML chứa thông báo nhận và dữ liệu mới để đồng bộ hóa từ phía cấu hình (nếu có kể từ phiên đồng bộ hóa cuối cùng).

Bạn có thể xem thêm chi tiết về trao đổi dữ liệu với các giải pháp ứng dụng trên nền tảng 1C:Enterprise ở định dạng EnterpriseData

Mô-đun chung của “trình quản lý trao đổi thông qua định dạng phổ quát”.

Các quy trình và chức năng mô tả đầy đủ các quy tắc tải dữ liệu từ cơ sở thông tin sang định dạng trao đổi và các quy tắc tải dữ liệu từ định dạng trao đổi vào cơ sở thông tin được phát triển trong một mô-đun chung - mô-đun quản lý trao đổi thông qua định dạng phổ quát.


Cơm. 4 Cấu trúc của mô-đun quản lý trao đổi thông qua định dạng phổ quát

Mô-đun này được tạo tự động bằng cách sử dụng cấu hình “Chuyển đổi dữ liệu”, phiên bản 3.0, dựa trên các quy tắc trao đổi đã định cấu hình hoặc theo cách thủ công trong bộ cấu hình.

Mô-đun này bao gồm một số phần lớn, mỗi phần chứa nhóm thủ tục và chức năng riêng.

  1. Một lời bình luận. Dòng đầu tiên của mô-đun chứa nhận xét có tên của chuyển đổi. Ví dụ: dòng này cần thiết để xác định mô-đun khi sử dụng lệnh trong chương trình Chuyển đổi dữ liệu, phiên bản 3.0. // Chuyển đổi UP2.2.3 từ 01/06/2017 19:51:50
  2. Thủ tục chuyển đổi. Chứa các quy trình được xác định trước được thực hiện ở các giai đoạn đồng bộ hóa dữ liệu khác nhau: trước khi chuyển đổi, sau khi chuyển đổi, trước khi điền hoãn lại.
  3. Quy tắc xử lý dữ liệu (DPR). Chứa các thủ tục và hàm mô tả các quy tắc xử lý dữ liệu.
  4. Quy tắc chuyển đổi đối tượng (OCR). Chứa các thủ tục và hàm mô tả các quy tắc chuyển đổi đối tượng, cũng như các quy tắc chuyển đổi thuộc tính của các đối tượng này.
  5. Quy tắc chuyển đổi dữ liệu được xác định trước (PDC). Chứa một thủ tục điền vào các quy tắc để chuyển đổi dữ liệu được xác định trước.
  6. Thuật toán. Chứa các thuật toán tùy ý được gọi từ các quy tắc khác (POD hoặc PKO).
  7. Tùy chọn. Chứa logic để điền vào các tham số chuyển đổi.
  8. Mục đích chung. Chứa các thủ tục và hàm được sử dụng rộng rãi trong các quy tắc và thuật toán.

Các tham số của thủ tục và chức năng được sử dụng trong một số loại thủ tục trong mô-đun quản lý được mô tả bên dưới.

Thành phần trao đổi. Loại - Cấu trúc. Chứa các tham số và quy tắc trao đổi được khởi tạo như một phần của phiên trao đổi.

Hướng trao đổi. Kiểu – Chuỗi. Hoặc "Gửi" hoặc "Nhận".

Dữ liệu IB. Loại – DirectoryObject hoặc Đối tượng tài liệu.

Thủ tục liên quan đến sự kiện chuyển đổi

Có ba thủ tục được xác định trước được gọi trong quá trình chuyển đổi:

  • Trước khi chuyển đổi. Được gọi trước khi đồng bộ hóa dữ liệu xảy ra. Quy trình này thường chứa logic để khởi tạo các tham số chuyển đổi khác nhau, điền các giá trị mặc định, v.v. Thành phầnTrao đổi.
  • Sau khi chuyển đổi. Được gọi sau khi quá trình đồng bộ hóa dữ liệu hoàn tất, nhưng trước khi xảy ra việc đệm lười. Tùy chọn: Thành phầnTrao đổi.
  • TrướcTrì hoãnĐổ đầy. Được gọi trước khi việc lười biếng xảy ra. Logic để sắp xếp hoặc điều chỉnh bảng các đối tượng có thể lười điền có thể được tìm thấy ở đây. Tùy chọn: Thành phầnTrao đổi.

thủ tục AML

Điền vào Quy tắc xử lý dữ liệu. Một quy trình xuất có chứa logic để điền vào các quy tắc xử lý dữ liệu. Chứa các lệnh gọi đến các thủ tục khác có thêm quy tắc xử lý một đối tượng cụ thể vào bảng quy tắc (xem các thủ tục bên dưới Thêm AML). Tùy chọn: Hướng trao đổi, Quy tắc xử lý dữ liệu

Thêm DƯỚI_<ИмяПОД>. Một tập hợp các thủ tục điền vào bảng DƯỚI các quy tắc dành cho các đối tượng cụ thể. Số lượng quy trình như vậy tương ứng với số lượng AML được cung cấp cho chuyển đổi này trong chương trình Chuyển đổi dữ liệu, phiên bản 3.0. Tùy chọn: Quy tắc xử lý dữ liệu(một bảng các giá trị được khởi tạo như một phần của phiên trao đổi).

DƯỚI_<ИмяПОД>_Khi đang xử lý. Thủ tục chứa văn bản xử lý Trong quá trình xử lýđối với một AML cụ thể. Trình xử lý được thiết kế để triển khai logic chuyển đổi ở cấp đối tượng. Ví dụ: gán PQO cụ thể cho một đối tượng cụ thể tùy thuộc vào nội dung của đối tượng. Tùy chọn:

  • Thông tinB dữ liệu hoặc Dữ liệuXDTO(tùy theo hướng trao đổi):
  • khi gửi – đối tượng ( Đối tượng thư mục,Đối tượng tài liệu);
  • khi nhận - một cấu trúc có mô tả về đối tượng XDTO.
  • Sử dụng PKO. Kiểu - Kết cấu. Khóa chứa một chuỗi có tên của PCO và giá trị kiểu Boolean (ĐÚNG VẬY– PKO được sử dụng, Nói dối– PKO không được sử dụng).
  • Thành phầnTrao đổi.

DƯỚI_<ИмяПОД>_Lấy mẫu dữ liệu. Hàm chứa văn bản xử lý Khi dỡ hàng. Trình xử lý được thiết kế để thực hiện một thuật toán tùy ý để chọn các đối tượng cần tải. Giá trị trả về: một mảng các đối tượng cần được dỡ bỏ. Mảng có thể chứa cả liên kết đến các đối tượng cơ sở thông tin và cấu trúc có dữ liệu để tải lên. Tùy chọn: Thành phầnTrao đổi.

thủ tục PKO

Điền vào Quy tắc chuyển đổi đối tượng. Một quy trình xuất chứa logic để điền vào các quy tắc chuyển đổi đối tượng. Chứa các lệnh gọi đến các thủ tục khác có thêm quy tắc chuyển đổi đối tượng cụ thể vào bảng quy tắc (xem các thủ tục bên dưới Thêm PKO). Tùy chọn: Hướng trao đổi, Quy tắc chuyển đổi(một bảng các giá trị được khởi tạo như một phần của phiên trao đổi).

ThêmPKO_<ИмяПКО>. Một tập hợp các thủ tục điền vào bảng PKO các quy tắc cho các đối tượng cụ thể. Số lượng quy trình như vậy tương ứng với số lượng PKO được cung cấp cho chuyển đổi này trong chương trình Chuyển đổi dữ liệu, phiên bản 3.0. Tùy chọn: Quy tắc chuyển đổi(một bảng các giá trị được khởi tạo như một phần của phiên trao đổi).

PKO_<ИмяПКО>_Khi gửi dữ liệu. Thủ tục chứa văn bản xử lý Khi gửi cho một PKO cụ thể. Trình xử lý được sử dụng khi tải lên dữ liệu. Được thiết kế để triển khai logic nhằm chuyển đổi dữ liệu có trong đối tượng cơ sở thông tin thành mô tả về đối tượng XDTO. Tùy chọn:

  • Thông tinB dữ liệu. Kiểu - Đối tượng thư mục, Đối tượng tài liệu. Đối tượng cơ sở thông tin đang được xử lý.
  • Dữ liệuXDTO. Kiểu - Kết cấu. Được thiết kế để truy cập dữ liệu đối tượng XDTO.
  • Thành phầnTrao đổi.
  • Tải lên ngăn xếp. Kiểu - Mảng. Chứa các liên kết đến các đối tượng không được tải, có tính đến việc lồng nhau.

PKO_<ИмяПКО>_Khi chuyển đổi dữ liệu XDTO. Thủ tục chứa văn bản xử lý Khi chuyển đổi DataXDTO cho một PKO cụ thể. Trình xử lý được sử dụng khi tải dữ liệu. Được thiết kế để triển khai logic chuyển đổi dữ liệu XDTO tùy ý. Tùy chọn:

  • Dữ liệuXDTO. Kiểu - Kết cấu. Các thuộc tính đối tượng XDTO đã được xử lý trước để giúp truy cập dễ dàng hơn.
  • Dữ liệu đã nhận. Kiểu - Đối tượng thư mục, Đối tượng tài liệu. Một đối tượng infobase được hình thành bằng cách chuyển đổi dữ liệu XDTO. Không được ghi vào cơ sở dữ liệu thông tin.
  • Thành phầnTrao đổi.

PKO_<ИмяПКО>_Trước khi ghi dữ liệu đã nhận. Thủ tục chứa văn bản xử lý Trước khi ghi dữ liệu đã nhận cho một PKO cụ thể. Trình xử lý được sử dụng khi tải dữ liệu. Được thiết kế để triển khai logic bổ sung phải được thực hiện trước khi ghi một đối tượng vào cơ sở thông tin. Ví dụ: các thay đổi nên được tải vào dữ liệu bảo mật thông tin hiện có hay chúng nên được tải dưới dạng dữ liệu mới. Tùy chọn:

  • Dữ liệu đã nhận. Kiểu - Đối tượng thư mục, Đối tượng tài liệu. Phần tử dữ liệu được tạo bằng cách chuyển đổi dữ liệu XDTO.

Được ghi lại nếu dữ liệu này là mới đối với cơ sở thông tin (tham số Thông tinB dữ liệu chứa giá trị Không xác định).

Nếu không thì Dữ liệu đã nhận thay thế Thông tinB dữ liệu(tất cả tài sản từ Dữ liệu đã nhận chuyển giao cho Thông tinB dữ liệu).

Nếu không cần thay thế tiêu chuẩn dữ liệu bảo mật thông tin bằng dữ liệu đã nhận, bạn nên viết logic truyền của riêng mình, sau đó đặt tham số Dữ liệu đã nhận nghĩa Không xác định:

  • Thông tinB dữ liệu. Kiểu - Đối tượng thư mục, Đối tượng tài liệu. Một phần tử dữ liệu cơ sở thông tin tương ứng với dữ liệu nhận được. Nếu không tìm thấy dữ liệu phù hợp, chứa Không xác định.
  • Thuộc tính chuyển đổi. Kiểu - Bảng giá trị. Chứa các quy tắc chuyển đổi thuộc tính của đối tượng hiện tại, được khởi tạo như một phần của phiên trao đổi.
  • Thành phầnTrao đổi.

thủ tục PCPD

Điền vào Quy tắc chuyển đổi của dữ liệu được xác định trước. Một quy trình xuất chứa logic để điền vào các quy tắc chuyển đổi dữ liệu được xác định trước. Tùy chọn: Hướng trao đổi, Quy tắc chuyển đổi(một bảng các giá trị được khởi tạo như một phần của phiên trao đổi).

Thuật toán

Trong chương trình “Chuyển đổi dữ liệu”, phiên bản 3.0, có thể tạo các thuật toán tùy ý được gọi từ trình xử lý AML và PKPD. Tên, tham số và nội dung của thuật toán được xác định khi xây dựng quy tắc.

Tùy chọn

Điền vàoTham số chuyển đổi. Một quy trình xuất trong đó cấu trúc với các tham số chuyển đổi được điền vào. Tùy chọn: Tùy chọn chuyển đổi(kiểu - Kết cấu).

Các thủ tục và chức năng mục đích chung

Quá trình thực thiModuleProcedure. Tùy chọn: Tên thủ tục(đường kẻ), Tùy chọn(kết cấu). Một thủ tục xuất, nhằm mục đích gọi một thủ tục mô-đun không xuất, tên và các tham số của nó được nhận làm đầu vào. Cho phép bạn gọi một thủ tục hoặc hàm trên một dòng mà không cần sử dụng phương thức Hành hình.

Chức năng thực thiModule. Tùy chọn: Tên thủ tục(đường kẻ), Tùy chọn(kết cấu). Chức năng, mục đích tương tự Trình quản lý thực thiModuleThủ tục. Sự khác biệt là nó gọi một hàm và trả về giá trị của nó.

Những gì cần thiết để trao đổi dữ liệu tự động mà không cần thay đổi cấu hình:
1) Xử lý "Trao đổi dữ liệu chung ở định dạng XML", được bao gồm trong hầu hết các cấu hình tiêu chuẩn. Nếu nó không có ở đó thì có thể dễ dàng tìm thấy nó trên đĩa ITS hoặc trên Internet. Trong cấu hình, nó được gọi là "Trao đổi dữ liệu XML phổ quát"
2) Quy tắc trao đổi dữ liệu.Được tạo bằng cách sử dụng "Chuyển đổi dữ liệu". Một công việc mà bạn sẽ phải thành thạo. Ngoài ra còn có các khóa học và hướng dẫn bằng video. Ví dụ: http://programmist1s.ru/wp-content/uploads/2013/06/Konvertatsiya_dannyih._Metodika_rabotyi_i_primeryi.pdf
3) Xử lý bên ngoài, chứa các thủ tục xếp/dỡ hàng. Hãy bắt đầu tạo nó:
Quá trình xử lý bên ngoài được tạo trong mô-đun đối tượng sẽ chứa văn bản bên dưới (thay thế dữ liệu của bạn bằng cơ sở dữ liệu và người dùng). Nên tạo một người dùng riêng có toàn quyền trao đổi dữ liệu. Ví dụ: hãy gọi quá trình xử lý là "Data Exchange.epf".

Nếu LaunchParameter = "Tải lên" thì Đang xử lý=Processing.UniversalXMLDataExchange.Create(); //Đặt các tham số cần thiết để tải lên (tùy chọn để chỉnh sửa) Treatment.ExchangeMode="Upload"; Đang xử lý.LoadDataInExchangeMode=True; Đang xử lý.WriteRegistersRecordSets = True; Đang xử lý.RememberLoadedObjects=True; Đang xử lý.UseSelectionByDateForAllObjects=True; Đang xử lý.UploadOnlyAllowed=True; //!Đặt các tham số cần thiết để tải lên //Các tham số này phải được nạp lại BẮT BUỘC //Đặt các hạn chế tải lên theo ngày của đối tượng Đang xử lý.StartDate = CurrentDate() - 60*60*24*2; Đang xử lý.EndDate = "00010101"; //Nếu chúng ta muốn tải dữ liệu lên một tệp, hãy đặt nó thành Sai. Nếu đúng, nó sẽ được tải lên cơ sở dữ liệu nhận đang xử lý.DirectReadingVIBReceiver=True; // Nếu cơ sở dữ liệu nhận dữ liệu được tải lên là máy chủ thì Sai. Nếu tệp - True Treatment.InformationBaseForConnectionType=True; //!Các tham số bắt buộc đã được nạp lại //Nếu chúng tôi tải dữ liệu lên một tệp Nếu không xử lý.DirectReadingVIBReceiver thì xử lý.ExchangeFileName = "C:\Inbox\OlegA\Conversion\upload.xml"; // Nếu chúng tôi tải dữ liệu lên cơ sở dữ liệu Nếu không thì đang xử lý.PasswordInformationBaseForConnection="Admin"; Đang xử lý.ConnectionInfoBaseUser="supercool"; Đang xử lý.AuthenticationWindowsInformationBaseForConnection=False; // Nếu bộ thu dữ liệu là cơ sở máy chủ Nếu Đang xử lý.ConnectionInformationBaseType = Sai thì Đang xử lý.ConnectionInformationBaseServerName="MainServ"; Đang xử lý.InformationBaseNameOnServerForConnection="Buhia"; // Nếu người nhận dữ liệu là cơ sở dữ liệu tệp Nếu không thì đang xử lý.InformationBasePlatformVersionForConnection="V82"; Đang xử lý.InformationBaseDirectoryForConnection="C:\Inbox\OlegA\Clients\Zeus BP20\Zeus BP20"; endIf; endIf; //Các hành động đăng ký khi dỡ bỏ theo kế hoạch trao đổi Treatment.RegistrationDeletionTypeofChangesForExchangeNodesAfterUpload=0; // 0 - không hủy đăng ký, // 1 - hủy đăng ký Treatment.LoadExchangeRules(); //NẾU BẠN CẦN TẢI LÊN THEO KẾ HOẠCH TRAO ĐỔI, SAU ĐÓ KÍCH HOẠT KHỐI NÀY VÀ GỬI NÚT KẾ HOẠCH TRAO ĐỔI CỦA RIÊNG BẠN //Đối với mỗi trang từ Đang xử lý.UploadRulesTable.Lines Cycle //Page.Enable=1; // Đối với mỗi trang1 từ vòng lặp PageLine // Line1.Enable=1; // Page1.LinkToExchangeNode=ExchangePlans.Full. FindByCode("BP20"); //EndChu kỳ; //EndChu kỳ; Đang xử lý.Thực hiện tải lên(); ShutdownSystem(Sai); ElseIf LaunchParameter = "Tải" Sau đó ExchangeProcessing = Đang xử lý.UniversalXMLDataExchange.Create(); ExchangeProcessing.ExchangeFileName = "C:\Inbox\OlegA\Upload.xml"; ExchangeProcessing.ExchangeMode = "Đang tải"; ExchangeProcessing.OpenDownloadFile(True); ProcessExchange.ArchiveFile = Sai; ProcessExchange.PerformLoad(); ExchangeProcessing = Không xác định; ShutdownSystem(Sai); endIf;

4) Tải lên tập tin Bat, sẽ khởi chạy 1C và xử lý bên ngoài với tham số khởi chạy dưới quyền người dùng, nhằm mục đích trao đổi dữ liệu. Ví dụ: tệp phải được tạo bằng notepad++ với mã hóa OEM (MS-Dos), nếu không tệp sẽ không hoạt động. Hãy đặt tên tệp, ví dụ: "BatVygruz.bat". Văn bản sẽ như sau:

Nếu cơ sở dữ liệu là tập tin:
"C:\Program Files (x86)\1cv82\common\1cestart.exe" DOANH NGHIỆP /F"C:\Inbox\KBF\1Cv8_Base_8.1\Zeus 83 BP3\Zeus 83 BP3" /N"Robot trao đổi dữ liệu" /P "vượt qua" /DisableStartupMessages /RunMode ManagedApplication /Execute"C:\Inbox\OlegA\DataExchange.epf" /C"Tải lên"
Giải thích:

b) C:\Inbox\KBF\1Cv8_Base_8.1\Zeus 83 BP3\Zeus 83 BP3 - đường dẫn của bạn đến cơ sở dữ liệu tệp mà từ đó chúng tôi sẽ tải dữ liệu lên
c) Data Exchange Robot - Tên người dùng mà 1C sử dụng để trao đổi dữ liệu
d) pass - mật khẩu người dùng
e) /DisableStartupMessages - đóng các cửa sổ bật lên khi khởi động 1C
e) /RunModeOrdinaryApplication - chạy máy khách dày ở chế độ bình thường
g) C:\Inbox\OlegA\Data Exchange.epf - đường dẫn đến quá trình xử lý của chúng tôi, sẽ bắt đầu khi khởi động
h) Tải lên - chúng tôi chuyển tham số khởi chạy 1C, nó cho chúng tôi biết rằng chúng tôi cần tải lên dữ liệu

Nếu cơ sở dữ liệu dựa trên máy chủ:
"C:\Program Files (x86)\1cv82\common\1cestart.exe" DOANH NGHIỆP /S"Server1C/DataBase" /N"Robot trao đổi dữ liệu" /P"pass" /DisableStartupMessages /RunModeQuản lý ứng dụng /Execute"C:\Inbox\ Oleg\Data Exchange.epf" /C"Tải lên"
Giải thích:
a) C:\Program Files (x86)\1cv82\common\1cestart.exe - đường dẫn của bạn đến bộ khởi động 1C
b) Server1C/DataBase - máy chủ của bạn nơi đặt cơ sở dữ liệu và tên của chính cơ sở dữ liệu mà chúng tôi tải dữ liệu lên.
Các thông số còn lại tương tự như file version của file bat

5) Tải file Bat (nếu cần). Nếu bạn quyết định tải dữ liệu lên một tệp chứ không phải trực tiếp vào cơ sở dữ liệu. Sau đó chúng ta cũng sẽ cần mục này (thường là cần thiết).
Tạo file Bat tải cũng tương tự như file upload nhưng chỉ có thông số khởi chạy là khác, thay vì “Upload” ta đặt “Download”

6) Đặt lịch ra mắt tải/tải lên tập tin Bat của chúng tôi trên máy chủ. Để thực hiện việc này, bạn cần vào phần quản trị của bảng điều khiển trên máy chủ và trong bộ lập lịch tác vụ, tạo một tác vụ mới để chạy tệp tải xuống vào lúc 23 giờ hàng ngày và một tác vụ tải xuống chỉ định tệp tải xuống Bat (nếu cần thiết) vào lúc 04 giờ chẳng hạn.