Механизм хранения и обращения к нетиповым предопределенным значениям

24.06.24

Разработка - Механизмы типовых конфигураций

Очень часто в написании кода требуется обращаться к предопределённым значениям. Если идёт обращение к типовым предопределённым значениям, то проблем не возникает.

Цель: необходимо обращаться в коде к нетиповым предопределённым значениям

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

За основу хранения данных возьмём объект конфигурации – план видов характеристик (далее - ПВХ). Данный объект позволяет хранить для каждой характеристики тип значения, который данный объект может принимать. Более подробно о данном объекте написано в документации: https://v8.1c.ru/platforma/plan-vidov-harakteristik/

Разберём по пунктам реализацию данного механизма.

  1. Создаём ПВХ, заполняя в пункте «Основные» по примеру, представленному на рисунке 1.

 


Рисунок 1 - Пункт «Основные»

 

В пункте «Основные» содержится следующая информация:

Имя ПВХ, его синоним и тип значения, которое (-ые) может храниться в данном ПВХ.

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

  1. В пункте «Данные» реквизитный состав объекта и табличной части представлен на рисунке 2.

 

Рисунок 2 - Пункт «Данные»

 

В пункте «Данные» содержится следующая информация:

СписокЗначений - это реквизит с типом Булево

Значение - это реквизит, с типом Характеристика.ОК_Константы

Значения - это табличная часть, в которой хранится реквизит Значение с типом Характеристика.ОК_Константы

  1.  В пункте «Прочее» определяем перечень предопределённых значений в зависимости от контекста задачи; примерный перечень представлен на рисунке 3.

 

Рисунок 3 - Пункт «Прочее»

 

  1. Результат пунктов 1-3 в пользовательском режиме показан на рисунке 4.

Рисунок 4 - Пункт «Пользовательский режим»

 

  1. Для того, чтобы получать программно значения необходимо создать общий модуль, в котором будут написаны функции.

ОК_КонстантыВызовСервера - это общий модуль, у которого свойства, указанные на рисунке 5.

 

Рисунок 5 - Пункт «Пользовательский режим»

 

  1. Функции в общем модуле.
#Область ПрограммныйИнтерфейс

// Параметры:
//  ЭлементПВХ  - ПланВидовХарактеристикСсылка.ОК_Константы - Предопределенный элемент плана 
//
// Возвращаемое значение:
//   Произвольный   - Значение константы
//
Функция ЗначениеКонстанты(ЭлементПВХ) Экспорт
	
	Возврат ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ЭлементПВХ, "Значение");
	
КонецФункции 


// Параметры:
//  ЭлементПВХ  - ПланВидовХарактеристикСсылка.ОК_Константы - Предопределенный элемент плана 
//
// Возвращаемое значение:
//   Массив   - массив значений константы
//
Функция ЗначенияКонстанты(ЭлементПВХ) Экспорт
	
	ЭлементПВХ = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ЭлементПВХ, "Ссылка");
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ОК_КонстантыЗначения.Значение КАК Значение
		|ИЗ
		|	ПланВидовХарактеристик.ОК_Константы.Значения КАК ОК_КонстантыЗначения
		|ГДЕ
		|	ОК_КонстантыЗначения.Ссылка = &Ссылка
		|	И ОК_КонстантыЗначения.Ссылка.СписокЗначений
		|	И НЕ ОК_КонстантыЗначения.Ссылка.ПометкаУдаления";
	
	Запрос.УстановитьПараметр("Ссылка", ЭлементПВХ);
	
	Возврат Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Значение");
	
КонецФункции 

// Параметры:
//  ЭлементПВХ  - ПланВидовХарактеристикСсылка.ОК_Константы - Предопределенный элемент плана 
//  ЗначениеПВХ - устанавливаемое значение ЭлементаПВХ
Процедура УстановитьЗначениеКонстанты(ЭлементПВХ, ЗначениеПВХ) Экспорт
	
	ПВХОбъект = ЭлементПВХ.ПолучитьОбъект(); 
	ПВХОбъект.Значение = ЗначениеПВХ;
	ПВХОбъект.Записать();

 КонецПроцедуры

 
#КонецОбласти
  1. Пример вызова функций.
ОК_КонстантыВызовСервера.ЗначениеКонстанты("ПланВидовХарактеристик.ОК_Константы.Договоры")= ЭтотОбъект.ВидДокумента

 

Механизм готов.

Комментарии, пожелания приветствуются!

С уважением, Оля-ля.

Вступайте в нашу телеграмм-группу Инфостарт

ДокументооборотКОРП 1С:ERP.Управление холдингом ПредопределённыеЗначения ПВХ общийМодуль

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Программист 1С 8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

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

1 стартмани

20.03.2026    1570    InFlach    0    

6

Механизмы типовых конфигураций Программист Стажер 1С 8.3 1С:Зарплата и Управление Персоналом 3.x Бесплатно (free)

Интервальные регистры в 1С:ЗУП 3.1 заменяют тяжелые срезы последних, ускоряя отчеты по кадровым данным через интервалы ДатаНачала–ДатаОкончания. Разбираем отличия, примеры кода, плюсы и способы синхронизации.

12.03.2026    3119    AlexeyPROSTO_1C    4    

20

Механизмы типовых конфигураций Программист Стажер 1С 8.3 1С:Зарплата и Управление Персоналом 3.x Бесплатно (free)

Как в ЗУП работает механизм расстановки времени в регистрах сведений с помощью подписки на события?Рассматривается логика сдвигов для разных типов документов (прием, увольнение, отпуск) и дается инструкция по подключению нового регистра к этому механизму.

03.03.2026    1672    YA_1100893639    1    

7

Механизмы типовых конфигураций Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 Россия Бесплатно (free)

В статье рассматривается подход к программной модификации параметров команды внешней обработки заполнения объекта так, чтобы в момент вызова из формы объекта (табличной части документа) она использовалась для открытия вспомогательной формы диалога, а после закрытия вспомогательной формы диалога она использовалась для заполнения объекта (табличной части документа) уже на сервере с контекстом формы документа с использованием введенных данных во вспомогательной форме диалога.

11.08.2025    8479    user1988284    0    

23
Для отправки сообщения требуется регистрация/авторизация