1с настройка параметров выбора

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

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

С появлением механизма управляемых форм в 1С значительно расширились возможности настройки поведения форм и элементов форм прикладных объектов 1С (справочника, документа и пр.).

Формы прикладных объектов — это именно те элементы интерфейса программы, которые видит и с которыми работает пользователь.

Именно это обстоятельство является главным фактором требующего наличие как можно более развитого и гибкого механизма настройки поведения форм прикладных объектов при работе с ними пользователей (в пользовательском режиме, режиме 1С:Предприятие).

И вот начиная с версии платформы 1С 8.3 появилось большое количество настраиваемых свойств у реквизитов объектов метаданных конфигурации, а также реквизитов и элементов управляемых форм.

Зачастую в процессе работы пользователя с формами и элементами форм возникает необходимость ограничивать объем предлагаемых для выбора данных, другими словами, использовать фильтр.

Вот именно одним из таких «фильтров» является свойство «Связи параметров выбора» (Рисунок 1).

1с настройка параметров выбора

Это свойство предназначено для настройки фильтра формы выбора без написания кода программы, т.е. без программирования.

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

2. Реквизиты объектов метаданных и элементы формы в 1С 8.3. Разница в использовании свойства «Связи параметров выбора»

Следует отметить, что свойство «Связи параметров выбора» есть и у реквизитов объектов метаданных в 1С (Рисунок 2).

1с настройка параметров выбора

И у элементов формы в 1С 8.3(Рисунок 3)

1с настройка параметров выбора

Разница в использовании этого свойства у реквизита объекта метаданных и элемента формы в том, что в случае использования свойства связи параметров выбора в 1С реквизита, установленные настройки будут распространяться (действовать) во всех формах объекта метаданных (справочника, документа и пр.) у реквизита, где это свойство настроено. В случае же использования этого свойства у элемента формы настройки будут распространяться только на данную форму объекта и в других формах действовать не будут.

В большинстве случаев с методологической точки зрения корректнее настраивать свойство «Связи параметров выбора» у реквизита объекта метаданных.

3. Как использовать свойства связи параметров выбора в 1С. Пример

Одним из типичных и распространенных примеров подобной ситуации является случай, когда после выбора в документе поступления товаров поставщика при последующем выборе договора не нужно выбирать из всех договоров, а необходимо ограничить список только договорами, заключенными именно с этим поставщиком.

Рассмотрим использование свойства связи параметров выбора в 1С на простейшем примере.

Вот данные справочника «Контрагенты» (Рисунок 4).

1с настройка параметров выбора

И соответственно данные справочника «Договоры» (Рисунок 5).

1с настройка параметров выбора

При пустом значении свойства «Связи параметров выбора» (Рисунок 6).

1с настройка параметров выбора

. В режиме 1С:Предприятия в документе «Приходная накладная» при выборе договора отображается полный список договоров, по всем контрагентам (Рисунок 7).

1с настройка параметров выбора

Теперь установим значение свойства «Связи параметров выбора» (Рисунок 8, Рисунок 9, Рисунок 10).

1с настройка параметров выбора

1с настройка параметров выбора

1с настройка параметров выбора

И вот что получаем (Рисунок 11).

1с настройка параметров выбора

Как видно на скрине, после настройки свойства «Связи параметров выбора» список договоров фильтруется по выбранному в документе контрагенту.

При настройке свойства в конфигураторе 1С Связи параметров выбора в форме настройки есть параметр «Режим изменения связанного значения» установленный в значение «Очищать» (Рисунок 12).

1с настройка параметров выбора

При таком параметре в случае изменения или очистки значения поля «Контрагент» значение поля «Договор» тоже будет очищено.

Такие настройки позволяют получить большую достоверность вводимых данных и минимизировать ошибки при вводе данных уменьшая влияние человеческого фактора.

Значения, указанные в данном свойстве, будут переданы в открываемую форму через структуру Параметры передавая их при вызове метода ОткрытьФорму()

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

Также у элементов формы можно устанавливать и изменять связи параметров выбора в коде 1С программно.

Если рассматривать пример выше, то фрагмент программного кода будет выглядеть так:

1с настройка параметров выбора

Вызывать процедуру установки связи нужно из процедуры:

Источник

Программирование в 1С для всех

В этой статье я расскажу, что такое параметры выбора и связи параметров выбора в 1С 8.3, и как с их помощью можно сделать работу пользователей более комфортной.

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

Начнем со связей параметров выбора.

