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

Тук можем да зададем произволен избор за динамичния списък. След това този избор може да се управлява програмно.
Задаване на избор в динамичен списък 1C програмно
Факт е, че Selection е свойство на динамичен списък. Това ще използваме. Първо, нека добавим нов елемент към свойството за избор:
За да работи селекцията, трябва да посочите параметрите "LeftValue", "Comparison Type" и "RightValue". Освен това трябва да зададете свойството "Usage" на "True".
Така създаваме проста селекция. В допълнение към простите, можете да зададете условия за няколко полета. За да направим това, използваме типа данни "Група от елементи за избор на състава на данните":
Избор в таблицата със стойности 1C
Тук също имаме няколко възможности.
- Можете просто да преминете през таблицата и да изберете редовете, от които се нуждаете, или да скриете тези, които не ви трябват. Мисля, че този метод е най-неоптималният, но за начинаещи ще свърши работа.
- Вторият начин е да използвате табличния метод "Намиране на редове". Понякога много добър начин, но има сериозен недостатък. Това е единственият тип за сравнение - "Equal".
- Третата опция за избор ми е любима, защотолишен от всякакви недостатъци. В този вариант използвам "Query Builder". Ето един пример: