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