1С 8.3 Ключ менеджера записи регистра сведений
Данные > Примеры кода 1С > 1С 8.3 Регистры сведений
Перейти в раздел примеры кода 1С 8.3:

Пример кода от JuniorOneS: Возврат ключа менеджера записи регистра сведений в 1С 8.3:
Функция КлючМенеджераЗаписиРС(ДанныеЗаписи, ИмяРС = "") Экспорт
// Параметры:
// ДанныеЗаписи - МенеджерЗаписи, Структура, Произвольный - коллекция с данными записи
// ИмяРС - Строка - Имя регистра. Если не передано,
// то метаданные регистра берутся из ДанныеЗаписи
Если ПустаяСтрока(ИмяРС) Тогда
РС_Метаданные = Метаданные.НайтиПоТипу(ТипЗнч(ДанныеЗаписи));
Иначе
РС_Метаданные = Метаданные.РегистрыСведений[ИмяРС];
КонецЕсли;
Значения_ключа = Новый Структура("Период");
Для Каждого Измерение Из РС_Метаданные.Измерения Цикл
Значения_ключа.Вставить(Измерение.Имя);
КонецЦикла;
ЗаполнитьЗначенияСвойств(Значения_ключа, ДанныеЗаписи);
//Возвращает ключ менеджера записи регистра сведений
Возврат РегистрыСведений[РС_Метаданные.Имя].СоздатьКлючЗаписи(Значения_ключа);//Ключ записи регистра
КонецФункции
// Параметры:
// ДанныеЗаписи - МенеджерЗаписи, Структура, Произвольный - коллекция с данными записи
// ИмяРС - Строка - Имя регистра. Если не передано,
// то метаданные регистра берутся из ДанныеЗаписи
Если ПустаяСтрока(ИмяРС) Тогда
РС_Метаданные = Метаданные.НайтиПоТипу(ТипЗнч(ДанныеЗаписи));
Иначе
РС_Метаданные = Метаданные.РегистрыСведений[ИмяРС];
КонецЕсли;
Значения_ключа = Новый Структура("Период");
Для Каждого Измерение Из РС_Метаданные.Измерения Цикл
Значения_ключа.Вставить(Измерение.Имя);
КонецЦикла;
ЗаполнитьЗначенияСвойств(Значения_ключа, ДанныеЗаписи);
//Возвращает ключ менеджера записи регистра сведений
Возврат РегистрыСведений[РС_Метаданные.Имя].СоздатьКлючЗаписи(Значения_ключа);//Ключ записи регистра
КонецФункции
0
отзывы
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник