Không tìm thấy sơ đồ chuyển đổi nào cho tài liệu. Cách tìm lỗi khi truyền dữ liệu

Sách giáo khoa Chuyển đổi dữ liệu 1C (bản 2) Quy tắc chuyển đổi đối tượng

Như chúng ta đã biết, quy tắc chuyển đổi đối tượng được sử dụng để khớp các đối tượng trong cấu hình nguồn và đích. Đương nhiên, quy tắc chỉ định đối tượng nguồn dữ liệu (nghĩa là lấy dữ liệu từ đâu) và đối tượng nhận dữ liệu (nghĩa là nơi truyền hoặc ghi dữ liệu).

Ngoài chúng, còn có một số tính chất mà chúng tôi sẽ cố gắng tiết lộ ý nghĩa của chúng.

Tìm kiếm đối tượng đích theo mã định danh nội bộ của đối tượng nguồn- cờ xác định tìm kiếm đối tượng trong bộ thu cho phiên bản nền tảng V8. Nếu cờ này được chọn thì việc tìm kiếm đối tượng để sửa đổi trong cơ sở dữ liệu người nhận sẽ được thực hiện bằng cách sử dụng mã định danh nội bộ (duy nhất) của đối tượng. Người dùng không nhìn thấy mã định danh này và chương trình duy trì tính duy nhất của các mã định danh trong cơ sở thông tin, sao cho không có hai đối tượng cơ sở thông tin nào có cùng mã định danh.

Tiếp tục tìm kiếm thông qua các trường tìm kiếm nếu mã định danh không tìm thấy đối tượng người nhận- cờ xác định tiếp tục tìm kiếm đối tượng trong cơ sở thông tin người nhận nếu việc tìm kiếm theo mã định danh duy nhất không dẫn đến kết quả tích cực.

Không thay thế các đối tượng hiện có trong bộ thu khi tải mà chỉ tạo các đối tượng mới và điền chúng *- cờ xác định liệu có cần thay đổi chi tiết đối tượng trong cơ sở thông tin người nhận hay không nếu đối tượng được tìm thấy thành công bằng mã định danh duy nhất hoặc bằng các trường tìm kiếm.

Không tạo đối tượng mới trong bộ thu nếu KHÔNG tìm thấy nó *- cờ xác định liệu một đối tượng mới có cần được tạo trong cơ sở thông tin người nhận hay không nếu nó không được tìm thấy bởi mã định danh duy nhất hoặc bởi các trường tìm kiếm.

Khi chuyển một đối tượng bằng tham chiếu, KHÔNG tạo đối tượng mới mà chỉ chuyển tham chiếu- cờ xác định liệu một đối tượng mới có cần được tạo trong cơ sở thông tin người nhận hay không nếu nó không được tìm thấy bởi mã định danh duy nhất hoặc bởi các trường tìm kiếm nếu đối tượng được truyền bằng tham chiếu. Nếu đối tượng không được tìm thấy và nó được tìm kiếm bởi một mã định danh duy nhất thì chỉ có liên kết đến đối tượng sẽ được chuyển (không có trường tìm kiếm - một liên kết). Nếu đối tượng được dỡ tải trực tiếp (nghĩa là không chỉ liên kết đến đối tượng bị dỡ tải mà còn tất cả các chi tiết của nó), thì cờ không ảnh hưởng gì cả.

Không dỡ bỏ các đối tượng thuộc tính nguồn thông qua các liên kết- cờ xác định xem có cần thiết phải dỡ bỏ tất cả các đối tượng mà đối tượng nguồn có liên kết hay không hoặc chỉ cần dỡ bỏ thông tin về các liên kết đến các đối tượng này là đủ. Giả sử bạn đang tải lên một cuốn sách tham khảo sản phẩm. Nếu PKO tương ứng không được chọn hộp kiểm này, thì ngoài mục đó, tất cả các đối tượng mà nó đề cập đến sẽ bị hủy tải. Nếu cờ được cắm, thì các đối tượng mà danh pháp đề cập đến sẽ không được tải xuống. Hãy thử chọn hộp này và xem tệp tải lên dữ liệu kết quả, sau đó xóa tệp đó và so sánh kết quả. Bạn sẽ nhanh chóng hiểu được ý nghĩa của nó.

Không nhớ đồ vật đã dỡ xuống- cờ xác định xem hệ thống có cần CACHE các đối tượng được dỡ tải cuối cùng khi dỡ tải hay không. Bộ nhớ đệm cho phép bạn tăng tốc quá trình tải lên và tải dữ liệu.

Sử dụng tìm kiếm đối tượng nhanh khi tải lên và tải- cờ xác định xem có nên sử dụng tìm kiếm nhanh các đối tượng để tải lên hay không. Sẽ rất hợp lý khi sử dụng nó cho một số lượng nhỏ mục nhập thư mục (số lượng mục nhập không quá 1000 phần tử). Hiệu quả đạt được nếu nhiều đối tượng được đặt cờ Không dỡ bỏ các đối tượng thuộc tính bằng cách tham chiếu. Với sơ đồ tải lên và tải dữ liệu này, tốc độ sẽ tăng lên nhiều lần.

Tự động tạo số hoặc mã nếu không được chỉ định- cờ xác định xem hệ thống có cần tự động tạo mã hoặc số đối tượng mới hay không nếu nó không được điền trước khi ghi.

Trao đổi trực tuyến

Dỡ bỏ một đối tượng (toàn bộ), chỉ khi có liên kết đến nó- cài đặt xác định trong trường hợp nào đối tượng phải được dỡ xuống. Nếu hộp kiểm được chọn, đối tượng sẽ được dỡ tải theo các quy tắc sau:

  1. Theo quy định về dỡ hàng, nếu một đồ vật đã được dỡ xuống thì dỡ đồ đó như cũ.
  2. Theo quy định về dỡ hàng, nếu đồ vật chưa được dỡ xuống thì chúng ta không dỡ hàng.
  3. Khi tải lên bằng liên kết tới một đối tượng, chúng tôi tải lên toàn bộ nội dung đó

Ví dụ: nếu bạn không cần chuyển toàn bộ mục từ IS này sang IS khác mà chỉ chuyển mục có liên kết đến đó thì hộp kiểm sẽ thực hiện.

Không thay thế một đối tượng được tạo trong cơ sở thông tin người nhận khi tải- cài đặt xác định xem có cần chuyển (trở lại) một đối tượng đã được tạo trong cơ sở thông tin mà trao đổi được tổ chức hay không. Nghĩa là, nếu một tài liệu được tạo trong cơ sở dữ liệu 1 và được nhập vào cơ sở thông tin 2 thông qua trao đổi, thì nó có được chuyển sang cơ sở dữ liệu 1 khi thay đổi trong cơ sở dữ liệu 2 không? sự sáng tạo của nó. Nghĩa là, những thay đổi trong cơ sở thông tin nơi đối tượng được tạo sẽ được phân phối ở mọi nơi và những thay đổi trong cơ sở dữ liệu khác không ảnh hưởng đến đối tượng này trong cơ sở dữ liệu 1.

Tải ưu tiên đối tượng- cài đặt xác định mức độ ưu tiên của đối tượng khi tải trong trường hợp có xung đột thay đổi. Giá trị mặc định và trong trường hợp giá trị trống là Trên. Nếu xảy ra xung đột, chương trình sẽ phân tích mức độ ưu tiên của đối tượng tải xuống. Chỉ khi mức độ ưu tiên của đối tượng tải xuống bằng Trên thì nó mới được ghi vào cơ sở thông tin của người nhận. Nếu mức độ ưu tiên là Same hoặc Below, chương trình sẽ ghi lại thông tin tương ứng về vụ va chạm vào cơ sở thông tin nhưng không thay đổi đối tượng.

Tùy chọn cài đặt trường tìm kiếm- một bảng với các tùy chọn có thể có để thiết lập các trường tìm kiếm cho người dùng. Trình thiết kế quy tắc xác định các kết hợp có thể có của các trường tìm kiếm mà người dùng có thể chọn khi thiết lập trao đổi. Tất cả cài đặt do nhà phát triển quy tắc chỉ định phải được xử lý trong mã xử lý “Trường tìm kiếm”. Biến SearchSettings trong trình xử lý xác định tùy chọn khớp do người dùng chọn (SettingNameForAlgorithm từ hàng trong bảng tương ứng). Nếu người dùng không chọn bất kỳ tùy chọn phù hợp nào hoặc không được cung cấp bất kỳ tùy chọn nào thì Cài đặt tìm kiếm sẽ là một chuỗi trống.

Trên tab "Nâng cao", bạn có thể chỉnh sửa tên của quy tắc, đưa quy tắc đó vào một nhóm cụ thể cũng như mô tả về quy tắc.

Chúc một ngày tốt lành, độc giả blog thân mến. Một bài viết về chuyển đổi đã được xuất bản trước đây trên trang này
, bài viết này cho thấy
cách bạn có thể thiết lập trao đổi bằng cách sử dụng các hàm tạo tạo quy tắc trao đổi.
Phương pháp này có thể được sử dụng khi chuyển đổi cơ sở dữ liệu từ 1C phiên bản 7.7 sang 8.2.
Bây giờ chúng ta sẽ nói về cách truyền dữ liệu giữa các cấu hình 1C 8.2, các cấu hình này hơi khác nhau một chút.

Trọng tâm chính của bài viết này sẽ là chuyển đổi phần dạng bảng của tài liệu, có nghĩa là
chúng tôi sẽ làm việc với quy tắc chuyển đổi nhóm thuộc tính - PKGS.

Chuẩn bị thiết lập PKGS - quy tắc chuyển đổi nhóm thuộc tính

Chúng tôi sẽ chuyển chứng từ “Biên lai hàng hóa, dịch vụ” có sự khác biệt về thuộc tính Thuế suất VAT của mục bảng “Hàng hóa”.
trong cơ sở dữ liệu nguồn và máy thu. Trong cơ sở dữ liệu nguồn, thuộc tính này có loại “DirectoryLink.VAT Rates”,
và trong cơ sở dữ liệu người nhận - loại “TransferLink.VAT Rates”.

Nhân tiện, để thuận tiện, bạn có thể định nghĩa

Ngoài ra, trong cơ sở dữ liệu người nhận, chúng ta cần điền chi tiết “Tài khoản BU”, cũng nằm ở
trong phần dạng bảng “Hàng hóa” của chứng từ “Biên nhận hàng hóa và dịch vụ”. Chúng tôi sẽ lấy dữ liệu để điền từ chi tiết “Tài khoản kế toán”.
sách tham khảo “Danh pháp” của cơ sở dữ liệu người nhận.

Tình hình phức tạp vì chúng ta sẽ làm việc với phần dạng bảng, vì vậy chúng ta cần định cấu hình
quy tắc chuyển đổi nhóm thuộc tính - PKGS. Chúng ta sẽ cần truy cập vào hàng hiện tại của phần dạng bảng.

Tạo quy tắc chuyển đổi cho nhóm thuộc tính 1C

Chúng tôi đã phát triển các quy tắc chuyển đổi cho tài liệu “Biên nhận hàng hóa và dịch vụ”.

Nhưng đối với phần bảng “Sản phẩm” thì không có quy định chuyển đổi tài sản“Thuế suất thuế GTGT”.
Bạn cần thêm quy tắc chuyển đổi thuộc tính mới bằng cách nhấp vào nút “Đồng bộ hóa thuộc tính…”.

Hộp thoại “Thiết lập quy tắc chuyển đổi tài sản (Nhận hàng hóa và dịch vụ)” sẽ xuất hiện.

Bạn cần lặp lại những gì đã được thực hiện trong hình ảnh và nhấp vào nút “OK”.

Mặc dù chúng tôi đã tạo quy tắc chuyển đổi cho một nhóm thuộc tính, nhưng nó vẫn chưa sẵn sàng.
Hãy nhớ rằng chi tiết của phần dạng bảng “Thuế suất VAT” khác nhau ở các loại giá trị.
Trong cơ sở dữ liệu nguồn, thuộc tính này có loại “DirectoryLink.VAT Rates”,
và trong cơ sở dữ liệu người nhận - loại “TransferLink.VAT Rates”. Chúng tôi đang thiếu một quy tắc ở đây
Chuyển đổi từ một thư mục sang một bảng liệt kê.

Trình xử lý sự kiện cho quy tắc chuyển đổi nhóm thuộc tính

Để định cấu hình chuyển đổi thuộc tính một cách chính xác, bạn cần tạo quy tắc chuyển đổi đối tượng mới.

Trong hộp thoại xuất hiện, chúng tôi cho biết rằng thư mục “Thuế suất VAT” được chuyển đổi thành giao dịch chuyển khoản có cùng tên.

Sẽ không có quy tắc chuyển đổi thuộc tính cho quy tắc này.
Do đó, khi lưu quy tắc này, hãy chọn “Không” trong hộp thoại xuất hiện.

Trong đoạn hội thoại với câu hỏi “Tạo quy tắc tải lên dữ liệu?” Chúng ta cũng hãy chọn “Không”.

Bằng cách nhấp đúp, chúng tôi sẽ mở hộp thoại thiết lập quy tắc chuyển đổi đối tượng (PKO) “Thuế suất VAT”.
Tại đây, trên tab “Trình xử lý sự kiện”, chọn sự kiện “Đang dỡ tải” và xác định “Nguồn” và
“Nút liên kết”, tức là những gì sẽ được chuyển giao.

Nếu Nguồn. Tỷ lệ = 0
LinkNode = "Giá thầu0" ;
Nguồn khác nếu. Cược = 12 Sau đó
NodeLinks = "Cược12" ;
Nguồn khác nếu. Tên = “chưa bao gồm VAT”
NodeLinks = "Không có VAT" ;
Hết Nếu ;

Sau khi viết trình xử lý, hãy nhấp vào nút “OK”.

Trong thông tin về người xử lý:

Nguồn - Đối tượng nguồn được tải lên tùy chỉnh (liên kết hoặc dữ liệu tùy chỉnh).
Nút liên kết - nút liên kết xml được khởi tạo. Có thể được sử dụng
ví dụ, để khởi tạo các thuộc tính của các đối tượng khác.

Bây giờ chúng tôi sẽ chỉ rõ cách sử dụng quy tắc chuyển đổi đối tượng này khi dỡ bỏ thuộc tính “Thuế suất VAT”.
Vào tab “Chuyển đổi tài sản (*)” của tài liệu “Biên nhận hàng hóa, dịch vụ” và mở chuyển đổi
nhóm thuộc tính “Sản phẩm”, nhấp đúp vào thuộc tính “Thuế suất VAT” và trong hộp thoại mở ra, trong trường “Quy tắc”
chọn quy tắc chuyển đổi cho đối tượng “Thuế suất GTGT”.

Nhấp vào nút “OK”.

Bây giờ chúng ta chỉ cần thiết lập các tài khoản kế toán phù hợp với các giá trị đã xác định cho mặt hàng.
Chúng ta hãy chuyển đến tab “Quy tắc chuyển đổi đối tượng”, tìm đối tượng “Biên nhận hàng hóa và dịch vụ” và
Nhấp đúp vào nó sẽ mở hộp thoại quy tắc chuyển đổi đối tượng (OCR).
Hãy chuyển đến tab “Trình xử lý sự kiện” cho sự kiện “Sau khi tải” và viết như sau:

Đối với mỗi LineTCH từ đối tượng. Chu kỳ sản phẩm
LineTC. Tài khoảnAccountBU = LineTC. Danh pháp. Tài khoảnTài khoảnBU;
Chu kỳ cuối;

Bây giờ, hãy tải các quy tắc này tại nguồn bằng cách sử dụng quy trình xử lý bên ngoài "Trao đổi dữ liệu chung ở định dạng XML" - "V8Exchan82.epf".
Hãy tải dữ liệu lên một tệp xml. Sau đó, mở quy trình xử lý tương tự trong cơ sở dữ liệu người nhận và chọn tệp xml tải lên và tải dữ liệu.

Nhân tiện, quá trình xử lý “Trao đổi dữ liệu chung ở định dạng XML” có thể được mở thông qua mục menu
"Dịch vụ" | "Trao đổi dữ liệu khác" | "Trao đổi dữ liệu phổ quát ở định dạng XML". Một chút đã được viết về điều này trong một ghi chú về.

Được biết, chương trình 1C là công cụ tự động hóa kế toán tiện lợi và đa chức năng, phù hợp với các doanh nghiệp thuộc nhiều ngành nghề, lĩnh vực hoạt động khác nhau. Tuy nhiên, công cụ này rất phức tạp và thật không may, nhiều loại lỗi thường phát sinh khi làm việc với nó. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách tìm và giải quyết lỗi xảy ra khi di chuyển dữ liệu bằng các quy tắc được tạo bởi Công nghệ chuyển đổi dữ liệu 2.0. Tôi nên làm gì nếu tải lên không thành công hoặc không thể tải dữ liệu vào cơ sở dữ liệu nhận? Bài viết của chúng tôi nhằm mục đích trả lời những câu hỏi này.

Vì vậy, nếu bạn đã mua các quy tắc chuyển đổi dữ liệu, mở quy trình xử lý để truyền, đặt tất cả cài đặt nhưng quá trình tải lên bị gián đoạn và thông báo lỗi xuất hiện trong thông báo dịch vụ thì đây là một số kỹ thuật có thể giúp bạn tìm và loại bỏ lỗi.

Trước hết, hãy kiểm tra các phiên bản phát hành của chương trình của bạn với những phiên bản được chỉ định trong quy tắc. Với một chút khác biệt giữa các phiên bản nguồn không có vấn đề gì phát sinh, nhưng nếu bản phát hành của bạn tụt hậu đáng kể so với các phiên bản mới nhất thì các quy tắc sẽ không hoạt động. Phiên bản cấu hình người nhận phải giống với quy định trong quy định.

Làm cách nào tôi có thể biết các quy tắc dành cho bản phát hành nào? Chỉ cần mở tệp quy tắc bằng bất kỳ trình soạn thảo nào (theo mặc định có thể là Internet Explorer hoặc Notepad) và xem các dòng đầu tiên - chúng chứa các phiên bản của nguồn và đích.

Hình.1. Xem quy tắc

Phải làm gì? Nếu bạn có cơ hội như vậy, hãy cập nhật chương trình nguồn lên bản phát hành được chỉ định trong quy tắc chuyển đổi. Nếu bạn không thể cập nhật chương trình thì bạn sẽ không thể làm việc với các quy tắc này.

Nhưng có lẽ bạn đã làm tất cả những điều này và quá trình tải lên vẫn xảy ra lỗi? Sau đó cố gắng tìm phần tử có vấn đề khiến chương trình không thể tải chính xác.

Chúng tôi sẽ trình bày thuật toán hành động khi tìm kiếm lỗi bằng ví dụ chuyển dữ liệu từ KA 1.1 sang BP 3.0.

Tiến hành như sau: vô hiệu hóa tất cả các quy tắc chuyển giao và dỡ bỏ từng nhóm quy tắc riêng lẻ. Những thứ kia. đầu tiên chỉ cố gắng dỡ tải Chính sách kế toán, vậy chỉ Số dư đến, chỉ một Thư mục vân vân. (Hình 2). Thông thường, các vấn đề phát sinh khi dỡ tài liệu, trong khi các loại đối tượng khác được dỡ bình thường, vì vậy hãy sử dụng ví dụ của chúng để xem xét các hành động tiếp theo. Bây giờ bạn cần lặp lại quá trình tải lên xen kẽ với từng quy tắc chuyển đổi tài liệu. Những thứ kia. lần lượt chỉ tải lên các báo cáo trước, chỉ tải lên thư tín dụng đã chuyển, v.v. theo danh sách, như trong Hình 3.

Hình 2. Bốc dỡ tuần tự các nhóm đối tượng

Hình 3. Đang tải từng loại đối tượng một

Vì vậy, giả sử rằng quá trình tải lên bị gián đoạn khi tất cả các quy tắc tải lên được chọn Tài liệu. Bạn upload lần lượt từng loại tài liệu, lần lượt rà soát từng vị trí và tính toán rằng lỗi chỉ xảy ra khi upload tài liệu lên, ví dụ như tài liệu Hoạt động (kế toán và kế toán thuế). Tiếp theo, bạn nên thu hẹp dần thời gian tải lên để tìm ra tài liệu có vấn đề. Đầu tiên, tải lên theo quý, tháng, tuần cho đến khi tìm được ngày tải lên không thành công.

Phải làm gì? Nếu bạn tìm được tài liệu cụ thể gây ra lỗi và bạn có thể biết vấn đề rất có thể là gì thì thật tuyệt. Sửa tài liệu nếu có thể hoặc đơn giản là không di chuyển nó - sửa một tài liệu sẽ dễ dàng hơn nhiều so với thực hiện toàn bộ quá trình di chuyển theo cách thủ công. Để thực hiện chuyển chỉ loại trừ một tài liệu, hãy sử dụng lựa chọn trong cửa sổ liền kề. Trong cột "Loại so sánh", đặt "Không bằng", trong "Giá trị", chọn tài liệu có vấn đề và tiếp tục tải lên như bình thường.

Hình 4. Chọn tài liệu khi tải lên

Được rồi, nhưng điều gì sẽ xảy ra nếu quá trình tải lên được hoàn thành chính xác nhưng dữ liệu không thể tải được vào cơ sở dữ liệu khác? Trước tiên, hãy dành thời gian và kiểm tra lại xem bạn đã làm đúng mọi thứ chưa và phiên bản chương trình có khớp hay không. Không giống như nguồn, phiên bản phát hành của bộ thu phải khớp hoàn toàn với phiên bản được chỉ định trong quy tắc, nếu không bạn sẽ luôn gặp lỗi.

Phải làm gì? Các lỗi ở giai đoạn tải thường chỉ có thể được sửa ở giai đoạn dỡ tải, do đó quy trình tìm kiếm sự cố sẽ giống như mô tả ở trên, chỉ có một ngoại lệ - sau mỗi lần dỡ hàng, cần phải lặp lại việc tải để tìm phần tử trong cơ sở dữ liệu nhận không được tải xuống. Thực hiện theo cùng một trình tự - trước tiên hãy di chuyển một nhóm chế độ xem đối tượng, sau đó là các chế độ xem cụ thể theo ngày cụ thể và cuối cùng loại bỏ mục có vấn đề đang ngăn cản việc tải thành công.

Khi quá trình xử lý tiêu chuẩn không thể thực hiện tải lên chính xác và quá trình dừng lại, thông báo lỗi luôn xuất hiện trong thông báo dịch vụ. Trong một số trường hợp, thực sự chỉ có thể tìm ra vị trí và nguyên nhân gây ra lỗi này bằng cách dỡ từng loại đối tượng khác nhau. Tuy nhiên, đây không phải là cách duy nhất. Thông thường nguyên nhân lỗi đã được nêu trong tin nhắn dịch vụ, bạn chỉ cần đọc chính xác là được.

Hãy xem ví dụ về việc dỡ hàng từ KA 1.1. Người dùng dỡ khỏi cơ sở dữ liệu nguồn Số dư đến vào đầu năm 2018. Quá trình dỡ tải bị gián đoạn và chương trình hiển thị một số thông báo dịch vụ, bao gồm:

Lỗi trong trình xử lý sự kiện BeforeProcessingUploadRules
PVD = Còn lại_Vật liệu
Trình xử lý = BeforeProcessingDataUpload
Mô tảErrors = Lỗi nhận giá trị thuộc tính đối tượng (theo tên thuộc tính nguồn)
PKO = Danh pháp (Thư mục: Danh pháp)
PKS = 15 (Bài viết --> Bài viết)
Đối tượng = Máy hàn biến tần VDI 160R (Tài sản cố định)
Người nhậnProperty = Bài viết(Chuỗi)
Mô tảErrors = Không tìm thấy trường đối tượng (Bài viết)
ModulePosition = Đang xử lý.UniversalXMLDataExchange.ObjectModule(8283)
Mã tin nhắn = 13
ModulePosition = Đang xử lý.UniversalXMLDataExchange.ObjectModule(1694)
Mã tin nhắn = 31

Người ta có thể vất vả dỡ từng loại số dư khác nhau (phần còn lại của tài sản cố định, số dư tài sản vô hình, v.v.) và phát hiện ra rằng lỗi xảy ra khi dỡ dỡ theo quy tắc Còn lại_Vật liệu. Hoặc bạn có thể thấy ngay tên của quy tắc trong thông báo lỗi. Hãy nhìn xem, dòng đầu tiên trong bản ghi lỗi trong thông báo đã nói chính xác điều này. DVP - quy tắc tải lên dữ liệu. Quy tắc tải lên dữ liệu bằng Remaining_Materials. Chúng ta không cần phải tìm kiếm bất cứ điều gì, chương trình sẽ tự cho bạn biết lỗi xảy ra ở đâu.

Cơm. 5.1. Thông báo lỗi dịch vụ

Chúng ta có thể dễ dàng tìm ra lý do. Trong dòng Mô tảLỗi bằng văn bản Không phải là một thông điệp rõ ràng cho người dùng. Tuy nhiên, chúng ta có thể hiểu rằng lỗi nằm ở một thuộc tính nào đó của đối tượng. Đối tượng gì? Cái được chỉ định trong dòng Một đối tượng trong tin nhắn này. Trong trường hợp này, đối tượng này là Máy hàn biến tần VDI 160R (Tài sản cố định). Tại thời điểm này, bạn có thể nhận thấy sự khác biệt. Quy tắc tải lên dữ liệu gọi điện Vật liệu còn sót lại, xếp hàng Quy tắc chuyển đổi đối tượng (OCR) bằng văn bản Danh pháp, tại sao loại đối tượng được viết là Tài sản cố định? Hãy nhìn vào cơ sở dữ liệu nguồn và kiểm tra xem chúng ta có thực sự tìm thấy đúng đối tượng hay không.

Trong số dư tài khoản 10.09 “Hàng tồn kho và đồ dùng gia đình” chúng tôi tìm thấy đối tượng có vấn đề - subconto Máy hàn biến tần VDI 160R(xem hình 5.2)

Cơm. 5.2. Bảng cân đối kế toán tài khoản 10.09 năm 2018

Nếu bạn mở subconto này, bạn có thể thấy ngay rằng Máy hàn biến tần VDI 160R thực sự là một công cụ cơ bản, không phải là một danh pháp (xem Hình 5.3). Những gì còn sót lại Máy hàn biến tần VDI 160R hóa ra đó là một lỗi hoàn toàn rõ ràng trên tài khoản 10.09 cần được sửa.

Cơm. 5.3. Thẻ tài sản cố định Máy hàn biến tần VDI 160R

Lỗi dỡ tải trong trường hợp này xảy ra do loại đối tượng không chính xác. Theo nguyên tắc dỡ vật liệu thừa thì phải dỡ Danh pháp- nguyên vật liệu, nhiên liệu, hàng tồn kho, v.v. Những đối tượng đó có một bộ thuộc tính nhất định, được chuyển sang cơ sở dữ liệu khác theo quy tắc chuyển đổi. Đối với các đối tượng có kiểu Vấn đề chính tập hợp các thuộc tính sẽ hoàn toàn khác nhau. Không có cách nào để dỡ một vật thể như vậy theo quy tắc dỡ vật liệu. Chương trình xác định đối tượng là Danh pháp nhưng không tìm thấy các thuộc tính cần thiết trong đó và do đó, không thể chuyển đổi nó để ghi vào tệp. Đây là những gì tin nhắn nói Lỗi nhận giá trị thuộc tính đối tượng (theo tên thuộc tính nguồn).

Trong ví dụ này, vấn đề có thể được giải quyết khá dễ dàng - trong quy tắc của chúng tôi có một tham số Không dỡ số dư nếu số lượng bằng 0. Khi nó được cài đặt, số dư có số lượng bằng 0 sẽ không được dỡ xuống. Như bạn có thể thấy trong bảng cân đối kế toán được trình bày ở Hình 5.2, số dư của tiểu mục này không có số lượng, tức là. dư lượng có vấn đề này có thể được loại bỏ dễ dàng bằng cách sử dụng tham số đã chỉ định.

Trong các trường hợp khác, khi không có cách nào để loại trừ một đối tượng bằng bộ lọc hoặc tham số, người dùng sẽ phải sửa lỗi trong cơ sở dữ liệu nguồn trước khi di chuyển dữ liệu.

Một ví dụ về một lỗi.

Hãy xem ví dụ về một lỗi khác được phát hiện trong quá trình truyền dữ liệu.

Khi cố gắng tải tài liệu lên lần đầu tiên, người dùng đã thấy dòng chữ sau trong thông báo hệ thống. Thông báo lỗi cho phép chúng ta bỏ qua cơ chế tìm kiếm khi xảy ra lỗi và chuyển sang sửa lỗi. Những thông báo như vậy không phải lúc nào cũng xuất hiện và đôi khi bạn vẫn phải tìm kiếm lỗi bằng phương pháp tải từng cái một. Chúng tôi đã thảo luận về cách đọc một tin nhắn như vậy ở trên.

Hình.6.1. Thông báo lỗi

Vì vậy, chính chương trình cho chúng tôi biết tài liệu có vấn đề - đây là Hóa đơn cho người mua IPBP-000008, có nghĩa là chúng tôi ngay lập tức truy cập tài liệu và cố gắng tìm hiểu lỗi là gì.

Như bạn có thể thấy trong Hình 6.2, trong tài liệu này, trong phần dạng bảng “Hàng hóa và Dịch vụ” ở một trong các hàng, nhóm mặt hàng được đặt chứ không phải bản thân mặt hàng đó, bản thân nó là một lỗi. Tất nhiên, các quy tắc chuyển đổi cho tài liệu này không chỉ định cách chuyển đổi một đối tượng từ phần bảng này nhóm danh pháp, đây là một phần tử thuộc loại hoàn toàn khác với chính nó danh pháp và chương trình không có thông tin về cách di chuyển một phần tử ngoài những gì được chỉ định trong quy tắc. Do đó, quá trình chuyển đổi không nhận ra nó, không thể chuyển đổi nó và gây ra lỗi.

Hình.6.2. Tài liệu có lỗi

Làm thế nào và tại sao điều này được thành lập không khiến chúng tôi quan tâm vào lúc này. Chúng tôi quyết định không di chuyển tài liệu, có nghĩa là chúng tôi loại trừ nó khỏi danh sách các đối tượng được di chuyển. Tìm quy tắc tải lên tài liệu Hoá đơn thanh toán cho người mua, chọn nó, đi đến phần lựa chọn, đặt Trường - Liên kết, Loại so sánh - Không bằng, Giá trị - tài liệu vấn đề của chúng tôi. Vì vậy, chúng tôi sẽ loại tài liệu này khỏi danh sách các đối tượng được chuyển và quá trình tải lên sẽ diễn ra bình thường.

Hình.6.3. Đặt tùy chọn để loại trừ tài liệu

Sau đó, bạn có thể tiếp tục tải lên theo cách thuận tiện cho mình - chuyển tất cả tài liệu cùng một lúc hoặc chỉ chuyển Hóa đơn để thanh toán, ngoại trừ tài liệu tìm thấy, sau đó chuyển phần còn lại - có thể là bất kỳ thứ tự truyền dữ liệu nào.

Cần lưu ý ở đây rằng khả năng lựa chọn đối tượng tồn tại trong quá trình xử lý Trao đổi dữ liệu XML chung không phải trong tất cả các cấu hình điển hình. Chính xác hơn, chức năng như vậy không có trong chế độ ứng dụng được quản lý. Đặc biệt, trong cấu hình điển hình Tự động hóa tích hợp rev.1.1 bạn có thể làm việc cả ở chế độ ứng dụng thông thường và ở chế độ ứng dụng được quản lý, hoặc như người ta cũng nói, ở chế độ biểu mẫu được quản lý. Trong trường hợp đầu tiên, có thể thực hiện các lựa chọn trong xử lý tiêu chuẩn (xem Hình 4), trong trường hợp thứ hai thì không. Sau đó, bạn cần sử dụng các phiên bản xử lý đã sửa đổi (xem Hình 6.3). Nếu cấu hình được sử dụng ở chế độ tương thích nền tảng 8.2 (điều này đặc biệt KA 1.1UPP 1.3), thì việc xử lý là cần thiết Trao đổi dữ liệu XML chung phiên bản 2.1.7 . Nếu chế độ tương thích không được sử dụng, chẳng hạn như trong cấu hình Kế toán doanh nghiệp phiên bản 3.0, thì bạn cần phải làm việc với việc xử lý phiên bản 2.1.8 . Các phương pháp điều trị này cũng có các khả năng bổ sung để điền vào các lựa chọn từ sổ nhật ký (chi tiết hơn), vì vậy chúng không được bao gồm trong tất cả các tùy chọn giao hàng, nhưng chúng luôn có thể được mua dưới dạng một phần của gói được đánh dấu là với sự lựa chọn theo lịch sử cuộc sống, hoặc riêng biệt.

Nói chung, quá trình tìm kiếm và loại bỏ lỗi xảy ra trong quá trình truyền dữ liệu 1C trông như thế nào.

Bạn có thể tìm thấy các tài liệu hữu ích khác trong phần Bài viết hoặc trang web chính của chúng tôi.

© Anna Balyasnikova, những thay đổi cuối cùng vào tháng 4 năm 2018

Mục đích của quy tắc trao đổi này là chuyển số dư trên các khoản thanh toán chung từ BP 2 sang UT11.

Tạo quy tắc trao đổi từng bước bằng cách sử dụng cấu hình "Chuyển đổi dữ liệu" (phải tải siêu dữ liệu):

1) Tạo quy tắc tải lên một đối tượng; để làm điều này, hãy chuyển đến tab “Quy tắc tải lên dữ liệu”, nhấp vào thêm. Trong cửa sổ xuất hiện, chọn đối tượng mẫu; đây sẽ là sổ đăng ký tự hạch toán. Chúng tôi thay đổi phương pháp lấy mẫu thành một thuật toán tùy ý.

2) Hãy chuyển sang viết mã vì Ở UT không có sổ đăng ký tự hạch toán nên chúng ta phải chuyển đổi nó. Đầu tiên, chúng ta cần một truy vấn, theo các tham số của chúng ta, sẽ trả về số dư cho các quyết toán chung. Trong trình xử lý sự kiện "Trước khi xử lý", chúng tôi viết yêu cầu sau:

QueryText = "CHỌN
| Số dư tự hỗ trợ.Tài khoản,
| Tự hỗ trợRemainings.Subconto1 AS Subconto1,
| ISNULL(SUM(Self-AccountingRemaining.AmountRemainingDt),0) AS Số tiền còn lạiDt,
| ISNULL(SUM(Self-countingRemains.AmountRemainingCt),0) AS Số tiền còn lạiCt,
| TỐI ĐA(Số dư kế toán chi phí.Tài khoản phụ2.Ngày) NHƯ Ngày thanh toán Tài liệu,
| MAXIMUM(Số dư tự hạch toán.Subaccount2.Number) NHƯ Số chứng từ kế toán
|TỪ
| Sổ đăng ký kế toán. Tự hỗ trợ. Số dư (&OnDate, Tài khoản = &tài khoản,) NHƯ Số dư tự hỗ trợ
|ĐÂU
<>&nhóm và
| Số dư tự hỗ trợ Tài khoản phụ 1. Tài khoản gốc<>&nhóm 1
|NHÓM THEO
| Số dư tự hỗ trợ.Tài khoản,
| Số dư tự hỗ trợ Tài khoản phụ 1,
| Tự hỗ trợRemains.Subconto2
| ĐẶT HÀNG THEO
| Subconto1
|ĐẶT HÀNG TỰ ĐỘNG";

Nhiệm vụ của tôi là giới hạn các nhóm đối tác được tải lên các thỏa thuận chung.

Chúng tôi xác định giá trị của các biến sẽ được sử dụng trong tương lai.

OnDate = ngày ("20130101");
TD = Ngày hiện tại();
nhóm = Directory.Counterparties.FindByName("Người mua");
group1 = Thư mục.Đối tác.Tìm theo tên("Trả về từ CÁ NHÂN");

Chúng tôi tạo một bảng mà sau này chúng tôi sẽ chuyển sang quy tắc chuyển đổi giá trị.

TZ = Bảng giá trị mới();
TK.Columns.Add("Đối tác");
TK.Columns.Add("Số tiền");
TK.Columns.Add("Số lượngREGLE");
TK.Columns.Add("Tài liệu tính toán");
TK.Columns.Add("Ngày thanh toán tài liệu");
TK.Columns.Add("Số tài liệu quyết toán");
TK.Columns.Add("Đối tác");
TK.Columns.Add("Đồng tiền thanh toán lẫn nhau");
TK.Columns.Add("Ngày thanh toán");

Chúng tôi đặt tham số, gọi yêu cầu, điền vào bảng và gọi quy tắc chuyển đổi.

yêu cầu = Yêu cầu mới (RequestText);
request.SetParameter("group", group);request.SetParameter("group1",group1);
request.SetParameter("OnDate",OnDate);
request.SetParameter("Tài khoản", Sơ đồ tài khoản. Tự hạch toán. Tính toán với các nhà cung cấp và nhà thầu khác);//76.05
Tìm nạp = request.Run().Select();
TZ.clear();
Trong khi vòng lặp Select.Next()
nếu Sample.SumRemainingCT = 0 hoặc Sample.SumRemainingCT = "" thì
Tiếp tục;
cuối cùng;
nếu Sample.AmountRemainderCT< 0тогда
report(""+Sample.Subconto1+" giá trị âm "+Sample.SumRemainingCT);
cuối cùng;
LineTZ = TZ.Add();
Dòng TK.Counterparty = Selection.Subconto1;
LineTZ.sum = Selection.SumRemainingCT;//Selection.SumRemainingCT;
LineTZ.sumRegl = Sampling.SumRemainingCT;//Sampling.SumRemainingCT;
Dòng TK.Ngày lập tài liệu tính toán = Ngày lựa chọn tài liệu tính toán;
Dòng TK.Số tài liệu tính toán = Số tài liệu lựa chọn.Tính toán;
LineTZ.PaymentDate = TD;
Chu kỳ cuối;
OutData = Cấu trúc mới;
OutendingData.Insert("Date", CurrentDate());
OutendingData.Insert("Tính toánWithPartners", TK);
OutendingData.Insert("Loại hoạt động", "Số dư nợ đối với nhà cung cấp");
OutendingData.Insert("Nhận xét", "Được tạo trên tín dụng tài khoản 76,05");
report("76.05 TÍN DỤNG bắt đầu");
UploadByRule(, OutendingData, "Đầu vào số dư để thanh toán lẫn nhau_7605Credit");

Tương tự, chúng tôi thực hiện thao tác tương tự cho các tài khoản cần thiết còn lại (mô tả của chúng cũng như quy tắc tạo sẵn có trong tệp đính kèm).

3) Hãy chuyển sang tạo quy tắc chuyển đổi đối tượng; để thực hiện việc này, hãy mở tab “Quy tắc chuyển đổi đối tượng”. Hãy thêm quy tắc mới ở đó với tên "Số dư đầu vào theo thỏa thuận thanh toán lẫn nhau_7605Credit", để trống đối tượng nguồn, đặt đối tượng người nhận thành tài liệu "Nhập số dư" và trên tab cài đặt, xóa cờ "Tìm kiếm đối tượng người nhận theo mã định danh nội bộ của đối tượng nguồn".

Trong trình xử lý sự kiện "Trước khi tải", chúng tôi sẽ viết đoạn mã sau:

Tạo NewNumberOrCodeIfNotSpecified = true;

Trong trình xử lý sự kiện "Sau khi tải", chúng tôi sẽ viết:

thực thi (thuật toán.AfterLoadInputRemainings);

nó sẽ thực thi một thuật toán có nội dung sau:

tiền tệ = Hằng số.RegulatedAccountingCurrency.Get();
object.Owner = SessionParameters.CurrentUser;
object. Organisation=parameters. Organisation;
cho mỗi trang từ vòng lặp object.computerspartners
Trang.Tài liệu thanh toán = Thư mục.Thỏa thuận đối tác.liên kết trống();
TrangCurrencySettlements = tiền tệ;
nếu ValueFilled(page.counterparty.partner) thì
p.partner = p.counterparty.partner;
nếu không thì
đối tác = Directory.Partners.FindByName(page.counterparty.Name);
nếu bàn làm việc<>Không xác định và bàn làm việc<>Directory.Partners.emptylink() rồi
p.đối tác = bàn;

object2.Partner = bàn;
object2.Write();
nếu không thì
thực thi (thuật toán.AddPartner);
cuối cùng;

cuối cùng;

kết thúc chu kỳ;

Thuật toán này sẽ được thực thi ở phía bên nhận (BP). Ngoài việc chuyển số dư để thanh toán chung còn có nhiệm vụ chuyển đối tác nhưng UT sử dụng đối tác nên sau khi tạo tài liệu, chúng tôi kiểm tra xem tất cả các đối tác và đối tác có trong cơ sở dữ liệu người nhận hay không; nếu vì lý do nào đó mà họ không có ở đó , sau đó chúng tôi thêm chúng.

Việc thêm nhà thầu sẽ thực hiện quy tắc chuyển đổi cho thư mục “Đối tác”, bạn có thể tạo quy tắc tương tự như quy tắc trước nhưng cho phép hệ thống so sánh các trường cần thiết.

Một thuật toán được tạo cho các đối tác được thực thi ở phía người nhận.

Để thực thi thuật toán ở phía người nhận, bạn cần kiểm tra cờ “Được sử dụng khi tải” ở góc trên bên phải của cửa sổ thuật toán (khi chỉnh sửa nó).

Dưới đây là mã cho thuật toán "Thêm đối tác":

nPartner = Directory.Partners.CreateItem();
nPartner.Name = page.counterparty.name;
nPartner.Comment = "Được tạo khi tải từ BP";
nPartner.NameFull = page.counterparty.NameFull;
nPartner.Supplier = ?(find(page.counterparty.AdditionalInformation,"Supplier")>0,true,false);
nPartner.Client = ?(find(page.counterparty.AdditionalInformation,"Client")>0,true,false);
OtherRelations = ?(find(page.counterparty.AdditionalInformation,"Other")>0,true,false);
npartner.Write();
p.partner = npartner.link;
đối tác = Directory.Counterparties.FindByName(page.counterparty.Name);
object2 = đối tác.GetObject();
object2.Partner = npartner.link;
object2.Write();

Hãy quay lại quy tắc chuyển đổi đối tượng. Bây giờ chúng ta cần thiết lập sự tương ứng giữa trường nguồn và trường đích; điều này có thể được thực hiện ngay trước khi viết mã. Để so sánh các trường, ở phần bảng bên dưới có một nút để gọi trình hướng dẫn “Đồng bộ hóa thuộc tính”. Trong trình hướng dẫn này, chúng ta có thể ánh xạ các trường hoặc để cả hai trường mà không có nguồn và không có đích. Trong trường hợp của chúng tôi, chúng tôi để lại tất cả các trường và PM mà không có nguồn.

Sau khi các trường bắt buộc đã được chọn trong TC thấp hơn, đối với mỗi trường, chúng tôi đặt cờ trong cột “Nhận từ dữ liệu đến”. Cờ này cho biết hệ thống sẽ tìm kiếm trường này trong dữ liệu đến. Điều quan trọng là tên trường phải khớp với tên trong dữ liệu đến, nếu không, một thông báo sẽ hiển thị cho biết không tìm thấy trường.

Văn bản không mô tả tất cả các sắc thái của quá trình.

Di chuyển dữ liệu giữa các cấu hình khác nhau không phải là một nhiệm vụ tầm thường. Như mọi khi, có một số giải pháp, nhưng không phải tất cả chúng đều tối ưu. Hãy cố gắng hiểu các sắc thái của việc truyền dữ liệu và chọn một chiến lược chung để giải quyết những vấn đề đó.

Vấn đề di chuyển dữ liệu (chúng ta đang nói thuần túy về các sản phẩm của công ty 1C) từ giải pháp này sang giải pháp khác đã không xảy ra ngày hôm qua. Công ty 1C hiểu rất rõ những khó khăn mà các nhà phát triển gặp phải khi tạo di chuyển, vì vậy, công ty cố gắng trợ giúp bằng mọi cách có thể bằng các công cụ.

Trong quá trình phát triển nền tảng, công ty đã giới thiệu một số công cụ phổ quát cũng như các công nghệ giúp đơn giản hóa việc truyền dữ liệu. Chúng được tích hợp vào tất cả các giải pháp tiêu chuẩn và vấn đề di chuyển giữa các cấu hình giống hệt nhau nói chung đã được giải quyết. Chiến thắng một lần nữa được khẳng định bằng sự tích hợp chặt chẽ các giải pháp tiêu chuẩn.

Với việc di chuyển giữa các giải pháp không chuẩn, tình hình có phần phức tạp hơn. Nhiều lựa chọn công nghệ cho phép các nhà phát triển độc lập lựa chọn cách tối ưu để giải quyết vấn đề theo quan điểm của họ.

Hãy xem xét một số trong số họ:

  • trao đổi qua tập tin văn bản;
  • sử dụng các kế hoạch trao đổi;
  • vân vân.

Mỗi người trong số họ đều có ưu và nhược điểm riêng. Tóm lại, nhược điểm chính sẽ là tính dài dòng của nó. Việc triển khai độc lập các thuật toán di chuyển sẽ tốn nhiều chi phí thời gian đáng kể cũng như quá trình gỡ lỗi lâu dài. Tôi thậm chí không muốn nói về việc hỗ trợ thêm cho những quyết định như vậy.

Sự phức tạp và chi phí hỗ trợ cao đã thúc đẩy công ty 1C tạo ra một giải pháp phổ quát. Các công nghệ giúp đơn giản hóa việc phát triển và hỗ trợ di chuyển nhiều nhất có thể. Kết quả là ý tưởng đã được triển khai dưới dạng một cấu hình riêng – “Chuyển đổi dữ liệu”.

Chuyển đổi dữ liệu - giải pháp tiêu chuẩn, cấu hình độc lập. Bất kỳ người dùng nào có đăng ký “ITS:Prof” đều có thể tải xuống gói này hoàn toàn miễn phí từ trang web hỗ trợ người dùng hoặc đĩa ITS. Việc cài đặt được thực hiện theo cách tiêu chuẩn - giống như tất cả các giải pháp tiêu chuẩn khác từ 1C.

Bây giờ một chút về những lợi thế của giải pháp. Hãy bắt đầu với điều quan trọng nhất - tính linh hoạt. Giải pháp không được điều chỉnh cho phù hợp với cấu hình/phiên bản nền tảng cụ thể. Nó hoạt động tốt như nhau với cả cấu hình tiêu chuẩn và tùy chỉnh. Các nhà phát triển có công nghệ phổ quát và cách tiếp cận được tiêu chuẩn hóa để tạo ra các hoạt động di chuyển mới. Tính linh hoạt của giải pháp cho phép bạn chuẩn bị di chuyển ngay cả đối với các nền tảng không phải 1C:Enterprise.

Điểm cộng lớn thứ hai là phương tiện trực quan. Di chuyển đơn giản được tạo ra mà không cần lập trình. Vâng, vâng, không có một dòng mã nào! Chỉ riêng điều này thôi, đáng để dành thời gian tìm hiểu công nghệ một lần và sau đó sử dụng các kỹ năng vô giá nhiều lần.

Ưu điểm thứ ba tôi cần lưu ý là không có hạn chế về phân phối dữ liệu. Nhà phát triển tự mình chọn phương thức truyền dữ liệu đến cấu hình máy thu. Có hai tùy chọn sẵn có: tải lên tệp xml và kết nối trực tiếp tới cơ sở thông tin (COM/OLE).

Học kiến ​​trúc

