|   |   | 
| 
 | Настройки.Отбор | ☑ | ||
|---|---|---|---|---|
| 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) пользователь может удалить элемент отбора     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |