Добрый день.
Видимо, у меня какой-то пробел в матчасти, ну или я не могу понять, что происходит.
В документ добавлен реквизит "ДатаНачала". Колонка с этим же реквизитом есть и на форме списка. Работа идет через веб-клиент. Пытаюсь установить пользовательский отбор - устанавливается, в списке остаются корректно пять записей, у которых эта Дата попадает в диапазон между двумя другими (в настройках списка добавил два условия "Больше или равно" и "Меньше или равно" даже без группы).
Но когда я пытаюсь тот же отбор наложить программно через создание Отбора на клиенте - отбираются только 3 записи из 5.
Куда я только ни пытался этот отбор запихнуть - и в Отбор, и в Настройки, и в Фиксированные настройки - выбирается три записи.
Делаю отбор в "Настройках списка..." у пользователя - 5 записей.
Такой же отбор программно - 3 записи.
Пробовал "Группу И" - 3 записи.
Самое смешное - в Тонком клиенте 5 записей!!! Т.е. все отбирается.
Что это? Кто-то сталкивался?
Видимо, у меня какой-то пробел в матчасти, ну или я не могу понять, что происходит.
В документ добавлен реквизит "ДатаНачала". Колонка с этим же реквизитом есть и на форме списка. Работа идет через веб-клиент. Пытаюсь установить пользовательский отбор - устанавливается, в списке остаются корректно пять записей, у которых эта Дата попадает в диапазон между двумя другими (в настройках списка добавил два условия "Больше или равно" и "Меньше или равно" даже без группы).
Но когда я пытаюсь тот же отбор наложить программно через создание Отбора на клиенте - отбираются только 3 записи из 5.
Куда я только ни пытался этот отбор запихнуть - и в Отбор, и в Настройки, и в Фиксированные настройки - выбирается три записи.
Делаю отбор в "Настройках списка..." у пользователя - 5 записей.
Такой же отбор программно - 3 записи.
Пробовал "Группу И" - 3 записи.
Самое смешное - в Тонком клиенте 5 записей!!! Т.е. все отбирается.
Что это? Кто-то сталкивался?
По теме из базы знаний
- "Процессы 3.0: CRM, Бизнес-процессы, Управление по целям". Универсальная система управления процессами и показателями для любой конфигурации 1С
- Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2/3.0
- Чистка баз данных (удаление документов, записей регистров) - все и с отбором по организации
- Расширение функционала карточки партнера
- Интеграция Честный Знак и 1C: обмен и синхронизация для УТ11, УНФ, КА2, ERP, Розница: Расширение для работы с СУЗ, ГИС МТ, ЦРПТ
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
update: если указать директиву вебклиенту и отправить отбор формироваться на сервере - отбор на веб-клиенте отображается корректно. Выход вроде бы найден, но хотелось бы понять, что происходит, потому что выполнять приходится НаСервере, выглядит не очень.
Вот код, который отрабатывает и возвращает правильное количество строк на ТонкомКлиенте:
Этот же код в веб-клиенте оставляет только 3 строки из 5.
Если убрать код и создать в веб-клиенте отбор из "Настроек списка..." вручную - отбор из "Настроек списка..." возвращает 5 строк, правильно.
Вот код, который отрабатывает и возвращает правильное количество строк на ТонкомКлиенте:
&НаКлиенте
Список.КомпоновщикНастроек.ФиксированныеНастройки.Отбор.Элементы.Очистить();
ГруппаОтбора = Список.КомпоновщикНастроек.ФиксированныеНастройки.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
ГруппаОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;
ЭлементОтбора = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДатаНачала");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.БольшеИлиРавно;
ЭлементОтбора.ПравоеЗначение = НачалоНедели(ТекущаяДата());
ЭлементОтбора.Использование = Истина;
ЭлементОтбора = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДатаНачала");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.МеньшеИлиРавно;
ЭлементОтбора.ПравоеЗначение = КонецНедели(ТекущаяДата());
ЭлементОтбора.Использование = Истина;
ГруппаОтбора.Использование = Истина;
ПоказатьЭтот же код в веб-клиенте оставляет только 3 строки из 5.
Если убрать код и создать в веб-клиенте отбор из "Настроек списка..." вручную - отбор из "Настроек списка..." возвращает 5 строк, правильно.
(5)Это у меня пробел в знаниях, а как увидеть эти даты, увидеть именно видимый для отбора на веб-клиенте диапазон дат, не подскажете?
И попутно тогда вопрос, фиксированные настройки не разрешено менять пользователю, при этом ему доступна настройка списка и будет ругань о пересечении отборов. А как эти фиксированные настройки вызвать на сервере, они там тоже доступны?
Спасибо.
И попутно тогда вопрос, фиксированные настройки не разрешено менять пользователю, при этом ему доступна настройка списка и будет ругань о пересечении отборов. А как эти фиксированные настройки вызвать на сервере, они там тоже доступны?
Спасибо.
(6) Фиксированные настройки можете посмотреть в отладке. Либо через обработку в прикреплении. Но я имел в ввиду значения реквизита ДатаНачала документов.
будет ругань о пересечении отборов
Да будет. Да, фиксированные настройки доступны на сервере.
Прикрепленные файлы:
НастройкиДС.epf
(7)
За обработку респект и мое всяческое спасибосищще.
А вот "я имел в виду значения реквизита ДатаНачала документов...." не совсем понял контекст вопроса.
Если речь про именно значения в реквизитах, то они должны попасть в отбор, т.е. они правильные. При отправке на сервер они же попадают в отбор.
Я так понял, в таком случае программно можно отправить отбор только &НаСервере?
Ведь данные же, хоть и порционно, есть на клиенте, но я тогда совсем запутался, как отбор работает в контексте клиента и сервера? Разве оба способа не заставляют показать все отобранные записи или область видимости отбора на клиенте другая?
УПД. В принципе, если все равно происходит обращение к серверу, то особой разницы нет, но хотелось бы именно понять механизм. На форумах и в примерах часто вижу, что Отборы делают на клиенте. Получается, неправильно делают?)) глупость какая-то, что-то тут не так.
йки можете посмотреть в отладке. Либо через обработку в прикреплении. Но я имел в ввиду значения реквизита ДатаНачала документов.
За обработку респект и мое всяческое спасибосищще.
А вот "я имел в виду значения реквизита ДатаНачала документов...." не совсем понял контекст вопроса.
Если речь про именно значения в реквизитах, то они должны попасть в отбор, т.е. они правильные. При отправке на сервер они же попадают в отбор.
Я так понял, в таком случае программно можно отправить отбор только &НаСервере?
Ведь данные же, хоть и порционно, есть на клиенте, но я тогда совсем запутался, как отбор работает в контексте клиента и сервера? Разве оба способа не заставляют показать все отобранные записи или область видимости отбора на клиенте другая?
УПД. В принципе, если все равно происходит обращение к серверу, то особой разницы нет, но хотелось бы именно понять механизм. На форумах и в примерах часто вижу, что Отборы делают на клиенте. Получается, неправильно делают?)) глупость какая-то, что-то тут не так.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот