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