Tạo sườn trong 1s 8.3 lẻ. Hướng dẫn thiết lập Cơ sở thông tin phân tán (DIB) qua tài nguyên FTP. Thiết lập tài nguyên FTP

Công nghệ cơ sở thông tin phân tán (RIB) cho phép bạn tạo một hệ thống phân tán theo địa lý dựa trên cấu hình Doanh nghiệp 1C. Điều này cho phép bạn có một không gian thông tin chung ngay cả với những bộ phận không có kênh liên lạc đáng tin cậy, kết hợp tính tự chủ cao của các nút với khả năng trao đổi thông tin nhanh chóng. Trong các bài viết của chúng tôi, chúng tôi sẽ xem xét các tính năng và cách triển khai thực tế của cơ chế này trên nền tảng 8.2

Trước hết, chúng ta hãy tự hỏi: tại sao lại tự động trao đổi? Công nghệ hiện đại, kết hợp với Internet nhanh và rẻ, giúp bạn có thể tổ chức công việc từ xa mà không gặp bất kỳ khó khăn nào. Sự lựa chọn các phương pháp vẫn rộng rãi hơn bao giờ hết: RDP, máy khách mỏng và web, kết nối mạng bằng VPN - có rất nhiều điều phải suy nghĩ. Tuy nhiên, tất cả các phương pháp này đều có một nhược điểm đáng kể - sự phụ thuộc nhiều vào chất lượng của kênh liên lạc.

Ngay cả với hoạt động lý tưởng của nhà cung cấp địa phương, không thể đảm bảo tính khả dụng 100% của kênh liên lạc. Các vấn đề với nhà cung cấp đường trục, thiếu nguồn điện, hư hỏng vật lý đối với đường truyền thông và nhiều yếu tố khác khiến nhiệm vụ này không thể vượt qua được. Đồng thời, việc không thể tiếp cận được cơ sở thông tin tại một nhà kho hoặc cửa hàng bán lẻ ở xa dẫn đến tổn thất khá đáng kể. Và cuối cùng, đừng quên rằng có những nơi (ví dụ: các khu công nghiệp ở ngoại ô thành phố) mà việc cung cấp kênh liên lạc chất lượng cao rất tốn kém và/hoặc có vấn đề.

Cơ chế RIB cho phép bạn loại bỏ những thiếu sót này; mỗi bộ phận có bản sao cơ sở thông tin riêng mà bạn có thể làm việc tự chủ ngay cả khi hoàn toàn không có giao tiếp với thế giới bên ngoài. Và lượng thông tin được truyền đi nhỏ cho phép bạn sử dụng bất kỳ kênh liên lạc nào để trao đổi, bao gồm cả Internet di động.

RIB trên nền tảng 8.2 về cơ bản không phải là một cái gì đó mới, thể hiện sự phát triển hơn nữa của nền tảng RIB 7.7, chỉ có điều bây giờ công nghệ này đã trở nên dễ tiếp cận và đơn giản hơn. Không giống như thành phần RIB phải mua riêng, RIB là một phần không thể thiếu trong nhiều cấu hình tiêu chuẩn và hoạt động hoàn toàn ở chế độ người dùng, cho phép bạn thực hiện mà không cần Bộ cấu hình ngay cả ở giai đoạn thiết lập.

Tại thời điểm này đã đến lúc chuyển sang phần thực hành, nhưng chúng ta sẽ phải lạc đề thêm một lần nữa. Thực tế là việc chuyển đổi sang nền tảng 8.2, dường như đã xảy ra, trên thực tế đã dẫn đến sự xuất hiện của hai loại cấu hình: dựa trên ứng dụng được quản lý, “bản địa” cho nền tảng 8.2 và được điều chỉnh từ 8.1, tiếp tục sử dụng công nghệ, cơ chế lạc hậu. Do một phần quan trọng của các cấu hình (Kế toán doanh nghiệp, Tiền lương và Quản lý nhân sự) được điều chỉnh hoặc chuyển tiếp nên chúng không thể được giảm giá, vì vậy phần đầu tiên trong bài viết của chúng tôi sẽ dành cho các cấu hình này (về cơ bản là nền tảng 8.1), trong khi ở phần thứ hai chúng tôi sẽ kiểm tra việc thiết lập tự động trao đổi cho các cấu hình dựa trên ứng dụng được quản lý (nền tảng 8.2).

Hãy xem xét một nhiệm vụ thực tế: thiết lập trao đổi tự động qua FTP cho cấu hình Enterprise Accounting 2.0. Mặc dù RIB cho phép bạn trao đổi bằng email hoặc chia sẻ tệp nhưng chúng tôi khuyên bạn nên sử dụng FTP làm phương thức liên lạc đơn giản và đáng tin cậy nhất. Bạn có thể đọc cách thiết lập máy chủ FTP của riêng mình hoặc bạn có thể sử dụng dịch vụ FTP của bất kỳ nhà cung cấp dịch vụ lưu trữ nào.

Trước hết, chúng ta cần cấu hình các nút trao đổi. Để thực hiện việc này, hãy khởi chạy cấu hình với quyền quản trị viên và chọn Giao dịch - Kế hoạch trao đổi.

Trong danh sách hiện ra, chọn Đầy kế hoạch hoặc Theo tổ chức, nếu hồ sơ được lưu giữ cho một số công ty trong một cơ sở dữ liệu và việc trao đổi chỉ cần được thực hiện đối với một trong số đó. Trong cửa sổ mở ra, đã có một nút - nút trung tâm, chúng ta cần chỉnh sửa nó bằng cách chỉ ra mã và tên.

Sau đó, chúng ta sẽ tạo một nút khác cho nhánh, điền vào nút đó theo cách tương tự (để thêm, hãy nhấp vào vòng tròn màu xanh có dấu cộng). Bước tiếp theo là tạo hình ảnh ban đầu cho nút này, đây là cơ sở thông tin được tạo sẵn ở chế độ tệp. Để thực hiện việc này, nhấp chuột phải vào nút mong muốn và chọn từ danh sách thả xuống Tạo hình ảnh bắt đầu.

Bây giờ chúng ta hãy tiếp tục Dịch vụ - Cơ sở thông tin phân tán (DIB) - Định cấu hình các nút RIB.

Trong cửa sổ mở ra, nhấp vào nút Thêm vào và định cấu hình một trao đổi mới bằng cách chỉ định máy chủ từ xa, loại trao đổi (thông qua FTP) và các tham số kết nối máy chủ.

Đánh dấu Trao đổi tự động cho phép bạn thiết lập lịch trao đổi, trao đổi theo sự kiện (bắt đầu và kết thúc công việc, v.v.), những cài đặt này được thực hiện cho người dùng mà việc trao đổi sẽ được thực hiện thay mặt họ, vì vậy hãy đảm bảo rằng họ có quyền trao đổi dữ liệu.

Đừng quên chỉ định tiền tố nút để đánh số tài liệu (nếu không bạn sẽ nhận được các tài liệu khác nhau có cùng số) trong Công cụ - Cài đặt chương trình, tại đây bạn cũng có thể định cấu hình một số tham số trao đổi khác; Trên cùng một tab, bạn nên chọn người dùng để thực hiện nhiệm vụ trao đổi; nếu không thực hiện việc này, lịch trình sẽ không hoạt động. Hãy nhớ rằng việc trao đổi sẽ chỉ được thực hiện nếu người dùng đăng nhập vào chương trình.

Việc này hoàn tất việc cấu hình nút trung tâm; bây giờ bạn cần thực hiện các cài đặt tương tự cho nút ngoại vi, kết nối hình ảnh ban đầu như một hệ thống bảo mật thông tin hiện có. Sau đó bạn có thể bắt đầu trao đổi dữ liệu. Để kiểm soát bạn nên sử dụng Màn hình truyền thông, nó cho phép bạn không chỉ theo dõi sự thành công của quá trình tải lên/tải xuống mà còn hiển thị mọi xung đột phát sinh hoặc chuyển động bị trì hoãn (nếu người dùng thực hiện trao đổi không có đủ quyền để thực hiện bất kỳ hành động nào trong cơ sở dữ liệu). Sự hiện diện của công cụ này cho phép bạn giải quyết nhanh chóng và hiệu quả nhiều loại vấn đề khác nhau phát sinh trong quá trình tự động trao đổi.

Tại thời điểm này, quá trình thiết lập sàn giao dịch có thể được coi là hoàn tất và bạn có thể bắt đầu làm việc ở chế độ phân tán. Cần tập trung cụ thể vào việc cập nhật hoặc thực hiện các thay đổi đối với cấu hình. Những hành động này chỉ khả dụng trên nút trung tâm; tất cả các thay đổi được thực hiện sẽ được tự động truyền đến các nút ngoại vi trong lần trao đổi tiếp theo. Để tự động thực hiện các thay đổi, cơ sở dữ liệu ngoại vi phải ở chế độ độc quyền, nếu không bạn sẽ cần phải chạy Bộ cấu hình và thực hiện Cập nhật cấu hình cơ sở dữ liệu bằng tay.

Việc tạo và định cấu hình cơ sở dữ liệu phân tán (RDB) trong 1C 8.3 Accounting (và các cấu hình khác) là cần thiết trong trường hợp nhiều người dùng không thể làm việc đồng thời kết nối với một cơ sở dữ liệu. Ngày nay, điều này khá hiếm khi xảy ra vì máy tính để bàn từ xa tiêu chuẩn hoạt động tốt và có các chương trình khác cung cấp kết nối từ xa đến máy tính trung tâm nơi đặt cơ sở dữ liệu.

Nhưng tuy nhiên, có những tình huống đơn giản là không có Internet. Và dữ liệu cuối cùng sẽ tập trung vào một cơ sở thông tin. Đây là lý do tại sao một cơ sở dữ liệu phân tán được tạo ra.

Thông thường phần đế chính được gọi là phần trung tâm, phần còn lại được gọi là phần ngoại vi. Điểm mấu chốt là các cơ sở dữ liệu được kết hợp theo cách thủ công hoặc tự động (tùy thuộc vào cài đặt). Để đảm bảo số lượng tài liệu mới nhập và mã tham chiếu không bị trùng lặp, một tiền tố được gán cho mỗi cơ sở dữ liệu.

Trong hướng dẫn này, chúng tôi sẽ sử dụng một ví dụ để tạo cơ sở dữ liệu trung tâm và ngoại vi và kiểm tra sự trao đổi giữa chúng. Sổ tay hướng dẫn này phù hợp cho cả 1C 8.3 Kế toán và Quản lý thương mại 1C (UT) cũng như các cấu hình khác.

Thiết lập cơ sở dữ liệu RIB phân tán chính (trung tâm)

Hãy chuyển đến menu “Quản trị” 1C, sau đó nhấp vào liên kết “Cài đặt đồng bộ hóa dữ liệu”. Trong cửa sổ mở ra, bạn cần đánh dấu vào hộp kiểm “Đồng bộ hóa dữ liệu”. Liên kết “Đồng bộ hóa dữ liệu” sẽ hoạt động. Ngay tại đây, chúng tôi sẽ đặt tiền tố cho cơ sở thông tin chính - ví dụ: “CB”:

Nhấp vào liên kết “Đồng bộ hóa dữ liệu” và một cửa sổ sẽ mở ra với nút “Thiết lập đồng bộ hóa dữ liệu”. Khi bạn nhấp vào nút này, một danh sách thả xuống sẽ mở ra nơi bạn cần chọn chế độ “Đầy đủ”. Nếu chỉ cần đồng bộ hóa cho một tổ chức, bạn cần chọn “Theo tổ chức…”.

Trong cửa sổ tiếp theo, chương trình sẽ nhắc chúng ta tạo một bản sao lưu. Tôi thực sự khuyên bạn nên thực hiện việc này vì các bước thiết lập sau đây có thể không thể thay đổi được.

Sau khi tạo bản sao lưu, hãy nhấp vào nút “Tiếp theo”. Ở bước tiếp theo, chúng ta cần quyết định cách đồng bộ hóa sẽ diễn ra:

  • thông qua một thư mục cục bộ hoặc một thư mục trên mạng cục bộ;
  • qua Internet thông qua FTP.

Để đơn giản và rõ ràng cho ví dụ, chúng tôi sẽ chọn một thư mục cục bộ. Tôi đã chỉ định đường dẫn sau: “D:\1C Databases\Synchronization”. Sẽ là một ý kiến ​​hay nếu kiểm tra các mục trong thư mục này; có một nút đặc biệt cho việc này:

Nhận miễn phí 267 bài học video trên 1C:

Chúng tôi bỏ qua các bước tiếp theo khi thiết lập đồng bộ hóa qua FTP và email. Hãy xem cài đặt tên của cơ sở dữ liệu chính và ngoại vi. Ở đây chúng tôi sẽ đặt tiền tố cho cơ sở dữ liệu ngoại vi:

Đừng quên rằng tiền tố cho mỗi cơ sở dữ liệu phải là duy nhất. Nếu không, bạn sẽ nhận được lỗi “Giá trị tiền tố của cơ sở thông tin đầu tiên không phải là duy nhất”.

Nhấp vào “Tiếp theo”, kiểm tra thông tin đã nhập và nhấp vào “Tiếp theo” lần nữa, sau đó “Hoàn tất”. Trong trường “Tên đầy đủ của cơ sở tệp”, chỉ ra tệp 1Cv8.1CD trong thư mục đã được tạo để đồng bộ hóa. Chúng tôi tạo hình ảnh ban đầu của cơ sở dữ liệu 1C phân tán:

Sau khi tạo hình ảnh ban đầu của RIB trong 1C, bạn có thể đặt lịch đồng bộ hóa hoặc đồng bộ hóa thủ công:

Sau khi đồng bộ hóa, bạn có thể kết nối với cơ sở dữ liệu mới và đảm bảo rằng thông tin từ cơ sở dữ liệu trung tâm đã được tải lên đó:

Chỉ cần tạo ngay ít nhất một người dùng có quyền Quản trị viên trong cơ sở dữ liệu ngoại vi mới.

Thiết lập đồng bộ hóa trong cơ sở dữ liệu ngoại vi

Trong cơ sở dữ liệu ngoại vi 1C, việc thiết lập đơn giản hơn nhiều. Chỉ cần chọn hộp kiểm “Đồng bộ hóa dữ liệu” và nhấp vào liên kết cùng tên. Và chúng tôi gần như ngay lập tức thấy mình đang ở trong một cửa sổ có nút “Đồng bộ hóa”. Hãy thử tạo một mục thử nghiệm trong cơ sở dữ liệu ngoại vi và tải nó lên mục chính bằng RIB:

Ngày 25 tháng 10 năm 2016

Không có sự khác biệt lớn giữa việc thiết lập và hỗ trợ RIB cho 2 nút và 10 nút, nhưng khi số lượng điểm từ xa vượt quá một trăm, các vấn đề hoàn toàn khác nhau phải được giải quyết

Dữ liệu ban đầu:

Cấu hình: Bán lẻ 2.2
Nền tảng 1C: 8.3.7.1970



Thời gian dự án: một năm.




Ngành kiến ​​​​trúc:

Đầu tiên, chúng tôi quyết định về chương trình RIB. Người ta quyết định tập trung vào sơ đồ “ngôi sao” càng lâu càng tốt; khi đạt đến giới hạn công nghệ - một bông tuyết.





Hạn chế:
-RAM 2GB
- 1 bộ xử lý vật lý


Trong tất cả những điều trên, điều khó chịu chính là giới hạn về kích thước cơ sở dữ liệu tối đa.

Nhưng điều này chỉ có nghĩa là bạn cần phải tổ chức cẩn thận một quy trình để làm sạch nó khỏi dữ liệu lỗi thời trên trang web.

Một máy chủ vật lý riêng biệt được phân bổ cho máy chủ 1C và MS SQL. Nó sẽ chịu gánh nặng chính về trao đổi và hoạt động lâu dài.
Máy tính khách cuối không được thay thế vì chúng sẽ hoạt động với máy khách tối thiểu và tải trọng trên chúng sẽ ở mức tối thiểu.
.


cài đặt cơ bản

Kể từ thời điểm UT 10.3, khi tôi có dự án đầu tiên triển khai RIB với tốc độ 60 hải lý/giờ, tất nhiên “rất nhiều nước đã chảy qua dưới cầu”.

1C không đứng yên. Bán lẻ 2.2 hiện đã tính đến nhu cầu tải lên dữ liệu có chọn lọc.
Chỉ thông tin liên quan đến nó mới được tải lên cơ sở dữ liệu cửa hàng:
- Tất cả các sách tham khảo (trừ sách chuyên ngành)
- Tài liệu cho cửa hàng này

Một câu hỏi khác là bằng cách này hay cách khác, việc thêm một nút vào cơ sở dữ liệu có nghĩa là thêm một mục nhập khác vào bảng đăng ký cho từng phần tử chung khi nó được ghi.





1) Cần chia thành các kịch bản đồng bộ riêng biệt cho việc upload và download
Vấn đề là việc dỡ hàng mất nhiều thời gian và liên quan đến việc chặn, trong khi việc tải khá rắc rối. Đồng thời, chúng ta thường cần nhanh chóng nhận dữ liệu từ các cửa hàng bán lẻ trong khi chỉ cho đi vài lần trong ngày.

2) Xác định các cửa hàng có vấn đề và loại bỏ chúng khỏi kịch bản đồng bộ hóa chung. Có thể có lượng tải lớn trên chúng - điều này sẽ làm chậm toàn bộ quá trình trao đổi, bao gồm cả các nút khác. Khi vấn đề được giải quyết, chúng sẽ được thêm lại.

3) Tạo một số tập lệnh để gửi và nhận dữ liệu. Nhưng điều quan trọng ở đây là nắm bắt được sự cân bằng về số lượng của chúng.
(kể từ phiên bản 8.1).
Do đó, tính song song trong việc dỡ tải RIB bị hạn chế. Trong thực tế, nó chạy song song 2-3 tập lệnh.


Những gì đã phải được cải thiện

Vấn đề quan trọng nhất trong logic tiêu chuẩn của 1C RIB là cập nhật





Một vấn đề trao đổi khác là thanh ghi thông tin. Việc tải từng bản ghi của thanh ghi thông tin vào XML sẽ tạo ra một nút XML riêng biệt với các phần tử dịch vụ, v.v. Ngoài ra, hàm “SelectChanges()” cho một thanh ghi thông tin trong đó có 100 bản ghi sẽ nhận được một bảng kết quả gồm 100 hàng, tại đồng thời, nếu thư mục A có 100 hàng này sẽ chỉ có một mục được chọn trong phần dạng bảng của nó. Và đây là thời điểm chặn độc quyền. Vì vậy, nếu có nhiều bản ghi trong PC thường xuyên được đăng ký để trao đổi với các cửa hàng khác, thì tất nhiên sẽ đúng hơn khi trình bày bản ghi này dưới dạng một thư mục có phần dạng bảng, trong trường hợp nghiêm trọng, khi ghi , có thể tạo thành các hàng của cùng một thanh ghi. Dù sao, .

Một chi tiết quan trọng khác - Để làm gì? Hiện đã có gần 3 triệu thẻ giảm giá. Một hệ thống trực tuyến bên ngoài được sử dụng để làm việc với họ. Nếu bạn tiếp tục chuyển thẻ giảm giá đến tất cả các cửa hàng, điều này sẽ làm tăng lượng trao đổi đáng kể và cũng có thể dẫn đến việc cơ sở vượt quá dung lượng 10 GB.

Một số cơ chế được thực hiện trực tuyến bằng cách liên hệ với cơ sở dữ liệu trung tâm: số dư ở các cửa hàng khác, trả lại biên lai từ cửa hàng khác, kiểm tra tính hợp lệ của phiếu quà tặng.


Nhân rộng


Về nguyên tắc, việc tạo nút RIB ban đầu theo cách thông thường sẽ khiến việc sao chép không thể thực hiện được.
Do đó, một nút mới được tạo như sau
:


2) Cơ sở dữ liệu này trao đổi toàn bộ dữ liệu chung trong RIB nhưng không nhận các (tài liệu) chuyên ngành


5) Cơ sở cho cửa hàng đã sẵn sàng.

Gói phần mềm làm sẵn được triển khai lên máy chủ nên không mất nhiều thời gian. Sau đó, cơ sở dữ liệu mới tạo sẽ được tải lên máy chủ và sẵn sàng gửi đến cửa hàng.


Lợi ích của khách hàng mỏng

Hai ưu điểm nổi bật của Retail 2.2 (Thin Client) đã “sưởi ấm tâm hồn”:








Hỗ trợ và cập nhật




1) Cập nhật thủ công từ các cửa hàng (không chính xác lắm, có thể không nhận được thay đổi, sẽ có cuộc gọi và sự cố) - đây là trường hợp trước đây

3) Viết tập lệnh *.cmd hoặc 1C để cập nhật hoặc lấy tập lệnh tạo sẵn. Như thực tế cho thấy, một giải pháp như vậy luôn nửa vời (không ổn định) và sẽ có thể xây dựng được rất ít chức năng trong đó.

Nhiệm vụ của chúng tôi là gì:


2) Khi cập nhật, có thể tương tác tương tác với người dùng (tin nhắn, xác nhận, thanh tiến trình).








Chức năng chính:




4) Kiểm tra trạng thái đại lý
5) Cập nhật báo cáo
6) sao lưu

















Ví dụ: đây là thông báo lỗi sau khi cập nhật:








Vì vậy, dự án có cơ hội tốt để hoàn thành thành công. Ít nhất nửa chặng bay, chuyến bay vẫn diễn ra bình thường.

Nếu chúng tôi đi đến bất kỳ giải pháp nào khác có vẻ thú vị, tôi sẽ viết riêng

tái bút và quan trọng nhất: Lập kế hoạch phù hợp để hỗ trợ thêm là một trong những yếu tố then chốt cho sự thành công hơn nữa của các dự án như vậy. :)

Ngày 25 tháng 10 năm 2016

Không có sự khác biệt lớn giữa việc thiết lập và hỗ trợ RIB cho 2 nút và 10 nút, nhưng khi số lượng điểm từ xa vượt quá một trăm, các vấn đề hoàn toàn khác nhau phải được giải quyết.

Vì vậy, dữ liệu ban đầu:

Cấu hình: Bán lẻ 2.2
Nền tảng 1C: 8.3.7.1970
Số lượng nút ước tính khi kết thúc dự án: 200
Nguồn lực thiết bị ở trung tâm: không có hạn chế đáng kể
Thiết bị tại thời điểm: một vấn đề được thảo luận.
Thời gian dự án: một năm.

Ngành kiến ​​​​trúc:

Đầu tiên, chúng tôi quyết định về chương trình RIB. Người ta đã quyết định tập trung vào sơ đồ “ngôi sao”, trước
Tại các cửa hàng bán lẻ, phiên bản công việc máy khách-máy chủ được sử dụng, với máy chủ chuyên dụng chạy hệ điều hành Windows.
Máy chủ 1C sẽ được sử dụng trong phiên bản "Server 1C MINI" https://1c.ru/news/info.jsp?id=17577
Máy chủ DBMS - MS SQL Express 2008 R2.

SQL Express 2008 R2 là phiên bản mới nhất hiện tại của dòng SQL Server này.
Hạn chế:

RAM 2GB
- 1 bộ xử lý vật lý
- Kích thước cơ sở dữ liệu tối đa 10 GB

Trong tất cả những điều trên, điều khó chịu nhất tất nhiên là giới hạn về kích thước cơ sở dữ liệu tối đa. Nhưng trên thực tế, điều này chỉ có nghĩa là cần phải tổ chức cẩn thận quy trình làm sạch nó khỏi dữ liệu lỗi thời tại chỗ.

Một máy chủ riêng được phân bổ cho máy chủ 1C và MS SQL. Nó sẽ chịu gánh nặng chính về trao đổi và giao dịch.
Máy tính khách cuối không được thay thế vì chúng sẽ hoạt động với máy khách mỏng và tải ở phía dưới sẽ ở mức tối thiểu.
Máy chủ trong cửa hàng chỉ đơn giản là một chiếc PC mạnh mẽ. Nhưng điều kiện tiên quyết là phải có ổ SSD - nơi chứa cơ sở dữ liệu MS SQL.
Máy chủ cũng sẽ cung cấp khả năng thực hiện các hoạt động thường ngày vào ban đêm và truy cập vào cơ sở dữ liệu của cửa hàng mà không bị gián đoạn công việc.

cài đặt cơ bản

Kể từ thời điểm UT 10.3, khi tôi có dự án đầu tiên triển khai RIB với tốc độ 60 hải lý/giờ, tất nhiên “rất nhiều nước đã chảy qua cầu”. 1C không đứng yên. Bán lẻ 2.2 hiện đã tính đến nhu cầu tải lên dữ liệu có chọn lọc.
Chỉ những thông tin liên quan đến cửa hàng mới được tải lên cơ sở dữ liệu của cửa hàng:
- Tất cả các thư mục (trừ một số)
- Tài liệu cho cửa hàng này
Việc đăng ký dữ liệu diễn ra theo quy tắc đăng ký, mọi thứ đều có thể được lưu vào bộ nhớ đệm. Không có sự chậm lại đáng kể trong quá trình đăng ký.
Một câu hỏi khác là bằng cách này hay cách khác, việc thêm một nút vào cơ sở dữ liệu có nghĩa là thêm một bản ghi khác cho từng thành phần chung cho tất cả các cơ sở dữ liệu.

Không có gì cụ thể trong việc thiết lập tải lên. Có một số sắc thái khi thiết lập kịch bản đồng bộ hóa:

1) Cần tách upload và loading thành các kịch bản đồng bộ riêng biệt
Vấn đề là việc dỡ hàng mất nhiều thời gian và liên quan đến việc chặn, trong khi việc tải khá dễ dàng. Đồng thời, chúng ta thường cần nhanh chóng nhận dữ liệu từ các cửa hàng bán lẻ trong khi chỉ cho đi vài lần trong ngày.

2) Xác định các cửa hàng có vấn đề và loại bỏ chúng khỏi kịch bản đồng bộ hóa chung. Có thể có lượng tải lớn trên chúng - điều này sẽ làm chậm toàn bộ quá trình trao đổi, bao gồm cả các nút khác

3) Tạo một số tập lệnh gửi và nhận để gửi và nhận dữ liệu. Nhưng điều chính ở đây là sự cân bằng.
Một số thứ trong 1C không thay đổi. Phương thức "SelectChanges" tương tự chỉ có thể được thực hiện tuần tự(kể từ phiên bản 8.1).
Do đó, tính song song trong việc dỡ tải RIB bị hạn chế. Trong thực tế, bạn tải lên 2-3 tập lệnh cùng một lúc.
Đối với kịch bản nhận, tất nhiên ở đây có thể có sự song song lớn hơn nhiều nếu cần thiết.

Những gì đã phải được cải thiện

Tất nhiên là buồn buồn nhưng tôi phải can thiệp triệt để vào BSP. Vấn đề quan trọng nhất trong logic 1C tiêu chuẩn là cập nhật. Sau khi cập nhật, một cửa sổ tương tự sẽ xuất hiện:

Tất cả điều này xảy ra trong chế độ độc quyền. Ngoài ra, hệ thống vẫn sẽ cố gắng thực hiện trao đổi sau khi cập nhật ở chế độ độc quyền. Không khó để đoán tất cả điều này dẫn đến đâu.
Trong suốt thời gian này, cửa hàng không thể hoạt động, có khách hàng đến quầy thanh toán và công ty đang thua lỗ.

Một vấn đề trao đổi khác là thanh ghi thông tin. Việc tải từng mục đăng ký thông tin lên XML sẽ tạo một nút XML riêng biệt với các phần tử dịch vụ và mọi thứ tiếp theo. Ngoài ra, chức năng “chọn thay đổi” đối với thanh ghi thông tin có 100 bản ghi thì bảng kết quả sẽ chứa 100 hàng, đồng thời nếu đây là thư mục có 100 hàng thì chỉ chọn một bản ghi trong danh mục. phần bảng. Vì vậy, nếu có nhiều bản ghi trong PC thường xuyên được đăng ký để trao đổi với các cửa hàng khác, thì tất nhiên sẽ đúng hơn khi trình bày bản ghi này dưới dạng một thư mục có phần dạng bảng, trong trường hợp nghiêm trọng, khi ghi , có thể tạo các bản ghi của cùng một thanh ghi. Dù sao, đăng ký thông tin trong trao đổi là xấu xa.

Một chi tiết quan trọng khác - Thẻ giảm giá hoàn toàn bị loại khỏi sàn giao dịch và chỉ nhân viên của một cửa hàng cụ thể mới bị loại khỏi sàn giao dịch.Để làm gì? Hiện đã có gần 3 triệu thẻ giảm giá. Một hệ thống trực tuyến bên ngoài được sử dụng để làm việc với họ. Nếu bạn tiếp tục chuyển thẻ giảm giá đến tất cả các cửa hàng, điều này sẽ làm tăng lượng trao đổi đáng kể và ngoài ra có thể dẫn đến tình trạng cơ sở vượt quá dung lượng 3GB.

Một số cơ chế được thực hiện trực tuyến bằng cách liên hệ với cơ sở dữ liệu trung tâm: số dư ở các cửa hàng khác, trả lại biên lai từ cửa hàng khác, kiểm tra tính hợp lệ của phiếu quà tặng.

Nhân rộng

Tất nhiên, việc nhân rộng đang được thực hiện với tốc độ nhanh chóng.
Tất nhiên, việc tạo nút RIB ban đầu theo cách thông thường sẽ khiến việc sao chép không thể thực hiện được.
Do đó, một nút mới được tạo như sau:

1) Có cơ sở dữ liệu riêng với cửa hàng giả
2) Cơ sở dữ liệu này trao đổi toàn bộ dữ liệu chung trong RIB nhưng không nhận dữ liệu chuyên biệt
3) Khi muốn tạo cơ sở dữ liệu mới, chúng ta chỉ cần sao chép cơ sở dữ liệu này
4) Sau đó, chúng tôi đặt cài đặt - lưu trữ, tiền tố, v.v.
5) Cơ sở cho cửa hàng đã sẵn sàng.

Gói phần mềm làm sẵn được triển khai lên máy chủ nên không mất nhiều thời gian. Sau đó, cơ sở dữ liệu về các cửa hàng mới tạo sẽ được tải lên máy chủ và sẵn sàng gửi đến cửa hàng.

Lợi ích của khách hàng mỏng

hai lợi thế đáng kể đã “sưởi ấm tâm hồn”.

1) Không cần thay đổi toàn bộ bãi máy tính tại các điểm bán lẻ. 90% hoạt động được thực hiện trên máy chủ và máy chủ được đưa đến đó bằng một “máy tính tương đối mạnh”

2) Thiết bị có khả năng không hoạt động, điều này đặc biệt thường xảy ra với các thiết bị mới lắp đặt hoặc đã cũ.
Trong trường hợp này, các thao tác giờ đây cực kỳ đơn giản - cửa hàng chuyển sang hoạt động trong cơ sở dữ liệu trung tâm.
Quá trình này mất không quá 5-10 phút, do đó giao dịch không bị gián đoạn ngay cả khi có vấn đề nghiêm trọng với thiết bị.

Hỗ trợ và cập nhật

Cuối cùng chúng ta đã đạt đến điểm thú vị nhất - làm thế nào để duy trì và cập nhật tất cả những thứ này?
Đối với chúng tôi, việc cập nhật cũng là một vấn đề nan giải trong một thời gian dài:

1) Cập nhật thủ công từ các cửa hàng (không chính xác lắm, có thể không nhận được thay đổi, sẽ có cuộc gọi và sự cố)
2) Cập nhật bằng cách sử dụng hỗ trợ kỹ thuật (không có nhiều tài nguyên)
3) Viết *.cmd để cập nhật hoặc lấy một cái làm sẵn. Như thực tế cho thấy, một giải pháp như vậy luôn nửa vời (không ổn định) và có rất ít chức năng trong đó.

Nhiệm vụ của chúng tôi là gì:

1) Việc cập nhật phải diễn ra ở một số chế độ và được quản lý tập trung
2) Khi cập nhật, có thể tương tác tương tác với người dùng.
3) Phải nhận được báo cáo về tình trạng cập nhật và lỗi
4) Phải có bản sao lưu
5) Hệ thống cập nhật có thể tự cập nhật mà không gặp vấn đề gì.
6) Hệ thống có thể mở rộng mà không gặp vấn đề gì.

Tất nhiên, các vấn đề đã vượt xa danh sách những vấn đề có thể giải quyết được bằng các phương pháp đơn giản. Bởi vì chúng tôi không thể làm gì nếu không có tự động hóa với rất nhiều điểm cuối và chúng tôi chưa tìm thấy bất kỳ thứ gì ít nhiều được làm sẵn có chức năng tương tự
Tôi phải bắt đầu phát triển phần mềm và cuối cùng phần mềm này có tên MU (MagicUpdater).

Chức năng chính:

1) Cập nhật cơ sở dữ liệu động (lệnh hoặc theo lịch trình)
2) Cập nhật cơ sở dữ liệu tĩnh (lệnh hoặc theo lịch trình)
3) tác nhân tự động trên máy tính cuối khi chúng được sửa đổi
4) Kiểm tra trạng thái đại lý
5) Cập nhật báo cáo
6) sao lưu
7) Hành động quản trị với máy chủ 1C và MS SQL
8) Đóng tất cả các ứng dụng khách 1C trên máy tính mạng
9) Cập nhật tĩnh với sự chấp nhận ở lần thanh toán chính
10) Hiển thị mô tả các sửa đổi sau khi cập nhật
11) Thiết lập thứ tự hành động
12) Thực hiện tất cả các hành động này theo lịch trình

Sơ đồ tương tác gần đúng:


Trong đó MU Agent là dịch vụ được cài đặt và cấu hình trong cửa hàng. Trên thực tế, cô nhận được lệnh từ trung tâm để thực hiện một số nhiệm vụ nhất định.
MU Server - Máy chủ tiếp nhận mọi yêu cầu tới hệ thống.
Màn hình MU - thứ mà nhân viên hỗ trợ kỹ thuật thông thường nhìn thấy - được sử dụng để xem nhật ký và đặt tác vụ cập nhật hoặc các tác vụ khác.

Theo ý kiến ​​​​của tôi, nó diễn ra khá tốt. Bây giờ việc cập nhật diễn ra gần như tự động.
Ví dụ: đây là thông báo lỗi sau khi cập nhật; mọi thứ vẫn đang chờ ở trung tâm.

Và đây là cách chúng tôi gửi lệnh đến máy khách

Các ứng dụng chắc chắn không phải là 1C, nhưng có một bộ khả năng giao diện khá tốt. Ví dụ: lựa chọn theo ngày trông như thế này:

Bây giờ họ đã sẵn sàng để nhân rộng thêm. Lập kế hoạch phù hợp để hỗ trợ thêm là một trong những yếu tố then chốt cho sự thành công hơn nữa của các dự án như vậy.

Tài liệu này chứa hướng dẫn chi tiết về cách thiết lập trao đổi RIB cho 1C:Enterprise 8 và các vấn đề mà tác giả gặp phải.

1. Tạo nút
Chúng tôi tạo các nút mới (chính và phụ): ở chế độ người dùng "Hoạt động / Gói trao đổi / Đầy đủ"
Hãy chọn phương án trao đổi "Đầy đủ"
Chúng ta tạo hai bản ghi:
- gọi bản ghi đầu tiên là “CB” (nút chính), ghi mã “CB”,
- hãy gọi mục thứ hai là “Nút phụ”, cho biết mã “PU”.
Biểu tượng có vòng tròn màu xanh lá cây - "CB" (nút chính)

Đối với nút nô lệ, hãy nhấp vào biểu tượng “Tạo hình ảnh ban đầu”. (Yêu cầu quyền truy cập độc quyền)
Tạo hình ảnh bắt đầu
Tiếp theo, trong cửa sổ mở ra, điền thông số của cơ sở dữ liệu mới. Khi hoàn tất, hãy nhấp vào nút “Hoàn tất”.
Tạo hình ảnh bảo mật thông tin ban đầu
Quá trình tạo hình ảnh ban đầu của nút nô lệ của cơ sở thông tin phân tán sẽ bắt đầu và sau khi hoàn thành, thông báo “Việc tạo hình ảnh ban đầu đã được hoàn thành thành công” sẽ xuất hiện. Nhấp vào nút "OK".
Chúng tôi thêm cơ sở của nút nô lệ vào danh sách các cơ sở và khởi chạy nó.
Trong cơ sở dữ liệu cấp dưới này, chúng tôi mở kế hoạch trao đổi đầy đủ - biểu tượng “CB” có màu đỏ, điều này có nghĩa là nút này là nút chính cho cơ sở thông tin mà chúng tôi đang ở.

2. Thiết lập tiền tố
Đối với mỗi cơ sở dữ liệu, trong cài đặt tham số kế toán (trong UPP "Thông số dịch vụ / kế toán") trên tab "Trao đổi dữ liệu", chúng tôi đặt tiền tố. Điều này được thực hiện để không có xung đột về số lượng và mã của tài liệu và thư mục được tạo trong hai cơ sở dữ liệu.
Để trao đổi tự động, hãy chọn hộp "Sử dụng cơ chế trao đổi tự động..."
Tab "Trao đổi dữ liệu"

3. Thêm cài đặt trao đổi dữ liệu giữa các nút
Mở: "Dịch vụ\Cơ sở thông tin phân tán (RIB)\Định cấu hình các nút RIB"
Nhấp vào "Thêm" và cửa sổ "Cài đặt trao đổi dữ liệu" sẽ mở ra.
Thiết lập trao đổi dữ liệu

Bấm vào biểu tượng "Trao đổi theo cài đặt hiện tại"
Thực hiện trao đổi theo cài đặt hiện tại

Bây giờ về những cạm bẫy
1. Việc trao đổi dữ liệu có thể được thực hiện tự động và có thể được bắt đầu trong các trường hợp sau:
* Khi bắt đầu chương trình. Việc trao đổi sẽ được thực hiện khi chương trình bắt đầu,
* Khi bạn làm việc xong với chương trình. Việc trao đổi sẽ được thực hiện trước khi người dùng kết thúc làm việc với chương trình,
* Khi danh mục xuất hiện. Việc trao đổi sẽ chỉ được thực hiện nếu thư mục do người dùng chỉ định ở chế độ ẩn nhưng hiện đã hiển thị. Cài đặt này có thể được sử dụng để thực hiện trao đổi tự động khi được kết nối với mạng cục bộ hoặc thẻ flash. Chương trình sẽ kiểm tra định kỳ khả năng hiển thị của thư mục được chỉ định trong cài đặt và lưu ý trạng thái hiện tại của nó,
* Khi tập tin xuất hiện. Bạn nên sử dụng chế độ dữ liệu khi cần trao đổi nếu xuất hiện tệp trao đổi dữ liệu đến. Trong trường hợp này, chỉ cần chỉ định đường dẫn đầy đủ đến tệp trao đổi dữ liệu đến là đủ. Chương trình phân tích định kỳ sự hiện diện của tệp và ngay khi nó xuất hiện, quá trình trao đổi sẽ được thực hiện và sau khi trao đổi, tệp này sẽ bị XÓA một cách cưỡng bức (điều này được thực hiện để thủ tục trao đổi không được thực hiện liên tục),
* Trao đổi dữ liệu định kỳ. Việc trao đổi sẽ được thực hiện theo cài đặt trao đổi dữ liệu định kỳ. Nếu cơ sở thông tin hoạt động ở chế độ máy chủ tệp thì việc trao đổi định kỳ chỉ được thực hiện đối với người dùng được chỉ định trong cài đặt chính sách kế toán là “Người dùng thực hiện các tác vụ thông thường ở chế độ tệp”. Trong phiên bản Máy khách-máy chủ, việc trao đổi được thực hiện trên máy chủ 1C:Enterprise.

Tôi có tùy chọn Máy khách-Máy chủ - để quá trình trao đổi tự động định kỳ hoạt động, tôi đã phải làm máy chủ quá tải

2. Mã hóa Windows.
Quá trình trao đổi bị gián đoạn do lỗi do tệp không được nén. Điều này là do lỗi Cyrillic trong dòng lệnh trong quá trình nén.
Nó có thể được xử lý bằng cách sửa mã hóa trong sổ đăng ký.
Ví dụ: đối với Windows Server 2008 -
Mã số

REGEDIT4
"1250"="c_1251.nls"
"1251"="c_1251.nls"
"1252"="c_1251.nls"
"1253"="c_1251.nls"
"1254"="c_1251.nls"
"1255"="c_1251.nls"

3. Khi tạo một bản sao của cơ sở dữ liệu (ví dụ: để sửa đổi) trong phiên bản máy khách-máy chủ, điều CẦN THIẾT là TẮT NHIỆM VỤ THƯỜNG XUYÊN CỦA BẢN SAO CƠ SỞ DỮ LIỆU. Chặn các tác vụ thông thường để sao chép BẬT

Nếu chúng không bị chặn thì bản sao sẽ thực hiện trao đổi theo cùng lịch trình với cơ sở dữ liệu chính. Điều này có nghĩa là một số thông báo tới các nút từ xa sẽ được tạo từ cơ sở dữ liệu đang hoạt động và một số từ một bản sao, điều này sẽ dẫn đến việc không đồng bộ hóa cấu hình.

OLEG FILIPOV, ANT-Inform, Phó Trưởng phòng Phát triển, [email được bảo vệ]

Sườn trong 1C. Giới hạn khả năng

Công nghệ cơ sở thông tin phân tán (RIB) trong nền tảng 1C:Enterprise gây ra nhiều tranh cãi. Chúng tôi sẽ cố gắng tìm ra khi nào nên sử dụng nó và khi nào nên ưu tiên các giải pháp thay thế

Thông thường, khi đọc các diễn đàn hoặc bài viết của các tác giả trực tuyến về RIB trong 1C, bạn có thể gặp những ý kiến ​​​​trái chiều từ “đây là thứ tốt nhất và duy nhất có thể sử dụng được” cho đến “nó đã lỗi thời một cách vô vọng”. Chúng ta hãy cố gắng tìm hiểu xem mọi thứ thực sự như thế nào.

Trong số tháng 11 năm 2016, tôi đã viết về một số tính năng của RIB liên quan đến một nhiệm vụ thực tế cụ thể, vì vậy chỉ cần nói vài lời về những điều cơ bản và hãy đi sâu hơn một chút vào các chi tiết công nghệ.

RIB là công nghệ của cơ sở thông tin phân tán 1C:Enterprise - đừng nhầm lẫn với trao đổi phổ quát, với công nghệ tương tự, nhưng về cơ bản là hỗ trợ khác nhau để cập nhật tập trung các cấu hình cơ sở thông tin. Nó bao gồm các bộ phận chức năng sau (cũng có thể được sử dụng riêng):

  • Dịch vụ đăng ký thay đổi– khi được bật, nó bắt đầu tự động đăng ký các thay đổi đối với đối tượng hoặc bản ghi để trao đổi (hoặc các mục đích khác). Trong chế độ RIB, nó cũng được sử dụng để đăng ký các thay đổi đối với cấu hình cơ sở thông tin.
  • Tuần tự hóa các đối tượng/bản ghi trong XML. Hầu như mọi đối tượng 1C:Enterprise đều được tuần tự hóa thường xuyên dưới dạng XML.
  • Một cơ chế duy trì cấu hình giống nhau của tất cả các nút của cơ sở thông tin phân tán. Trong chế độ RIB, việc trao đổi dữ liệu giữa các nút khác nhau chỉ có thể thực hiện được nếu chúng có cùng cấu hình. Nó được chuyển tự động trong quá trình trao đổi. Nút cuối cùng chỉ cần chấp nhận các thay đổi.
  • Cơ sở hạ tầng của các thông điệp được trao đổi trong hệ thống thông tin phân tán được đảm bảo gửi đi. Các thay đổi đã đăng ký được đóng gói thành các tin nhắn và gửi đến nút cuối theo đợt. Đăng ký chỉ bị xóa sau khi xác nhận giao gói.
  • Cơ sở hạ tầng cấp ứng dụng. Tất nhiên, tất cả những điều trên sẽ không hoạt động nếu không có các cơ chế được phát triển ở cấp độ giải pháp ứng dụng, một số trong đó đã được đưa vào BSP. Các giải pháp cung cấp khả năng tải lên dữ liệu theo các quy tắc nhất định, thay đổi nguyên tắc đăng ký và xác định phương thức gửi gói hàng.

Như bạn có thể thấy, RIB trong 1C có thể làm được khá nhiều việc. Trong hầu hết các trường hợp, chức năng này là quá đủ. Ví dụ, trong hình. Hình 1 hiển thị dạng nút cơ sở thông tin trong 1C, nơi bạn có thể thấy khả năng tải xuống các quy tắc đăng ký, chỉ định tham số kết nối và xem danh sách các đối tượng đã đăng ký để trao đổi.

Từ mô tả ở trên, chúng ta có thể kết luận về khả năng của RIB 1C như một hệ thống phân tán:

  • Hỗ trợ cấu hình cơ sở thông tin thống nhất (bán tự động).
  • Hỗ trợ theo dõi thay đổi.
  • Đảm bảo giao hàng.
  • Khả năng của mạch chủ-chủ.
  • Khả năng của một mạch sao.
  • Khả năng lọc có chọn lọc các thay đổi.

Khá tốt - nó sẽ đáp ứng hoàn toàn nhu cầu của một mạng nhỏ. Nhưng RIB có một số hạn chế nhất định, phần lớn liên quan đến các đặc điểm kiến ​​trúc của nền tảng 1C, áp đặt một số hạn chế nhất định đối với việc sử dụng công nghệ này:

  • Cần phải cập nhật cấu hình cơ sở thông tin theo cách thủ công và tắt người dùng. Dừng trao đổi cho đến khi cấu hình được cập nhật.
  • Giới hạn giao dịch cơ sở hạ tầng tin nhắn khi truy xuất dữ liệu. Khi chọn các thay đổi để tải lên, bảng cơ sở dữ liệu bị chặn để ghi lại những thay đổi mới; với khối lượng tải lên lớn, việc này có thể mất nhiều thời gian, khiến công việc phải dừng lại.
  • Chi phí duy trì số lượng lớn nút đồng bộ hóa (số lượng bản ghi dịch vụ bằng số lượng nút).
  • Sự cố khi tải lượng lớn dữ liệu.

Bây giờ chúng ta thử so sánh điều này với một số hệ thống “tiên tiến” có cơ chế sao chép.