Chức năng thay thế ngày tự động trong 1 giây. Cách thiết lập tổ chức chính để thay thế trong tài liệu. Thay thế các giá trị bằng cách sử dụng mẫu

Nhiệm vụ 1. Tạo danh sách thả xuống

1. Mở tệp Ex03_1.xlsx.

2. Trên một tờ giấy Giá Có một bảng hàng hóa với giá cả.

3. Đặt tên cho các dãy có tên sản phẩm ( Sản phẩm) và bảng giá ( Bàn) (bức tranh 1). Tên phạm vi được chỉ định để sử dụng thêm trong công thức và giúp làm việc với phạm vi dễ dàng hơn. Tên phạm vi có thể được đặt thông qua trường tên ô hoặc chọn lệnh trong menu ngữ cảnh Gán một cái tên(tất nhiên, trong trường hợp này hay trường hợp khác, một phạm vi ô phải được chọn trước đó, như trong Hình 1).

Bức tranh 1

4. Trên bảng bán hàng ở cột Tên sản phẩm tạo một danh sách thả xuống và điền dữ liệu vào đó.

Để tạo danh sách thả xuống, bạn cần chọn các ô (bạn có thể có nhiều ô cùng một lúc) mà bạn muốn lấy danh sách thả xuống và chọn trên tab Dữ liệu cái nút Kiểm tra dữ liệu (Hình 2).

Hình 2

Trên tab đầu tiên Tùy chọn từ danh sách thả xuống Loại dữ liệu chọn một tùy chọn Danh sách và nhập vào dòng Nguồn= và tên của dải ô có dữ liệu được yêu cầu (ví dụ: =Sản phẩm) (Hình 3). Nhấp chuột ĐƯỢC RỒI.

Kết quả tạo danh sách thả xuống được thể hiện trong Hình 4.

Nếu tập hợp các giá trị trong nguồn có thể thay đổi, tốt hơn hết bạn nên chèn hoặc xóa dữ liệu ở giữa danh sách.

Hình 3

hinh 4

Giới thiệu hàm MATCH và INDEX

Các hàm MATCH và INDEX chủ yếu được sử dụng để tự động thay thế dữ liệu vào một bảng từ một phạm vi nhất định.

Cú pháp hàm

MATCH(giá trị tra cứu, mảng, kiểu khớp)

Mảng là một khối bao gồm một cột hoặc một hàng.

Loại so khớp là số -1, 0 hoặc 1.

Nếu như Loại so khớp bằng 1 thì hàm TÌM KIẾM tìm giá trị lớn nhất nhỏ hơn tra cứu_value hoặc bằng nó. Đã xem mảng phải được sắp xếp theo thứ tự tăng dần.

Nếu như Loại so khớp bằng 0, Cái đó Hàm MATCH tìm giá trị đầu tiên chính xác bằng đối số giá trị tìm kiếm.Đã xem mảng có thể bị rối loạn.

Nếu như Loại so khớp bằng -1 thì hàm TÌM KIẾM tìm giá trị nhỏ nhất lớn hơn giá trị tìm kiếm, hoặc bằng nó. Xem_mảng phải được sắp xếp theo thứ tự giảm dần.

Nếu như Loại so khớp bị bỏ qua, nó được coi là bằng 1 .

Chức năng TÌM KIẾM trả về vị trí của giá trị được tìm kiếm trong mảng chứ không phải chính giá trị đó.

Chức năng MỤC LỤC có hai hình thức. Chúng tôi sẽ chỉ xem xét một.

INDEX(bảng; số_hàng; số_cột)

Hàm này chọn từ một khối hình chữ nhật (bảng) một phần tử được chỉ định bởi số hàng và cột, và những số này được tính từ phần tử trên cùng bên trái của khối.

Hãy xem các hàm này hoạt động như thế nào bằng các ví dụ cụ thể.

Nhiệm vụ 2. Giới thiệu hàm MATCH

Sử dụng hàm MATCH(), xác định vị trí của sản phẩm có tên “Sữa chua” trong phạm vi Sản phẩm. Đối với điều này:

1. trong một cuốn sách điện tử Ex03_1.xlsxđi tới trang tính Giá và đặt con trỏ trang tính vào bất kỳ ô trống nào;

2. nhập công thức =MATCH("Sữa chua";Sản phẩm;0) vào ô này, tức là. Chúng tôi cho biết bằng cách sử dụng hàm này rằng chúng tôi cần tìm phần tử “Sữa chua” (giá trị văn bản trong hàm luôn được chỉ định trong dấu ngoặc kép) trong phạm vi Sản phẩm, kiểu khớp 0 – khớp chính xác;

3. nhấn Enter. Kết quả là bạn sẽ nhận được số 7 (Hình 5).

Hình 5

Thật vậy, nếu bạn nhìn vào phạm vi Sản phẩm, thì vị trí của sữa chua tương ứng với hình này. Điều đáng ghi nhớ là vị trí của giá trị trong mảng, tức là. trong một phạm vi nhất định, được tính từ đầu phạm vi. Hóa ra nếu chúng ta thêm một hàng mới vào đầu bảng dữ liệu thì giá trị “Sữa chua” sẽ chuyển sang hàng số 8, nhưng phạm vi Sản phẩm bắt đầu bằng giá trị “Sữa”, do đó, từ đầu phạm vi, vị trí của sữa chua trong mọi trường hợp sẽ tương ứng với số 7 (Hình 6).

Hình 6

Xin lưu ý rằng giá trị cho hàm MATCH() có thể được chỉ định bằng chính giá trị đó hoặc tên của ô chứa giá trị này. Ví dụ: mục nhập =MATCH(A7;Product;0) sẽ cung cấp kết quả tương tự như khi sử dụng mục nhập =MATCH("Yogurt";Product;0).

Nhiệm vụ 3. Giới thiệu hàm INDEX

Chúng ta hãy nhớ lại rằng hàm INDEX() chọn từ một khối hình chữ nhật (bảng) một phần tử được chỉ định bởi số hàng và số cột, và những số này được tính từ phần tử phía trên bên trái của khối.

Sử dụng hàm INDEX() để tìm trong một phạm vi Sản phẩm phần tử nằm ở vị trí thứ năm. Đối với điều này:

1. trong một cuốn sách điện tử Ex03_1.xlsx trên một tờ giấy Giáđặt con trỏ trang tính vào bất kỳ ô trống nào;

2. Nhập hàm sau vào ô này =INDEX(Product;5). Bấm phím Enter. Kết quả được trình bày trong Hình 7.

Hình 7

Lưu ý rằng chúng ta chỉ xác định giá trị phạm vi và số hàng cho hàm INDEX. Chúng tôi không chỉ ra số cột. Tham số này là tùy chọn nếu chúng ta đang tìm kiếm một giá trị trong một bảng (phạm vi) bao gồm một cột. Nếu chúng ta cần tìm một giá trị trong một bảng (phạm vi) gồm nhiều cột, thì trong công thức, để tìm kiếm giá trị chính xác hơn, cần phải chỉ ra số cột.

Trong ô mới, nhập công thức =INDEX(Table;8;2). Kết quả bạn sẽ tìm được giá của miếng giăm bông (Hình 8).

Hình 8

Thay thế dữ liệu tự động

Khi làm việc với danh sách thả xuống, bạn có thể tự động hóa việc nhập dữ liệu vào bảng. Ví dụ: có một bảng giá chứa tên hàng hóa và giá của chúng. Bạn có thể tổ chức lựa chọn tên sản phẩm từ danh sách và tự động thay thế giá sản phẩm trong bảng cuối cùng.

Việc tự động thay thế dữ liệu từ bảng tra cứu dựa trên việc sử dụng kết hợp các hàm INDEX và MATCH.

Nhiệm vụ 4. Kết hợp hàm MATCH và INDEX

Trong sách điện tử Ex03_1.xlsx trên một tờ giấy Việc bán hàng trong một cột Giá, sử dụng các hàm MS Excel, cung cấp khả năng tự động thay thế giá vốn hàng hóa từ bảng tính Giá, tùy thuộc vào giá trị được chọn từ danh sách thả xuống trên trang tính Việc bán hàng.

1. Đặt con trỏ trang tính vào ô C2 và nhập công thức sau vào đó:

2. Nhấn Enter. Kết quả là bạn sẽ nhận được trong ô C2 giá thành của sản phẩm có tên được ghi ở cột liền kề (Hình 9). Khi bạn chọn tên sản phẩm khác từ danh sách thả xuống, giá trị giá sẽ thay đổi tương ứng.

Hình 9

3. Sử dụng điểm đánh dấu tự động hoàn thành, sao chép công thức này vào cuối bảng (Hình 10).

Hình 10

Hãy giải mã công thức này. Công thức này bắt đầu bằng hàm MATCH, cho phép chúng ta tìm vị trí của giá trị từ ô B2 trên trang tính Việc bán hàng trong phạm vi Sản phẩm ngoài trang Giá và loại chính xác 0. Ví dụ: nếu bạn sử dụng danh sách các sản phẩm được trình bày trong Hình 10, thì hàm TÌM KIẾM sẽ tìm vị trí của bánh mì, tên của sản phẩm được chỉ định trong ô B2 từ cột Tên sản phẩm trong phạm vi Sản phẩm trên một tờ giấy Giá. Vị trí này sẽ bằng 3. Do đó, trong bộ nhớ máy tính công thức chúng ta nhập là

=INDEX(Bảng, MATCH(B2, Sản phẩm, 0), 2)

sẽ có dạng

=INDEX(Bảng,3,2)

Tham số “3” là kết quả của hàm TÌM KIẾM.

Tiếp theo, hàm INDEX phát huy tác dụng, hàm này sẽ tìm kiếm trong phạm vi Bàn trên một tờ giấy Giá giá trị nằm ở giao điểm của hàng thứ ba và cột thứ hai. (Xin lưu ý rằng phạm vi Bàn gồm hai cột). Giá trị này sẽ là giá thành của sản phẩm, trong trường hợp này bánh mì = 27.

Nhiệm vụ 5. Thiết kế bảng cuối cùng

Trên một tờ giấy Việc bán hàng trong một cột Số lượng nhập các giá trị tùy ý. Tính các giá trị trong một cột Tổng cộng.

Nhiệm vụ 6. Nhiệm vụ độc lập

Mở tập tin Khung.xls . Cần tự động hóa các thay đổi về lương trên một tờ Nhân viên .

Ví dụ, cần phải chuyển một số người quản lý và chuyển các nhà quản lý cấp cao hoặc chuyên gia tư vấn sang người phụ tải. Bạn cần thực hiện thao tác này cho bốn nhân viên. Cùng với vị trí, mức lương cũng nên thay đổi.

Tạo một sheet mới và đặt tên cho nó Tình trạng .

Sao chép vào trang tính Tình trạng cột Chức danhLương.

Loại bỏ nhân viên trùng lặp. Đối với điều này:

1. Chọn cột chức vụ, lương.

2. Trên tab Dữ liệu nhấn vào nút Loại bỏ các bản sao .

3. Bỏ dấu kiểm khỏi cột Lương.

4. Nhấp vào nút Được rồi.

Để có thể thay đổi vị trí, trên trang tính Nhân viên Trong cột vị trí, tạo danh sách thả xuống. Trong trường hợp này, bạn cũng cần phải thay đổi mức lương chính thức; để thực hiện việc này, chúng tôi sẽ tự động hóa quy trình này để khi bạn thay đổi vị trí, Excel sẽ tự thay đổi mức lương. Để làm điều này, chúng tôi sử dụng các hàm: TÌM KIẾM và CHỈ SỐ.

Hướng dẫn

1. Chọn trên trang tính Tình trạng một loạt các vị trí. Đặt tên cho phạm vi đã chọn chức danh công việc.

2. Chọn trên trang tính Tình trạng khoảng lương. Đặt tên cho phạm vi đã chọn lương.

3. Trên một tờ giấy Người lao động trong cột Lương nhập công thức cần tìm trên trang tính Tình trạng trong phạm vi chức danh công việc vị trí tương ứng với vị trí của nhân viên, rồi từ phạm vi lương tờ giấy Tình trạng chèn mức lương tương ứng với vị trí tìm thấy.

4. Sau khi nhập công thức, hãy đảm bảo rằng mức lương kết quả thực sự tương ứng với mức lương của vị trí nhân viên trên bảng tính Tình trạng.

5. Thay đổi mức lương của Ch. kế toán trên tờ Tình trạng. Kiểm tra xem mức lương tương ứng trên bảng có thay đổi gì không Người lao động.

Nhiệm vụ của chúng tôi là như sau. Bây giờ chúng ta lưu trữ giá của một mặt hàng trong một sổ đăng ký thông tin riêng biệt. Khi chúng tôi tạo hoặc thay đổi tài liệu Cung cấp dịch vụ và thêm bất kỳ mục nào vào phần bảng, chúng tôi muốn giá hiện tại của mục này, lấy từ sổ đăng ký thông tin và tương ứng với ngày của tài liệu, được chèn ngay vào tài liệu.

Để làm được điều này chúng ta cần làm hai việc.

Đầu tiên, viết một hàm nhất định sẽ trả về giá hiện tại của mặt hàng cho chúng ta, sau đó gọi hàm này tại thời điểm mặt hàng được thêm vào tài liệu và thay thế giá của mặt hàng mà hàm này sẽ trả về tài liệu .

Vì rất có thể chúng ta sẽ cần một “dịch vụ” như vậy không chỉ trong tài liệu này mà còn trong các tài liệu khác có chứa danh pháp trong phần dạng bảng, nên chúng ta sẽ đặt hàm này ở một vị trí “có thể truy cập công khai” - trong một mô-đun chung.

Ở chế độ Cấu hình

Hàm trả về giá của một mặt hàng

Đầu tiên, chúng ta sẽ tạo hàm RetailPrice(), hàm này sẽ trả về giá bán lẻ hiện tại của mặt hàng và đặt nó vào mô-đun cấu hình chung.

Hãy mở trình cấu hình, trong nhánh Mô-đun chung chung, thêm một đối tượng cấu hình mới Mô-đun và gọi nó là WorkWithDirectories.

Chúng tôi thấy rằng mô-đun có hộp kiểm Máy chủ được chọn theo mặc định. Điều này có nghĩa là các phiên bản của mô-đun này sẽ chỉ được biên dịch ở phía máy chủ.

Hãy đánh dấu vào hộp kiểm Máy chủ cuộc gọi để các thủ tục và chức năng xuất của mô-đun này có thể được gọi từ máy khách (Hình 9.9).

Hãy đặt văn bản sau vào đó (Liệt kê 9.1).

Hãy giải thích chức năng này.

Để có được giá bán lẻ, chúng ta sẽ truyền hai tham số cho hàm:

CurrentDate là tham số loại Ngày xác định điểm trên trục thời gian mà chúng ta quan tâm đến giá trị giá bán lẻ.

Trong phần nội dung của hàm, trước tiên chúng ta tạo một đối tượng trợ giúp Lựa chọn.

Đây là cấu trúc chứa lựa chọn theo kích thước thanh ghi. Với sự trợ giúp của nó, chúng tôi xác định rằng chúng tôi sẽ quan tâm đến các mục đăng ký trong đó kích thước của thanh ghi Danh pháp bằng tham chiếu đến thành phần thư mục được truyền cho hàm.

Tên của khóa cấu trúc ("Danh pháp") phải khớp với tên của thứ nguyên thanh ghi được chỉ định trong bộ cấu hình và giá trị của thành phần cấu trúc (Thành phần danh pháp) chỉ định giá trị được chọn cho thứ nguyên này.

Ở dòng thứ hai, chúng ta liên hệ với người quản lý của thanh ghi thông tin Price (Information Registers.Prices) và thực thi phương thức GetLast(), phương thức này trả về cho chúng ta các giá trị tài nguyên của bản ghi thanh ghi mới nhất tương ứng với ngày được truyền cho hàm ( CurrentDate) và các giá trị của kích thước thanh ghi (Selection).

Phương thức GetLast trả về một cấu trúc chứa các giá trị tài nguyên, được lưu trữ trong biến ResourceValues. Nói chung, một sổ đăng ký có thể có nhiều tài nguyên. Chỉ có một tài nguyên trong sổ đăng ký của chúng tôi, nhưng cấu trúc chứa một phần tử duy nhất sẽ vẫn được trả về.

Do đó, ở dòng tiếp theo, chúng ta nhận được giá bán lẻ mà chúng ta đang tìm kiếm bằng cách chỉ định tên của tài nguyên đăng ký mà chúng ta cần thông qua dấu chấm (ResourceValues.Price) và trả về giá đó khi hàm được thực thi.

Bây giờ hàm này cần được gọi tại một thời điểm nào đó trong quá trình thực thi tài liệu.

Gọi hàm khi chọn mặt hàng và điền giá vào tài liệu

Vì vậy, nhiệm vụ mà chúng ta phải đối mặt là như sau. Khi chỉnh sửa tài liệu Cung cấp dịch vụ, chúng ta cần đảm bảo trường Giá được điền tự động sau khi người dùng chọn dịch vụ. Hơn nữa, giá của dịch vụ phải được xác định dựa trên ngày tài liệu được tạo.


Hãy tìm tài liệu Cung cấp dịch vụ trong bộ cấu hình và mở biểu mẫu Tài liệu của nó.

Nhấp đúp vào thành phần biểu mẫu Danh sách các mụcDanh mục hoặc nhấp chuột phải để mở bảng thuộc tính cho nó (Mục menu ngữ cảnh Thuộc tính). Cuộn đến cuối danh sách, chúng tôi tìm thấy sự kiện OnChange, xảy ra sau khi giá trị trường thay đổi.

Nhấp vào nút mở B có biểu tượng kính lúp trong trường nhập.

Hệ thống sẽ tạo mẫu cho quy trình xử lý sự kiện này trong mô-đun biểu mẫu của chúng tôi và mở tab Mô-đun Trình chỉnh sửa biểu mẫu.

Hãy thêm văn bản sau vào nó (Liệt kê 9.2).

Hãy bình luận về nội dung của trình xử lý.

Dòng đầu tiên của trình xử lý đã quen thuộc với bạn từ quy trình Danh sách số lượng mặt hàng khi thay đổi và Danh sách giá mặt hàng khi thay đổi. Đầu tiên, chúng ta lấy hàng hiện tại của phần dạng bảng của tài liệu, vì sau này chúng ta sẽ cần nó và lưu nó vào biến TabularPart Row.

Sau đó, chúng ta gọi hàm RetailPrice() từ mô-đun chung Làm việc với các thư mục.

Là tham số đầu tiên, chúng ta chuyển cho hàm này ngày của tài liệu mà chúng ta cần lấy giá. Chúng tôi lấy ngày lập tài liệu từ thuộc tính biểu mẫu chính - Object.Date.



Hàm trả về giá trị giá cuối cùng và chúng ta gán giá trị này cho trường Giá ở hàng hiện tại của phần dạng bảng của tài liệu (TabularPartRow.Price).

Lưu ý rằng bản thân thủ tục Danh sách mục NomenclatureOnChange() bắt đầu hoạt động trong mô-đun biểu mẫu ở phía máy khách, vì nó là một trình xử lý cho sự kiện tương tác của biểu mẫu. Khi tạo mẫu cho quy trình này, nền tảng sẽ tự động đặt chỉ thị biên dịch &OnClient trước phần mô tả quy trình.

Sau đó hàm RetailPrice() được gọi. Vì chức năng này sẽ không được tìm thấy ở phía máy khách nên việc thực thi sẽ được chuyển sang mô-đun chung Làm việc với các Thư mục chạy trên máy chủ. Sau khi chức năng hoàn thành, mã chương trình sẽ tiếp tục thực thi trên máy khách.

Tại sao một “thủ thuật” như vậy lại được sử dụng trong trường hợp này? Tại sao cần chuyển mã thực thi đến máy chủ?

Thực tế là mọi công việc với cơ sở dữ liệu (đọc dữ liệu, ghi) chỉ có thể thực hiện được trên máy chủ. Trong trường hợp này, chúng tôi cần đọc dữ liệu mới nhất từ ​​thanh ghi thông tin cho một số mục.

Những hành động như vậy chỉ có thể được thực hiện trên máy chủ và nếu bạn xem phần mô tả về phương thức GetLast() của thanh ghi thông tin trong trợ lý cú pháp, bạn sẽ nhận thấy rằng phương thức này chỉ khả dụng trên máy chủ, trong máy khách dày và trong kết nối bên ngoài.

Máy khách dày và kết nối bên ngoài là các ứng dụng máy khách nền tảng cũ tồn tại để tương thích với các giải pháp ứng dụng cũ.

Chúng tôi đang phát triển một giải pháp ứng dụng hoàn toàn mới hoạt động trên máy khách mỏng hoặc máy khách web. Do đó, trong trường hợp của chúng tôi, để lấy bất kỳ dữ liệu nào từ cơ sở dữ liệu, chúng tôi cần chuyển việc thực thi mã đến máy chủ, nhận dữ liệu cần thiết ở đó và trả lại dữ liệu này cho máy khách. Đó là những gì chúng tôi đã làm.

Ở chế độ 1C:Doanh nghiệp

Bây giờ hãy kiểm tra xem tài liệu của chúng tôi hoạt động như thế nào.

Hãy khởi chạy 1C:Enterprise ở chế độ gỡ lỗi và mở thanh ghi thông tin Giá.

Đối với bóng bán dẫn Philips, hãy thêm một mức giá mới với một số khác (Hình 9.10).

Bây giờ chúng ta hãy mở tài liệu Cung cấp dịch vụ số 1. Như bạn còn nhớ, với tài liệu này chúng ta vừa “sử dụng hết” một bóng bán dẫn như vậy.

Hãy giữ nguyên ngày của tài liệu và lặp lại việc chọn bóng bán dẫn trong cột Danh pháp của phần dạng bảng của tài liệu. Giá bóng bán dẫn sẽ được tự động đặt thành 01/07/2009. Đây là giá trị mới nhất vào ngày lập tài liệu (Hình 9.11).

Bây giờ, hãy thay đổi ngày của tài liệu thành 13/07/2009 và lặp lại việc lựa chọn bóng bán dẫn một lần nữa. Giá trị giá mới sẽ được đặt, giá trị mới nhất cho ngày này (Hình 9.12).

Do đó, giá của dịch vụ hiện tại tại thời điểm tài liệu được tạo sẽ xuất hiện trong tài liệu.


Câu hỏi kiểm soát

1. Mục đích của đối tượng cấu hình Information Register là gì?

2. Đối tượng cấu hình Information Register có những tính năng gì?

3. Sự khác biệt chính giữa sổ đăng ký thông tin và sổ đăng ký tích lũy là gì.

4. Trường nào xác định khóa duy nhất của thanh ghi tích lũy.

5. Thế nào là sổ đăng ký thông tin định kỳ và thế nào là sổ đăng ký thông tin độc lập.

6. Cách tạo sổ đăng ký thông tin định kỳ.

7. Kích thước chính của sổ đăng ký là gì.

8. Cách lấy các giá trị tài nguyên của các mục đăng ký gần đây nhất bằng ngôn ngữ tích hợp.

Hãy giải quyết vấn đề sau. Điều cần thiết là khi tạo hoặc thay đổi tài liệu Cung cấp dịch vụ và khi thêm bất kỳ phạm vi dịch vụ nào vào phần bảng, giá hiện tại thu được từ sổ đăng ký thông tin và tương ứng với ngày của tài liệu sẽ được chèn ngay lập tức.

Để làm điều này bạn cần:

    viết hàm RetailPrice sẽ trả về giá hiện tại;

    gọi hàm khi một mục mới được thêm vào tài liệu.

Vì chức năng như vậy có thể cần thiết trong tương lai nên chúng tôi sẽ viết nó ở một nơi “có thể truy cập công khai” - trong một mô-đun chung.

1. Tạo hàm Giá bán lẻ trong nhánh Chung – Các mô-đun chung có tên Làm việc với các thư mục. Bộ cờ Cuộc gọi máy chủ(để các thủ tục và chức năng xuất của mô-đun này có thể được gọi từ máy khách) (Hình 71a).

Cơm. 71a. Thuộc tính mô-đun chung

2. Đặt văn bản sau vào mô-đun.

Chức năng Bán lẻGiá(Ngày hiện tại,Dịch vụDanh mụcThành phần)Xuất

//Tạo đối tượng phụ trợ Selection

Lựa chọn = Cấu trúc mới ("Danh pháp dịch vụ", Thành phần danh pháp dịch vụ);

//Nhận các giá trị tài nguyên đăng ký hiện tại

ResourceValues=InformationRegisters.Prices.GetLast(Ngày hiện tại, Lựa chọn);

ReturnResourceValue.Price;

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

Hãy giải thích chức năng.

Để có được giá bán lẻ, bạn cần truyền hai tham số cho hàm:

    Ngay hiện tại– một tham số thuộc loại Ngày, xác định điểm trên trục thời gian mà chúng ta quan tâm đến giá trị của giá bán lẻ.

Cấu trúc này chứa Lựa chọn theo số đo đăng ký. Với sự trợ giúp của nó, kích thước bắt buộc của thanh ghi Danh mục dịch vụ được xác định, bằng với tham chiếu đến thành phần thư mục được truyền cho hàm.

Tên khóa cấu trúc ("H Danh pháp dịch vụ") phải khớp với tên của kích thước thanh ghi được chỉ định trong bộ cấu hình và giá trị của phần tử cấu trúc ( Yếu tố danh pháp dịch vụ) chỉ định giá trị được chọn cho thứ nguyên này.

Dòng thứ hai chứa lệnh gọi đến người quản lý đăng ký thông tin Giá ( Sổ đăng ký thông tin giá cả.) và thực hiện phương thức ChạyLast(), trả về giá trị tài nguyên của mục đăng ký gần đây nhất tương ứng với ngày được truyền cho hàm ( Ngay hiện tại) và ghi lại giá trị đo Lựa chọn.

Phương pháp Nhận sớm nhất trả về một cấu trúc chứa các giá trị tài nguyên, được lưu trữ trong một biến Giá trị tài nguyên.

Trong dòng tiếp theo, chúng tôi nhận được giá bán lẻ được yêu cầu bằng cách chỉ ra tên của tài nguyên đăng ký được yêu cầu, phân tách bằng dấu chấm ( Giá trịResources.Price) và trả về khi hàm được thực thi.

Cái đó. chức năng này có thể được gọi tại một số thời điểm.

Cần mở Mẫu văn bản Thực hiện dịch vụ(nó đã được tạo trước đó). TRONG Mô-đun biểu mẫu cần thiết thêm thủ tục khi thay đổi.

Để thực hiện việc này, hãy nhấp đúp vào thành phần biểu mẫu Danh sách các Mục và Dịch vụ (Hình 71b).

Cơm. 71b. Các thành phần của tài liệu Hiệu suất Dịch vụ

Trong cửa sổ thuộc tính trong sự kiện Khi nó thay đổi tạo một trình xử lý sự kiện với văn bản sau:

&Trên máy khách

Danh sách thủ tục Dịch vụ danh pháp khi thay đổi (Phần tử)

//Lấy hàng tiếp theo của phần bảng

TabularPart Row = Elements.List of Nomenclature.CurrentData;

// Đặt giá

TabularPart Row.Price = Làm việc với Directory.RetailPrice(Object.Date, TabularPartLine.Service);

Kết thúc thủ tục

Hãy giải thích chức năng.

Dòng đầu tiên đã được biết trước: đầu tiên chúng ta lấy dòng hiện tại của phần dạng bảng của tài liệu, bởi vì chúng ta sẽ cần nó trong tương lai và lưu nó vào một biến HàngBảngPhần.

Sau đó chúng ta gọi hàm Giá bán lẻ() từ một mô-đun chung Làm việc với các thư mục.

Tham số đầu tiên của hàm là chuyển ngày của tài liệu mà bạn cần lấy giá. Chúng tôi lấy ngày lập tài liệu từ các chi tiết chính của biểu mẫu - Đối tượng.Date.

Hàm trả về giá trị giá cuối cùng và giá trị này được gán cho trường Giá ở hàng hiện tại của phần bảng của tài liệu ( HàngTabularPart.Price).

Xin lưu ý rằng thủ tục Danh sách Danh phápServiceWhenChanged() bắt đầu làm việc trong mô-đun biểu mẫu ở phía máy khách, bởi vì Đây là trình xử lý sự kiện tương tác của biểu mẫu. Khi tạo mẫu cho quy trình này, nền tảng sẽ tự động đặt lệnh biên dịch trước phần mô tả quy trình &Trên máy khách.

Sau đó chúng ta gọi hàm Giá bán lẻ(). Bởi vì chức năng này sẽ không được tìm thấy ở phía máy khách, sau đó việc thực thi sẽ được chuyển sang mô-đun chung Làm việc với các thư mục, chạy trên máy chủ. Sau khi chức năng hoàn thành, mã chương trình sẽ tiếp tục thực thi trên máy khách.

Hãy kiểm tra các bước trên và khởi chạy ứng dụng ở chế độ 1C: Enterprise. Hãy làm việc với cấu hình đã phát triển.

NHẬP DỮ LIỆU VÀO DB

1. Nhập ít nhất 8 tài liệu Cung cấp dịch vụ vào ứng dụng.

Rất thường xuyên, khi làm việc trong chương trình 1C, bạn cần nhập nhanh một số tài liệu hoặc thêm đối tượng mới vào thư mục (loại mặt hàng, tổ chức, kho hàng, máy tính tiền, v.v.). Đồng thời, không phải ai cũng hiểu rõ về cách tự động hóa việc nhập các giá trị cơ bản, để khi tạo, các giá trị cần thiết sẽ được thay thế ngay vào các trường. Tôi sẽ cho bạn biết làm thế nào để làm điều này trong bài viết này.
Chương trình 1C có cơ chế cho phép bạn điền nhanh các giá trị chi tiết trong tài liệu, sách tham khảo. Dựa trên hành động của họ, họ có thể được chia thành các loại sau:

  • Thay thế giá trị đơn
  • Thay thế một giá trị bằng lựa chọn
  • Điền thông tin thống kê
  • Thay thế các chi tiết đã nhập trước đó
  • Thay thế các giá trị bằng cách sử dụng mẫu
  • Nhập tài liệu mới bằng cách sao chép

Thay thế một giá trị duy nhất mà người dùng có quyền.

Giả sử tổ chức của bạn có ba kho, chúng được nhập vào cơ sở dữ liệu. Đồng thời, người quản lý chỉ được phép bán hàng từ một. Khi tạo một tài liệu mới, kho này sẽ được chèn tự động. Điều này hoạt động dựa trên quyền thiết lập của người dùng. Nghĩa là, bằng cách tắt quyền đối với các đối tượng mà người dùng không làm việc cùng, bạn có thể tự động hóa việc nhập dữ liệu.

Thay thế một giá trị dựa trên lựa chọn được chỉ định trong biểu mẫu danh sách.

Nếu danh sách được thiết lập để chọn theo một số chi tiết (máy tính tiền, tài khoản ngân hàng, kho hàng) thì chi tiết này sẽ tự động được điền vào tài liệu mới. Ví dụ: bạn đặt lựa chọn bằng máy tính tiền dưới dạng danh sách tài liệu máy tính tiền. Khi bạn phát hành chứng từ thanh toán mới, thông tin về máy tính tiền đã chọn sẽ tự động được lấy từ danh sách. Và vì một tổ chức được chỉ định cho máy tính tiền nên thông tin về tổ chức đó sẽ được tự động điền vào. Bạn có thể sử dụng các lựa chọn trong bất kỳ danh sách tài liệu nào.

Điền thông tin thống kê chi tiết.

Chương trình 1C lưu giữ số liệu thống kê về việc nhập các giá trị cơ bản cho mỗi người dùng. Nếu bạn nhập cùng một tổ chức, bộ phận, kho hàng, giao dịch kinh doanh, v.v. hai lần khi tạo tài liệu mới, chương trình sẽ phân tích các giá trị được nhập cuối cùng. Như vậy, thuật toán điền thống kê sẽ tự động “điều chỉnh” cho phù hợp với từng người dùng.
Nếu người dùng vi phạm chuỗi này trong tài liệu mới, chương trình sẽ hiểu điều này và sẽ bắt đầu thay thế các giá trị mới sau một thời gian, nhưng trong tài liệu đầu tiên, các giá trị đó sẽ không được thay thế.
Bạn có thể điền các chi tiết đã nhập trước đó khi chọn giá trị của một chi tiết khác nếu bạn chọn, chẳng hạn như một thỏa thuận thương mại hoặc hợp đồng trong đó tất cả các trường chính được điền vào (kho, lịch thanh toán, giá cả, v.v.). Khi ghi rõ thỏa thuận, hợp đồng trong văn bản, các chi tiết sẽ được điền theo nguyên tắc sau:

tất cả dữ liệu đã được chỉ định trong thỏa thuận hoặc hợp đồng sẽ được điền vào;

nếu bất kỳ giá trị nào (ví dụ: phân chia) không được chỉ định trong thỏa thuận hoặc hợp đồng thì giá trị này sẽ được điền vào theo thống kê. Nếu khi nhập một tài liệu mới, các giá trị được điền theo số liệu thống kê thì chúng sẽ được nạp lại nếu chúng được xác định trong thỏa thuận hoặc hợp đồng.

Thay thế các giá trị bằng cách sử dụng mẫu.

Xin lưu ý, khi một loại mục mới được tạo, bạn có thể chỉ định các giá trị mặc định sẽ được thay thế vào các đối tượng mới. Khi đăng ký một mặt hàng mới cho loại mặt hàng này, các giá trị này sẽ được nhập tự động. Một ví dụ khác là việc tự động thay thế thông tin về một phòng ban vào một tài liệu nếu người dùng lập tài liệu có thông tin về phòng ban được xác định trong thẻ của người dùng.

Nhập một tài liệu mới bằng cách sao chép.

Mọi thứ đều đơn giản ở đây. Nếu người dùng đã nhập một tài liệu tương tự thì tài liệu đó có thể được sao chép và dữ liệu đã thay đổi có thể được sửa. Kiểm tra tất cả các chi tiết, đặc biệt chú ý đến các chi tiết như ngày tháng.

Dưới đây là năm cách chính để giúp bạn nhập các tài liệu và sách tham khảo tương tự dễ dàng hơn. Hãy chắc chắn sử dụng chúng trong công việc hàng ngày của bạn

Làm cách nào để nhập nhanh giá trị chi tiết trong 1C?