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