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