Для большей наглядности, реализуем небольшую задачу. Пусть у нас есть два справочника Контрагенты и ДоговорыКонтрагентов.

1с настройка параметров выбора

Причем справочник Контрагенты является владельцем справочника ДоговорыКонтрагентов.

1с настройка параметров выбора

А также, я создам документ Оплата, в котором нужно указывать контрагента, договор контрагента и сумму.

1с настройка параметров выбора

Если с такими настройками, мы попробуем выбрать договор контрагента, то в форме выбора отобразятся все договоры всех контрагентов.

1с настройка параметров выбора

Что, согласитесь может быть неудобно. И гораздо удобнее, чтобы выходили только договоры выбранного контрагента. Для того, чтобы пользователи могли видеть договоры контрагента, который указан в поле Контрагент, необходимо настроить связи параметров выбора. Для этого, нужно зайти в палитру свойств реквизита Договор, в которой интересует свойство Связи параметров выбора. Если нажать на кнопку «…» этого свойства, то откроется окно «Связи параметров выбора». В этом окне можно настраивать различные связи реквизита, палитру свойств которого мы открыли, с остальными реквизитами. Мы настроим связь с реквизитом Контрагент.

1с настройка параметров выбора

После выбора реквизита Контрагент таблица «Параметры» заполнится автоматически.

1с настройка параметров выбора

В результате, свойство реквизита Связи параметров выбора должно быть заполнено следующим образом.

1с настройка параметров выбора

Всё! Теперь, когда мы будем выбирать договоры в документе Оплата, то будут выходить только договоры выбранного контрагента.

1с настройка параметров выбора

Параметры выбора в 1С

Помимо настроек связи параметра выбора со значением другого реквизита, в 1С 8.3. можно настраивать параметры выбора. Например, можно сделать так, чтобы для выбора были доступны только непомеченные на удаление элементы.

К примеру, у нас бывают договоры контрагентов, которые помечены на удаление.

1с настройка параметров выбора

Эти же элементы отображаются в форме выбора договоров в документе Оплата.

1с настройка параметров выбора

Если мы хотим, чтобы в форме выбора договоров контрагента отображались только непомеченные на удаление элементы справочника, то нужно открыть свойство Параметры выбора реквизита Договор. Откроется форма, в которой необходимо настроить параметры выбора. В моем случае, установить, что Пометка на удаление Ложь.

1с настройка параметров выбора

Если всё сделано правильно, то свойство Параметры выбора реквизита документа Договор должно заполниться.

1с настройка параметров выбора

Если сейчас, мы попытаемся выбрать договор контрагента, то откроется форма выбора, в которой будут отсутствовать элементы, помеченные на удаление.

1с настройка параметров выбора

О том, как работать с проверкой заполнения реквизитов объектов, читайте в этой статье:

Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»

1с настройка параметров выбора

Книга написана понятным и простым языком — для новичка.

О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

1с настройка параметров выбора

Промо-код на скидку в 15% — 48PVXHeYu

Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


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

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Источник

Параметры выбора и связи параметров выбора в панели быстрых настроек отчета СКД

При разработке отчета на СКД часто требуется указать связь между параметрами этого отчета. Например если в отчете имеется параметры «Номенклатура» и «Серия», при выборе серии показывать только серии данной номенклатуры. Или нужно отображать в списке выбора элементов справочника «ЗначенияСвойствОбъектов» только значения, принадлежащие определенному элементу плана видов характеристик «ДополнительныеРеквизитыИСведения». Несмотря на то, что в полях и параметрах СКД есть возможность указать параметры выбора и связи параметров выбора, этот механизм не работает (по крайней мере, так обстоит дело в ERP 2.4.9.98).

Можно написать свою форму отчета, разместить на ней элементы отбора и сделать в ней все, что угодно. Но не хотелось бы терять мощные механизмы общей формы «ФормаОтчета» или копипастить их в свой отчет.

Можно модифицировать общую форму «ФормаОтчета» под свои задачи. Но не хотелось бы это делать каждый раз при разработке нового отчетов.

Предлагаю пример решения этой задачи для двух вариантов:

1. Фиксированный параметр выбора для поля «Отбор». В отчете сделан отбор по полю с типом «Справочник.ЗначенияСвойствОбъектов». При выборе значения отбора требуется показать пользователю только элементы с заданным владельцем.

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

1. Фиксированный параметр выбора

Создаем отчет (файл ВнешнийОтчет_ФиксированныеПараметрыОтбора.erf).

Если отчет встроен в расширение, то необходимо:

1. Добавить в расширение подсистему ПодключаемыеОтчетыИОбработки

2. Добавить отчет в эту подсистему

3. В модуле менеджера отчета написать код:

В 1С добавить дополнительный реквизит справочника Номенклатура «Раздел комплектации» с типом значений «Дополнительное значение». Указать или сгенерировать имя реквизита, в моем случае это «РазделКомплектации_c7a03c267bb64e0eb58489873f24c25e»

В отчете составляем текст запроса:

Для поля «РазделКомплектации» нужно указать тип значения СправочникСсылка.ЗначенияСвойствОбъектов

На вкладке «Параметры» укажем выражение для параметра «Свойство»: ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту(«Имя», «РазделКомплектации_c7a03c267bb64e0eb58489873f24c25e», Истина)

Включим отбор по полю «РазделКомплектации» в пользовательские настройки: на вкладке «Настройки», «Отбор» добавими отбор «РазделКомплектации», щелкнем на нем правой кнопкой мыши, «Свойства элементов пользовательских настроек», установим флажок «Включать в пользовательские настройки».

В модуле отчета указываем, что мы перехватываем событие «ПослеЗаполненияПанелиБыстрыхНастроек»:

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

Создаем отчет (файл ВнешнийОтчет_СвязиПараметровВыбора.erf).

Как и в предыдущем примере, если отчет встроен в расширение, то необходимо:

1. Добавить в расширение подсистему ПодключаемыеОтчетыИОбработки

2. Добавить отчет в эту подсистему

3. В модуле менеджера отчета написать:

В отчете составляем текст запроса:

Параметры «Номенклатура» и «Серия» включим в пользовательские настройки (см. выше).

В модуле отчета указываем, что мы перехватываем событие «ПослеЗаполненияПанелиБыстрыхНастроек»:
В обработчике этого события:

2. Добавляем в форму новый реквизит «МойРеквизит_Номенклатура». Добавить элемент формы для этого реквизита.
Элементу формы указать обработчик события «ПриИзменении» (обработчик этого события и будет то единственным изменением общей формы «ФормаОтчета»).

3. Скрываем старый элемент формы «Номенклатура».

4. Для элемента формы «Серия» задаем связи параметров выбора.

5. Сохраняем необходимую в дальнейшем информацию в дополнительных свойствах пользовательских настроек компоновщика настроек:

Источник

Связи параметров выбора номенклатуры и характеристики в 1С 8.3

1. Заполним свойства характеристики

1с настройка параметров выбора

Код далее тестировался и работает на последних релизах конфигураций: КА, УТ.

2. Добавим новый реквизит табличной части на форму

ХарактеристикиИспользуются тип булево.

1с настройка параметров выбора

3. В модуле объекта

4. В модуле формы

Нюанс 1. Не забудьте выбрать событие при изменении у номенклатуры в табличной части.

1с настройка параметров выбора

Нюанс 2. Если вы скопировали процедуры и вставили в модуль формы.

Проверьте наличие повторяющихся имен:

1с настройка параметров выбора

Дважды кликните на следующие имена в скобках:

Нюанс 3. Если у вас табличная часть называется не Товары.

Нужно изменить в модуле объекта:

Нужно изменить в модуле формы:

Скачать файлы

Специальные предложения

1с настройка параметров выбора

1с настройка параметров выбора

1с настройка параметров выбора

1с настройка параметров выбора

1с настройка параметров выбора

1с настройка параметров выбора

1с настройка параметров выбора

1с настройка параметров выбора

Обновление 22.02.21 16:00

1с настройка параметров выбора

См. также

Безопасная работа с транзакциями во встроенном языке Промо

Разбираемся с опасностями использования транзакций во встроенном языке 1С. Познаем ошибку «В данной транзакции уже происходили ошибки». Учимся защищаться от них.

25.03.2019 44363 tormozit 58

Пример создания документа с движениями в ERP 2.5.7

Пример создания документа с движениями в ERP 2.5.7, а также включение документа в основные подсистемы, а именно по управлению доступом, датам запрета изменения, контролю остатков, использованию характеристик и серий и прочее.

10.08.2021 1606 maraty 10

Работа с абстрактным массивом

Абстрактные типы данных и алгоритмы уверенно набирают популярность в языках общего назначения. Встроенный язык 1С является предметно-ориентированным и не спешит развиваться в сторону поддержки абстракций. Однако потребность в них существует, т.к. задачи, решаемые на платформе, не уступают разнообразию из других ЯП. Предлагаю рассмотреть вариант реализации абстрактного массива в 1С.

07.07.2021 3525 kalyaka 56

Семеро одного не ждут? Асинхронное исследование асинхронности

Все уже, наверное, знают о появлении в новых версиях платформы асинхронных функций и конструкций Асинх/Ждать. Многие, возможно, уже их используют. Но что будет, если создать свои асинхронные функции, запустить и не дожидаться окончания их выполнения? Неужели можно запустить несколько процессов параллельно?

08.06.2021 5164 Alxby 45

Как выполнить отчет на СКД через COM и получить данные отчета? Промо

Для чего это нужно. Например, нужно в одной базе получить какой-либо показатель из другой базы. Этот показатель вычисляется в каком-либо сложном отчете, который написан на СКД. Можно, конечно, «скопипастить» текст запроса из другой базы, немного подправить его и выполнять в том же COM подключении. Но с этим теряется гибкость: если отчет изменился, то нужно помнить о том, что где-то есть его «немного модифицированная» копия. В статье будет рассмотрен пример получения данных из базы ЗУП.

08.05.2018 30680 wowik 3

Динамическая расшифровка СКД (на примере отчета)

Предлагаю Вашему неподкупному вниманию вариант более-менее унифицированной реализации динамически формирующейся расшифровки СКД на примере простейшего отчета для конфигурации УТ 11.

08.12.2020 1414 mr_sav 2

СКД: все, что вы хотели знать о подмене схемы компоновки данных в отчетах и обработках

Довольно часто на различных тематических форумах задается вопрос, можно ли использовать в отчете/обработке несколько схем компоновки данных, подменяя одну другой по мере надобности? При этом желательно, чтобы и пользовательские настройки при смене схемы менялись соответственно.

07.12.2020 4731 user1502278 18

Cбор и анализ ошибок при помощи Sentry, или как упростить жизнь себе и пользователям

09.10.2020 6896 hexhoc 12

Если у вас возникает необходимость на форму влиять динамически и создавать элементы управляемой формы программно, а особенно хотите вывести программно (динамически) динамический список, вам будет интересна эта процедура. Процедура включает также возможность формирования своей командной панели (а-ля снятие галочки «Автозаполнение» у стандартной командной панели списка).

19.01.2018 68823 rpgshnik 31

Программная корректировка при выводе отчета СКД

Большинство отчетов на СКД, требующих программной корректировки, реализуются с помощью программной настройки СКД или обработки табличного документа уже после вывода отчета. Но во многих случаях более оптимально будет выполнять программную корректировку в процессе вывода отчета. Для этого существуют программные объекты, о которых я расскажу в данной статье.

08.10.2020 10107 dabu-dabu 16

Загрузка, скачивание, удаление файлов с помощью НачатьПомещениеФайлаНаСервер() и НачатьПолучениеФайлаССервера()

В платформе 8.3.15 появились новые методы НачатьПомещениеФайлаНаСервер() и НачатьПолучениеФайлаССервера(). В данной статье рассмотрено готовое решение проверенное и прекрасно работающее на тонком и веб-клиенте.

25.07.2020 10836 Flashill 15

Универсальная печатная форма Приказа/Договора с возможностью настройки макета в пользовательском режиме

В данной статье я опишу реализацию универсальной (в кавычках) печати Приказа (Договора или чего пожелаете) с возможностью настройки выводимого текста с параметрами из пользовательского режима

24.06.2020 2283 BuriyLesha 0

Как нарисовать граф на 1С Промо

09.08.2013 73216 ildarovich 117

Запуск фонового задания во внешней обработке без регистрации в справочнике «Дополнительные отчеты и обработки»

Описал, как показать прогресс выполнения длительной операции во внешней обработке, и при этом не регистрировать обработку в справочнике «ДополнительныеОтчетыИОбработки». Проверял на БСП версии «3.1.2.264».

09.03.2020 7058 VinnieThePOOH 5

Методика обновления формы объекта данных при изменении объекта

В формах объектов данных часто встречаются элементы, косвенно связанные с объектом. Логику обновления этих элементов при изменении объекта обычно вызывают из обработчиков ПриСозданнииНаСервере и ПриОткрытии, забывая про наличие других способов изменения объекта. В статье предложена методика для обычных и управляемых форм, учитывающая все способы.

09.03.2020 19025 tormozit 16

Отправка уведомлений с помощью командной строки, Оповещения с сервера на клиент с помощью командной строки

Отправка уведомлений с помощью команды командной строки msg. Оповестить пользователей из серверного модуля или регламентного задания, с помощью командной строки msg.

05.03.2020 7906 user5300 3

Простой способ индексирования интервалов Промо

Предлагается простой способ индексирования интервалов для решения задач выборки записей, включающих заданный момент времени, пересекающихся с заданным интервалом или множеством интервалов. Способ основан на добавлении к исходной таблице особого числового индексированного поля, рассчитываемого по специальной формуле. Приведен код функций, необходимых для расчетов поля поиска и параметров поисковых запросов. Приведены также результаты тестирования метода, доказывающие его высокую эффективность.

28.09.2016 41732 ildarovich 22

Вывод сообщений в HTML поле средствами 1С

Пример использования вывода большого количества сообщений в поле HTML. С возможностью открывать ссылочные объекты и создавать новые объекты передавая параметры прямо из HTML поля. Протестировано на релизах 8.3.12 и 8.3.15+

31.01.2020 9463 burni4 16

Как в 1С создать паутинку «как на Инфостарте»

15.01.2020 9719 user660153_aleks.pisanets 17

Краткое руководство по внесению изменений в конфигурацию

Кратко описаны основополагающие моменты при старте групповой разработки конфигурации несколькими программистами. Полезно для проектной документации как требование к разработчикам или сопровождающей компании.

13.01.2020 22242 sapervodichka 41

Бесплатная проверка контрагентов в ФНС (общий модуль с алгоритмом). На примере выводим статус в список справочника контрагентов Промо

Если вам интересно проверить контрагенте в ФНС, вам поможет данная публикация. Весь алгоритм работы строится на основе данных, полученных с сервиса http://npchk.nalog.ru совершенно бесплатно.

01.02.2018 37974 rpgshnik 53

Универсальные функции: разложение произвольной строки адреса в структуру

Процедуры и функции раскладывают произвольную строку адрес в структуру по ключевым словам.

30.12.2019 5754 vik070777 10

«Живые» картинки со Snap.SVG

В статье рассмотрен пример использования http-сервисов для визуализации данных

24.10.2019 14987 blackhole321 7

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

07.10.2019 9756 geron4 4

БСП: Дополнительная обработка (Регламенты), примеры от простого к сложному Промо

Очень много попадается странных решений, которые можно решить через БСП:Дополнительные отчеты и обработки. Я бы вообще БСП из-за этой подсистемы переименовал в «Большое Спасибо Программистам». Поработаем с подсистемой в части написания регламентных заданий.

10.05.2018 53075 dsdred 44

Полное копирование одной формы в другую

Однажды я столкнулся с необходимостью открыть форму ЛЮБОГО документа с определенными изменениями, не зависящими от структуры объекта (например, заблокировать все кнопки). В интернете решения я не нашел. Обычно на форумах на запросы подобного рода отвечают чем-то вроде «покажи первоначальную задачу, а не спрашивай как реализовать то, что ты придумал». Тем не менее, мне стало интересно, как это можно сделать.

03.10.2019 7689 nekit_rdx 25

Многопоточная обработка данных на примере перепроведения документов

17.09.2019 12489 ids79 46

Отображение истории выполнения по всем задачам комплексного процесса в документообороте

Коллеги, предлагаю вашему вниманию доработку для вывода полной истории в задачах комплексного процесса.

15.09.2019 8594 pavelpribytkin96 8

Некоторая работа с данными через COM Промо

В статье приведены примеры работы с Платформой 8.X через COM (точнее, через объект COMConnector). Примеры кода были использованы при реализации прикладных задач в процессе трудовой деятельности.

05.12.2012 59738 wowik 32

Описание формата внутреннего представления данных 1С в контексте обмена данными

Фирма 1С не рекомендует использовать внутреннее представление данных для любых целей, которые отличны от обмена с 1С:Предприятием 7.7. Но сама возможность заглянуть на «внутреннюю кухню» платформы с помощью функций ЗначениеВСтрокуВнутр(), ЗначениеВФайл(), ЗначениеИзСтрокиВнутр() и ЗначениеИзФайла(), дала возможность сообществу программистов 1С разработать новые приемы разработки и анализа. Так, именно на использовании внутреннего представления был построен алгоритм «быстрого массива», который позволяет практически мгновенно создать массив в памяти на основании строки с разделителями. С помощью разбора внутреннего представления можно «на лету» программным кодом выполнить анализ обычной формы и даже сделать редактор графической схемы. Во внутреннем формате сохраняют свои данные между сеансами различные популярные внешние обработки. А еще это возможность сделать быстрый обмен с внешними системами.

Источник

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

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