Chúng ta đã biết rằng việc chuyển đổi dữ liệu có thể mang lại hiệu quả kỳ diệu nhưng vẫn chưa hoàn toàn rõ ràng những lợi thế kỹ thuật là gì. Điều đầu tiên bạn cần hiểu là mọi hoạt động di chuyển (chuyển đổi) dữ liệu đều dựa trên các quy tắc trao đổi. Quy tắc trao đổi là một tệp xml thông thường mô tả cấu trúc mà dữ liệu từ bảo mật thông tin sẽ được tải lên. Quá trình xử lý dịch vụ tải lên/tải xuống dữ liệu sẽ phân tích các quy tắc trao đổi và thực hiện tải lên dựa trên chúng. Trong quá trình tải, quá trình ngược lại xảy ra.

Cấu hình “CD” là một loại công cụ xây dựng trực quan mà nhà phát triển có thể tạo ra các quy tắc trao đổi. Nó không biết cách tải dữ liệu. Việc xử lý dịch vụ bên ngoài bổ sung có trong gói phân phối CD chịu trách nhiệm cho việc này. Có một số trong số chúng (XX trong tên tệp là số phiên bản nền tảng):

  • MDXXExp.epf- quá trình xử lý cho phép bạn tải mô tả cấu trúc cơ sở thông tin lên tệp xml. Mô tả cấu trúc được tải vào đĩa CD để phân tích sâu hơn và tạo ra các quy tắc trao đổi.
  • V8ExchanXX.epf- tải lên/tải xuống dữ liệu từ cơ sở thông tin theo quy tắc trao đổi. Trong hầu hết các cấu hình thông thường, quá trình xử lý được thực hiện ngay lập tức (xem mục menu “Dịch vụ”). Quá trình xử lý mang tính phổ biến và không bị ràng buộc với bất kỳ cấu hình/quy tắc cụ thể nào.

Được rồi, bây giờ, dựa trên tất cả những điều trên, hãy xác định các giai đoạn phát triển một chuyển đổi mới:

  1. Định nghĩa nhiệm vụ. Cần phải hiểu rõ ràng dữ liệu nào cần được chuyển (từ đối tượng cấu hình nào) và quan trọng nhất là chuyển dữ liệu đó đến đâu.
  2. Chuẩn bị các mô tả về cấu trúc cấu hình (Nguồn/Sink) để tải vào đĩa CD sau này. Sự cố được giải quyết bằng cách xử lý dịch vụ MDXXExp.epf.
  3. Đang tải các mô tả cấu trúc đã chuẩn bị sẵn vào bảo mật thông tin.
  4. Tạo quy tắc trao đổi bằng công cụ CD trực quan.
  5. Thực hiện tải lên/tải xuống theo quy tắc chuyển đổi dữ liệu đã tạo bằng cách xử lý V8ExchanXX.epf.
  6. Gỡ lỗi quy tắc trao đổi (nếu cần).

Chuyển đổi đơn giản nhất

Để trình diễn, chúng tôi sẽ cần hai cấu hình được triển khai. Tôi quyết định chọn tùy chọn: “Quản lý thương mại” ấn bản thứ 10 và một giải pháp nhỏ viết tại nhà. Nhiệm vụ sẽ là truyền dữ liệu từ cấu hình “UT” tiêu chuẩn. Để ngắn gọn, hãy gọi giải pháp tự viết là “Chìm” và quản lý thương mại là “Nguồn”. Hãy bắt đầu giải quyết vấn đề bằng cách chuyển các phần tử từ thư mục “Danh pháp”.

Trước hết, chúng ta hãy xem sơ đồ chuyển đổi dữ liệu và đọc lại danh sách các hành động cần thực hiện. Sau đó, chúng tôi khởi chạy cấu hình “Nguồn” và mở quá trình xử lý dịch vụ MD82Exp.epf trong đó.

Giao diện xử lý không có nhiều cài đặt. Người dùng chỉ cần chỉ ra các loại đối tượng siêu dữ liệu sẽ không có trong mô tả cấu trúc. Trong hầu hết các trường hợp, những cài đặt này không cần phải thay đổi vì Không có điểm cụ thể nào trong việc dỡ bỏ các chuyển động bằng cách sử dụng các thanh ghi tích lũy (làm ví dụ).

Sẽ đúng hơn nếu thực hiện chuyển động khi cầm tài liệu trong hộp đựng. Tất cả các chuyển động sẽ được thực hiện bởi chính tài liệu sau khi chuyển. Đối số thứ hai bảo vệ cài đặt mặc định là việc giảm kích thước tệp khi tải lên.

Một số tài liệu (đặc biệt là trong cấu hình tiêu chuẩn) tạo ra các chuyển động trên nhiều thanh ghi. Việc dỡ bỏ tất cả nội dung này sẽ làm cho tệp XML thu được quá lớn. Điều này có thể làm phức tạp thêm việc vận chuyển và chất hàng vào đế máy thu sau này. Tệp dữ liệu càng lớn thì càng cần nhiều RAM để xử lý. Trong quá trình thực hành, tôi đã có cơ hội gặp phải những tệp tải lên có dung lượng lớn không đứng đắn. Những tệp như vậy hoàn toàn từ chối phân tích cú pháp bằng các công cụ tiêu chuẩn.

Vì vậy, chúng tôi để lại tất cả các cài đặt mặc định và tải mô tả cấu hình lên một tệp. Chúng tôi lặp lại một thủ tục tương tự cho cơ sở thứ hai.

Mở đĩa CD và chọn trong menu chính “Thư mục” -> “Cấu hình”. Thư mục lưu trữ các mô tả về cấu trúc của tất cả các cấu hình có thể được sử dụng để tạo chuyển đổi. Chúng tôi tải mô tả cấu hình một lần và sau đó chúng tôi có thể sử dụng mô tả đó nhiều lần để tạo các chuyển đổi khác nhau.

Trong cửa sổ thư mục, nhấp vào nút “ Thêm vào” và trong cửa sổ xuất hiện, hãy chọn tệp mô tả cấu hình. Chọn hộp kiểm “Tải vào cấu hình mới” và nhấp vào nút “Tải”. Chúng tôi thực hiện các hành động tương tự với mô tả cấu trúc của cấu hình thứ hai.

Bây giờ bạn đã sẵn sàng để tạo quy tắc trao đổi. Trong menu CD chính, chọn “Thư mục” -> “Chuyển đổi”. Thêm một phần tử mới. Trong cửa sổ tạo chuyển đổi mới, bạn cần chỉ định: cấu hình nguồn (chọn UT) và cấu hình đích (chọn “Bộ thu”). Tiếp theo, mở tab “Nâng cao” và điền vào các trường sau:

  • tên tệp quy tắc trao đổi - quy tắc trao đổi đã tạo sẽ được lưu dưới tên này. Bạn có thể thay đổi tên file bất cứ lúc nào nhưng tốt nhất nên đặt ngay bây giờ. Điều này sẽ tiết kiệm thời gian trong tương lai. Tôi đặt tên cho các quy tắc cho ví dụ demo là: “rules-ut-to-priemnik.xml”.
  • tên - tên của chuyển đổi. Tên hoàn toàn có thể là bất cứ thứ gì, tôi giới hạn bản thân ở “Demo. UT tới người nhận.”

Thế là xong, nhấp vào “Ok”. Ngay lập tức một cửa sổ xuất hiện trước mặt chúng tôi yêu cầu chúng tôi tự động tạo tất cả các quy tắc. Việc đồng ý với lời đề nghị hấp dẫn như vậy sẽ cung cấp cho chủ sở hữu lệnh tự động phân tích mô tả của các cấu hình đã chọn và tạo ra các quy tắc trao đổi một cách độc lập.

Hãy chấm chữ “i” ngay thôi. Trình hướng dẫn sẽ không thể tạo ra bất cứ điều gì nghiêm trọng. Tuy nhiên, khả năng này không nên được giảm giá. Nếu cần thiết lập trao đổi giữa các cấu hình giống hệt nhau thì dịch vụ của chuyên gia sẽ rất hữu ích. Đối với ví dụ của chúng tôi, chế độ thủ công là thích hợp hơn.

Chúng ta hãy xem xét kỹ hơn cửa sổ “Cài đặt quy tắc trao đổi”. Giao diện có vẻ hơi khó hiểu - một số lượng lớn các tab chứa đầy các điều khiển. Trên thực tế, mọi thứ không quá khó khăn, bạn bắt đầu quen với sự điên rồ này sau vài giờ làm việc với ứng dụng.

Ở giai đoạn này, chúng tôi quan tâm đến hai tab: “Quy tắc chuyển đổi đối tượng” và “Quy tắc tải lên dữ liệu”. Đầu tiên, chúng ta phải định cấu hình các quy tắc khớp, tức là. so sánh các đối tượng của hai cấu hình. Vào ngày thứ hai, hãy xác định các đối tượng có thể có để người dùng tải lên.

Ở nửa sau của tab “Quy tắc chuyển đổi đối tượng” có một bảng bổ sung với hai tab: “Chuyển đổi thuộc tính” và “ Chuyển đổi giá trị" Cái đầu tiên sẽ chọn các thuộc tính (chi tiết) của đối tượng đã chọn và cái thứ hai là cần thiết để làm việc với các giá trị được xác định trước (ví dụ: các thành phần thư mục được xác định trước hoặc các thành phần liệt kê).

Tuyệt vời, bây giờ hãy tạo quy tắc chuyển đổi cho các thư mục. Bạn có thể thực hiện hành động này theo hai cách: sử dụng Trình hướng dẫn đồng bộ hóa đối tượng (nút “”) hoặc thêm nội dung tương ứng cho từng đối tượng theo cách thủ công.

