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