Форум программистов, компьютерный форум, киберфорум
1С: Типовые и стандартные решения
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 46

Отбор в форме списка программный

02.01.2026, 14:51. Показов 2145. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Всех с новым годом!
помогите пожалуйста решить задачку....в форме списка документа (например расходные накладные) необходимо сделать отбор программно по основному складу и сделать так чтоб он не изменялся пользователем


отбор сделал так...но он работает только на толстом клиенте...как сделать рабочий на тонком

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
&НаКлиенте
&НаСервере
Процедура Расш1_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
 
 
    
        
        ТекОтбор = Список.Отбор.Элементы;
        
        ТекОтбор.Очистить();
        УсловиеОтбора = ТекОтбор.Добавить(тип("ЭлементОтбораКомпоновкиДанных"));
        УсловиеОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Склад");
        УсловиеОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;  
        УсловиеОтбора.ПравоеЗначение = Справочники.Склады.НайтиПоНаименованию("Основной склад");  //"Основной склад";
        УсловиеОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
   
         
   
   КонецПроцедуры
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.01.2026, 14:51
Ответы с готовыми решениями:

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

Отбор на быстрый отбор СКД
Всем привет. Подскажите кто-нить, чойта туплю. Есть простой отчет на СКД, в макете компоновки...

отбор.добавить затирает предыдущий отбор
ДД уважаемые. Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТЗКимпорту); ...

27
Эксперт 1С
7175 / 1777 / 647
Регистрация: 16.01.2015
Сообщений: 7,344
03.01.2026, 14:56
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от tups Посмотреть сообщение
может есть какие то другие способы сделать отбор по двум группам
Самое правильное - добавить строку в запрос в ПриСозданииНаСервере формы списка (или формы где это надо) Но можно и с костылями. Заполнить список номенклатурой в список значений где родитель нужные группы и отбор по этому списку. Но это и медленней и откровенный костыль. Однако сработает
0
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 46
06.01.2026, 17:23  [ТС]
Цитата Сообщение от polax Посмотреть сообщение
Самое правильное
а через рлс в конфигураторе нельзя сделать?
0
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 46
09.01.2026, 10:50  [ТС]
Цитата Сообщение от Yulunga Посмотреть сообщение
вы вот опять пишете "родитель". а в запросе такого поля нет. как по нему можно отбор сделать?
добавил в запрос строку,но отбор не работает...можете помочь ?
0
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 46
09.01.2026, 11:31  [ТС]
Цитата Сообщение от polax Посмотреть сообщение
Самое правильное - добавить строку в запрос в ПриСозданииНаСервере формы списка
все сделал как сказали,но не работает...точно ли в код надо добавлять эту сроку?просто если открыть конструктор запроса там в ссылку провалиться нельзя..может надо брать родитель?попробовал но может что то не так делаю
Изображения
 
0
Модератор
Эксперт 1С
 Аватар для Yulunga
4488 / 957 / 267
Регистрация: 22.04.2013
Сообщений: 6,634
Записей в блоге: 1
09.01.2026, 12:15
а справочник у вас иерархический? может родителя и не существует в принципе?
1
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 46
09.01.2026, 16:58  [ТС]
Цитата Сообщение от Yulunga Посмотреть сообщение
а справочник у вас иерархический? может родителя и не существует в принципе?
стандартный из типовой конфигурации.иерархия -Иерархия групп и элементов

Добавлено через 4 часа 41 минуту
Цитата Сообщение от Yulunga Посмотреть сообщение
а справочник у вас иерархический? может родителя и не существует в принципе?
отбор по двум группам без сделать получилось...,но код не скрывает лишние группы .может есть идеи?
вот код при создании на сервере
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  ГруппаПокупатели = Справочники.Контрагенты.НайтиПоНаименованию("Покупатели");
    ГруппаПоставщики = Справочники.Контрагенты.НайтиПоНаименованию("Поставщики");
   
    МассивГрупп = Новый Массив;
    МассивГрупп.Добавить(ГруппаПокупатели.Ссылка);
    МассивГрупп.Добавить(ГруппаПоставщики.Ссылка);
    
    ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
        Список, 
        "Родитель", 
        МассивГрупп, 
        ВидСравненияКомпоновкиДанных.ВСпискеПоИерархии,
        ,
        Истина,
        РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный
    );
вот код формирование списка

