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