Để tiết kiệm dung lượng, chúng ta sẽ sử dụng tùy chọn đầu tiên. Trong cửa sổ thuật sĩ, bỏ chọn nhóm “ Tài liệu” (chúng tôi chỉ quan tâm đến thư mục) và mở rộng nhóm “ Thư mục" Chúng tôi cẩn thận cuộn qua danh sách và xem tên các sách tham khảo có thể so sánh.

Trong trường hợp của tôi, có ba thư mục như vậy: Danh pháp, Tổ chức và Kho hàng. Ngoài ra còn có một thư mục tên là Khách hàng, có cùng mục đích với “ Đối tác"từ cấu hình" UT" Đúng, chủ nhân không thể so sánh chúng do tên khác nhau của chúng.

Chúng ta có thể tự khắc phục vấn đề này. Chúng tôi tìm thấy trong cửa sổ “ Đối tượng phù hợp" sách tham khảo " Khách hàng", và trong cột "Nguồn", chọn thư mục "Đối tác". Sau đó chọn hộp trong cột “Loại” và nhấp vào nút “Ok”.

Trình hướng dẫn đồng bộ hóa đối tượng sẽ tự động tạo các quy tắc để chuyển đổi thuộc tính của tất cả các đối tượng đã chọn. Các thuộc tính sẽ được so sánh theo tên và đối với phần trình diễn của chúng tôi, điều này là khá đầy đủ, chúng tôi đồng ý. Câu hỏi tiếp theo sẽ là đề xuất tạo quy tắc tải lên. Chúng ta hãy đồng ý với nó quá.

Cơ sở cho các quy tắc trao đổi đã sẵn sàng. Chúng tôi đã chọn các đối tượng để đồng bộ hóa và các quy tắc chuyển đổi thuộc tính cũng như quy tắc tải lên được tạo tự động. Hãy lưu các quy tắc trao đổi vào một tệp, sau đó mở “Nguồn” IB (trong trường hợp của tôi là UT) và khởi chạy quá trình xử lý dịch vụ trong đó V8Exchan82.epf.

Trước hết, trong cửa sổ xử lý, chọn quy tắc trao đổi mà chúng tôi đã tạo. Chúng tôi trả lời câu hỏi về quy tắc tải trong phần khẳng định. Quá trình xử lý sẽ phân tích các quy tắc trao đổi và xây dựng cây đối tượng cùng tên có sẵn để tải lên. Đối với cây này, chúng ta có thể thiết lập tất cả các loại lựa chọn hoặc nút trao đổi, bằng cách thay đổi loại chúng ta cần chọn dữ liệu. Chúng tôi muốn tải xuống hoàn toàn tất cả dữ liệu nên không cần cài đặt bộ lọc.

Sau khi hoàn tất quá trình upload dữ liệu lên file, bạn vào IB“ Người nhận" Chúng tôi cũng mở xử lý trong đó V8Exchan82.epf, chỉ lần này chúng ta chuyển đến tab “Đang tải dữ liệu”. Chọn tệp dữ liệu và nhấp vào nút "Tải xuống". Vậy là dữ liệu đã được chuyển thành công.

Các vấn đề trong thế giới thực

Bản demo đầu tiên có thể gây hiểu nhầm. Mọi thứ trông khá đơn giản và hợp lý. Trên thực tế, điều này là không đúng sự thật. Trong công việc thực tế, các vấn đề phát sinh khó hoặc hoàn toàn không thể giải quyết chỉ bằng phương tiện trực quan (không cần lập trình).

Để không thất vọng với công nghệ, tôi đã chuẩn bị một số vấn đề thực tế. Bạn chắc chắn sẽ gặp họ ở nơi làm việc. Chúng trông không quá tầm thường và khiến bạn nhìn vào việc chuyển đổi dữ liệu từ một góc độ mới. Hãy xem xét cẩn thận các ví dụ được trình bày và thoải mái sử dụng chúng làm đoạn trích khi giải các bài toán thực tế.

Nhiệm vụ số 1. Điền vào các chi tiết còn thiếu

Giả sử chúng ta cần chuyển thư mục “ Đối tác" Người nhận có một thư mục “Khách hàng” tương tự cho mục đích này. Nó hoàn toàn phù hợp để lưu trữ dữ liệu, nhưng nó có đạo cụ “ Tổ chức”, cho phép bạn tách biệt các đối tác bằng cách thuộc về tổ chức. Theo mặc định, tất cả các đối tác phải thuộc về tổ chức hiện tại (điều này có thể được lấy từ hằng số cùng tên).

Có một số giải pháp cho vấn đề. Chúng tôi sẽ xem xét tùy chọn điền thông tin chi tiết “ Tổ chức“ngay trong cơ sở dữ liệu” Người nhận", I E. tại thời điểm tải dữ liệu. Tổ chức hiện tại được lưu trữ theo một hằng số, do đó, không có rào cản nào để đạt được giá trị này. Hãy mở quy tắc chuyển đổi đối tượng (sau đây gọi tắt là PKO) “ Khách hàng” (nhấp đúp vào đối tượng) và trong trình hướng dẫn thiết lập quy tắc, hãy chuyển đến phần “Trình xử lý sự kiện”. Trong danh sách các trình xử lý, chúng ta sẽ tìm thấy “ Sau khi tải xuống”.

Hãy mô tả mã để lấy tổ chức hiện tại và sau đó gán nó cho các chi tiết. Tại thời điểm trình xử lý “Sau khi tải” được kích hoạt, đối tượng sẽ được định dạng đầy đủ nhưng chưa được ghi vào cơ sở dữ liệu. Không ai cấm chúng tôi thay đổi theo ý mình:

Nếu KHÔNG phải Object.ThisGroup thì Object.Organization = Constants.CurrentOrganization.Get(); endIf;

Trước khi điền thông tin chi tiết" Tổ chức"Cần kiểm tra giá trị của thuộc tính" Nhóm này" Đối với sách tham khảo" Khách hàng"Tính năng phân cấp đã được thiết lập nên việc kiểm tra nhóm là cần thiết. Điền vào bất kỳ chi tiết nào theo cách tương tự. Hãy nhớ đọc phần trợ giúp để biết các tùy chọn xử lý khác " Sau khi tải" Ví dụ, trong số đó có tham số “ từ chối" Nếu bạn gán cho nó giá trị “Đúng”, thì đối tượng sẽ không được ghi vào cơ sở dữ liệu. Vì vậy, có thể giới hạn các đối tượng có thể được ghi tại thời điểm tải.

Nhiệm vụ số 2. Chi tiết đăng ký thông tin

Trong thư mục “ Đối tác"Cấu hình UT, chi tiết có sẵn" Người mua" Và " Các nhà cung cấp" Cả hai chi tiết đều thuộc loại “ Boolean” và được sử dụng để xác định loại đối tác. Trong IB “ Người nhận”, tại thư mục “ Khách hàng“Không có chi tiết tương tự, nhưng có sổ đăng ký thông tin” Các loại khách hàng" Nó thực hiện chức năng tương tự và có thể lưu trữ nhiều thuộc tính cho một khách hàng. Nhiệm vụ của chúng ta là chuyển các giá trị của chi tiết thành các mục riêng biệt trong thanh ghi thông tin.

Thật không may, chỉ riêng phương tiện trực quan cũng không thể giải quyết được ở đây. Hãy bắt đầu từ việc nhỏ, tạo một phần mềm mới để đăng ký thông tin “ Các loại khách hàng" Đừng trích dẫn bất cứ điều gì như một nguồn. Tránh tự động tạo quy tắc tải lên.

Bước tiếp theo là tạo quy tắc tải lên. Chuyển đến tab thích hợp và nhấp vào “ Thêm vào" Trong cửa sổ để thêm quy tắc tải lên, hãy điền vào:

  • Phương pháp lấy mẫu. Thay đổi thành “Thuật toán tùy ý”;
  • Quy tắc chuyển đổi. Chọn thanh ghi thông tin “Các loại khách hàng”;
  • Mã (tên) của quy tắc. Viết nó thành “Dỡ bỏ các loại khách hàng”;

Bây giờ bạn cần viết mã để chọn dữ liệu để tải lên. Thông số " Lấy mẫu dữ liệu" Chúng ta có thể đặt một bộ sưu tập với tập dữ liệu đã chuẩn bị sẵn trong đó. Tham số " Lấy mẫu dữ liệu” có thể nhận nhiều giá trị khác nhau - kết quả truy vấn, lựa chọn, tập hợp các giá trị, v.v. Chúng tôi khởi tạo nó dưới dạng bảng giá trị với hai cột: loại máy khách và loại máy khách.

Dưới đây là mã cho trình xử lý sự kiện “ Trước khi xử lý" Nó khởi tạo tham số “ Lấy mẫu dữ liệu” tiếp theo là điền dữ liệu từ thư mục “ Đối tác" Ở đây các bạn chú ý điền vào cột “ Loại khách hàng" Trong “UT”, các thuộc tính của chúng tôi thuộc loại “Boolean” và người nhận là một bảng liệt kê.

Ở giai đoạn này, chúng tôi không thể chuyển đổi chúng sang loại được yêu cầu (nó không có trong UT), vì vậy bây giờ chúng tôi sẽ để chúng ở dạng chuỗi. Bạn không cần phải làm điều này, nhưng ngay lập tức tôi muốn chỉ ra cách chuyển sang loại bị thiếu trong nguồn.

DataFetch = Bảng giá trị mới(); DataSelection.Columns.Add("Khách hàng"); DataSelection.Columns.Add("ClientType"); SelectingDataFromDirectory = Directory.Accounts.Select(); Trong khi chọnDataFromDirectory.Next() Vòng lặp Nếu chọnDataFromDirectory.ThisGroup thì tiếp tục; endIf; Nếu lựa chọn dữ liệu từ Directory.Buyer thì NewRow = Data Selection.Add(); NewRow.Client = DataFetchFromDirectory.Link; NewRow.ClientType = "Khách hàng"; endIf; Nếu DataFetchFromDirectory.Supplier thì NewRow = DataFetch.Add(); NewRow.Client = DataFetchFromDirectory.Link; NewString.ClientType = "Nhà cung cấp"; endIf; Chu kỳ cuối;

Hãy lưu lại quy tắc tải lên dữ liệu và quay lại tab “ Quy tắc chuyển đổi đối tượng" Hãy thêm vào phần đăng ký thông tin “ Các loại khách hàng” quy tắc chuyển đổi thuộc tính: khách hàng và loại khách hàng. Chúng tôi sẽ để trống nguồn và trong trình xử lý sự kiện “Trước khi dỡ tải”, chúng tôi sẽ viết:

// Đối với thuộc tính “Khách hàng” Giá trị = Source.Client; //Đối với thuộc tính “ClientType” Nếu Source.Client = "Buyer" Then Expression = "Enumerations.ClientTypes.Buyer" ElseIf Source.Client = "Supplier" Then Expression = "Enumerations.ClientTypes.Supplier"; endIf;

Trong danh sách, các chi tiết được điền dựa trên mẫu dữ liệu đã chọn. Chúng tôi chỉ cần chuyển ứng dụng khách dưới dạng liên kết và viết loại ứng dụng khách vào tham số “ Sự biểu lộ" Dữ liệu của tham số này sẽ được diễn giải trong bộ thu và khi được thực thi, prop sẽ được điền giá trị chính xác từ bảng liệt kê.

Thế là xong, các quy tắc trao đổi đã sẵn sàng, ví dụ được xem xét hóa ra lại khá phổ biến. Cách tiếp cận tương tự thường được sử dụng khi di chuyển dữ liệu từ các cấu hình được tạo trên nền tảng 7.7. Một ví dụ nổi bật về điều này là việc chuyển giao các chi tiết định kỳ.

Nhiệm vụ số 3. Thủ thuật với các bộ phận của bàn

Bạn thường gặp những nhiệm vụ yêu cầu đăng các hàng từ một phần bảng thành nhiều phần. Ví dụ: trong cấu hình ban đầu, dịch vụ và hàng hóa được đăng ký trong một phần dạng bảng và trong bộ thu, việc lưu trữ các thực thể này được phân chia. Một lần nữa, vấn đề không thể được giải quyết bằng phương tiện trực quan. Ở đây thật thuận tiện khi lấy giải pháp của vấn đề thứ hai làm cơ sở.

Chúng tôi đưa ra quy tắc dỡ tải dữ liệu, chỉ định một thuật toán tùy ý và trong trình xử lý “Trước khi dỡ tải”, chúng tôi viết yêu cầu lấy dữ liệu từ phần dạng bảng.

Để tiết kiệm dung lượng, tôi sẽ không cung cấp mã (bạn luôn có thể tham khảo nguồn) của yêu cầu - không có gì bất thường trong đó. Chúng tôi sắp xếp thông qua lựa chọn kết quả và đặt kết quả đã sắp xếp vào tham số vốn đã quen thuộc “ Lấy mẫu dữ liệu" Sẽ thuận tiện hơn khi sử dụng bảng giá trị làm bộ sưu tập:

DataFetch = Bảng giá trị mới(); // Sẽ có một phần bảng khác ở đây Data Selection.Columns.Add(“Products”); // Ở đây cũng sẽ có phần dạng bảng Data Selection.Columns.Add(“Services”); SelectionData.Columns.Add(“Liên kết”);

Nhiệm vụ số 4. Chuyển dữ liệu sang một hoạt động

Nếu một tổ chức sử dụng nhiều hệ thống kế toán thì sớm hay muộn sẽ cần phải di chuyển dữ liệu ở các thế hệ giao dịch tiếp theo.

Trong cấu hình “ BP“có một tài liệu phổ quát” Hoạt động” và nó rất lý tưởng để tạo thành nhiều dây hơn. Chỉ có một vấn đề - tài liệu được thực hiện một cách khéo léo và dữ liệu không thể được chuyển vào đó một cách dễ dàng.

Bạn sẽ tìm thấy ví dụ về sự chuyển đổi như vậy trong mã nguồn của bài viết. Số lượng mã hóa ra khá lớn nên không có ích gì khi xuất bản nó cùng với bài viết. Hãy để tôi nói rằng việc tải lên lại sử dụng một thuật toán tùy ý trong các quy tắc tải lên dữ liệu.

Nhiệm vụ số 5. Đồng bộ hóa dữ liệu trên nhiều chi tiết

Chúng ta đã xem xét một số ví dụ nhưng vẫn chưa nói đến việc đồng bộ hóa các đối tượng trong quá trình di chuyển. Hãy tưởng tượng rằng chúng ta cần chuyển các đối tác và một số đối tác trong số đó có thể nằm trong cơ sở dữ liệu người nhận. Làm cách nào để truyền dữ liệu và ngăn chặn sự trùng lặp xuất hiện? Về vấn đề này, CD cung cấp một số cách để đồng bộ hóa các đối tượng được chuyển giao.

Cái đầu tiên là theo mã định danh duy nhất. Nhiều đối tượng có một mã định danh duy nhất đảm bảo tính duy nhất trong một bảng. Ví dụ: trong thư mục “ Đối tác” không thể có hai phần tử có cùng mã định danh. CD thực hiện các phép tính cho việc này và đối với tất cả các PCO đã tạo, tìm kiếm theo mã định danh sẽ được bật ngay lập tức theo mặc định. Trong quá trình tạo PCO, bạn nên chú ý đến hình ảnh kính lúp bên cạnh tên đối tượng.

Đồng bộ hóa bằng cách sử dụng mã định danh duy nhất là một phương pháp đáng tin cậy nhưng không phải lúc nào cũng phù hợp. Khi hợp nhất các thư mục “ Đối tác” (từ một số hệ thống khác nhau) nó sẽ không giúp được gì nhiều.

Trong những trường hợp như vậy, sẽ đúng hơn nếu đồng bộ hóa các đối tượng theo một số tiêu chí. Sẽ đúng hơn nếu tìm kiếm đối tác theo INN, KPP, Tên hoặc chia tìm kiếm thành nhiều giai đoạn.

Việc chuyển đổi dữ liệu không giới hạn nhà phát triển trong việc xác định tiêu chí tìm kiếm. Hãy xem xét một ví dụ trừu tượng. Giả sử chúng ta cần đồng bộ hóa thư mục “ Đối tác” từ các cơ sở thông tin khác nhau. Hãy chuẩn bị PKO và trong cài đặt quy tắc chuyển đổi đối tượng, hãy kiểm tra “ Tiếp tục tìm kiếm các trường tìm kiếm nếu đối tượng người nhận không được tìm thấy theo mã định danh" Với hành động này, chúng tôi đã xác định ngay hai tiêu chí tìm kiếm - theo mã định danh duy nhất và các trường tùy chỉnh.

Chúng ta có quyền tự mình lựa chọn lĩnh vực. Bằng cách kiểm tra TIN, KPP và Tên, chúng tôi sẽ chỉ ra ngay một số tiêu chí tìm kiếm. Thoải mái? Khá, nhưng một lần nữa điều này là không đủ. Nếu chúng ta muốn thay đổi tiêu chí tìm kiếm thì sao? Ví dụ: đầu tiên chúng tôi tìm kiếm kết hợp TIN+KPP và nếu không tìm thấy gì thì chúng tôi sẽ bắt đầu thử vận ​​may với cái tên đó.

Một thuật toán như vậy hoàn toàn có khả năng được thực hiện. Trong trình xử lý sự kiện “ Trường tìm kiếm” chúng tôi có thể chỉ định tối đa 10 tiêu chí tìm kiếm và đối với mỗi tiêu chí đó, chúng tôi xác định thành phần trường tìm kiếm riêng:

Nếu SearchOptionNumber = 1 thì SearchPropertyNameString = “TIN, KPP”; Ngược lạiIfSearchOptionNumber = 2 ThenSearchPropertyNameString = “Tên”; endIf;

Luôn có nhiều giải pháp

Bất kỳ tác vụ nào cũng có một số giải pháp và việc truyền dữ liệu giữa các cấu hình khác nhau cũng không ngoại lệ. Mỗi nhà phát triển có quyền lựa chọn giải pháp của riêng mình, nhưng nếu bạn liên tục phải phát triển quá trình di chuyển dữ liệu phức tạp thì tôi thực sự khuyên bạn nên chú ý đến dấu “”. Lúc đầu, bạn có thể phải đầu tư nguồn lực (thời gian) vào việc đào tạo, nhưng chúng sẽ mang lại nhiều lợi ích hơn cho dự án ít nhiều nghiêm túc đầu tiên.

Theo tôi, công ty 1C đã bỏ qua chủ đề sử dụng chuyển đổi dữ liệu một cách không công bằng. Trong suốt thời gian tồn tại của công nghệ, chỉ có một cuốn sách được xuất bản về nó: “1C: Enterprise 8. Chuyển đổi dữ liệu: trao đổi giữa các giải pháp ứng dụng”. Sách khá cũ (2008) nhưng vẫn nên làm quen với nó.

Kiến thức về nền tảng vẫn cần thiết

"là một công cụ phổ quát, nhưng nếu bạn định sử dụng nó để tạo di chuyển dữ liệu từ các cấu hình được phát triển cho nền tảng 1C:Enterprise 7.7 thì bạn sẽ phải dành thời gian tìm hiểu ngôn ngữ tích hợp sẵn. Cú pháp và hệ tư tưởng của ngôn ngữ rất khác nhau nên bạn sẽ phải dành thời gian để học. Nếu không thì nguyên tắc vẫn giữ nguyên.