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

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.Управление холдингом ПредопределённыеЗначения ПВХ общийМодуль

См. также

Механизмы типовых конфигураций Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Статистическая выборка сценариев и точек изменения отчетов на общей форме ФормаОтчета в типовых конфигурациях. Примеры кода.

03.06.2024    2595    Serg2000mr    28    

94

Механизмы типовых конфигураций Ценообразование, анализ цен Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Россия Абонемент ($m)

Продолжение темы вынесения кусков повторно-используемого кода в запрос. В прошлый раз мы сделали это с вычислением пользовательских формул. Здесь замахнулись на формулы, задаваемые пользователем запросами.

1 стартмани

11.04.2024    736    tango    5    

3

Механизмы типовых конфигураций Программист Платформа 1С v8.3 1С:Управление торговлей 11 Россия Абонемент ($m)

Какому-либо элементу списка сопоставляется числовое значение, зависящее от других значений, причем эта зависимость изменяется от элемента к элементу. Так, в справочнике "Валюты" курс какой-либо валюты может быть задан формулой (или даже запросом) от значения другой валюты. А в справочнике "Виды цен" формула определяет расчет цены для товарной позиции, т.е. элементов справочника "Номенклатура", у которых в карточке указан этот вид цены. А в 1С:ERP, например, этот механизм используется в ресурсной спецификации.

10 стартмани

11.04.2024    602    tango    5    

4

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

В первом сезоне мы рассмотрели (с точки зрения программиста) внутренний механизм, помещающий цены в регистр "Цены". Из этого регистра цена попадает в исходящие УПД (в продажи). Но эта цена (в прайс-листе) дифференцирована (ценообразована) в разрезах свойств самой номенклатуры. Но стратегия ценообразования, ценовая власть - это в первую очередь о работе с ценами для клиента. И тут вступает в дело второй акт марлезонского, Скидки (наценки) и кешбек.

08.04.2024    926    tango    0    

2

Ценообразование, анализ цен Механизмы типовых конфигураций Программист Бизнес-аналитик Пользователь Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Россия Управленческий учет Абонемент ($m)

Ценовая власть - это способность (возможность) компании изменять в некоторых пределах отпускную цену своего товара (услуг, продукции). Чем в более широких пределах вы можете играть в цену продажи, тем больше этой власти у вас. Если вы не можете управлять отпускной ценой, то это или не ваш бизнес, или не бизнес вовсе. Здесь в рубрике "База знаний аналитика и руководителя проекта" слово проект не ограничено "проектом в 1С". Посмотрим, что для этого есть в УТ 11.5.

1 стартмани

05.04.2024    896    tango    12    

2

БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Уже не одна веб-страница исписана знаниями о дополнительных обработках, как создать, как подключить. Есть масса вариантов, как их можно отладить. Я разобрался в кишках работы библиотеки и покажу, как можно расширить возможности дополнительных отчетов, а также покажу удобный способ отладки.

07.02.2024    3240    YA_418728146    11    

52

Зарплата Механизмы типовых конфигураций Программист Бухгалтер Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет НДФЛ Абонемент ($m)

Для расчета зарплаты и соответствующих налогов в конфигурациях 1С:КА2 и 1С:ERP используется 22 регистра накопления, 7 регистров сведений, 1 регистр расчета и бухгалтерские проводки. В таблице приведены названия этих регистров, указаны основные регистраторы и виды движений приход/расход. В описании приводится краткое функциональное назначение регистров в основных зарплатных процессах. Описание регистров родилось из черновиков при написании различных отчетов и обработок при эксплуатации 1С-овских конфигураций и исправлении ошибок по НДФЛ, взаиморасчетов с сотрудниками и прочих. Информация не претендует на полноценное описание работы регистров, скорее это дискуссионный материал. Но, возможно, кому-то пригодится и сократит время при подготовке отчетности за непростой (в плане учета зарплаты) 2023 год. А возможно, кто-то поделится своим опытом.

1 стартмани

10.01.2024    1530    10    2ncom    6    

8
Оставьте свое сообщение