1C
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
ВЫБРАТЬ
    СправочникКонтрагенты.Наименование КАК Наименование,
    СправочникКонтрагенты.Код КАК Код,
    СправочникКонтрагенты.НаименованиеПолное КАК НаименованиеПолное,
    СправочникКонтрагенты.ИНН КАК ЧистыйИНН,
    СправочникКонтрагенты.КПП КАК ЧистыйКПП,
    ВЫБОР
        КОГДА СправочникКонтрагенты.ОбособленноеПодразделение
            ТОГДА &ПредставлениеОбособленногоПодразделения
        ИНАЧЕ ПРЕДСТАВЛЕНИЕ(СправочникКонтрагенты.ЮридическоеФизическоеЛицо)
    КОНЕЦ КАК Вид,
    СправочникКонтрагенты.ГоловнойКонтрагент КАК ГоловнойКонтрагент,
    СправочникКонтрагенты.Комментарий КАК Комментарий,
    СправочникКонтрагенты.Ссылка КАК Ссылка,
    СправочникКонтрагенты.ЭтоГруппа КАК ЭтоГруппа,
    СправочникКонтрагенты.ИНН КАК ИНН,
    СправочникКонтрагенты.КПП КАК КПП,
    ВЫБОР
        КОГДА НаличиеДублейУКонтрагентов.Контрагент ЕСТЬ NULL
            ТОГДА ЛОЖЬ
        ИНАЧЕ ИСТИНА
    КОНЕЦ КАК ЕстьДубли,
    СправочникКонтрагенты.ИННВведенКорректно КАК ИННВведенКорректно,
    СправочникКонтрагенты.КППВведенКорректно КАК КППВведенКорректно,
    ВЫБОР
        КОГДА (СправочникКонтрагенты.ИННВведенКорректно
                    И СправочникКонтрагенты.КППВведенКорректно
                ИЛИ СправочникКонтрагенты.ИННВведенКорректно
                    И СправочникКонтрагенты.ЮридическоеФизическоеЛицо = ЗНАЧЕНИЕ(Перечисление.ЮридическоеФизическоеЛицо.ФизическоеЛицо))
                И СостоянияКонтрагентов.Состояние В (&Состояния)
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК ПроверкаКонтрагентовКонтрагентНеСуществует,
    СостоянияКонтрагентов.Состояние КАК ПроверкаКонтрагентовСостояние,
    ВЫБОР
        КОГДА СостоянияКонтрагентовБЭД.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияКонтрагентаБЭД.Подключен)
            ТОГДА 1
        КОГДА СостоянияКонтрагентовБЭД.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияКонтрагентаБЭД.НастроенЭДО)
            ТОГДА 2
        ИНАЧЕ 0
    КОНЕЦ КАК ЭДО,
    ВЫБОР
        КОГДА НаличиеФайлов.ЕстьФайлы ЕСТЬ NULL
            ТОГДА 1
        КОГДА НаличиеФайлов.ЕстьФайлы
            ТОГДА 0
        ИНАЧЕ 1
    КОНЕЦ КАК ЕстьФайлы,
    СправочникКонтрагенты.Ответственный КАК Ответственный,
    "" КАК МеткиСтрокой,
    СправочникКонтрагенты.ДополнительныеРеквизиты.(
        Ссылка КАК Ссылка,
        НомерСтроки КАК НомерСтроки,
        Свойство КАК Свойство,
        Значение КАК Значение,
        ТекстоваяСтрока КАК ТекстоваяСтрока
    ) КАК ДополнительныеРеквизиты
    
ИЗ
    Справочник.Контрагенты КАК СправочникКонтрагенты
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеДублейУКонтрагентов КАК НаличиеДублейУКонтрагентов
        ПО СправочникКонтрагенты.Ссылка = НаличиеДублейУКонтрагентов.Контрагент
            И СправочникКонтрагенты.ИНН = НаличиеДублейУКонтрагентов.ИНН
            И СправочникКонтрагенты.КПП = НаличиеДублейУКонтрагентов.КПП}
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияКонтрагентов КАК СостоянияКонтрагентов
        ПО СправочникКонтрагенты.Ссылка = СостоянияКонтрагентов.Контрагент
            И (&ИспользованиеПроверкиВозможно)}
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияКонтрагентовБЭД КАК СостоянияКонтрагентовБЭД
        ПО СправочникКонтрагенты.Ссылка = СостоянияКонтрагентовБЭД.Контрагент}
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеФайлов КАК НаличиеФайлов
        ПО СправочникКонтрагенты.Ссылка = НаличиеФайлов.ОбъектСФайлами}
0
Модератор
Эксперт 1С
 Аватар для Yulunga
4488 / 957 / 267
Регистрация: 22.04.2013
Сообщений: 6,634
Записей в блоге: 1
10.01.2026, 00:01
ох ё. у меня оказывается новый комп и на нё м нет ни одной 1С. рпосто вообще никакой. не знаю, как вам помочь.
я бы вернулся к своему предложению - у вас нет поля в запросе под псевдонимом "родитель", тем не менее вы устанавливаете отбор по полю "родитель".
я бы пошёл в общего назначения клиент сервер и посомтрел бы поведение системы при установке того, чего не существует. раз не ругается - значит устанаваливается. сам он придумать не может, тчо такое родитель. мало ли что у вас в голове было. поэтому надо оценить , что он делает.
не получилось - смотреть, что такое "список" - посмотреть, какой там запрос при установлении отбора

где-то такое.
0
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 46
10.01.2026, 13:13  [ТС]
Цитата Сообщение от Yulunga Посмотреть сообщение
посомтрел бы поведение системы при установке того, чего не существует
уже игрался и собирал ошибки
Цитата Сообщение от Yulunga Посмотреть сообщение
не получилось - смотреть, что такое "список" - посмотреть, какой там запрос при установлении отбора
вообще не понял.сейчас все работает,но не убирает группы лишние и проблема только в этом...зачем изучать код на первом этапе?мне кажется что то не так с самим отбором,может надо кое то условие добавить...ведь элементы оставшихся групп он срезает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.01.2026, 13:13

Программный отбор в динамическом списке
Добрый день, пишу &НаКлиенте Процедура ТаблицаОтборовСсылкаПриИзменении(Элемент)...

Программный отбор в динамическом списке
Суть проблемы следующая: Устанавливаю программно отбор в динамическом списке. Отбор срабатывает,...

Отбор в форме списка
1с 8.1 Необходимо чтобы в форме списка выводились лишь те записи которые удовлетворяют...

Быстрый отбор на форме списка
На форме делаю быстрый отбор, например по сотруднику: разместила на форме флаг с типом значения =...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru