1С:Подсистема предопределенных значений
Подсистема для управления предопределенными настройками в конфигурациях 1С:Предприятие 8.3.
📋 Описание
Подсистема предопределенных значений предоставляет удобный механизм для хранения и использования различных настроек и констант в логике разрабатываемого приложения 1С.
Основные возможности
- 🔧 Хранение настроек различных типов (строка, число, дата, булево, ссылки, массивы, таблицы значений)
- 🚀 Простой программный интерфейс для работы с настройками
- 📦 Легкая интеграция в существующие конфигурации
- 🎨 Удобный пользовательский интерфейс
- 📝 Иерархическая структура настроек с поддержкой групп
- 🔍 Быстрый доступ к значениям через механизм повторного использования
🎯 Цели создания подсистемы
- Централизованное хранение настроек - все настройки приложения в едином месте
- Легкая интеграция - простое подключение к существующим проектам
- Простота использования - минимум кода для работы с настройками
- Удобный интерфейс - понятный UI для конечных пользователей
📦 Состав подсистемы
Справочники
- ПредопределенныеНастройки - основной справочник для хранения настроек
Перечисления
- ТипыЗначенияПредопределенныхЗначений - типы поддерживаемых значений:
- Строка
- Число
- Дата
- Булево
- Ссылка
- Массив
- КлючЗначение
- ТаблицаЗначений
Общие модули
- ПредопределенныеНастройки - основной программный интерфейс
- ПредопределенныеНастройкиПереопределяемый - модуль для определения настроек в конфигурации
- ПредопределенныеНастройкиПовтИсп - кэширование значений для быстрого доступа
- БазоваяФункциональность - вспомогательные функции
- БазоваяФункциональностьКлиентСервер - клиент-серверные функции
Роли
- ДобавлениеИзменениеПредопределенныеЗначения - права на изменение настроек
🚀 Установка
- Загрузите подсистему из репозитория
- Импортируйте подсистему в вашу конфигурацию через EDT или Конфигуратор
- Выполните обновление конфигурации базы данных
💻 Использование
Определение настроек
В переопределяемом модуле ПредопределенныеНастройкиПереопределяемый добавьте свои настройки:
Процедура ПриЗаполненииТаблицыПредопределенныхНастроек(ТаблицаНастроек) Экспорт
// Пример: Настройка типа Строка
НоваяНастройка = ТаблицаНастроек.Добавить();
НоваяНастройка.Идентификатор = Новый УникальныйИдентификатор("12345678-1234-1234-1234-123456789012");
НоваяНастройка.Наименование = "Адрес электронной почты";
НоваяНастройка.ИмяНастройки = "EmailАдминистратора";
НоваяНастройка.ТипЗначения = Перечисления.ТипыЗначенияПредопределенныхЗначений.Строка;
НоваяНастройка.Описание = "Email адрес администратора для уведомлений";
НоваяНастройка.Значение = "admin@example.com";
// Пример: Настройка типа Булево
НоваяНастройка = ТаблицаНастроек.Добавить();
НоваяНастройка.Идентификатор = Новый УникальныйИдентификатор("87654321-4321-4321-4321-210987654321");
НоваяНастройка.Наименование = "Использовать логирование";
НоваяНастройка.ИмяНастройки = "ИспользоватьЛогирование";
НоваяНастройка.ТипЗначения = Перечисления.ТипыЗначенияПредопределенныхЗначений.Булево;
НоваяНастройка.Описание = "Флаг включения системы логирования";
НоваяНастройка.Значение = Истина;
КонецПроцедуры
Получение значения настройки
// Получить значение настройки
Email = ПредопределенныеНастройки.Значение("EmailАдминистратора");
// Получить значение с обработкой исключения
Попытка
Email = ПредопределенныеНастройки.Значение("EmailАдминистратора", Истина);
Исключение
// Обработка ошибки, если настройка не найдена
КонецПопытки;
// Получить ссылку на элемент справочника
СсылкаНастройки = ПредопределенныеНастройки.НастройкаПоИмени("EmailАдминистратора");
Обновление настроек в базе
// Инициализация таблицы настроек
ТаблицаНастроек = Неопределено;
ПредопределенныеНастройки.ИнициализироватьТаблицуПредопределенныхНастроек(ТаблицаНастроек);
// Обновление настроек в базе данных
ПредопределенныеНастройки.ОбновитьНастройкиВБазе(ТаблицаНастроек);
📚 API
Основные функции
Значение(ИмяНастройки, ВызыватьИсключение = Ложь)
Возвращает значение предопределенной настройки по её имени.
Параметры:
ИмяНастройки(Строка) - имя настройкиВызыватьИсключение(Булево) - вызывать исключение, если настройка не найдена
Возвращает: Значение настройки или пустую ссылку
НастройкаПоИмени(ИмяНастройки)
Возвращает ссылку на предопределенную настройку по имени.
Параметры:
ИмяНастройки(Строка) - имя настройки
Возвращает: СправочникСсылка.ПредопределенныеНастройки
НоваяТаблицаПредопределенныхНастроек()
Создаёт новую таблицу значений для описания настроек.
Возвращает: ТаблицаЗначений с колонками:
- Идентификатор
- ИмяНастройки
- Хранилище
- Наименование
- Описание
- ТипЗначения
- Значение
🔧 Требования
- 1С:Предприятие 8.3.25 или выше
- Режим совместимости: 8.3.25
- Управляемое приложение
📝 Структура данных
Справочник "ПредопределенныеНастройки"
Реквизиты:
Значение- хранение простых типов (строка, число, дата, булево, ссылки)Хранилище- хранилище значений для сложных типовИмяНастройки- уникальное имя настройки (индексируется)ТипЗначения- перечисление типа значенияОписание- текстовое описание назначения настройкиПредставлениеЗначения- отображаемое представление значения
Табличная часть:
Параметры- для хранения массивов и таблиц значений
🎨 Пользовательский интерфейс
Подсистема предоставляет удобные формы для работы с настройками:
- Форма списка с иерархической структурой
- Форма элемента для редактирования настроек
- Визуальные индикаторы типов значений
🛣️ Статус разработки
⚠️ Внимание: Подсистема находится в активной разработке (версия 0.6)
В разработке:
- Улучшение пользовательского интерфейса
- Расширение типов поддерживаемых значений
- Дополнительные инструменты для тестирования
🤝 Вклад в проект
Мы приветствуем вклад в развитие проекта! Если у вас есть идеи или предложения:
- Создайте Issue с описанием проблемы или предложения
- Сделайте Fork репозитория
- Создайте Pull Request с вашими изменениями
📄 Лицензия
Проект распространяется под лицензией MIT. Подробности в файле LICENSE.
👤 Автор
Fedor Timokhov
⭐ Поддержите проект
Если вам нравится этот проект, поставьте звезду на GitHub!
Версия подсистемы: 0.6 Совместимость: 1С:Предприятие 8.3.25+ Язык: Русский