|
Настройки.Отбор
Волшебник, evorle145, toypaul, Gucci76, COLT, maxab72, СвинТуз, Ненавижу 1С, Умный Слоненок, ZaЖизнь, pet07, Буковка, youalex, Михаил Козлов, lexushka, laeg, Страждущий, ЕRPe, formista2000, mikecool, DemonShinji2, Hawk_1c, Silgis, Admin_Net_1C, Fedor-1971, Ёпрст, Indian, bmitkin, SleepyHead, RVN, Мультук, lxndr, Prog_man, Amfiaray, elka302, chelentano, serpentt, RomaH, denk32, osa1C, Ал_Ив, Ivanich, Смотрящий, skafandr, AlexKimp
| ☑ |
0
pet07
20.11.24
✎
13:04
|
Не работает ЭлементОтбора.Использование = Ложь;. Отбор все равно применяется. Что я делаю не так?
&НаКлиенте
Процедура УстановитьОтборПоДате()
ОтборыСписка = Список.КомпоновщикНастроек.Настройки.Отбор;
Для Каждого ЭлементОтбора ИЗ ОтборыСписка.Элементы Цикл
ЭлементОтбора.Использование = Ложь;
Если ЭлементОтбора.Представление = "НачалоПериода" Тогда
Если ЗначениеЗаполнено(ОсновнойПериод.ДатаНачала) Тогда
ЭлементОтбора.ПравоеЗначение = ОсновнойПериод.ДатаНачала;
//ЭлементОтбора.Использование = Истина;
КонецЕсли;
ИначеЕсли ЭлементОтбора.Представление = "КонецПериода" Тогда
Если ЗначениеЗаполнено(ОсновнойПериод.ДатаОкончания) Тогда
ЭлементОтбора.ПравоеЗначение = ОсновнойПериод.ДатаОкончания;
//ЭлементОтбора.Использование = Истина;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
|
|
1
osa1C
20.11.24
✎
07:59
|
(0) Какой результат ты хочешь получить?
|
|
2
SleepyHead
20.11.24
✎
08:28
|
(0) Уверен, что условие срабатывает? Что в ЭлементОтбора.Представление строка "КонецПериода" а не что-то другое?
Пройдись отладчиком, проверь.
|
|
3
toypaul
20.11.24
✎
08:35
|
(0) У динамического списка есть свойство Период. Отбор по периоду (если это про него речь). Нужно делать через это свойство. И скорее всего оно и срабатывает.
|
|
4
Ненавижу 1С
20.11.24
✎
08:35
|
Полагаться на представление в коде, это моветон. Тем более, что представление скорее всего "Конец периода" или другое.
|
|
5
toypaul
20.11.24
✎
08:36
|
+ (3) немного не так. не у ДС, а у таблицы формы, которая с ДС связана
|
|
6
Ненавижу 1С
20.11.24
✎
08:36
|
(3) это неправда. Нет такого свойства у динамического списка.
|
|
7
pet07
20.11.24
✎
09:11
|
ОсновнойПериод - это я добавил в форму реквизит СтандартныйПериод. НачалоПериода (и Конец также) - это представление в ДинамическийСписок - Настройки - Отбор:
Период - Больше или Равно - ПроизвольнаяДата.
Если в ОсновнойПериод в интерфейсе установить и начало и конец, то все работает. Я хочу обработать ситуации, когда не задано начало, конец или оба.
|
|
8
Ненавижу 1С
20.11.24
✎
09:35
|
ладно, представления то заданы?
|
|
9
pet07
20.11.24
✎
10:02
|
ДинамическийСписок - Настройки - Отбор:
Период - Больше или Равно - ПроизвольнаяДата - НачалоПериода
Меньше или Равно КонецПериода
Я закомментировал
//ЭлементОтбора.Использование = Истина;
и все равно работает отбор! На это свойство 1с не обращает внимания.
|
|
10
Ненавижу 1С
20.11.24
✎
10:13
|
я понял, автор писатель, а не читатель
|
|
11
pet07
20.11.24
✎
10:29
|
Автор - еще и фотограф! Вот скриншот из окна настроек:
https://ibb.co/s61kx4j
|
|
12
mikecool
20.11.24
✎
10:39
|
программа работает так, как ее запрограммировали...
|
|
13
pet07
20.11.24
✎
10:54
|
Что сделать, чтобы она работала как нужно?
|
|
14
pet07
20.11.24
✎
13:05
|
Вот так работает:
Процедура УстановитьОтборПоДате()
ОтборыСписка = Список.КомпоновщикНастроек.Настройки.Отбор;
Для Каждого ЭлементОтбора ИЗ ОтборыСписка.Элементы Цикл
Идентификатор = ЭлементОтбора.ИдентификаторПользовательскойНастройки;
ЭлементПользовательскойНастройки = Список.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(Идентификатор);
ЭлементПользовательскойНастройки.Использование = Ложь;
Если ЭлементОтбора.Представление = "НачалоПериода" Тогда
Если ЗначениеЗаполнено(ОсновнойПериод.ДатаНачала) Тогда
ЭлементОтбора.ПравоеЗначение = ОсновнойПериод.ДатаНачала;
ЭлементПользовательскойНастройки.Использование = Истина;
КонецЕсли;
ИначеЕсли ЭлементОтбора.Представление = "КонецПериода" Тогда
Если ЗначениеЗаполнено(ОсновнойПериод.ДатаОкончания) Тогда
ЭлементОтбора.ПравоеЗначение = ОсновнойПериод.ДатаОкончания;
ЭлементПользовательскойНастройки.Использование = Истина;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Как вам, не чрезмерное усложнение? Можно было как-то проще?
|
|
15
Ненавижу 1С
20.11.24
✎
12:09
|
(14) пользователь может удалить элемент отбора
|
|