Заявка на расходование денежных средств / Форма списка документов / Модуль формы

файл

#Область ОбработчикиСобытийФормы

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


	//-- Локализация
	
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	МенеджерОборудованияКлиент.НачатьПодключениеОборудованиеПриОткрытииФормы(Неопределено, ЭтаФорма, "СканерШтрихкода");
	
КонецПроцедуры

&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
	
	Если ЗавершениеРаботы Тогда
		Возврат;
	КонецЕсли;
	
	МенеджерОборудованияКлиент.НачатьОтключениеОборудованиеПриЗакрытииФормы(Неопределено, ЭтаФорма);
	
КонецПроцедуры

&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
	
	// ПодключаемоеОборудование
	Если Источник = "ПодключаемоеОборудование" И ВводДоступен() Тогда
		Если ИмяСобытия = "ScanData" И МенеджерОборудованияУТКлиент.ЕстьНеобработанноеСобытие() Тогда
			ОбработатьШтрихкоды(МенеджерОборудованияУТКлиент.ПреобразоватьДанныеСоСканераВСтруктуру(Параметр));
		КонецЕсли;
	КонецЕсли;
	// Конец ПодключаемоеОборудование
	
	Если ИмяСобытия = "Запись_ЗаявкаНаРасходованиеДенежныхСредств" Тогда
		Элементы.Список.Обновить();
		УстановитьВидимостьСтатусов();
	КонецЕсли;
	
КонецПроцедуры

&НаСервере
Процедура ПриЗагрузкеДанныхИзНастроекНаСервере(Настройки)
	
	Заявитель = Настройки.Получить("Заявитель");
	
	ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
		Список,
		"Заявитель",
		Заявитель,
		ВидСравненияКомпоновкиДанных.Равно,,
		ЗначениеЗаполнено(Заявитель));
	
КонецПроцедуры

#КонецОбласти

#Область ОбработчикиСобытийЭлементовШапкиФормы

&НаКлиенте
Процедура ЗаявительОтборПриИзменении(Элемент)
	
	ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
		Список,
		"Заявитель",
		Заявитель,
		ВидСравненияКомпоновкиДанных.Равно,,
		ЗначениеЗаполнено(Заявитель));
	
КонецПроцедуры

&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
	
	Если Поле.Имя = "ЕстьФайлы" Тогда
		СтандартнаяОбработка = Ложь;
		СтрокаСписка = Элементы.Список.ТекущиеДанные;
		ОткрытьФорму("Обработка.РаботаСФайлами.Форма.ПрисоединенныеФайлы",
			Новый Структура("ВладелецФайла", СтрокаСписка.Ссылка),
			ЭтаФорма);
	КонецЕсли;
	
	Если Поле = Элементы.СостояниеЭДО Тогда
		// ЭлектронноеВзаимодействие.ОбменСКонтрагентами
		ОбменСКонтрагентамиКлиент.СостояниеЭДОНажатие_ФормаСписка(ВыбраннаяСтрока, СтандартнаяОбработка);
		// Конец ЭлектронноеВзаимодействие.ОбменСКонтрагентами
	КонецЕсли;
	
КонецПроцедуры

#КонецОбласти

#Область ОбработчикиСобытийЭлементовТаблицыФормыСписок

&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
	
	// СтандартныеПодсистемы.ПодключаемыеКоманды
	ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
	
	УстановитьВидимостьСтатусов();
	
КонецПроцедуры

#КонецОбласти

#Область ОбработчикиКомандФормы

// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаСервере
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
	ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Элементы.Список);
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
	ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
	ПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Элементы.Список);
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
	ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Элементы.Список);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды

&НаКлиенте
Процедура СоздатьВозвратДенежныхСредствКлиенту()
	
	СоздатьЗаявкуНаРасходованиеДенежныхСредств(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту"));
	
КонецПроцедуры

&НаКлиенте
Процедура СоздатьВыдачаДенежныхСредствПодотчетнику()
	
	СоздатьЗаявкуНаРасходованиеДенежныхСредств(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВыдачаДенежныхСредствПодотчетнику"));
	
КонецПроцедуры

&НаКлиенте
Процедура СоздатьОплатаВДругуюОрганизацию(Команда)
	
	СоздатьЗаявкуНаРасходованиеДенежныхСредств(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ОплатаДенежныхСредствВДругуюОрганизацию"));
	
КонецПроцедуры

&НаКлиенте
Процедура СоздатьВозвратВДругуюОрганизацию(Команда)
	
	СоздатьЗаявкуНаРасходованиеДенежныхСредств(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВозвратДенежныхСредствВДругуюОрганизацию"));
	
КонецПроцедуры

&НаКлиенте
Процедура СоздатьПеречислениеВБюджет(Команда)
	
	СоздатьЗаявкуНаРасходованиеДенежныхСредств(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ПеречислениеВБюджет"));
	
КонецПроцедуры

&НаКлиенте
Процедура СоздатьПрочаяВыдачаДенежныхСредств(Команда)
	
	СоздатьЗаявкуНаРасходованиеДенежныхСредств(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ПрочаяВыдачаДенежныхСредств"));
	
КонецПроцедуры

&НаКлиенте
Процедура СоздатьВнутреннююПередачуДенежныхСредств(Команда)
	
	СоздатьЗаявкуНаРасходованиеДенежныхСредств(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВнутренняяПередачаДенежныхСредств"));
	
КонецПроцедуры

&НаКлиенте
Процедура СоздатьПеречислениеТаможне(Команда)
	
	СоздатьЗаявкуНаРасходованиеДенежныхСредств(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ПеречислениеТаможне"));
	
КонецПроцедуры

&НаКлиенте
Процедура СоздатьКонвертацияВалюты(Команда)
	
	СоздатьЗаявкуНаРасходованиеДенежныхСредств(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.КонвертацияВалюты"));
	
КонецПроцедуры

&НаКлиенте
Процедура СоздатьВыплатаЗаработнойПлаты(Команда)
	
	ДополнительныеПараметры = Новый Структура;
	ДополнительныеПараметры.Вставить("ХозяйственнаяОперацияПоЗарплате",
		ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВыплатаЗарплатыНаЛицевыеСчета"));
	ДополнительныеПараметры.Вставить("ФормаОплатыЗаявки", ПредопределенноеЗначение("Перечисление.ФормыОплаты.Безналичная"));
	
	СоздатьЗаявкуНаРасходованиеДенежныхСредств(
		ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВыплатаЗарплаты"), ДополнительныеПараметры);
	
КонецПроцедуры

&НаКлиенте
Процедура СоздатьЗаявкуПоКредитам(Команда)
	
	СоздатьЗаявкуНаРасходованиеДенежныхСредств(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ОплатаПоКредитам"));
	
КонецПроцедуры

&НаКлиенте
Процедура СоздатьЗаявкуПоДепозитам(Команда)
	
	СоздатьЗаявкуНаРасходованиеДенежныхСредств(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ПеречислениеНаДепозиты"));
	
КонецПроцедуры

&НаКлиенте
Процедура СоздатьЗаявкуПоЗаймамКонтрагенту(Команда)
	
	СоздатьЗаявкуНаРасходованиеДенежныхСредств(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВыдачаЗаймов"));
	
КонецПроцедуры

&НаКлиенте
Процедура СоздатьЗаявкуПоЗаймамСотруднику(Команда)
	
	СоздатьЗаявкуНаРасходованиеДенежныхСредств(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВыдачаЗаймаСотруднику"));
	
КонецПроцедуры

&НаКлиенте
Процедура СоздатьОплатуАрендодателю(Команда)
	
	СоздатьЗаявкуНаРасходованиеДенежныхСредств(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ОплатаАрендодателю"));
	
КонецПроцедуры

&НаКлиенте
Процедура СоздатьВозвратОплатыНаПлатежнуюКарту(Команда)
	
	СоздатьЗаявкуНаРасходованиеДенежныхСредств(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВозвратОплатыНаПлатежнуюКарту"));
	
КонецПроцедуры

&НаКлиенте
Процедура УстановитьСтатусНеСогласована(Команда)
	
	УстановитьСтатус("НеСогласована", НСтр("ru='Не согласована'"));
	
КонецПроцедуры

&НаКлиенте
Процедура УстановитьСтатусСогласована(Команда)
	
	УстановитьСтатус("Согласована", НСтр("ru='Согласована'"));
	
КонецПроцедуры

&НаКлиенте
Процедура УстановитьСтатусКОплате(Команда)
	
	УстановитьСтатус("КОплате", НСтр("ru='К оплате'"));
	
КонецПроцедуры

&НаКлиенте
Процедура УстановитьСтатусОтклонена(Команда)
	
	УстановитьСтатус("Отклонена", НСтр("ru='Отклонена'"));
	
КонецПроцедуры

&НаКлиенте
Процедура УстановитьСтатус(Статус, ИмяСтатуса)
	
	ВыделенныеСтроки = ОбщегоНазначенияУТКлиент.ПроверитьПолучитьВыделенныеВСпискеСсылки(Элементы.Список);
	Если ВыделенныеСтроки.Количество() = 0 Тогда
		Возврат;
	КонецЕсли;
	
	ТекстВопроса = СтрШаблон(НСтр("ru='У выделенных в списке заявок будет установлен статус ""%1"". Продолжить?'"), ИмяСтатуса);
	Оповещение = Новый ОписаниеОповещения("УстановитьСтатусЗавершение", ЭтотОбъект,
		Новый Структура("ВыделенныеСтроки, Статус, ИмяСтатуса", ВыделенныеСтроки, Статус, ИмяСтатуса));
	ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет);
	
КонецПроцедуры

&НаКлиенте
Процедура УстановитьСтатусЗавершение(Результат, ДополнительныеПараметры) Экспорт
	
	ВыделенныеСтроки = ДополнительныеПараметры.ВыделенныеСтроки;
	Статус           = ДополнительныеПараметры.Статус;
	ИмяСтатуса       = ДополнительныеПараметры.ИмяСтатуса;
	
	Ответ = Результат;
	Если Ответ = КодВозвратаДиалога.Нет Тогда
		Возврат;
	КонецЕсли;
	
	ОчиститьСообщения();
	КоличествоОбработанных = ОбщегоНазначенияУТВызовСервера.УстановитьСтатусДокументов(ВыделенныеСтроки, Статус);
	
	ОбщегоНазначенияУТКлиент.ОповеститьПользователяОбУстановкеСтатуса(
		Элементы.Список, КоличествоОбработанных, ВыделенныеСтроки.Количество(), ИмяСтатуса);
	УстановитьВидимостьСтатусов();
	
КонецПроцедуры

&НаКлиенте
Процедура ЗакрытьЗаявки(Команда)
	
	ВыделенныеЗаявки = ОбщегоНазначенияУТКлиент.ПроверитьПолучитьВыделенныеВСпискеСсылки(Элементы.Список);
	Если ВыделенныеЗаявки.Количество() = 0 Тогда
		Возврат;
	КонецЕсли;
	
	КоличествоОбработанных = ЗакрытьЗаявкиНаСервере(ВыделенныеЗаявки);
	
	ОчиститьСообщения();
	
	Если КоличествоОбработанных > 0 Тогда
		Элементы.Список.Обновить();
		УстановитьВидимостьСтатусов();
		ТекстСообщения = НСтр("ru='Закрыто %1 из %2 выделенных заявок.'");
		ПоказатьОповещениеПользователя(СтрШаблон(ТекстСообщения, КоличествоОбработанных, ВыделенныеЗаявки.Количество()));
	Иначе
		ПоказатьОповещениеПользователя(НСтр("ru='Выбранные заявки не нуждаются в закрытии.'"));
	КонецЕсли;
	
КонецПроцедуры

&НаСервереБезКонтекста
Функция ЗакрытьЗаявкиНаСервере(ВыделенныеЗаявки)
	
	Возврат Документы.ЗаявкаНаРасходованиеДенежныхСредств.ЗакрытьЗаявки(ВыделенныеЗаявки);
	
КонецФункции

// ИнтеграцияС1СДокументооборотом
&НаКлиенте
Процедура Подключаемый_ВыполнитьКомандуИнтеграции(Команда)
	
	ИнтеграцияС1СДокументооборотБазоваяФункциональностьКлиент.ВыполнитьПодключаемуюКомандуИнтеграции(Команда, ЭтаФорма, Элементы.Список);
	
КонецПроцедуры
// Конец ИнтеграцияС1СДокументооборотом

&НаКлиенте
Процедура Подключаемый_ВыполнитьПереопределяемуюКоманду(Команда)
	
	СобытияФормКлиент.ВыполнитьПереопределяемуюКоманду(ЭтаФорма, Команда);
	
КонецПроцедуры

// ЭлектронноеВзаимодействие.ОбменСКонтрагентами
&НаКлиенте
Процедура Подключаемый_ВыполнитьКомандуЭДО(Команда)
	
	ЭлектронноеВзаимодействиеКлиент.ВыполнитьПодключаемуюКомандуЭДО(Команда, ЭтаФорма, Элементы.Список);
	
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ОбработчикОжиданияЭДО()
	
	ОбменСКонтрагентамиКлиент.ОбработчикОжиданияЭДО(ЭтотОбъект);
	
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ОбновитьВидимостьСостоянияЭДО()
	
	ОбменСКонтрагентамиКлиент.ОбработчикОбновленияВидимостьСостоянияЭДО(ЭтотОбъект, Элементы.СостояниеЭДО);
	
КонецПроцедуры
// Конец ЭлектронноеВзаимодействие.ОбменСКонтрагентами

// ЭлектронноеВзаимодействие.БизнесСеть
&НаКлиенте
Процедура Подключаемый_ПодобратьДокументыИзСервисаБизнесСеть(Команда)
	
	БизнесСетьКлиент.ПодобратьДокументыИзСервисаБизнесСеть(ЭтотОбъект);
	
КонецПроцедуры
// Конец ЭлектронноеВзаимодействие.БизнесСеть

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

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

#Область ШтрихкодыИТорговоеОборудование

&НаКлиенте
Функция СсылкаНаЭлементСпискаПоШтрихкоду(Штрихкод)
	
	Менеджеры = Новый Массив();
	Менеджеры.Добавить(ПредопределенноеЗначение("Документ.ЗаявкаНаРасходованиеДенежныхСредств.ПустаяСсылка"));
	Возврат ШтрихкодированиеПечатныхФормКлиент.ПолучитьСсылкуПоШтрихкодуТабличногоДокумента(Штрихкод, Менеджеры);
	
КонецФункции

&НаКлиенте
Процедура ОбработатьШтрихкоды(Данные)
	
	МассивСсылок = СсылкаНаЭлементСпискаПоШтрихкоду(Данные.Штрихкод);
	Если МассивСсылок.Количество() > 0 Тогда
		Ссылка = МассивСсылок[0];
		Элементы.Список.ТекущаяСтрока = Ссылка;
		ПоказатьЗначение(Неопределено, Ссылка);
	Иначе
		ШтрихкодированиеПечатныхФормКлиент.ОбъектНеНайден(Данные.Штрихкод);
	КонецЕсли;
	
КонецПроцедуры

#КонецОбласти

// ЭлектронноеВзаимодействие.БизнесСеть
&НаКлиенте
Процедура ОбновитьИнформациюОНовыхДокументахВСервисе()
	
	БизнесСетьКлиент.ОбновитьИнформациюОНовыхДокументахВСервисе(ЭтотОбъект);
	
КонецПроцедуры
// Конец ЭлектронноеВзаимодействие.БизнесСеть

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

#КонецОбласти

//++ Локализация
#Область Локализация

#Область Локализация_ПодключаемыеОбработчикиСобытийФормы

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

&НаКлиенте
Процедура Подключаемый_ПриОткрытииЛокализация(Отказ)
	
	ПриОткрытии(Отказ);
	
	// ЭлектронноеВзаимодействие.ОбменСКонтрагентами
	ОбменСКонтрагентамиКлиент.ПриОткрытии(ЭтотОбъект);
	// Конец ЭлектронноеВзаимодействие.ОбменСКонтрагентами
	
	// ЭлектронноеВзаимодействие.БизнесСеть
	БизнесСетьКлиент.ОбновитьИнформациюОНовыхДокументахВСервисе(ЭтотОбъект);
	// Конец ЭлектронноеВзаимодействие.БизнесСеть
	
КонецПроцедуры

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

#КонецОбласти

#Область Локализация_ОбработчикиКомандФормы

&НаКлиенте
Процедура Подключаемый_СоздатьВыплатаЗаработнойПлатыЛокализация(Команда)
	
	ДополнительныеПараметры = Новый Структура;
	ДополнительныеПараметры.Вставить("ХозяйственнаяОперацияПоЗарплате",
		ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВыплатаЗарплатыПоЗарплатномуПроекту"));
	ДополнительныеПараметры.Вставить("ФормаОплатыЗаявки", ПредопределенноеЗначение("Перечисление.ФормыОплаты.Безналичная"));
	
	СоздатьЗаявкуНаРасходованиеДенежныхСредств(
		ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВыплатаЗарплаты"), ДополнительныеПараметры);
	
КонецПроцедуры

#КонецОбласти

#КонецОбласти

#Область Инициализация

#Если НаСервере Тогда

Если Не ПодключеныОбработчикиЛокализация И ПолучитьФункциональнуюОпцию("ПоддержкаПлатежейРФ") Тогда
	
	ПодключеныОбработчикиЛокализация = Истина;
	
	ПодключаемыеОбработчикиСобытийФормы = Новый Массив;
	ПодключаемыеОбработчикиСобытийФормы.Добавить("ПриСозданииНаСервере");
	ПодключаемыеОбработчикиСобытийФормы.Добавить("ПриОткрытии");
	ПодключаемыеОбработчикиСобытийФормы.Добавить("ОбработкаОповещения");
	
	Для каждого Обработчик Из ПодключаемыеОбработчикиСобытийФормы Цикл
		УстановитьДействие(Обработчик, "Подключаемый_" + Обработчик + "Локализация");
	КонецЦикла;
	
	ПодключаемыеОбработчикиКоманд = Новый Массив;
	ПодключаемыеОбработчикиКоманд.Добавить("СоздатьВыплатаЗаработнойПлаты");
	
	Для каждого Обработчик Из ПодключаемыеОбработчикиКоманд Цикл
		ОбработчикКоманды = Команды[Обработчик]; // КомандаФормы
		ОбработчикКоманды.Действие = "Подключаемый_" + Обработчик + "Локализация";
	КонецЦикла;
	
КонецЕсли;

#КонецЕсли

#КонецОбласти
//-- Локализация

Связанные материалы