1с керована форма відбір. Як відкрити форму списку з певним відбором? Встановлення відбору конфігуратора

Код 1C v 8.х ДовідникСписок.Отбор.Сбросить();
ДовідникСписок.Отбор.статус.ВидСравнения=ВидСравнения.Содержит;
ДовідникСписок.Отбор.Статус.Значение="Прийнята";
ДовідникСписок.Отбор.Статус.Установить();

Для 1С 8.2:
Є кілька способів для того, щоб відкрити форму списку з деяким заздалегідь встановленим відбором. Розглянемо їх по-порядку:

1. Перший спосіб полягає в тому, що при відкритті форми можна встановити параметр форми Відбір, і відкрити форму списку з цим параметром. Параметр Відбір є структурою. Імена елементів відповідають іменам полів, якими проводиться відбір, а значення містять значення відбору. Це параметр розширення керованої форми динамічного списку. Тобто він існує у форм, основним реквізитом яких є реквізит типу Динамічний Список, наприклад, у форм списку та форм вибору.

У процесі відкриття форми буде встановлено відбір за вказаним полем.
Код 1C v 8.2 УП // Наприклад, у прикладі відкривається список прибуткових накладних з відбором по полю Номер, що дорівнює 333.
ЗначенняОтбору = Новий Структура("Номер", "333");
ПараметриВибору = Новий Структура("Отбор", ЗначенняОтбору);

ВідкритиФорму("Документ.ПриходнаяНакладная.ФормаСписка",ПараметриВибору);

// Наприклад, у наступному прикладі відкривається список видаткових накладних
// з відбором по полю Контрагент, що дорівнює «ВАТ Рогу та копита».
Значення Відбору = Новий Структура («Контрагент», «ВАТ Рогу та копита»);
ПараметриВибору = Новий Структура(«Відбір», ЗначенняОтбору);
ВідкритиФорму(«Документ.ПриходнаяНакладная.ФормаСписка», ПараметриВибору);

2. Можна відкрити форму списку без параметрів:
Код 1C v 8.2 УП ВідкритиФорму("Документ.ПриходнаяНакладная.ФормаСписка");

І потім, в обробнику події форми списку прибуткових накладних При створенні на сервері написати код, який створює відбір в динамічному списку, що є основним реквізитом форми:
Код 1C v 8.2 УП &На Сервері

ЕлементВідбору = Список.
ЕлементОтбора.ЛевоеЗначение = Новий ПолеКомпонівкиДаних("Номер");

ЕлементВідбору.РежимВідображення = РежимВідображенняЕлементаНалаштуванняКомпонуванняДаних.Недоступний;
ЕлементОтбору.ПравоеЗначення = "000000001";
КінецьПроцедури

&На сервері
Процедура при створенні на сервері (відмова, стандартна обробка)
ЕлементОтбору = Список.Отбор.Элементы.Добавить(Тип
(«ЕлементВідборуКомпонівкиДаних»));
ЕлементОтбора.ЛевоеЗначение = Новий ПолеКомпонівкиДаних («СумаДокумента»);
ЕлементОтбора.Вид Порівняння = ВидПорівнянняКомпонівкиДаних.Більше;
ЕлементОтбору.Використання = Істина;
ЕлементОтбору.ПравоеЗначення = 150000;
КінецьПроцедури

Переваги даного методуу тому, що Порівнянняу відбору можна ставити як Рівно, як у першому випадку, а й Більше, Менше тощо.

Але такий спосіб має й дуже істотний недолік: з цим відбором форма буде відкриватися завжди. Звідки б її не викликали. Тому таку форму слід призначати основний. А якщо все ж таки вона основна - то перед встановленням відбору, необхідно передбачити якийсь аналіз того, звідки відкривається ця форма. Наприклад, аналізуючи параметри форми.

3. І нарешті, умову відбору можна помістити у довільний запит, який вибирає дані для динамічного списку. Наприклад, нам потрібно відкрити список прибуткових накладних, у яких є номенклатура, виділена в списку номенклатури.

Для цього у формі списку номенклатури створимо команду та відповідну їй кнопку Прибуткові накладні.

Обробник виконання цієї команди заповнимо так:
Код 1C v 8.2 УП &НаКлієнті
Процедура ПрибутковіНакладні(Команда)

ФормаСписку = ОтриматиФорму("Документ.ПриходнаяНакладная.ФормаСписка");
ФормаСписку.ФільтрПоТовару = Елементи.Список.ПоточнийРядок;
ФормаСписку.Відкрити();

КінецьПроцедури

У цьому обробнику ми отримуємо форму списку прибуткових накладних та передаємо у параметр форми ФільтрПоТовару посилання на поточний елемент у списку номенклатури та відкриваємо форму з цим параметром.

Потім створимо форму списку документів ПриходнаяНакладная і створимо реквізит форми ФільтрПотовару, який ми будемо використовувати як параметр форми при її відкритті. Тепер відкриємо палітру властивостей основного реквізиту форми Список. Встановимо прапор ДовільнийЗапитта у рядку Налаштування списку натиснемо Відкрити.

У полі Запит введемо наступний текст запиту:
Код 1C v 8.2 УП ВИБРАТИ
ДокументПриходнаяНакладная.Номер,
ДокументПриходнаНакладна.Дата
З
Документ.ПриходнаяНакладная ЯК ДокументПриходнаяНакладная
ДЕ
ДокументПриходнаяНакладная.Товари.Товар = &Товар

У запиті ми використовуємо параметр Товар, який і буде передаватися посилання на поточний рядок у списку номенклатури, що міститься в параметрі форми списку прибуткових накладних ФільтрПотовару. Для цього в обробнику події форми списку При відкритті напишемо код для встановлення значення параметра запиту Товар:
Код 1C v 8.2 УП
&На Клієнті
Процедура Прі Відкриття (Відмова)

Список.Параметри.ВстановитиЗначенняПараметра("Товар", ФільтрПоТовару);

КінецьПроцедури

Тут Список.Параметри- це список параметрів запиту динамічного списку реквізиту Список. Значення параметра Товар встановлюється рівним значенню параметра форми ФільтрПоТовару.

В результаті за натисканням кнопки Прибуткові накладні у формі списку номенклатури ми отримуватимемо список тільки тих прибуткових накладних, у яких є номенклатура, виділена в Наразіу списку номенклатури.

Інформація взята із сайту

Відбір на керованих формах 1С 8.3

У статті будуть розглянуті варіанти встановлення відбору у керованих формах 1С 8.3. Відбір для динамічного списку може бути встановлений статично або динамічно, користувальницькому інтерфейсіабо конфігуратор. Усі варіанти відборів ми розглянемо нижче.

  • Встановлення відбору конфігуратора

Встановлення відбору в режимі користувача

Динамічний список на відміну таблиці чи дерева значень – найбільш відповідне рішення реалізації форм містять якісь списки, т.к. динамічний список надає найширший набір інструментів для роботи з відбором, групуванням полів, сортуванням. Цей відбір можна встановити при роботі в режимі користувача або конфігураторі, принцип однаковий.

Для встановлення відбору у режимі підприємства необхідно викликати команду «Налаштувати список».

Відкриється вікно.


На вкладці «відбір» представлений список полів, який міститься в поточному списку. Вибираємо поля списку, за якими фільтруватимемо. Зробити це можна подвійним кліком або за допомогою drag and drop.


Задаємо вигляд порівняння та значення, тиснемо "Завершити редагування", відбір встановлений.


При встановленні відбору як підприємства на формі списку автоматично створюються поля про швидких відборів.


Щоб платформа 1С автоматично створювала поля швидких відборів, при розробці форми в конфігураторі необхідно вказати групу налаштувань користувача.


Цей вибір буде збережено лише для поточного користувача, що дозволяє гнучко виконувати кастомізовані налаштування динамічного списку. Однак, якщо стоїть завдання зробити фіксований відбір для певного списку для всіх користувачів системи, її ми зможемо вирішити лише через конфігуратор.

Встановлення відбору конфігуратора

Працюючи у конфігураторі, ми можемо встановлювати вибір динамічного списку двох видів – фіксований і динамічний. Фіксований відбір налаштовується один раз, динамічний або програмний – можна встановлювати залежно від даних у системі.

Принцип встановлення фіксованого відбору в конфігураторі не відрізняється від установки в режимі користувача описаному вище. Щоб встановити вибір, ми повинні відкрити параметри динамічного списку.


Відкриється вікно.


Відбір задається так само, як у режимі користувача.

Опція «Включати в налаштування користувача» визначає, чи буде встановлений в конфігураторі відбір доступний в режимі користувача через пункт меню «Налаштувати список».


Динамічний (програмний) відбір

Найчастіше виникає необхідність встановлювати відбір програмно, наприклад, при відкритті форми вибору, коли необхідно відкрити керовану форму з відбором. Форму передається параметр і за цим параметром встановлюється відбір. Частим прикладом цього є відбір елементів довідника по власнику.

Методи

Якщо в конфігурації, що розробляється, присутня підсистема БСП «Базова Функціональність», програмний відбір у динамічному списку можна встановити за допомогою типового методу:

ЗагальногоПризначенняКлієнтСервер.ВстановитиЕлементВідборуДинамічногоСписку()

Сигнатура даного методу:

Динамічний Список Тип: Динамічний Список - Список, в якому потрібно встановити відбір.

Ім'яПоля Тип: Рядок – Поле, яким необхідно встановити відбір.

ПравеЗначення Тип: Довільний – Значення відбору (Необов'язковий. Значення за замовчуванням: Невизначено. Увага! Якщо передати Невизначено, значення не буде змінено).

ВидПорівняння Тип: ВиглядПорівнянняКомпонівкиДаних – Умова відбору.

Подання Тип: Рядок – Подання елемента компонування даних (Необов'язковий. Значення за замовчуванням: Невизначено. Якщо вказано, виводиться лише прапорець використання із зазначеним поданням (значення не виводиться). Для очищення, щоб значення знову виводилося, слід передати порожній рядок).

Використання Тип: Булеве – Прапорець використання цього відбору (Необов'язковий. Значення за замовчуванням: Невизначено).

РежимВідображення Тип: РежимВідображенняЕлементаНалаштуванняКомпонуванняДаних – Спосіб відображення цього відбору користувачеві. Можливі значення:

  • РежимВідображенняЕлементуНалаштуванняКомпонуванняДаних.ШвидкийДоступ – У групі швидких налаштуваньнад списком.
  • РежимВідображенняЕлементуНалаштуванняКомпонуванняДаних.Звичайний – У налаштування списку (у підменю Ще).
  • РежимВідображенняЕлементуНалаштуванняКомпонуванняДаних.Недоступний – Заборонити користувачеві змінювати цей вибір.

Ідентифікатор Налаштування користувача Тип: Рядок – Унікальний ідентифікатор цього відбору (Використовується для зв'язку з налаштуваннями користувача).

Для видалення значення відбору необхідно скористатися типовим методом:

Загального призначенняКлієнтСервер. ВидалитиЕлементиГрупиВідборуДинамічногоСписку ()

Сигнатура даного методу:

Динамічний Список Тип: Динамічний Список - реквізит форми, для якого потрібно встановити відбір.

Ім'яПоля Тип: Рядок – ім'я поля компонування (не використовується для груп).

Подання Тип: Рядок – представлення поля компонування.

У разі відсутності в системі БСП відбір можна встановити самостійно, використовуючи об'єкт ПолеКомпонівкиДаних.

ЕлементВідбору = Список.

ЕлементОтбора.ЛевоеЗначение = Новий ПолеКомпонівкиДаних("ПІБ");

ЕлементОтбору.Вид Порівняння = ВидПорівнянняКомпонуванняДаних.Рівне;

ЕлементВідбору.РежимВідображення = РежимВідображенняЕлементаНалаштуванняКомпонуванняДаних.ШвидкийДоступ; // Опціонально ЕлементОтбору.ПравоеЗначение = " Іванів " ;

Даний відбір відбере рядки, в яких значення ПІБ = Іванів.

Вибір динамічного списку також можна здійснювати через зміну тексту запиту динамічного списку. Цей варіант працює, коли динамічний список зроблено через «довільний запит».


Для цього до тексту запиту додаємо умову «ДЕ Істина»…


Як видно, такий підхід компактніший з точки зору написання коду. Чим складніші умовивідбору в табличній частині ми хочемо встановити, тим більш громіздким буде варіант з використанням відбору через ЕлементОтборуКомпонівкиДаних. Однак приклад із зміною тексту запиту має свої недоліки – ця реалізація не стійка до змін коду. Наприклад, ви зробили таку реалізацію і забули, але якщо в майбутньому ви захочете модифікувати текст запиту, додавши до нього якийсь оператор після ДЕ (Упорядкувати, згрупувати), вам потрібно не забути про те, що в програмному коді є:

Список.ТекстЗапиту = Список.ТекстЗапиту + "І ДовідникКористувачі.ПІБВ(""Іванов"",""Петрів"")";

Якщо цього не врахувати буде помилка, але щоб уникнути, можна переробити в іншу реалізацію. У текст запиту додаємо таку умову:

ДЕ (НЕ &ВідбірВстановлений АБО ДовідникКористувачі.ПІБ В (&ДозволеніПІБ))

Список.Параметри.ВстановитиЗначенняПараметра("ВідбірВстановлений", ПІБ.Кількість() > 0);

Список.Параметри.ВстановитиЗначенняПараметра("Дозволені ПІБ", ПІБ);

Тут ПІБ – масив.

Як видно, 2 рядки коду проти 10. Який із способів вибрати, залежить від конкретного прикладного завдання. Для того щобвідкрити форму вибору з відбором 1с 8.2

(Звичайні форми), нам потрібно виконати деякі дії. Спершу ми її отримаємо. Після цього виставимо відбір і програмно відкриємо, ось приклад коду:

Відбір на формі у полі введення 1С 8.2 з кількома значеннями У прикладі вище ми розглянулияк встановлювати відбір на формі вибору за конкретним значенням. Тепер давайте розглянемо ситуацію коли потрібно підставити кілька значень, це може бути, наприклад, як масив, так і вивантаження з результату запиту.Це відбір у полі введення 1с

з кількома значеннями. Для початку отримуємо форму вибору, у параметрах передаємо "Елемент" (власника), встановлюємо прапор режиму вибору. Потім створюємо список значень та масив, відзначаємо що як відбір коли встановлюється вид порівняння у списку, може бути об'єкт тільки з типомСписокЗначень

Встановлення відбору в полі введення на формі 1С 8.3, подія ПочатокВибору

Тепер розглянемо відбір у полі введення на керованій формі 1С 8.3. Знайдемо на формі елемент, що цікавить нас, в якому ми будемо встановлювати відбір, у нашому випадку це поле «Організація». Знаходимо подію «Початок Вибору», клацаємо на лупу і опиняємось у процедурі. Ми бачимо параметр Дані Вибору, цей параметр має тип СписокЗначень. Для того, щоб обмежити вибір необхідними елементами, нам необхідно заповнити СписокЗначень. Елементи вибрати можемо тільки на сервері, тому створюємо процедуру з директивою компіляції &На сервері. У цій процедурі заповнюємо Дані Вибору.

Код 1C v 8.х ДовідникСписок.Отбор.Сбросить();
ДовідникСписок.Отбор.статус.ВидСравнения=ВидСравнения.Содержит;
ДовідникСписок.Отбор.Статус.Значение="Прийнята";
ДовідникСписок.Отбор.Статус.Установить();

Для 1С 8.2:
Є кілька способів для того, щоб відкрити форму списку з деяким заздалегідь встановленим відбором. Розглянемо їх по-порядку:

1. Перший спосіб полягає в тому, що при відкритті форми можна встановити параметр форми Відбір, і відкрити форму списку з цим параметром. Параметр Відбір є структурою. Імена елементів відповідають іменам полів, якими проводиться відбір, а значення містять значення відбору. Це параметр розширення керованої форми динамічного списку. Тобто він існує у форм, основним реквізитом яких є реквізит типу Динамічний Список, наприклад форм списку і форм вибору.

У процесі відкриття форми буде встановлено відбір за вказаним полем.
Код 1C v 8.2 УП // Наприклад, у прикладі відкривається список прибуткових накладних з відбором по полю Номер, що дорівнює 333.
ЗначенняОтбору = Новий Структура("Номер", "333");
ПараметриВибору = Новий Структура("Отбор", ЗначенняОтбору);

ВідкритиФорму("Документ.ПриходнаяНакладная.ФормаСписка",ПараметриВибору);

// Наприклад, у наступному прикладі відкривається список видаткових накладних
// з відбором по полю Контрагент, що дорівнює «ВАТ Рогу та копита».
Значення Відбору = Новий Структура («Контрагент», «ВАТ Рогу та копита»);
ПараметриВибору = Новий Структура(«Відбір», ЗначенняОтбору);
ВідкритиФорму(«Документ.ПриходнаяНакладная.ФормаСписка», ПараметриВибору);

2. Можна відкрити форму списку без параметрів:
Код 1C v 8.2 УП ВідкритиФорму("Документ.ПриходнаяНакладная.ФормаСписка");

І потім, в обробнику події форми списку прибуткових накладних При створенні на сервері написати код, який створює відбір в динамічному списку, що є основним реквізитом форми:
Код 1C v 8.2 УП &На Сервері

ЕлементВідбору = Список.
ЕлементОтбора.ЛевоеЗначение = Новий ПолеКомпонівкиДаних("Номер");


ЕлементВідбору.РежимВідображення = РежимВідображенняЕлементаНалаштуванняКомпонуванняДаних.Недоступний;
ЕлементОтбору.ПравоеЗначення = "000000001";
КінецьПроцедури

&На сервері
Процедура при створенні на сервері (відмова, стандартна обробка)
ЕлементОтбору = Список.Отбор.Элементы.Добавить(Тип
(«ЕлементВідборуКомпонівкиДаних»));
ЕлементОтбора.ЛевоеЗначение = Новий ПолеКомпонівкиДаних («СумаДокумента»);
ЕлементОтбора.Вид Порівняння = ВидПорівнянняКомпонівкиДаних.Більше;
ЕлементОтбору.Використання = Істина;
ЕлементОтбору.ПравоеЗначення = 150000;
КінецьПроцедури

Переваги даного методу в тому, що Вид Порівнянняу відбору можна ставити як Рівно, як у першому випадку, а й Більше, Менше тощо.

Але такий спосіб має й дуже істотний недолік: з цим відбором форма буде відкриватися завжди. Звідки б її не викликали. Тому таку форму слід призначати основний. А якщо все ж таки вона основна - то перед встановленням відбору, необхідно передбачити якийсь аналіз того, звідки відкривається ця форма. Наприклад, аналізуючи параметри форми.

3. І нарешті, умову відбору можна помістити у довільний запит, який вибирає дані для динамічного списку. Наприклад, нам потрібно відкрити список прибуткових накладних, у яких є номенклатура, виділена в списку номенклатури.

Для цього у формі списку номенклатури створимо команду та відповідну їй кнопку Прибуткові накладні.

Обробник виконання цієї команди заповнимо так:
Код 1C v 8.2 УП &НаКлієнті
Процедура ПрибутковіНакладні(Команда)

ФормаСписку = ОтриматиФорму("Документ.ПриходнаяНакладная.ФормаСписка");
ФормаСписку.ФільтрПоТовару = Елементи.Список.ПоточнийРядок;
ФормаСписку.Відкрити();

КінецьПроцедури

У цьому обробнику ми отримуємо форму списку прибуткових накладних та передаємо у параметр форми ФільтрПоТовару посилання на поточний елемент у списку номенклатури та відкриваємо форму з цим параметром.

Потім створимо форму списку документів ПриходнаяНакладная і створимо реквізит форми ФільтрПотовару, який ми будемо використовувати як параметр форми при її відкритті. Тепер відкриємо палітру властивостей основного реквізиту форми Список. Встановимо прапор ДовільнийЗапитта у рядку Налаштування списку натиснемо Відкрити.

У полі Запит введемо наступний текст запиту:
Код 1C v 8.2 УП ВИБРАТИ
ДокументПриходнаяНакладная.Номер,
ДокументПрибутковаНакладна.Дата
З
Документ.ПриходнаяНакладная ЯК ДокументПриходнаяНакладная
ДЕ
ДокументПриходнаяНакладная.Товари.Товар = &Товар

У запиті ми використовуємо параметр Товар, який і буде передаватися посилання на поточний рядок у списку номенклатури, що міститься в параметрі форми списку прибуткових накладних ФільтрПотовару. Для цього в обробнику події форми списку При відкритті напишемо код для встановлення значення параметра запиту Товар:
Код 1C v 8.2 УП
&На Клієнті
Процедура Прі Відкриття (Відмова)

Список.Параметри.ВстановитиЗначенняПараметра("Товар", ФільтрПоТовару);

КінецьПроцедури

Тут Список.Параметри- це список параметрів запиту динамічного списку реквізиту Список. Значення параметра Товар встановлюється рівним значенню параметра форми ФільтрПоТовару.

В результаті за натисканням кнопки Прибуткові накладні у формі списку номенклатури ми будемо отримувати список тільки тих прибуткових накладних, в яких є номенклатура, виділена в даний момент у списку номенклатури.

Як відкрити форму списку з певним відбором?

Є кілька способів для того, щоб відкрити форму списку з деяким заздалегідь встановленим відбором. Розглянемо їх по-порядку:

1. Перший спосіб полягає в тому, що при відкритті форми можна задати параметр форми Відбір і відкрити форму списку з цим параметром. Параметр Відбір є структурою. Імена елементів відповідають іменам полів, якими проводиться відбір, а значення містять значення відбору. Це параметр розширення керованої форми динамічного списку. Тобто існує у форм, основним реквізитом яких є реквізит типу Динамічний Список, наприклад у форм списку та форм вибору.

У процесі відкриття форми буде встановлено відбір за вказаним полем. Наприклад, у наступному прикладі відкривається список прибуткових накладних з відбором по полю Номер 333.

ЗначенняОтбору = Новий Структура("Номер", "333");

ПараметриВибору = Новий Структура("Отбор", ЗначенняОтбору);

ВідкритиФорму("Документ.ПриходнаяНакладная.ФормаСписка",ПараметриВибору);

2. Можна відкрити форму списку без параметрів:

ВідкритиФорму("Документ.ПриходнаяНакладная.ФормаСписка");

І потім, в обробнику події форми списку прибуткових накладних При створенні на серверінаписати код, який створює відбір у динамічному списку, що є основним реквізитом форми:

&На сервері

Процедура при створенні на сервері (відмова, стандартна обробка)

ЕлементВідбору = Список.

ЕлементОтбора.ЛевоеЗначение = Новий ПолеКомпонівкиДаних("Номер");

ЕлементОтбора.Вид Порівняння = ВидПорівнянняКомпонівкиДаних.Більше;

ЕлементОтбору.Використання = Істина;

ЕлементВідбору.РежимВідображення = РежимВідображенняЕлементаНалаштуванняКомпонуванняДаних.Недоступний;

ЕлементОтбору.ПравоеЗначення = "000000001";

КінецьПроцедури

Переваги даного методу в тому, що Порівняння у відбору можна задавати не тільки рівно, як в першому випадку, а і більше, менше і т.п.

Але такий спосіб має й дуже істотний недолік: з цим відбором форма буде відкриватися завжди. Звідки б її не викликали. Тому таку форму слід призначати основний. А якщо все ж таки вона основна - то перед встановленням відбору, необхідно передбачити якийсь аналіз того, звідки відкривається ця форма. Наприклад, аналізуючи параметри форми.

3. І нарешті, умову відбору можна помістити у довільний запит, який вибирає дані для динамічного списку. Наприклад, нам потрібно відкрити список прибуткових накладних, у яких є номенклатура, виділена в списку номенклатури.

Для цього у формі списку номенклатури створимо команду та відповідну їй кнопку Прибуткові накладні.

Обробник виконання цієї команди заповнимо так:

&На Клієнті

Процедура ПрибутковіНакладні(Команда)

ФормаСписку = ОтриматиФорму("Документ.ПриходнаяНакладная.ФормаСписка");

ФормаСписку.ФільтрПоТовару = Елементи.Список.ПоточнийРядок;

ФормаСписку.Відкрити();

КінецьПроцедури

У цьому обробнику ми отримуємо форму списку прибуткових накладних та передаємо у параметр форми ФільтрПоТовару посилання на поточний елемент у списку номенклатури та відкриваємо форму з цим параметром.

Потім створимо форму списку документів Прибуткова накладнаі створимо реквізит форми ФільтрПоТовару, який ми будемо використовувати як параметр форми при її відкритті. Тепер відкриємо палітру властивостей основного реквізиту форми Список. Встановити прапор Довільний Запитта у рядку Налаштування спискунатиснемо Відкрити.

У полі Запит введемо наступний текст запиту:

ВИБРАТИ

ДокументПриходнаяНакладная.Номер,

ДокументПриходнаНакладна.Дата

З

Документ.ПриходнаяНакладная ЯК ДокументПриходнаяНакладная

ДЕ

ДокументПриходнаяНакладная.Товари.Товар = &Товар

У запиті ми використовуємо параметр Товар, в який і буде передаватися посилання на поточний рядок у списку номенклатури, що міститься у параметрі форми списку прибуткових накладних ФільтрПоТовару. Для цього в обробнику події форми списку При відкритті напишемо код для встановлення значення параметра запиту Товар :

&На Клієнті

Процедура Прі Відкриття (Відмова)

Список.Параметри.ВстановитиЗначенняПараметра("Товар", ФільтрПоТовару);

КінецьПроцедури

Тут Список.Параметри- це список параметрів запиту динамічного списку для реквізиту Список. Значення параметра Товар встановлюється рівним значенню параметра форми ФільтрПотовару.

В результаті після натискання кнопки Прибуткові накладніу формі списку номенклатури ми отримуватимемо список лише тих прибуткових накладних, у яких є номенклатура, виділена на даний момент у списку номенклатури.

Демонстраційний приклад для 3-го варіанта знаходиться в каталозі 1CITS/EXE/FAQ/Відкрити ФормуСтбором.dt. Приклад виконано на версії платформи 8.2.9.356.




Top