Колонки в списках 1С: показать скрытое поле, переставить и сохранить
Содержание
Открыли список документов, а нужной суммы или контрагента в нём нет. Чтобы добавить колонку в список 1С, откройте меню Ещё в правом верхнем углу формы списка, выберите Изменить форму… и в окне настройки поставьте галочки у нужных полей. Для обычного пользователя этого достаточно, права разработчика не нужны.
Если полей в окне не хватает, значит, в запросе динамического списка их нет. Тогда колонку добавляет разработчик в конфигураторе, и такой способ разобран ниже отдельно. Рассматриваем 1С 8.3 с интерфейсом «Такси» и управляемыми формами.
Когда хватит настроек пользователя, а когда нужен разработчик
Колонки в списке бывают трёх видов, и от вида зависит способ.
- 👁 Колонка есть, но скрыта. Её можно включить в настройке формы. Это самый частый случай.
- 📋 Поля нет в составе списка. В настройке формы его не найти. Нужна правка динамического списка.
- 🧮 Нужен расчётный показатель. Например, сумма с НДС или разница двух дат. В штатном списке такого поля нет, его создаёт программист в запросе.
| Способ | Кто делает | Что получаем | Ограничение |
|---|---|---|---|
| Изменить форму | пользователь с правом на настройку | включить или выключить готовые колонки | только поля, уже входящие в список |
| Перетаскивание заголовков | любой пользователь | другой порядок и ширина | не добавляет колонки |
| Динамический список в конфигураторе | разработчик | новые поля и вычисляемые значения | правка типовой формы меняет конфигурацию |
| Расширение конфигурации | разработчик | то же, но без правки типовой формы | нужно уметь работать с расширениями |
Сначала всегда пробуйте настройку формы. В большинстве типовых справочников и журналов документов десятки полей уже лежат в списке и просто скрыты по умолчанию.
Как включить скрытую колонку в режиме пользователя
Работаем в обычном режиме 1С:Предприятия, например в списке Поступление (акты, накладные) или в справочнике контрагентов.
- Откройте нужный список.
- В правом верхнем углу формы нажмите
Ещё. - Выберите
Изменить форму…. - В открывшемся окне найдите раздел с таблицей списка и разверните его. Там перечислены все колонки: включённые стоят с галочкой.
- Поставьте галочку у нужного поля.
- Нажмите
ОК. Форма перерисуется, колонка появится справа от существующих.
Если пункта Изменить форму… нет, у вас недостаточно прав на настройку интерфейса. Права выдаёт администратор: в профиле нужна возможность сохранять личные настройки формы.
Окно настройки формы устроено как дерево. Верхний уровень — элементы формы, внутри таблицы — её колонки. Часть полей лежит в подветках: например, реквизиты документа и реквизиты связанных справочников называются одинаково, различаются только вложенностью. Развернуть все ветки можно кнопкой в командной панели окна.
Настройка формы работает для вашего пользователя. Коллеги колонку не увидят, пока не повторят те же действия.
Что проверить после нажатия ОК
Откройте список и посмотрите результат. Бывает, что поле добавилось, но новая колонка оказалась за правым краем и закрыта полосой прокрутки. Сузьте соседние столбцы или переставьте новую колонку ближе к началу.
Проверьте и содержимое. Если в колонке пусто у всех строк, а в карточке элемента значение есть, поле в списке читается из другого места. Такое бывает у реквизитов, которые заполняются только в определённых режимах. Попробуйте отсортировать список по колонке: если сортировка не меняет порядок, колонка точно пустая, и дело в запросе, а не в вашей настройке.
Порядок и ширина столбцов: что можно двигать мышью
Эти правки делаются прямо в списке, без окна настройки.
- ↔ Ширина. Подведите курсор к границе заголовков двух колонок, он станет двусторонней стрелкой. Потяните влево или вправо.
- 🔀 Порядок. Зажмите заголовок колонки и перетащите на новое место. Ровная линия между колонками покажет, куда она встанет.
- 🔽 Сортировка. Один щелчок по заголовку сортирует список по этой колонке. Повторный щелчок меняет направление.
- 📐 Автоподбор. Двойной щелчок по границе заголовков в таблицах обычно подгоняет ширину под содержимое.
Если колонок много и они не помещаются на экран, уберите ненужные через Изменить форму…. Горизонтальная прокрутка в списке неудобна: заголовки и данные уезжают вправо, а ключевое поле, например номер документа, пропадает из виду. Ставьте нужное в начало, редкое отключайте.
В журналах документов, например в общем журнале с документами разных видов, набор колонок ограничен. Там общие поля: дата, номер, организация, сумма. Специфичные реквизиты конкретного документа (склад, договор) в общий журнал не вынести, их видно только в списке самого вида документа.
Как добавить колонку в динамический список через конфигуратор
Здесь нужны права разработчика, а для типовой конфигурации — осознанное решение изменить её. Правка типовой формы выводит конфигурацию «с поддержки»: при обновлении придётся сравнивать и объединять изменения. Поэтому для рабочих баз лучше расширение (см. раздел ниже).
Порядок действий в конфигураторе:
- Откройте конфигурацию объекта, например справочник
Контрагенты. - Раскройте ветку
Формыи откройте форму списка двойным щелчком. - Найдите в редакторе формы реквизит типа
Динамический список. Обычно он называетсяСписок. - Откройте его свойства. Основная таблица в них указана: по ней строятся поля.
- Нажмите на кнопку со ссылкой на состав полей и убедитесь, что нужное поле отмечено или есть в запросе.
- На закладке
Элементыдобавьте новую колонку: перетащите нужное поле из реквизитаСписокв таблицу списка. - Сохраните форму и запустите 1С:Предприятие для проверки.
Если у динамического списка включена опция Произвольный запрос, поля берутся из текста запроса. Тогда сначала дополните выборку, а затем обновите состав полей списка в свойствах.
ВЫБРАТЬ
Док.Ссылка КАК Ссылка,
Док.Номер КАК Номер,
Док.Дата КАК Дата,
Док.СуммаДокумента КАК СуммаДокумента,
Док.Комментарий КАК Комментарий
ИЗ
Документ.ПоступлениеТоваровУслуг КАК Док
В этом примере в выборке есть Комментарий. Если полю дать то же имя в колонке формы, комментарий появится в списке как отдельный столбец. Имя на форме и в запросе должны совпадать по написанию, иначе колонка останется пустой.
Поле Ссылка в запросе динамического списка обязательно для объектных таблиц. Без него не работают открытие и выбор элементов.
Расширение вместо правки типовой формы
Если ставить колонку нужно в конфигурации на поддержке, делайте это в расширении. Расширения появились в платформе 8.3.6. Порядок: создать расширение, «заимствовать» форму списка, добавить колонку в заимствованную форму, сохранить расширение и применить его через Конфигурация → Расширения конфигурации, затем обновить конфигурацию
базы данных. Загрузка файла .cfe и обновление БД — это два отдельных шага, второй забывают чаще всего.
Прежде чем править рабочую базу, прогоните всё в тестовой копии. На рабочую базу расширение подключают в нерабочее время: у пользователей перезапустятся сеансы.
Виртуальные таблицы и связанные поля
Часто нужна колонка не из самого документа, а из связанного объекта: вместо ссылки на контрагента показать его ИНН, вместо договора — дату договора. Есть два пути.
Точка в имени поля. В запросе пишут Док.Контрагент.ИНН. Так 1С присоединяет таблицу контрагентов неявно. Записывать это удобно, но на больших объёмах такие обращения замедляют запрос.
Явное соединение. Присоединяют нужную таблицу через ЛЕВОЕ СОЕДИНЕНИЕ. Нагрузка предсказуемее, а условия соединения видно в тексте.
ВЫБРАТЬ
Док.Ссылка КАК Ссылка,
Док.Контрагент КАК Контрагент,
Контр.ИНН КАК ИННКонтрагента
ИЗ
Документ.ПоступлениеТоваровУслуг КАК Док
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контр
ПО Док.Контрагент = Контр.Ссылка
С виртуальными таблицами регистров всё строже. Остатки и обороты берут из РегистрНакопления.…Остатки(&Дата) или Обороты. Параметры отбора указывают в скобках, а не в условии ГДЕ: иначе запрос читает больше данных, чем нужно. Если колонка со складским остатком или суммой долга тормозит открытие списка, это первое место для поиска.
Для связки списка с регистром нужно, чтобы измерение регистра и поле списка были одного типа. Иначе соединение ничего не вернёт, и колонка окажется пустой.
После изменения запроса откройте свойства динамического списка и дайте платформе перечитать состав полей. Без этого новое поле в запросе есть, а в окне настройки формы его нет.
Перед правкой запроса полезно записать, какие колонки были в списке до изменений. Если после правки что-то сломается, вы быстро вернёте прежний вид и не будете гадать, какое поле стояло третьим.
Как сохранить свои колонки и откатить их
Личная настройка формы хранится в данных пользователя в информационной базе. Она переживает перезапуск 1С, обновление конфигурации и работу с другого компьютера под той же учётной записью. Если вы входите под общей учётной записью («Бухгалтер»), настройка общая для всех, кто так входит.
Вернуть исходный вид можно двумя способами:
- В
Ещё → Изменить форму…найдите кнопку установки стандартных настроек. Она возвращает набор колонок, порядок и ширину к значениям по умолчанию. - Если форма «сломалась» целиком, администратор может сбросить пользовательские настройки пользователя. Для этого в разделе администрирования открывают настройки конкретного пользователя и очищают сохранённые настройки форм. Действие затронет и другие формы того же человека.
Перед массовым сбросом настроек предупредите людей: с сеансов их не снимет, но привычная раскладка колонок в любой форме пропадёт.
Нужна одинаковая раскладка для всех сотрудников? Администратор настраивает форму у себя и копирует настройки другим пользователям с помощью штатной обработки в разделе администрирования. Либо разработчик делает нужную колонку видимой по умолчанию в самой форме: тогда она появится у всех без личных настроек.
Колонка не появляется или пустая: частые причины
Сначала определите, где остановились.
- ❓ Нет пункта «Изменить форму». Нет прав или форма не поддерживает настройку. Проверьте профиль пользователя.
- ❓ Поля нет в окне настройки. Его нет в запросе динамического списка, нужен разработчик.
- ❓ Колонка добавилась, но в ней пусто. Имя колонки не совпало с именем поля, либо поле в запросе приходит со значением
NULLиз-за левого соединения. Проверьте условие соединения. - ❓ После обновления конфигурации колонка пропала. Если вы правили типовую форму без расширения, обновление могло вернуть исходную версию. Восстановите правку или перенесите её в расширение.
- ❓ Список стал открываться медленно. Колонка тянет данные из регистра или через цепочку точек. Замените на явное соединение и ограничьте виртуальную таблицу параметрами.
Частые вопросы
Можно ли добавить колонку в список, если поля нет в окне настройки формы?
Колонка пропала после закрытия 1С. Почему?
Как посмотреть колонки, которых нет ни в списке, ни в настройке?
Ещё.