Что такое связь по параметрам выбора
Перейти к содержимому

Что такое связь по параметрам выбора

  • автор:

Что такое связь по параметрам выбора

Доброго утра всем.

Вопрос такой: Связи параметров выбора работают только на подчиненные справочники?
В документе есть реквизит типа «Справочник.ХХХ» и реквизит типа «Справочник.YYY». В справочнике «Справочник.YYY» есть реквизит типа «Справочник.ХХХ». Я хочу чтобы в документе при выборе реквизита «Справочник.YYY» открывался список с отбором по выбранному реквизиту документа «Справочник.ХХХ». Связь параметров выбора создал, но она не работает, открывается весь справочник «Справочник.YYY». Как это лучше сделать?

Связь параметров выбора создана в форме документа у реквизита «Справочник.YYY»:
https://disk.yandex.by/i/n82tf5ceSmZsqA

А если создать связь программно, то все работает:

Процедура Расш1_ВидДоставкиНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
НовыйПараметр = Новый ПараметрВыбора(«Отбор.Контрагент», Объект.ПеревозчикПартнер);
НовыйМассив = Новый Массив();
НовыйМассив.Добавить(НовыйПараметр);
НовыеПараметры = Новый ФиксированныйМассив(НовыйМассив);
Элементы.Расш1_ВидДоставки.ПараметрыВыбора = НовыеПараметры;
КонецПроцедуры

И так тоже работает:

Процедура Расш1_ВидДоставкиНачалоВыбораСервер()
НоваяСвязь = Новый СвязьПараметраВыбора(«Отбор.Контрагент», «Объект.ПеревозчикПартнер»);
НовыйМассив = Новый Массив();
НовыйМассив.Добавить(НоваяСвязь);
НовыеСвязи = Новый ФиксированныйМассив(НовыйМассив);
Элементы.Расш1_ВидДоставки.СвязиПараметровВыбора = НовыеСвязи;
КонецПроцедуры

Связи параметров выбора

Подчиненные владельцу реквизиты — элементы справочников, которые должны выбираться пользователем в контексте элемента-владельца. В тестовом примере у нас будут справочники «Контрагенты», «Договора» и документ «ПриходнаяНакладная» с реквизитами «Контрагент» и «Договор».

Cправочник «Договора» подчинен справочнику «Контрагенты»:

Для документа «ПриходнаяНакладная» в свойствах реквизита «Договор» выставляем «Связи параметров выбора: Отбор.Владелец(Контрагент)»

Для этого по нажатию […] выбираем в списке «Связи параметров выбора» реквизит «Контрагент»:

В таблице Имя-Реквизит-Режим изменения должно стоять: Отбор.Владелец — Контрагент — Очищать

Если в поле «Имя» стоит что-то другое, нужный вариант можно выбрать из выпадающего списка:

  • Как открыть форму списка с некоторым отбором?
  • Форма динамического списка с произвольным запросом
  • Организация подборов в табличную часть документа
  • Параметры формы
  • Дерево значений
  • Вычисляемые колонки в списках
  • Отбор строк табличной части

Каталог оборудования

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Производители

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Функциональные группы

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Категории блога
Облако тегов

  • 1С:Предприятие (31)
  • API (29)
  • Bash (43)
  • CLI (126)
  • CMS (139)
  • CSS (50)
  • Frontend (75)
  • HTML (66)
  • JavaScript (150)
  • Laravel (72)
  • Linux (174)
  • MySQL (76)
  • PHP (125)
  • React.js (66)
  • SSH (27)
  • Ubuntu (70)
  • Web-разработка (509)
  • WordPress (73)
  • Yii2 (69)
  • БазаДанных (95)
  • Битрикс (66)
  • Блог (29)
  • Верстка (43)
  • ИнтернетМагаз… (84)
  • КаталогТоваров (87)
  • Класс (30)
  • Клиент (29)
  • Ключ (28)
  • Команда (88)
  • Компонент (60)
  • Конфигурация (72)
  • Корзина (32)
  • ЛокальнаяСеть (33)
  • Модуль (34)
  • Навигация (31)
  • Настройка (148)
  • ПанельУправле… (29)
  • Плагин (33)
  • Пользователь (26)
  • Практика (101)
  • Сервер (82)
  • Событие (28)
  • Теория (106)
  • Установка (72)
  • Файл (51)
  • Форма (58)
  • Фреймворк (192)
  • Функция (36)
  • ШаблонСайта (68)

1С. Программное переопределение связей параметров выбора

Задача 1c-programmnoye-pereopredeleniye-svyazey-parametrov-vybora_0

Необходимо организовать программное переопределить связи параметров выбора по определенному событию

Решение

Для наглядности создадим новую конфигурацию со следующими справочниками:

  1. «Контрагенты»;
  2. «Договоры контрагентов». Подчинен справочнику «Контрагенты»;
  3. «Соглашения». У реквизита «Договор контрагента» установлены параметры связей выбора по реквизитам «Владелец», «Параметр 1» и «Параметр 2».

При такой реализации в соглашении будут доступны договоры указанного контрагента с определенными параметрами.

В качестве события для переопределения связей параметров выбора будем использовать значение реквизита «Позволить выбирать любой договор контрагента». Если признак будет установлен, то позволим выбирать любой договор указанного контрагента.

Собственно код формы элемента справочника «Соглашения» и изображения результата

#Область ОбработчикиСобытийФормы &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ПереопределитьСвязиПараметровВыбора(); КонецПроцедуры #КонецОбласти #Область ОбрабочикиСобытийЭлементовФормы &НаКлиенте Процедура ПозволитьВыбиратьЛюбойДоговорКонтрагентаПриИзменении(Элемент) ПереопределитьСвязиПараметровВыбора(); КонецПроцедуры #КонецОбласти #Область ПрограммныйИнтефейс &НаСервере Процедура ПереопределитьСвязиПараметровВыбора() НовыйМассив = Новый Массив(); НовыйМассив.Добавить(Новый СвязьПараметраВыбора("Отбор.Владелец", "Объект.Контрагент")); Если Не Объект.ПозволитьВыбиратьЛюбойДоговорКонтрагента Тогда НовыйМассив.Добавить(Новый СвязьПараметраВыбора("Отбор.Параметр1", "Объект.Параметр1")); НовыйМассив.Добавить(Новый СвязьПараметраВыбора("Отбор.Параметр2", "Объект.Параметр2")); КонецЕсли; НовыеСвязи = Новый ФиксированныйМассив(НовыйМассив); Элементы.ДоговорКонтрагента.СвязиПараметровВыбора = НовыеСвязи; КонецПроцедуры // ПереопределитьСвязиПараметровВыбора() #КонецОбласти 

Программирование 1С 8.х для начинающих

  • Вы здесь:
  • Главная
  • Статьи
  • Конфигурация
  • Форма
  • Связи параметров выбора

Поделитесь в соцсетях

Конфигурация

Связи параметров выбора

Подробности Категория: Форма

    • Введение
      • Связи параметров выбора
        • Пример: Фильтр по контрагенту
        • Пример: Фильтр по Пометке удаления
        • Пример: 2 условия связи
        • Пример: Отбор по контрагенту

        Связи параметров выбора и параметры выбора 1с.

        Данное описание предназначено для использования в управляемых формах, в обычных формах этот метод работать не будет.

        Если кратко то, Связи параметров выбора настраивают отбор в открываемой форме на основе реквизитов текущего объекта, а Параметры выбора — настраивают отбор на основе жестко установленных значениях

        Введение

        Итак, начиная с платформы 8.2 у реквизитов появились свойства Связи параметров выбора и параметры выбора. Они предназначены для настройки формы выбора без использования кода. Например, когда мы открываем список договоров в документе, то конечно было бы удобно чтобы список был ограничен лишь теми которые подчинены уже выбранному в документе контрагенту. Для этого и созданы указанные свойства.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *