Skip to content
лого - блог 1с программиста

Блог 1С программиста

Наработки, заметки и другая информация по 1С

  • Главная
  • Типовые конфигурации
    • ЗУП 3.1
      • Разработка
        • Обработки
        • Отчеты
        • Печатные формы
        • Расширения
      • Инструкции
      • Ответы техподдержки 1С
      • Общие вопросы
    • ДО 2.1
    • УХ 3.2
    • УПП 1.3
  • Интеграции и обмены
  • Шаблоны и заготовки
    • Типовые приемы
    • Отчеты
    • Обработки
    • Печатные формы
    • Расширения
  • Платформа 1С
  • Разработки
    • Контакты
  • Toggle search form

Отбор по динамическому списку с примерами

Posted on 18 октября 24 г.24 октября 24 г. By Алексей Комментариев к записи Отбор по динамическому списку с примерами нет

Содержание:

  • Установка отбора через параметры открытия формы
  • Установка отбора через БСП
  • Ограничение отбора в динамическом списке
Установка отбора через параметры открытия формы

При открытии формы с динамическим списком можно передать «Отбор» через параметры открытия и он автоматически установится, ниже приведен пример Обработки и листинг кода открытия такой формы с отбором по «ИНН» контрагента:

Обработка «Открытие формы динамического списка с отбором»Скачать
Открытие формы динамического списка с отбором
1С (Код)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
&НаКлиенте
Процедура ОткрытьСписокКонтрагентовСОтборомПоИНН(Команда)
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("РежимВыбора", Истина);
ПараметрыФормы.Вставить("МножественныйВыбор", Ложь);
ПараметрыФормы.Вставить("ЗакрыватьПриВыборе", Истина);  
ПараметрыФормы.Вставить("ВыборГруппИЭлементов",ИспользованиеГруппИЭлементов.Элементы);
// Вариант 1
//ПараметрыФормы.Вставить("Отбор", Новый Структура("ИНН",Объект.ИНН));
// Вариант 2
НастройкиКомпоновкиДанных = Новый НастройкиКомпоновкиДанных;
ЭлементОтбора = НастройкиКомпоновкиДанных.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ИНН");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение = Объект.ИНН;
ПараметрыФормы.Вставить("ФиксированныеНастройки", НастройкиКомпоновкиДанных);
ОповещениеОЗакрытие = Новый ОписаниеОповещения("ОткрытьСписокКонтрагентовЗавершение", ЭтотОбъект);
 
ОткрытьФорму("ВнешняяОбработка.ДинамическийСписок.Форма.ФормаКонтрагентыДС",
ПараметрыФормы, ЭтотОбъект, УникальныйИдентификатор,,, ОповещениеОЗакрытие, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьСписокКонтрагентовЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
Сообщить("Выбран: "+Строка(Результат));
КонецПроцедуры

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

Флаг основной реквизит динамического списка
Установка отбора через БСП

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

1С (Код)
1
2
3
4
5
6
// Вариант 1
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(Контрагенты.Отбор, "ИНН", "7707056547");
 
// Вариант 2
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(Контрагенты, "ИНН", "7707056547");
 

Подробное описание и полный перечень функций БСП по работе с Динамическим списком можно почитать на ИТС например для БСП 3.1.10.

Ограничение отбора в динамическом списке

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

1С (Код)
1
2
3
4
5
6
7
8
9
10
// Вариант 1
ЗапрещенныеВОтбореПоля = Новый Массив;
ЗапрещенныеВОтбореПоля.Добавить("СостояниеЭЛН");
ЗапрещенныеВОтбореПоля.Добавить("Подразделение");
 
Список.УстановитьОграниченияИспользованияВОтборе(ЗапрещенныеВОтбореПоля);
 
// Вариант 2
Список.Поля.Найти("СостояниеЭЛН").ОграничениеИспользования.Условие = Истина;
 

Если заглянуть в справку то можно найти и такие методы ограничения:

  • УстановитьОграниченияИспользованияВГруппировке
  • УстановитьОграниченияИспользованияВПорядке

Рекомендации

  • Связь табличных частей по ключевым полям
  • Отбор по дополнительному реквизиту в отчете на СКД через Характеристики
  • Отбор по дополнительному реквизиту в отчете на СКД
Типовые приемы Tags:динамический список, интерфейс, отбор

Навигация по записям

Previous Post: Ошибка «Итератор для значения не определен» в отчете «Табель Т-13» ЗУП 3.1 Корп
Next Post: Пропали отборы в списке документов «Отсутствия (Болезни, прогулы, неявки)» ЗУП 3.1

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

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

ДзенTelegram

Разработки

  • Печатная форма "Расходный кассовый ордер" для ЗУП 3.1 Печатная форма "Расходный кассовый ордер" ЗУП 3.1 650,00 ₽
  • Отчет "План-факт отпусков сотрудников в виде диаграммы Ганта Отчет "План-факт по отпускам сотрудников" ЗУП 3.1 650,00 ₽
  • Приказ об отмене трудового договора (рис 1) Печатная форма "Отмена приема на работу" ЗУП 3.1 650,00 ₽
  • Обработка “Выплата сотруднику через банк” ЗУП 3.1 Обработка “Выплата сотруднику через банк” ЗУП 3.1 0,00 ₽
  • Тестирование API Яндекс GPT Обработка "Работа с API YandexGPT" 650,00 ₽

MDM web-сервис XML БСП ЕФС-1 ИИ КД 2.0 НДФЛ СЗВ-СТАЖ СЗВ-ТД СКД СТД-Р СФР СЭДО ФСС ФСС НС больничные листы взносы вычеты длительная операция запрос интерфейс кадровая история кадровые данные кадровые переводы легкий труд мастер-данных обмен данными общий модуль отбор отпуска печать без проверки печать с диалогом пользователи представление прием на работу резервы отпусков сверхурочные синхронизация ЗУП и БП средний заработок табель таблица периодов табличный документ фотография штатное расписание

Яндекс.Метрика

© 2022-2026 myblog-1c.ru

Пользовательское соглашение

Контакты