При работе в 1С:Управление торговлей редакции 10.3 пользователи часто сталкиваются с досадной ситуацией: после тщательной настройки колонок в списке документов (например, в «Счете на оплату покупателю»), изменения не сохраняются. Пользователь настраивает видимость, порядок и ширину колонок через «Настройку списка», но при следующем открытии формы всё возвращается к первоначальному виду. Разберем эту проблему подробно и найдем все возможные пути решения.
Прежде чем приступать к глубокому техническому анализу, проверим базовые настройки безопасности в системе 1С. Для того чтобы платформа могла записывать индивидуальные настройки интерфейса для каждого пользователя, у него должно быть соответствующее право в его роли.
Рассмотрим, на что именно стоит обратить внимание. В конфигураторе необходимо открыть роль, назначенную пользователю, и проверить наличие флага Сохранение данных пользователя. Если этот флаг снят, любые манипуляции с интерфейсом, включая настройки списков, отборов и положение окон, будут действовать только в рамках текущего сеанса. После перезапуска программы платформа просто не сможет записать эти данные в системные таблицы или файлы настроек.
Также проанализируем настройки непосредственно в режиме «1С:Предприятие». В некоторых версиях конфигураций права могут ограничиваться через дополнительные настройки прав доступа, где администратор может явно запретить редактирование интерфейса.
Если с правами всё в порядке, но настройки списка в конкретном документе всё равно сбрасываются, нам необходимо перейти в Конфигуратор. Одной из самых распространенных причин является отключенное свойство сохранения значений у самой формы документа.
Выполним следующие шаги для проверки:
СчетНаОплатуПокупателю.ФормаДокумента или ФормаСписка, в зависимости от того, где происходит сброс).Сохранять значения (Save values).Выбираемые настройки (Selection settings) должны быть отмечены те элементы, состояние которых мы хотим сохранять. Если наше табличное поле (список товаров или список документов) там не отмечено, платформа не будет запоминать его состояние.Если эти флаги сняты, то поведение программы абсолютно логично: разработчик явно указал системе не тратить ресурсы на хранение пользовательских изменений для данной формы.
В конфигурациях на обычных формах, таких как УТ 10, разработчики часто прибегают к программному управлению видимостью колонок. Это делается для того, чтобы подстраивать интерфейс под конкретные бизнес-процессы или права доступа (например, скрывать колонку «Себестоимость» от обычного менеджера).
Проанализируем программный код формы. Нам нужно изучить модули формы, особенно процедуры ПриОткрытии и ПередОткрытием. Выясним, нет ли там вызовов функций, которые принудительно устанавливают видимость колонок.
Пример кода, который может «затирать» пользовательские настройки:
Процедура ПриОткрытии()
// Программная установка видимости колонок
ЭлементыФормы.Товары.Колонки.Цена.Видимость = Истина;
ЭлементыФормы.Товары.Колонки.Сумма.Видимость = Истина;
// Если здесь вызывается метод восстановления настроек по умолчанию,
// пользовательские изменения будут потеряны
УстановитьНастройкуКолонокПоУмолчанию();
КонецПроцедуры
Если в коде присутствует подобная логика, то любые интерактивные изменения пользователя будут игнорироваться, так как код, исполняемый при открытии, имеет приоритет. В этом случае необходимо либо изменить логику кода, либо добавить условие, которое позволит сохранять выбор пользователя.
Иногда проблема кроется не в логике 1С, а во взаимодействии платформы с операционной системой. Настройки форм хранятся в файлах профиля пользователя Windows. Если у пользователя нет прав на запись в папку %AppData%\1C, то настройки физически не могут быть сохранены.
Разберем ситуацию с терминальным сервером (RDS). Если в вашей организации используются «временные профили», которые очищаются при каждом выходе пользователя из системы, то вместе с ними удаляются и все настройки 1С. В таком случае пользователю придется настраивать список заново при каждом входе.
Также проанализируем ярлык запуска 1С. Проверьте, не добавлен ли в параметрах запуска ключ /ClearCache. Этот ключ заставляет программу полностью игнорировать и очищать старые настройки при каждом запуске. Это полезно при разработке, но крайне мешает в повседневной работе пользователей.
Существует еще один важный аспект — метод ВосстановитьНастройки(). В некоторых случаях конфигурация может быть настроена так, что она пытается восстановить настройки из сохраненного ранее шаблона, который был создан администратором. Если этот шаблон «залочен» или поврежден, он может перезаписывать текущие изменения.
Для исправления ситуации можно попробовать выполнить «Тестирование и исправление» (ТиИ) информационной базы через конфигуратор. При этом обязательно выберите пункты «Реиндексация таблиц» и «Проверка логической целостности». Для SQL-версий баз данных это поможет восстановить корректную работу таблицы SystemSettings, где платформа хранит настройки интерфейса.
Подводя итог, можно сказать, что решение проблемы сброса настроек в УТ 10 требует последовательной проверки трех уровней:
ПриОткрытии.Если все вышеперечисленные методы не помогают, рекомендуем полностью удалить базу из списка выбора в стартере 1С и добавить её заново. Это создаст новый идентификатор информационной базы для локального кэша и может решить проблему с некорректно работающими путями к файлам настроек.