Пять уровней настроек 1С: от колонки в списке до своей константы

· 10 мин

Содержание

Добавить настройку в 1С можно на пяти уровнях, и сначала нужно понять, какой из них ваш. Колонку в списке или поле на форме пользователь добавляет сам через меню Ещё → Изменить форму. Новый раздел учёта включают в Администрирование → Функциональность. Параметры платформы и пользователей задаются в Конфигураторе. А совсем новый параметр, которого в программе нет, добавляет разработчик: константой или регистром сведений.

Ниже каждый уровень разобран отдельно, с путями для 1С 8.3 в интерфейсе «Такси». Пути из разделов программы даны на примере Бухгалтерии предприятия 3.0. Механизмы форм, Конфигуратора и кода общие для всех конфигураций на платформе 8.3.

Какие настройки бывают в 1С и кто их меняет

Путаница начинается с того, что словом «настройки» называют совсем разные вещи. Одни живут только у вас, другие меняют поведение программы для всей фирмы, третьи вообще требуют правки конфигурации.

УровеньЧто настраиваетсяКто меняетГде хранится
Форма и списокКолонки, поля, отборы, сортировка, оформлениеСам пользовательПерсонально, в базе
Параметры программыФункциональность, параметры учёта, учётная политикаАдминистратор или главбухОбщие для всех
Параметры платформыПользователи, пароли, региональные установкиАдминистратор базыКонфигуратор
Объекты конфигурацииНовые реквизиты, справочники, отчётыРазработчикКонфигурация или расширение
Свои параметры в кодеКонстанты, хранилища настроекРазработчикКонфигурация и база

Простое правило: если нужное поле или флажок где-то в программе уже есть, это задача пользователя или администратора. Если его нет нигде, нужен разработчик.

Прежде чем звать программиста, поищите параметр по слову в разделе Администрирование. Многое, что кажется «нужно доработать», просто выключено галочкой в Функциональности.

Как пользователю добавить свои настройки формы и списка

Это самый частый случай. Бухгалтеру не хватает колонки «Комментарий» в журнале документов или поля «Договор» на форме. Программист для этого не нужен.

Добавить поле на форму документа или справочника

  1. Откройте документ или элемент справочника.
  2. Нажмите Ещё в командной панели формы.
  3. Выберите Изменить форму....
  4. В открывшемся окне слева дерево элементов формы. Отметьте галочкой нужное поле.
  5. Если поля в дереве нет, нажмите Добавить поля и выберите реквизит объекта.
  6. Стрелками перетащите поле в нужное место и нажмите ОК.

Настройка сохранится только для вас. Коллеги увидят форму по-старому.

Настроить колонки, отбор и сортировку списка

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

  • 📌 добавить колонку из реквизитов документа, включая реквизиты связанных объектов (например, ИНН контрагента);
  • 🔍 поставить постоянный отбор, скажем, по одной организации;
  • 🎨 подсветить цветом строки с суммой больше 100 000 руб.;
  • ↕️ задать сортировку по дате или номеру.

Порядок и ширину колонок проще менять мышью прямо в списке: перетаскиванием заголовка и границы.

Вернуть форму к исходному виду

Если «донастраивали» так, что запутались, в том же окне Изменить форму... есть команда Ещё → Установить стандартные настройки. Форма вернётся к виду, который задал разработчик. Другие формы не пострадают.

Персональные параметры работы

Кроме форм, у пользователя есть общие параметры клиента: главное меню (кнопка с тремя полосками в левом верхнем углу) → Сервис → Параметры. Там задаются, например, режим открытия форм (во вкладках или в отдельных окнах) и запрос подтверждения при закрытии программы.

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

Где администратор включает параметры учёта для всей базы

Общие настройки программы меняют работу всех пользователей. Поэтому их правит один человек: администратор или главный бухгалтер.

В Бухгалтерии предприятия 3.0 таких мест четыре:

Что нужноПуть в БП 3.0
Включить раздел учёта (валюта, производство, маркировка, ЕГАИС)Администрирование → Функциональность
Параметры учёта: аналитика, сроки, реквизитыАдминистрирование → Параметры учета
Метод учёта для организации: ОСНО/УСН, НДС, амортизацияГлавное → Учетная политика
Пользователи, группы доступа, копирование настроекАдминистрирование → Настройки пользователей и прав

В Функциональности параметры сгруппированы по вкладкам: Банк и касса, Запасы, Производство, Зарплата и другие. Включили флажок, и в меню появились новые документы и поля. Выключить флажок можно только если в базе нет данных по этому участку. Программа сама подскажет, что мешает.

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

Раздать настройки форм всем сотрудникам

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

  1. Откройте Администрирование → Настройки пользователей и прав.
  2. Перейдите по ссылке настроек пользователей.
  3. Выберите пользователя-образец, у которого всё настроено.
  4. Отметьте, что копировать: внешний вид форм, настройки отчётов, прочие.
  5. Укажите получателей и выполните копирование.

Там же есть очистка настроек. Она полезна, когда у конкретного сотрудника форма «сломалась» после неудачных правок, а сброс через форму не помог.

Параметры информационной базы в Конфигураторе

Часть настроек не видна из пользовательского режима. Они задаются в Конфигураторе, меню Администрирование.

Пользователи. Администрирование → Пользователи. Здесь список пользователей информационной базы: имя, пароль, способ входа (по паролю 1С или через учётную запись Windows), доступные роли, основной язык и режим запуска. В типовых конфигурациях пользователей правильнее заводить из самой программы, через Администрирование → Настройки пользователей и прав → Пользователи. Тогда сразу назначатся группы доступа и создастся карточка в справочнике.

Параметры информационной базы. Администрирование → Параметры информационной базы. Здесь требования к паролям (минимальная длина, сложность, срок действия), блокировка после неверных попыток входа и некоторые параметры платформы.

Региональные установки. Администрирование → Региональные установки информационной базы. Формат дат и чисел, язык. Меняют редко, обычно когда база открывается с неверным разделителем дробной части.

Параметры самого Конфигуратора. Сервис → Параметры. Это настройки среды разработчика: шрифт модулей, проверка синтаксиса, работа с хранилищем. На базу они не влияют.

Изменение параметров базы в Конфигураторе не требует монопольного доступа. Монопольный режим понадобится, когда вы меняете структуру конфигурации и обновляете её в базе.

Как добавить в конфигурацию новый реквизит, справочник или отчёт

Когда нужного поля нет нигде, его добавляют в конфигурацию. Здесь первое решение: править основную конфигурацию или делать расширение.

СпособКогда подходитМинусы
Расширение конфигурацииТиповая конфигурация на поддержке, нужно несколько полей и формОграничения на часть изменений объектов
Изменение основной конфигурацииСвоя или уже сильно изменённая конфигурацияКаждое обновление требует сравнения и объединения
Внешний отчёт или обработкаНужен отчёт или разовая операцияНе добавляет реквизиты к объектам

Для типовой базы почти всегда выбирайте расширение. Механизм появился в платформе 8.3.6 и с тех пор сильно расширился: в нём можно добавлять реквизиты к заимствованным документам и справочникам, свои формы, роли и собственные объекты.

Пример: добавить реквизит в документ через расширение

  1. В Конфигураторе: Конфигурация → Расширения конфигурации, кнопка Добавить.
  2. Откройте конфигурацию расширения. В дереве основной конфигурации найдите документ, правой кнопкой мыши выберите Добавить в расширение.
  3. В расширении у заимствованного документа добавьте реквизит, задайте имя и тип.
  4. Заимствуйте форму документа и перетащите новый реквизит на форму.
  5. Обновите конфигурацию базы данных расширения (F7).
  6. Перезапустите сеанс 1С:Предприятия. Поле появится на форме.

Делайте расширение и проверяйте его на копии базы, а не в рабочей. Ошибка в расширении может не дать пользователям открыть документ.

Новый справочник или отчёт

Справочник добавляется в ветке Справочники дерева конфигурации (или расширения). Отчёт удобнее сделать внешним: Файл → Новый → Внешний отчёт, затем схема компоновки данных. Внешний отчёт подключают в программе через Администрирование → Печатные формы, отчеты и обработки, правку конфигурации он не требует.

Кто может менять настройки: права доступа

Настройки защищаются ролями. Что видит конкретный человек, решают его группы доступа в программе и роли в конфигурации.

Что стоит знать администратору:

  • 🔑 Право «Сохранение данных пользователя» у корня конфигурации отвечает за то, сохраняются ли персональные настройки форм. Без него пользователь настроит список, а после перезапуска всё вернётся.
  • 🛡️ Право «Администрирование» открывает раздел Администрирование, включая Функциональность и пользователей. Давайте его одному-двум людям.
  • 📝 Для констант права раздельные: «Чтение» и «Изменение». Можно разрешить бухгалтеру видеть параметр, но не менять его.

В типовой конфигурации права не раздают ролями напрямую. Работа идёт через профили групп доступа: Администрирование → Настройки пользователей и прав → Группы доступа. Если нужного набора прав нет, профиль копируют и правят копию, а не меняют поставляемый профиль.

Если вы добавили константу или справочник в расширении, создайте в расширении роль с правами на эти объекты и включите её в профиль группы доступа. Иначе новое поле увидит только администратор.

Какую настройку вы хотите добавить?

Свои параметры в коде: константы и хранилище настроек

Разработчику доступны два способа хранить параметр.

Константа: один параметр на всю базу

Подходит для значения, общего для всех: ставка, лимит, адрес сервиса, флажок «включить проверку». В Конфигураторе добавьте объект в ветку Константы, задайте тип. Чтение и запись из кода:

// Чтение
Лимит = Константы.ЛимитПодотчета.Получить();

// Запись (на сервере, при наличии права «Изменение»)
Константы.ЛимитПодотчета.Установить(50000);

Чтобы пользователь мог менять константу, выведите её на форму. Обычно делают общую форму с основным реквизитом типа КонстантыНабор и открывают её командой из раздела. Константу можно привязать к функциональной опции. Тогда флажок будет скрывать и показывать связанные поля и команды, как в типовой Функциональности.

Если параметр зависит от организации или периода, константа не подойдёт. Нужен регистр сведений с измерением «Организация» и, при необходимости, периодичностью.

Хранилище общих настроек: параметр для каждого пользователя

Для персональных значений (последний выбранный склад, вид отчёта по умолчанию) есть системное хранилище ХранилищеОбщихНастроек. Оно доступно на сервере.

&НаСервереБезКонтекста
Процедура СохранитьСкладПоУмолчанию(Склад)
    ХранилищеОбщихНастроек.Сохранить("МояОбработка", "СкладПоУмолчанию", Склад);
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПолучитьСкладПоУмолчанию()
    Значение = ХранилищеОбщихНастроек.Загрузить("МояОбработка", "СкладПоУмолчанию");
    Если Значение = Неопределено Тогда
        Возврат Справочники.Склады.ПустаяСсылка();
    КонецЕсли;
    Возврат Значение;
КонецФункции

Первый параметр — ключ объекта, второй — ключ настройки. Без указания имени пользователя значение пишется и читается для текущего пользователя. Если передать имя пользователя пятым параметром в Сохранить (четвёртым в Загрузить), администратор сможет записать настройку за другого.

В типовых конфигурациях на БСП удобнее обёртки ОбщегоНазначения.ХранилищеОбщихНастроекСохранить и ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить. Вторая принимает значение по умолчанию, и проверка на Неопределено не нужна.

Сохранение в хранилище тоже упирается в право «Сохранение данных пользователя». Если у роли его нет, код отработает без ошибки, а значение не запишется.

Частые ошибки при добавлении настроек

  • ❌ Правят поставляемую конфигурацию вместо расширения. Через полгода обновление превращается в ручное сравнение двух конфигураций. Для пары полей хватит расширения.
  • ❌ Хранят персональный параметр в константе. Константа одна на всю базу: сотрудник выбрал «свой» склад, и он поменялся у всех. Для персональных значений — хранилище общих настроек.
  • ❌ Забывают про роль в расширении. Реквизит добавлен, у разработчика под полными правами всё видно, у бухгалтеров поля нет.
  • ❌ Сбрасывают настройки всем подряд. Очистка настроек пользователей стирает и настройки отчётов, на которые у людей ушли часы. Очищайте точечно: одного пользователя и только нужный вид настроек.
  • ❌ Меняют структуру днём. Обновление конфигурации базы данных при изменении структуры требует монопольного доступа или динамического обновления. При монопольном режиме всех пользователей придётся отключить: планируйте на нерабочее время и предупреждайте заранее.

Частые вопросы

Где физически хранятся пользовательские настройки форм?
В самой информационной базе, в системных хранилищах настроек. Поэтому они сохраняются при очистке кэша клиента и переходе на другой компьютер, а при загрузке базы из файла .dt переносятся вместе с данными.
Почему настройка формы не сохраняется после перезапуска?
Чаще всего у пользователя нет права «Сохранение данных пользователя». Проверьте профиль его группы доступа. Реже причина в том, что сеанс завершается аварийно и настройки не успевают записаться.
Можно ли запретить пользователю менять форму?
Да. Без права «Сохранение данных пользователя» настройки не сохраняются. Отдельно разработчик может отключить у формы возможность настройки в её свойствах.
Чем функциональная опция отличается от константы?
Константа хранит значение. Функциональная опция использует это значение, чтобы скрыть или показать объекты, реквизиты и команды во всём интерфейсе. Обычно опцию привязывают к булевой константе.
Нужно ли перезапускать 1С после включения флажка в «Функциональности»?
Как правило, новые разделы и команды появляются после перезапуска сеанса или переоткрытия формы. Если меню не изменилось, перезапустите программу.