1
0
mirror of https://github.com/huxuxuya/1cPredefinedValuesSubsystem.git synced 2025-11-29 21:57:41 +02:00
2025-10-09 00:48:26 +03:00
2025-02-14 00:05:16 +03:00
2025-01-17 23:12:48 +03:00
2025-10-06 23:26:01 +03:00

1С:Подсистема предопределенных значений

License: MIT 1C:Enterprise

Подсистема для управления предопределенными настройками в конфигурациях 1С:Предприятие 8.3.

📋 Описание

Подсистема предопределенных значений предоставляет удобный механизм для хранения и использования различных настроек и констант в логике разрабатываемого приложения 1С.

Основные возможности

  • 🔧 Хранение настроек различных типов (строка, число, дата, булево, ссылки, массивы, таблицы значений)
  • 🚀 Простой программный интерфейс для работы с настройками
  • 📦 Легкая интеграция в существующие конфигурации
  • 🎨 Удобный пользовательский интерфейс
  • 📝 Иерархическая структура настроек с поддержкой групп
  • 🔍 Быстрый доступ к значениям через механизм повторного использования

🎯 Цели создания подсистемы

  1. Централизованное хранение настроек - все настройки приложения в едином месте
  2. Легкая интеграция - простое подключение к существующим проектам
  3. Простота использования - минимум кода для работы с настройками
  4. Удобный интерфейс - понятный UI для конечных пользователей

📦 Состав подсистемы

Справочники

  • ПредопределенныеНастройки - основной справочник для хранения настроек

Перечисления

  • ТипыЗначенияПредопределенныхЗначений - типы поддерживаемых значений:
    • Строка
    • Число
    • Дата
    • Булево
    • Ссылка
    • Массив
    • КлючЗначение
    • ТаблицаЗначений

Общие модули

  • ПредопределенныеНастройки - основной программный интерфейс
  • ПредопределенныеНастройкиПереопределяемый - модуль для определения настроек в конфигурации
  • ПредопределенныеНастройкиПовтИсп - кэширование значений для быстрого доступа
  • БазоваяФункциональность - вспомогательные функции
  • БазоваяФункциональностьКлиентСервер - клиент-серверные функции

Роли

  • ДобавлениеИзменениеПредопределенныеЗначения - права на изменение настроек

🚀 Установка

  1. Загрузите подсистему из репозитория
  2. Импортируйте подсистему в вашу конфигурацию через EDT или Конфигуратор
  3. Выполните обновление конфигурации базы данных

💻 Использование

Определение настроек

В переопределяемом модуле ПредопределенныеНастройкиПереопределяемый добавьте свои настройки:

Процедура ПриЗаполненииТаблицыПредопределенныхНастроек(ТаблицаНастроек) Экспорт

	// Пример: Настройка типа Строка
	НоваяНастройка = ТаблицаНастроек.Добавить();
	НоваяНастройка.Идентификатор = Новый УникальныйИдентификатор("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)

В разработке:

  • Улучшение пользовательского интерфейса
  • Расширение типов поддерживаемых значений
  • Дополнительные инструменты для тестирования

🤝 Вклад в проект

Мы приветствуем вклад в развитие проекта! Если у вас есть идеи или предложения:

  1. Создайте Issue с описанием проблемы или предложения
  2. Сделайте Fork репозитория
  3. Создайте Pull Request с вашими изменениями

📄 Лицензия

Проект распространяется под лицензией MIT. Подробности в файле LICENSE.

👤 Автор

Fedor Timokhov

Поддержите проект

Если вам нравится этот проект, поставьте звезду на GitHub!


Версия подсистемы: 0.6 Совместимость: 1С:Предприятие 8.3.25+ Язык: Русский

Description
1С:Подсистема предопределенных значений
Readme MIT 2 MiB
Languages
1C Enterprise 100%