#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
ТаблицаЗначенийРегистры = ПолучитьИзВременногоХранилища(Параметры.АдресСпискаРегистров);
ЗначениеВРеквизитФормы(ТаблицаЗначенийРегистры, "Регистры");
Для Каждого СтрокаРегистра Из Регистры Цикл
Если СтрокаРегистра.ТипРегистра = "РегистрНакопления" Тогда
СписокРегистровНакопления.Добавить(
СтрокаРегистра.Имя,
СтрокаРегистра.Синоним,
СтрокаРегистра.Отображение,
БиблиотекаКартинок.РегистрНакопления);
ИначеЕсли СтрокаРегистра.ТипРегистра="РегистрСведений" Тогда
СписокРегистровСведений.Добавить(
СтрокаРегистра.Имя,
СтрокаРегистра.Синоним,
СтрокаРегистра.Отображение,
БиблиотекаКартинок.РегистрСведений);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура ПрименитьНастройку(Команда)
СписокИзменений = Новый СписокЗначений;
УдаленныеДвижения = Новый Массив;
Для Каждого Регистр Из Регистры Цикл
СтрокаПользовательскогоСписка = НайтиВПользовательскомСписке(Регистр.Имя, Регистр.ТипРегистра);
Если СтрокаПользовательскогоСписка = Неопределено Тогда
Продолжить;
КонецЕсли;
Если СтрокаПользовательскогоСписка.Пометка <> Регистр.Отображение Тогда
СписокИзменений.Добавить(Регистр.Имя, Регистр.Синоним, СтрокаПользовательскогоСписка.Пометка);
КонецЕсли;
Если НЕ СтрокаПользовательскогоСписка.Пометка И Регистр.ЕстьДвижения Тогда
УдаленныеДвижения.Добавить(Регистр.Синоним);
КонецЕсли;
КонецЦикла;
Если УдаленныеДвижения.Количество() > 0 Тогда
Если УдаленныеДвижения.Количество() = 1 Тогда
ТекстВопроса = НСтр("ru = 'Будут удалены движения регистра ""%ИмяРегистра%"".
|Продолжить?'");
ТекстВопроса = СтрЗаменить(ТекстВопроса, "%ИмяРегистра%", УдаленныеДвижения[0]);
Иначе
ТекстВопроса = НСтр("ru = 'Будут удалены движения регистров %СписокРегистров%.
|Продолжить?'");
ТекстСписокРегистров = "";
Для Каждого ПредставлениеРегистра Из УдаленныеДвижения Цикл
ТекстСписокРегистров = ТекстСписокРегистров + Символы.ПС + " - " + ПредставлениеРегистра;
КонецЦикла;
ТекстВопроса = СтрЗаменить(ТекстВопроса, "%СписокРегистров%", ТекстСписокРегистров);
КонецЕсли;
Оповещение = Новый ОписаниеОповещения("ВопросПрименитьНастройкуЗавершение", ЭтотОбъект, СписокИзменений);
ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет);
Иначе
Закрыть(СписокИзменений);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УстановитьСтандартнуюНастройку(Команда)
ИзменитьФлажки(Ложь);
Для Каждого Регистр Из Регистры Цикл
Если НЕ Регистр.ЕстьДвижения Тогда
Продолжить;
КонецЕсли;
СтрокаПользовательскогоСписка = НайтиВПользовательскомСписке(Регистр.Имя, Регистр.ТипРегистра);
Если СтрокаПользовательскогоСписка <> Неопределено Тогда
СтрокаПользовательскогоСписка.Пометка = Истина;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура УстановитьВсеФлажки(Команда)
ИзменитьФлажки(Истина);
КонецПроцедуры
&НаКлиенте
Процедура СнятьВсеФлажки(Команда)
ИзменитьФлажки(Ложь);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаКлиенте
Процедура ИзменитьФлажки(Пометка)
Для Каждого СтрокаРегистра Из СписокРегистровНакопления Цикл
СтрокаРегистра.Пометка = Пометка;
КонецЦикла;
Для Каждого СтрокаРегистра Из СписокРегистровСведений Цикл
СтрокаРегистра.Пометка = Пометка;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Функция НайтиВПользовательскомСписке(Имя, ТипРегистра)
Если ТипРегистра = "РегистрНакопления" Тогда
ПользовательскийСписок = СписокРегистровНакопления;
ИначеЕсли ТипРегистра = "РегистрСведений" Тогда
ПользовательскийСписок = СписокРегистровСведений;
Иначе
ПользовательскийСписок = Новый СписокЗначений;
КонецЕсли;
Возврат ПользовательскийСписок.НайтиПоЗначению(Имя);
КонецФункции
&НаКлиенте
Процедура ВопросПрименитьНастройкуЗавершение(Результат, СписокИзменений) Экспорт
Если Результат = КодВозвратаДиалога.Да Тогда
Закрыть(СписокИзменений);
КонецЕсли;
КонецПроцедуры
#КонецОбласти