1с нельзя упорядочить список по колонке

Обновлено: 08.07.2024

Списки динамического просмотра данных. Интерактивная установка отбора и сортировки по умолчанию

Данный раздел содержит ответ на вопрос "По каким полям данных пользователь сможет выполнять отбор и сортировку в табличных полях, предназначенных для динамического просмотра данных". Эта информация позволит принимать решение о необходимости переопределить при помощи встроенного языка отборы и сортировки, доступные пользователю по умолчанию.

Предмет рассмотрения данного раздела - только табличные поля "динамического просмотра данных", т.е. табличные поля, связанные с объектами типа СправочникСписок. РегистрСведенийСписок. и т.д. Прочие табличные поля в разделе не рассматриваются.

Общие вопросы

Прежде всего хочется подчеркнуть, что предоставленные пользователю возможности управления отбором и порядком в общем случае меньше, чем возможности управления отбором и порядком из встроенного языка. Интерактивное управление ограничивается при помощи свойств НастройкаОтбора и НастройкаПорядка табличного поля, связанного со списком динамического просмотра (см. Расширение табличного поля списка справочника и т.п.). Управление из встроенного языка ограничивается составом полей свойств Отбор и Порядок списков динамического просмотра.

Для предоставления пользователю, например, возможности управлять отбором по тому или иному полю, нужно на основании настоящего материала определить, будет ли доступно такое поле "по умолчанию" и если нет - использовать объект НастройкаОтбора табличного поля для управления доступностью отбора из языка. Совсем не обязательно создавать на форме дополнительные элементы управления, предназначенные для организации такого "дополнительного" отбора - лучше, чтобы управление отбором находилось для пользователя в одном месте - в диалоге "Отбор и сортировка".

Сортировка

По умолчанию, для интерактивного управления сортировкой списка доступны такие поля источника данных, упорядочивание по которым будет эффективным. Например, по полям Код и Наименование справочника, полю Дата документа и т.д. Следует отметить, что у пользователя остается возможность сделать неэффективным просмотр списка, например, задав для справочника упорядочивание одновременно по коду и наименованию. Как именно система подбирает поля эффективного упорядочивания, а также как влияют настройки пользователя на эффективность работы списков динамического просмотра подробно обсуждается в статье "Особенности поведения списков динамического просмотра".

Кроме того, по умолчанию упорядочивание возможно только по тем полям источника данных, которые связаны с колонками табличного поля (свойства Данные и ДанныеФлажка).

Поля данных, по которым можно осуществлять сортировку, т.е. поля, которым соответствуют элементы порядка объекта Порядок, это все поля источника данных, кроме:

  • полей типа ХранилищеЗначения;
  • полей типа Строка неограниченной длины;
  • полей, имеющих "составной тип данных".

При этом следует помнить, что "составной тип данных" - это не только тип, в котором явным образом определено несколько типов данных (при конфигурировании это можно задать установив флажок "Составной тип данных" в диалоге редактирования типа), но еще и:

  • типы, задающие ссылку на любой справочник, документ и т.д.;
  • тип ЛюбаяСсылка;
  • типы Характеристика. < Имя плана видов характеристик > .

Отбор

По умолчанию, для интерактивного отбора доступны такие поля источника данных, которые:

  • связаны с данными колонки или данными флажка колонки табличного поля;
  • соответствуют элементу отбора объекта Отбор источника данных.

Видимость колонок табличного поля не влияет на состав доступных полей, как для отбора так и для сортировки. Это значит, что пользователь, управляя составом видимых полей табличного поля (команда "Настройка списка"), не влияет на состав полей, доступных для интерактивного управления отбором и сортировкой.

Поля данных, по которым можно осуществлять отбор, т.е. поля, которым соответствуют элементы отбора объекта Отбор, это все поля источника данных, кроме полей типа ХранилищеЗначения.

Тот факт, что состав доступных по умолчанию полей для сортировки подбирается намного "строже", чем для отбора, связан с тем, что в общем случае установка неоптимального упорядочивания сильнее влияет на эффективность работы списка динамического просмотра, чем установка неоптимального отбора.

В процедуру ПриОткрытии или в конец модуля добавить:
Код 1C v 8.х
Где НомерСоглашения - Колонка в списке регистра сведений по которой нужно сортировать!
Далее щелкнув правой клавишей мыши на списке и зайдя в пункт Сортировка - увидим что стала доступна возможность сортировки по НомерСоглашения.

Как отсортировать список документов по признаку ПРОВЕДЕН?
Код 1C v 8.х

Сортировка динамических списков (ЖурналДокументовСписок)
Добавлять элементы настройки порядка в динамические списки нельзя.
Если индексирование для графы установлено, то соответсвующий элемент настройки порядка уже есть, надо его просто включить:
Код 1C v 8.х
При открытии, журнал будет упорядочен!

Разместил: E_Migachev  Версии: | 8.x |  Дата: 05.07.2010   Прочитано: 59371

Распечатать

Похожие FAQ

17 правил для составления оптимального ЗАПРОСа к данным базы 1С  42
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ В регламентированной отчетности не печается штрих-код 1С ( EanGnivc )  0
Установка шрифта EanGnivc В формах регламентированной отчетности, например, налоговые декларации, которые введены для предоставления отчетности, на всех листах в левом верхнем углу содержат свой уникальный штрих-код. В этих формах, которые распрос В чем разница между ОБЪЕДИНИТЬ и ОБЪЕДИНИТЬ ВСЕ в языке запросов 1С  10
Цитата из справки 1С: " По умолчанию при объединении запросов полностью одинаковые строки в результате запроса, сформированные РАЗНЫМИ запросами, заменяются одной . Если требуется, чтобы были оставлены разные строки, необходимо указать ключевое Внешние обработки, печатные формы, обработки по заполнению табличных частей  3
Справочник «Внешние обработки, печатные формы, обработки по заполнению табличных частей» содержит список произвольных обработок, произвольных отчетов, дополнительных печатных форм, обработок для заполнения ТЧ объектов, обработок, подключаемых к отч Выгрузка результата запроса в Таблицу и Дерево значений  0
Результат запроса может быть выгружен в таблицу значений или дерево значений с помощью метода Выгрузить. Затем над ними могут быть произведены другие операции: сортировка, свертка, перебор строк и другие действия. Следующий пример выгружает результ Посмотреть все результаты поиска похожих

Еще в этой же категории

Как в форме списка реализовать сортировку по своему реквизиту?  10
Если реквизит примитивного типа, то достаточно установить для свойства реквизита «Индексировать» значение «Индексировать» или «Индексировать с доп. упорядочиванием» (не доступно для реквизитов типа ХранилищеЗначения). Если же реквизит ссылочного типа Оформление строки в ПриПолученииДанных или ПриВыводеСтроки   6
Событие ПриПолученииДанных использется для оформления ячеек строк данных, отображаемых табличным полем. Обработчик данного события вызывается табличным полем в тех же случаях, что и обработчик ПриВыводеСтроки , т.е. при обновлении данных, отображ Табличное поле

Как получить строки табличного поля, отобранные отбором?  4
ОтборСтрок = ТабличнаяЧастьИсточник.ОтборСтрок ; ПостроительЗапроса = Новый ПостроительЗапроса; ПостроительЗапроса.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабличнаяЧастьИсточник); // Добавляются необходимые отборы, такие же как в отбор Отбор по списку значений  3
СозданныйСписок = Новый СписокЗначений; СозданныйСписок.Добавить(Перечисления.СтатусЗаявки.Выполнено); СозданныйСписок.Добавить(Перечисления.СтатусЗаявки.ЗакрытиеЗаявки); СозданныйСписок.Добавить(Перечисления.СтатусЗаявки.ОтклоненаРукОтдЗакупок); Как пользователям запретить удаление условия отбора в форме списка?  3
ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; Полный код: ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип(" ЭлементОтбораКомпоновкиДанных" )); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпонов Посмотреть все в категории Список Справочника, Документов, Регистров

Описанные ниже методы могут применяться для форм списка любых объектов (СправочникСписок, ДокументСписок, РегистрСведенийСписок, ПланОбменаСписок и т.д.).

Для программного создания сортировки в форме списка можно использовать свойство расширения табличного поля списка НастройкаПорядка или свойство списка Порядок. Возможно также совместное использование этих свойств.

Свойство НастройкаПорядка используется для предоставления доступа к полям упорядочивания.

Свойство Порядок содержит объект, по которому осуществляется текущее упорядочивание элементов в списке.

Ниже приведён пример использования указанных свойств:

При открытии формы список будет упорядочен по Валюте по убыванию и по Цене по возрастанию:

1с нельзя упорядочить список по колонке

Если открыть форму настройки отбора и сортировки, то возможность изменения сортировки будет закрыта, так как программно установлено упорядочивание по полю Валюта, которое недоступно для интерактивной настройки порядка.

1с нельзя упорядочить список по колонке

Если интерактивно изменить сортировку (нажатием на заголовок колонки, по которой возможно упорядочивание или через контекстное меню), то сортировка по Валюте более не будет доступна, так как её доступность не включена в НастройкеПорядка. В то же время есть возможность упорядочивания по ЕдиницеИзмерения, хотя эта колонка и не отображается на форме.

1с нельзя упорядочить список по колонке
1с нельзя упорядочить список по колонке

Упорядочивание возможно по любому реквизиту объекта, как отображаемому на форме, так и не отображаемому, за исключением реквизитов, имеющих тип Строка неограниченной длины.

Как отсортировать список документов по признаку ПРОВЕДЕН?
Код 1C v 8.х

Сортировка динамических списков (ЖурналДокументовСписок)
Добавлять элементы настройки порядка в динамические списки нельзя.
Если индексирование для графы установлено, то соответсвующий элемент настройки порядка уже есть, надо его просто включить:
Код 1C v 8.х
При открытии, журнал будет упорядочен!

1с нельзя упорядочить список по колонке

Похожие FAQ

Еще в этой же категории

В данной версии исправлены выявленные ошибки.

1. Версия 8.2.13.202 будет помещена на январский выпуск диска ИТС; 2.

Список исправленных ошибок:

При установке программы с использованием дистрибутива тонкого клиента происходит ошибка.

При использовании процедуры ЗначениеВДанныеФормы над измененным, но не сохраненным, объектом информационной базы, обратная конвертация из данных форм в объект, например при записи, выполняется некорректно, что приводит к потере изменений.

При открытии динамического списка диагностируется ошибка вида:

если данные в динамическом списке отсортированы или сгруппированы по колонкам, которые не являются колонками сортировки по умолчанию.

Читайте также: