Не отображаются все записи в отборе

1. podder 14.08.23 09:44 Сейчас в теме
Добрый день.
Видимо, у меня какой-то пробел в матчасти, ну или я не могу понять, что происходит.
В документ добавлен реквизит "ДатаНачала". Колонка с этим же реквизитом есть и на форме списка. Работа идет через веб-клиент. Пытаюсь установить пользовательский отбор - устанавливается, в списке остаются корректно пять записей, у которых эта Дата попадает в диапазон между двумя другими (в настройках списка добавил два условия "Больше или равно" и "Меньше или равно" даже без группы).

Но когда я пытаюсь тот же отбор наложить программно через создание Отбора на клиенте - отбираются только 3 записи из 5.
Куда я только ни пытался этот отбор запихнуть - и в Отбор, и в Настройки, и в Фиксированные настройки - выбирается три записи.
Делаю отбор в "Настройках списка..." у пользователя - 5 записей.
Такой же отбор программно - 3 записи.
Пробовал "Группу И" - 3 записи.

Самое смешное - в Тонком клиенте 5 записей!!! Т.е. все отбирается.
Что это? Кто-то сталкивался?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. SlavaKron 14.08.23 10:16 Сейчас в теме
(1) Покажите код программного создания отбора.
3. podder 14.08.23 10:26 Сейчас в теме
update: если указать директиву вебклиенту и отправить отбор формироваться на сервере - отбор на веб-клиенте отображается корректно. Выход вроде бы найден, но хотелось бы понять, что происходит, потому что выполнять приходится НаСервере, выглядит не очень.

Вот код, который отрабатывает и возвращает правильное количество строк на ТонкомКлиенте:

&НаКлиенте
Список.КомпоновщикНастроек.ФиксированныеНастройки.Отбор.Элементы.Очистить();
ГруппаОтбора = Список.КомпоновщикНастроек.ФиксированныеНастройки.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
	ГруппаОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;
	ЭлементОтбора = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДатаНачала");
	ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.БольшеИлиРавно; 
	ЭлементОтбора.ПравоеЗначение = НачалоНедели(ТекущаяДата());
	ЭлементОтбора.Использование = Истина;		
	ЭлементОтбора = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДатаНачала");
	ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.МеньшеИлиРавно; 
	ЭлементОтбора.ПравоеЗначение = КонецНедели(ТекущаяДата());
	ЭлементОтбора.Использование = Истина;
	ГруппаОтбора.Использование = Истина;
Показать


Этот же код в веб-клиенте оставляет только 3 строки из 5.
Если убрать код и создать в веб-клиенте отбор из "Настроек списка..." вручную - отбор из "Настроек списка..." возвращает 5 строк, правильно.
5. SlavaKron 14.08.23 10:32 Сейчас в теме
(3) Не анализировали, какие даты начала в веб-клиенте попали в список, а какие не попали? Сами значения, я имею в виду.
Кстати, интерактивная настройка списка так-то делает серверный вызов.
6. podder 14.08.23 10:37 Сейчас в теме
(5)Это у меня пробел в знаниях, а как увидеть эти даты, увидеть именно видимый для отбора на веб-клиенте диапазон дат, не подскажете?

И попутно тогда вопрос, фиксированные настройки не разрешено менять пользователю, при этом ему доступна настройка списка и будет ругань о пересечении отборов. А как эти фиксированные настройки вызвать на сервере, они там тоже доступны?
Спасибо.
7. SlavaKron 14.08.23 10:43 Сейчас в теме
(6) Фиксированные настройки можете посмотреть в отладке. Либо через обработку в прикреплении. Но я имел в ввиду значения реквизита ДатаНачала документов.
будет ругань о пересечении отборов
Да будет. Да, фиксированные настройки доступны на сервере.
Прикрепленные файлы:
НастройкиДС.epf
8. podder 14.08.23 11:19 Сейчас в теме
(7)
йки можете посмотреть в отладке. Либо через обработку в прикреплении. Но я имел в ввиду значения реквизита ДатаНачала документов.


За обработку респект и мое всяческое спасибосищще.
А вот "я имел в виду значения реквизита ДатаНачала документов...." не совсем понял контекст вопроса.
Если речь про именно значения в реквизитах, то они должны попасть в отбор, т.е. они правильные. При отправке на сервер они же попадают в отбор.
Я так понял, в таком случае программно можно отправить отбор только &НаСервере?
Ведь данные же, хоть и порционно, есть на клиенте, но я тогда совсем запутался, как отбор работает в контексте клиента и сервера? Разве оба способа не заставляют показать все отобранные записи или область видимости отбора на клиенте другая?

УПД. В принципе, если все равно происходит обращение к серверу, то особой разницы нет, но хотелось бы именно понять механизм. На форумах и в примерах часто вижу, что Отборы делают на клиенте. Получается, неправильно делают?)) глупость какая-то, что-то тут не так.
9. SlavaKron 14.08.23 11:27 Сейчас в теме
(8) Почему у вас не устанавливаются отборы на веб-клиенте, трудно сказать. Скорее всего, особенности платформы. Где-то были рекомендации на ИТС, что код по возможности выполнять на сервере.
10. podder 14.08.23 11:46 Сейчас в теме
(9)Да, видимо, так и придется сделать, для надёги.
4. podder 14.08.23 10:30 Сейчас в теме
Может ли быть дело в относительно древней платформе? Используется 8.3.13.1926.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот