Селекции в 1C 8

Често има ситуации, когато в 1C 8.3 е необходимо да изберете определени редове в таблицата според определени критерии. Нека да видим как да направим това в динамичен списък и в таблица със стойности.

Избор в динамичния списък 1C 8.3

Тук имаме два начина: създаване на селекция във формуляра със списък и задаване на селекцията програмно.

Избор в настройката на формата

В конфигуратора добавете динамичен списък към формуляра, задайте му основната таблица и отидете на свойствата на списъка. В свойствата има раздел „Настройки на списъка“, щракнете върху връзката „Отваряне“. Ще се появи следният прозорец:

селекции

Тук можем да зададем произволен избор за динамичния списък. След това този избор може да се управлява програмно.

Задаване на избор в динамичен списък 1C програмно

Факт е, че Selection е свойство на динамичен списък. Това ще използваме. Първо, нека добавим нов елемент към свойството за избор:

За да работи селекцията, трябва да посочите параметрите "LeftValue", "Comparison Type" и "RightValue". Освен това трябва да зададете свойството "Usage" на "True".

Така създаваме проста селекция. В допълнение към простите, можете да зададете условия за няколко полета. За да направим това, използваме типа данни "Група от елементи за избор на състава на данните":

Избор в таблицата със стойности 1C

Тук също имаме няколко възможности.

  • Можете просто да преминете през таблицата и да изберете редовете, от които се нуждаете, или да скриете тези, които не ви трябват. Мисля, че този метод е най-неоптималният, но за начинаещи ще свърши работа.
  • Вторият начин е да използвате табличния метод "Намиране на редове". Понякога много добър начин, но има сериозен недостатък. Това е единственият тип за сравнение - "Equal".
  • Третата опция за избор ми е любима, защотолишен от всякакви недостатъци. В този вариант използвам "Query Builder". Ето един пример: