Регламентная операция / Форма списка / Модуль формы

файл

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

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
		Возврат;
	КонецЕсли;

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

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

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

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

&НаКлиенте
Процедура ОтборОрганизацияПриИзменении(Элемент)
	
	УстановитьОтборы(ЭтаФорма);
	
КонецПроцедуры

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

&НаКлиенте
Процедура ОтборТипОперацииПриИзменении(Элемент)
	
	УстановитьОтборы(ЭтаФорма);
	
КонецПроцедуры

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

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

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

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

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

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

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

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


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


&НаКлиенте
Процедура СоздатьРасчетНалогаНаИмущество(Команда)
	СоздатьРеглОперацию("РасчетНалогаНаИмущество");
КонецПроцедуры

&НаКлиенте
Процедура СоздатьРасчетТранспортногоНалога(Команда)
	СоздатьРеглОперацию("РасчетТранспортногоНалога");
КонецПроцедуры

&НаКлиенте
Процедура СоздатьРасчетТорговогоСбора(Команда)
	СоздатьРеглОперацию("РасчетТорговогоСбора");
КонецПроцедуры

&НаКлиенте
Процедура СоздатьРасчетЗемельногоНалога(Команда)
	СоздатьРеглОперацию("РасчетЗемельногоНалога");
КонецПроцедуры

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

&НаКлиенте
Процедура СоздатьСписаниеКосвенныхРасходов(Команда)
	СоздатьРеглОперацию("СписаниеКосвенныхРасходов");
КонецПроцедуры

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

&НаКлиенте
Процедура СоздатьФормированиеРезервовПоСомнительнымДолгам(Команда)
	СоздатьРеглОперацию("ФормированиеРезервовПоСомнительнымДолгам");
КонецПроцедуры

&НаКлиенте
Процедура СоздатьРасчетНалогаНаПрибыль(Команда)
	СоздатьРеглОперацию("РасчетНалогаНаПрибыль");
КонецПроцедуры

&НаКлиенте
Процедура СоздатьРасчетОтложенногоНалога(Команда)
	СоздатьРеглОперацию("РасчетОтложенногоНалога");
КонецПроцедуры

&НаКлиенте
Процедура СоздатьСписаниеУбытковПрошлыхЛет(Команда)
	СоздатьРеглОперацию("СписаниеУбытковПрошлыхЛет");
КонецПроцедуры

&НаКлиенте
Процедура СоздатьФормированиеФинансовогоРезультата(Команда)
	СоздатьРеглОперацию("ФормированиеФинансовогоРезультата");
КонецПроцедуры

&НаКлиенте
Процедура СоздатьРасчетЕНС(Команда)
	СоздатьРеглОперацию("РасчетЕНС");
КонецПроцедуры

&НаКлиенте
Процедура СоздатьПризнаниеРасходовПриУСН(Команда)
	СоздатьРеглОперацию("ПризнаниеРасходовПриУСН");
КонецПроцедуры

&НаКлиенте
Процедура СоздатьРасчетНалогаУСН(Команда)
	СоздатьРеглОперацию("РасчетНалогаУСН");
КонецПроцедуры

&НаКлиенте
Процедура СоздатьЗакрытиеГода(Команда)
	СоздатьРеглОперацию("ЗакрытиеГода");
КонецПроцедуры

&НаКлиенте
Процедура СоздатьПризнаниеВНУАрендныхПлатежей(Команда)
	
	СоздатьРеглОперацию("ПризнаниеВНУАрендныхПлатежей");
	
КонецПроцедуры

&НаКлиенте
Процедура СоздатьПереоценкаСуммыВВалютеФинОтчетности(Команда)
	
	СоздатьРеглОперацию("ПереоценкаСуммыВВалютеФинОтчетности");
	
КонецПроцедуры

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

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


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

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

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

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

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

&НаКлиенте
Процедура ОбработатьВыборТиповОпераций(СписокВыбора)

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

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

	ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
		Форма.Список,
		"ТипОперации",
		Форма.ОтборТипОперации,
		ВидСравненияКомпоновкиДанных.ВСписке,,
		Форма.ОтборТипОперации.Количество() > 0);

КонецПроцедуры

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

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

// Конец СтандартныеПодсистемы.ПодключаемыеКоманды

&НаСервере
Процедура УстановитьВидимостьЗначенияСпискаВыбора(СписокВыбора, ЗначениеВидно, ЗначениеЭлемента, Позиция = Неопределено)

	ЭлементСписка = СписокВыбора.НайтиПоЗначению(ЗначениеЭлемента);
	
	Если ЗначениеВидно Тогда
		Если ЭлементСписка = Неопределено Тогда
			Если Позиция <> Неопределено Тогда
				СписокВыбора.Вставить(Позиция, ЗначениеЭлемента);
			Иначе
				СписокВыбора.Добавить(ЗначениеЭлемента);
			КонецЕсли; 
		КонецЕсли; 
	ИначеЕсли ЭлементСписка <> Неопределено Тогда
		СписокВыбора.Удалить(ЭлементСписка);
	КонецЕсли; 

КонецПроцедуры

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

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