Организации / Электронный документооборот с налоговыми органами, ПФР и Росстатом / Модуль формы

файл

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

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

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

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

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

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

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

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

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

&НаКлиенте
Процедура ВидОбменаСКонтролирующимиОрганамиПриИзменении(Элемент)
	
	УправлениеФормой(ЭтаФорма);
	
КонецПроцедуры

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

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

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

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

&НаКлиенте
Процедура ОК(Команда)
	
	Если ПроверитьЗаполнение() Тогда
		СохранитьИЗакрыть();
		Закрыть();
	КонецЕсли;

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

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

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

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

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

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

//++ НЕ УТ

&НаСервереБезКонтекста
Функция КодРегионаПоАдресу(Адрес)
	
	Если ТипЗнч(Адрес) = Тип("СписокЗначений") Тогда
		
		Регион = "";
		Для Каждого ЭлементАдреса Из Адрес Цикл
			Если ЭлементАдреса.Представление = "КодРегиона" Тогда
				Возврат ЭлементАдреса.Значение;
			ИначеЕсли ЭлементАдреса.Представление = "Регион" Тогда
				Регион = ЭлементАдреса.Значение;
			КонецЕсли;
		КонецЦикла;
		Возврат АдресныйКлассификатор.КодРегионаПоНаименованию(Регион);
		
	Иначе
		Регион = РаботаСАдресами.РегионАдресаКонтактнойИнформации(Адрес);
		Если ЗначениеЗаполнено(Регион) Тогда
			КодРегиона = АдресныйКлассификатор.КодРегионаПоНаименованию(Регион);
			Если ЗначениеЗаполнено(КодРегиона) Тогда
				Возврат КодРегиона;
			КонецЕсли;
		КонецЕсли;
		Возврат "";
	КонецЕсли;
	
КонецФункции
//-- НЕ УТ

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

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

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