&НаКлиенте
Перем ВыбранноеЗначениеЗакрытия;
&НаКлиенте
Перем ФормаДлительнойОперации;
&НаКлиенте
Перем ОписаниеОповещенияПослеПроверкиПодключенияКИПП Экспорт;
&НаКлиенте
Перем ПараметрыОбработчикаОжидания Экспорт;
&НаКлиенте
Перем КонтекстЭДОКлиент Экспорт;
&НаКлиенте
Перем КонтекстУжеПодключался;
&НаКлиенте
Перем ФормаОтчета;
&НаКлиенте
Перем ВыбранныеОрганизации;
&НаКлиенте
Перем НомерОбъекта;
&НаКлиенте
Перем ВыполняетсяЗакрытиеФормы;
&НаКлиенте
Перем СтруктураВспомДанныхДлитОперацииАЛКО Экспорт;
&НаКлиенте
Перем ПараметрыЦиклаРазделения Экспорт;
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
ПараметрыРазмещения = МодульПодключаемыеКоманды.ПараметрыРазмещения();
ПараметрыРазмещения.КоманднаяПанель = ЭтаФорма.Элементы.ОтчетыГруппа3;
ПараметрыРазмещения.Источники = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(
Метаданные.Документы.РегламентированныйОтчет);
МодульПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект, ПараметрыРазмещения);
КонецЕсли;
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
Параметры.Свойство("ЭтоРежимВыбора", ЭтоРежимВыбора);
Параметры.Свойство("ОтборОрган", ОтборОрган);
Параметры.Свойство("ТолькоОтправленные", ТолькоОтправленные);
Параметры.Свойство("ВидУведомления", ВидУведомления);
ЭтоРежимОблачной1СО = ДокументооборотСКОПовтИсп.ЭтоРежимОблачной1СО();
КалендарьОтчетностиБРОВызовСервераПереопределяемый.ПриСозданииФормыРегламентированнойОтчетности(ЭтотОбъект);
#Область Используется1СОтчетность
Используется1СОтчетность = РегламентированнаяОтчетность.Используется1СОтчетность();
Если НЕ Используется1СОтчетность Тогда
ПроверкаСостоянияИнтеграцииВФонеПриОткрытии
= РегламентированнаяОтчетностьВызовСервера.СостояниеИнтеграцииСБанкомВФоне(УникальныйИдентификатор);
Иначе
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса") Тогда
ИспользуетсяРаботаВМоделиСервиса = ПолучитьФункциональнуюОпцию("РаботаВМоделиСервиса");
Если ИспользуетсяРаботаВМоделиСервиса Тогда
Элементы.СвязыванияБазДанныхСОблаком.Видимость = Ложь;
Элементы.НастройкиРаботыСФайлами.Видимость = Ложь;
КонецЕсли;
КонецЕсли;
КонецЕсли;
#КонецОбласти
ОпределитьПоказыватьЛиПредложениеНаПодключение();
Желтый = Новый Цвет(251, 225, 81);
Серый = Новый Цвет(242, 242, 242);
Черный = Новый Цвет(0, 0, 0);
Организация = Неопределено;
Если Параметры.Свойство("Организация") Тогда
Организация = Параметры.Организация;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Организация) Тогда
Если РегламентированнаяОтчетностьВызовСервера.ИспользуетсяОднаОрганизация() Тогда
Модуль = ОбщегоНазначения.ОбщийМодуль("Справочники.Организации");
Организация = Модуль.ОрганизацияПоУмолчанию();
КонецЕсли;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Организация) Тогда
Организация = РегламентированнаяОтчетность.ПолучитьОрганизациюПоУмолчанию();
КонецЕсли;
СохраненныйСпособОтбораПериода = ХранилищеНастроекДанныхФорм.Загрузить(ЭтотОбъект.ИмяФормы, "Форма1СОтчетность_ТолькоУказанныйПериод");
Если СохраненныйСпособОтбораПериода <> Неопределено Тогда
ТолькоУказанныйПериод = СохраненныйСпособОтбораПериода;
КонецЕсли;
СохраненныйПериодОтчета = ХранилищеНастроекДанныхФорм.Загрузить(ЭтотОбъект.ИмяФормы, "Форма1СОтчетность_ПериодОтчета");
Если СохраненныйПериодОтчета <> Неопределено Тогда
ПериодОтчета = СохраненныйПериодОтчета;
КонецЕсли;
СохраненныйНачалоПериода = ХранилищеНастроекДанныхФорм.Загрузить(ЭтотОбъект.ИмяФормы, "Форма1СОтчетность_НачалоПериода");
Если СохраненныйНачалоПериода <> Неопределено Тогда
НачалоПериода = СохраненныйНачалоПериода;
КонецЕсли;
СохраненныйКонецПериода = ХранилищеНастроекДанныхФорм.Загрузить(ЭтотОбъект.ИмяФормы, "Форма1СОтчетность_КонецПериода");
Если СохраненныйКонецПериода <> Неопределено Тогда
КонецПериода = СохраненныйКонецПериода;
КонецЕсли;
СохраненнаяОрганизация = ХранилищеНастроекДанныхФорм.Загрузить(ЭтотОбъект.ИмяФормы, "Форма1СОтчетность_Организация");
Если СохраненнаяОрганизация <> Неопределено И НЕ Параметры.Свойство("Организация") И НЕ Параметры.Свойство("ВидОтчета") Тогда
Организация = СохраненнаяОрганизация;
КонецЕсли;
СохраненныйВидОтчета = ХранилищеНастроекДанныхФорм.Загрузить(ЭтотОбъект.ИмяФормы, "Форма1СОтчетность_ВидОтчета");
Если СохраненныйВидОтчета <> Неопределено И НЕ Параметры.Свойство("Организация") И НЕ Параметры.Свойство("ВидОтчета") Тогда
МассивВидовОтчетов = ПолучитьСписокОтчетовИзРегистраСведений();
Элементы.ОтборВидОтчета.СписокВыбора.ЗагрузитьЗначения(МассивВидовОтчетов);
ВидОтчета = СохраненныйВидОтчета;
КонецЕсли;
СохраненныеПользовательскиеНастройкиОтчетов = ХранилищеНастроекДанныхФорм.Загрузить(ЭтотОбъект.ИмяФормы, "Форма1СОтчетность_ПользовательскиеНастройкиОтчетов");
Если ТипЗнч(СохраненныеПользовательскиеНастройкиОтчетов) = Тип("ПользовательскиеНастройкиКомпоновкиДанных") Тогда
ВостановитьНастройкиОтборовИСортировкиОтчетов(ЭтотОбъект, СохраненныеПользовательскиеНастройкиОтчетов);
КонецЕсли;
СкрытьЗаявленияЕГРЮЛ_ЕГРИПвКонфигурации = Ложь;
ДокументооборотСКОПереопределяемый.СкрытьЗаявленияЕГРЮЛ_ЕГРИП(СкрытьЗаявленияЕГРЮЛ_ЕГРИПвКонфигурации);
ПараметрыИНастройкиОнлайнСервисов =
ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.ПолучитьПараметрыИНастройкиМеханизмаОнлайнСервисовРО();
ПерсонифицированныйУчетВедетсяВоВнешнейПрограмме = РегламентированнаяОтчетность.ПерсонифицированныйУчетВедетсяВоВнешнейПрограмме();
СписокВыбораВидаСверки = Элементы.ОтборВидСверки.СписокВыбора;
СписокВыбораВидаСверки.Добавить(Строка(Перечисления.ВидыУслугПриИОН.ПредставлениеАктовСверкиРасчетов));
СписокВыбораВидаСверки.Добавить(Строка(Перечисления.ВидыУслугПриИОН.ПредставлениеВыпискиОперацийИзКарточкиРасчетыСБюджетом));
СписокВыбораВидаСверки.Добавить(Строка(Перечисления.ВидыУслугПриИОН.ПредставлениеПеречняБухгалтерскойИНалоговойОтчетности));
СписокВыбораВидаСверки.Добавить(Строка(Перечисления.ВидыУслугПриИОН.ПредставлениеСправкиОСостоянииРасчетовСБюджетом));
СписокВыбораВидаСверки.Добавить(Строка(Перечисления.ВидыУслугПриИОН.ПредставлениеСправкиОбИсполненииОбязанностейПоУплате));
СписокВыбораВидаСверки.Добавить(Строка(Перечисления.ВидыУслугПриИОН.СправкаОПринадлежностиСумм));
СписокВыбораВидаСверки.Добавить(Строка(Перечисления.ВидыУслугПриИОН.СправкаОПринадлежностиСуммАгрегированныеДанные));
СписокВыбораВидаСверки.Добавить(Строка(Перечисления.ВидыУслугПриИОН.СправкаОНаличииСальдо));
СписокВыбораВидаСверки.Добавить(Строка(Перечисления.ВидыУслугПриИОН.СведенияОбОтрицательномСальдоЕНС));
СписокВыбораВидаСверки.Добавить(Строка(Перечисления.ВидыУслугПриИОС.СверкаФИОиСНИЛС));
СписокВыбораВидаСверки.Добавить(Строка(Перечисления.ВидыУслугПриИОС.СправкаОСостоянииРасчетов));
СписокВыбораВидаСверки.Добавить("Справка о расчетах");
ИмяТипаДокументаРеестрДанныхЭЛН = "РеестрДанныхЭЛНЗаполняемыхРаботодателем";
Если Метаданные.Документы.Найти(ИмяТипаДокументаРеестрДанныхЭЛН) = Неопределено Тогда
ИмяТипаДокументаРеестрДанныхЭЛН = "";
КонецЕсли;
ОткрытьНаНужнойСтранице(Параметры);
НазначитьВидУведомленияИзПараметра(Параметры);
НазначитьВидОтчетаИзПараметра(Параметры);
ДействияПриИзмененииОтборов(ЭтотОбъект);
СделатьВсеГиперссылкиНеактивными();
Для каждого Раздел Из Разделы(ЭтотОбъект, Истина) Цикл
Элементы["Гиперссылка" + Раздел].Заголовок = Раздел;
КонецЦикла;
СброситьВидимостьПанелиТребований();
УправлениеЭУ(ЭтотОбъект, Истина);
УправлениеЭУВРежимеСервиса();
РегламентированнаяОтчетность.ФормаРегламентированнойОтчетности_ПриСозданииНаСервере(ЭтотОбъект);
Если Элементы.ОтборВидОтчета.РежимВыбораИзСписка Тогда
Если ТипЗнч(ВидОтчета) = Тип("СписокЗначений") Тогда
ВидОтчета = ?(ЗначениеЗаполнено(ВидОтчета), ВидОтчета[0].Значение, "");
Иначе
ВидОтчета = Строка(ВидОтчета);
КонецЕсли;
Иначе
Если ТипЗнч(ВидОтчета) = Тип("СписокЗначений") Тогда
ВидОтчета = ВидОтчета.Скопировать();
Иначе
СтрВидОтчета = Строка(ВидОтчета);
ВидОтчета = Новый СписокЗначений;
ВидОтчета.Добавить(СтрВидОтчета);
КонецЕсли;
КонецЕсли;
РезультатПроверкиКоличестваНезаписанныхОбъектов = ПроверитьКоличествоОбъектовНеЗаписанныхВРегистр();
УправлениеВидимостьюЭлементовПриОтключенномЭДО();
УправлениеВидимостьюЛичныхКабинетов();
ЗаполнитьДеревоНовое(Истина);
Если ОбщегоНазначения.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.Новости") Тогда
ИдентификаторыСобытийПриОткрытии = "ПриОткрытии";
МодульОбработкаНовостей = ОбщегоНазначения.ОбщийМодуль("ОбработкаНовостей");
МодульОбработкаНовостей.КонтекстныеНовости_ПриСозданииНаСервере(
ЭтотОбъект,
"БП.ОбщаяФорма.РегламентированнаяОтчетность",
"ОбщаяФорма",
,
НСтр("ru='Новости: Регламентированная отчетность'"),
Ложь,
Новый Структура("ПолучатьНовостиНаСервере, ХранитьМассивНовостейТолькоНаСервере", Истина, Ложь),
ИдентификаторыСобытийПриОткрытии);
КонецЕсли;
ОшибкиПоследнегоОбмена = ДлительнаяОтправкаВызовСервера.ПолучитьОшибкиПоследнегоОбмена();
Если ОшибкиПоследнегоОбмена <> Неопределено Тогда
АдресСведенийПоОшибкам = ПоместитьВоВременноеХранилище(ОшибкиПоследнегоОбмена, Новый УникальныйИдентификатор);
КонецЕсли;
УстановитьВидимостьПанелиОшибокОбновления(ЭтотОбъект);
ТекстОшибкиИнициализацииКонтекстаЭДО = НСтр("ru = 'Подождите, пожалуйста. Выполняется обновление модуля 1С-Отчетности...'");
#Область Используется1СОтчетность
Элементы.НастройкиЭлектронногоДокументооборота.Видимость = Используется1СОтчетность;
Элементы.ОтчетыПроверитьВИнтернете.Видимость = Используется1СОтчетность;
Элементы.ГиперссылкаПисьма.Видимость = Используется1СОтчетность;
Элементы.ГиперссылкаСверки.Видимость = Используется1СОтчетность;
Элементы.ГиперссылкаЕГРЮЛ.Видимость = Используется1СОтчетность;
Элементы.ГиперссылкаВходящие.Видимость = Используется1СОтчетность;
#КонецОбласти
ИмяТипаСправочникаМашиночитаемыеДоверенностиЦБ = "";
Если ДокументооборотСКОКлиентСервер.ПодсистемаЦБСуществует() Тогда
ИмяТипаСправочникаМашиночитаемыеДоверенностиЦБ = "МашиночитаемыеДоверенностиЦБ";
Элементы.УведомленияЗагрузитьМашиночитаемуюДоверенностьЦБ.Видимость = Истина;
Элементы.ГруппаЦБСервис.Видимость = Истина;
КонецЕсли;
ИмяТипаСправочникаМашиночитаемыеДоверенности = "";
Если ДокументооборотСКОКлиентСервер.ПодсистемаЦПРРМЧДСуществует() Тогда
ИмяТипаСправочникаМашиночитаемыеДоверенности = "МашиночитаемыеДоверенности";
КонецЕсли;
СкрытьЛишниеЭлементыВрежимеВыбора(Параметры);
УстановленыОграниченияПрав = ПроверитьДоступностьНастроекОграниченияПравНаОбмен(ЭлектронныйДокументооборотДоступен);
УстановитьВидимостьКнопкиНастроекПрав();
УпроститьФормуРегОтчетности();
ПрименитьУсловноеОформлениеТребований();
КомандаМЧДФСС = ЭтаФорма.Команды.Найти("ЗагрузитьМашиночитаемуюДоверенностьФСС");
Если ТипЗнч(КомандаМЧДФСС) = Тип("КомандаФормы") Тогда
КомандаМЧДФСС.Заголовок = ДокументооборотСКОКлиентСервер.ЗаменитьПФРиФССнаСФР(
КомандаМЧДФСС.Заголовок, Истина, Истина);
Элементы.УведомленияЗагрузитьМашиночитаемуюДоверенностьФСС.Заголовок = КомандаМЧДФСС.Заголовок;
КонецЕсли;
КомандаУПУП = ЭтаФорма.Команды.Найти("ЗагрузитьУведомлениеОПредоставленииПолномочийПредставителю");
Если ТипЗнч(КомандаУПУП) = Тип("КомандаФормы") Тогда
Если ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("Отпр.УПУП", Истина) Тогда
ЗаголовокУПУП = НСтр("ru = 'Уведомление о предоставлении полномочий представителю - МЧД (ПФР)'");
Иначе
ЗаголовокУПУП = НСтр("ru = 'Уведомление о предоставлении полномочий представителю - МЧД (ПФР; не применяется)'");
КонецЕсли;
КомандаУПУП.Заголовок = ДокументооборотСКОКлиентСервер.ЗаменитьПФРиФССнаСФР(ЗаголовокУПУП, Истина, Истина);
Элементы.УведомленияЗагрузитьУведомлениеОПредоставленииПолномочийПредставителю.Заголовок = КомандаУПУП.Заголовок;
КонецЕсли;
КомандаУПРУП = ЭтаФорма.Команды.Найти("ЗагрузитьУведомлениеОПрекращенииПолномочийПредставителя");
Если ТипЗнч(КомандаУПРУП) = Тип("КомандаФормы") Тогда
Если ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("Отпр.УПУП", Истина) Тогда
ЗаголовокУПРУП = НСтр("ru = 'Уведомление о прекращении полномочий представителя - МЧД (ПФР)'");
Иначе
ЗаголовокУПРУП = НСтр("ru = 'Уведомление о прекращении полномочий представителя - МЧД (ПФР; не применяется)'");
КонецЕсли;
КомандаУПРУП.Заголовок = ДокументооборотСКОКлиентСервер.ЗаменитьПФРиФССнаСФР(ЗаголовокУПРУП, Истина, Истина);
Элементы.УведомленияЗагрузитьУведомлениеОПрекращенииПолномочийПредставителя.Заголовок = КомандаУПРУП.Заголовок;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ОбновитьТаблицуУведомленийСХешем()
ТаблицаУведомленийСХешем.Очистить();
ЗначениеВРеквизитФормы(УведомлениеОСпецрежимахНалогообложения.ТаблицаУведомленийСХешем(), "ТаблицаУведомленийСХешем");
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии()
Подключаемый_АктуализироватьТекущееВремя();
КонтекстУжеПодключался = Ложь;
Если Элементы.Разделы.ТекущаяСтраница = Элементы.СтраницаНастройки Тогда
УправлениеЭУГруппаНастройки();
КонецЕсли;
#Если ВебКлиент Тогда
ЭтоВебКлиент = Истина;
#КонецЕсли
УправлениеЭУРазделаЕГРЮЛ();
ПараметрыОбработчикаОжидания = Новый Структура;
ПараметрыОбработчикаОжидания.Вставить("МинимальныйИнтервал", 1);
ПараметрыОбработчикаОжидания.Вставить("МаксимальныйИнтервал", 15);
ПараметрыОбработчикаОжидания.Вставить("ТекущийИнтервал", 1);
ПараметрыОбработчикаОжидания.Вставить("КоэффициентУвеличенияИнтервала", 1.4);
Если РезультатПроверкиКоличестваНезаписанныхОбъектов <> Неопределено Тогда
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
ПараметрыОжидания.ВыводитьСообщения = Истина;
ПараметрыОжидания.ВыводитьОкноОжидания = Ложь;
ОповещениеПроверитьВыполнение = Новый ОписаниеОповещения(
"ПроверитьВыполнениеПодсчетаКоличестваНезаписанныхОбъектов", ЭтотОбъект);
ДлительныеОперацииКлиент.ОжидатьЗавершение(
РезультатПроверкиКоличестваНезаписанныхОбъектов, ОповещениеПроверитьВыполнение, ПараметрыОжидания);
КонецЕсли;
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.Новости") Тогда
МодульОбработкаНовостейКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ОбработкаНовостейКлиент");
МодульОбработкаНовостейКлиент.КонтекстныеНовости_ПриОткрытии(ЭтотОбъект);
КонецЕсли;
ПодключитьОбработчикОжидания("Подключаемый_ОбновитьНадписьВремяОбновления", 500);
ПодключитьОбработчикОжидания("Подключаемый_ПроизвестиДействияПослеПоказаФормы", 1, Истина);
ПрорисоватьПанельТребований(ЭтотОбъект);
Если ЗначениеЗаполнено(СсылкаВКлюче) и ЗначениеЗаполнено(ОрганизацияВКлюче) Тогда
СпозиционироватьсяНаСсылка(СсылкаВКлюче, ОрганизацияВКлюче, "Позиционирование");
КонецЕсли;
ДобавитьОтдельнуюКнопкуОбменаДляСЭДО = ПолучитьЗначениеДобавитьОтдельнуюКнопкуОбменаДляСЭДО();
Элементы.ОбновитьДанныеСЭДО.Видимость = ДобавитьОтдельнуюКнопкуОбменаДляСЭДО;
КалендарьОтчетностиБРОКлиентПереопределяемый.ПриОткрытииФормыРегламентированнойОтчетности(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ИнициализироватьКонтекстЭДО(ОповещениеЗавершения = Неопределено) Экспорт
Перем ДополнительныеПараметры;
Если ОповещениеЗавершения <> Неопределено Тогда
ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("ОповещениеЗавершения", ОповещениеЗавершения);
КонецЕсли;
ОписаниеОповещения = Новый ОписаниеОповещения("ИнициализироватьКонтекстЭДОЗавершение", ЭтотОбъект, ДополнительныеПараметры);
ДокументооборотСКОКлиент.ПолучитьКонтекстЭДО(ОписаниеОповещения);
КонецПроцедуры
&НаКлиенте
Процедура ИнициализироватьКонтекстЭДОЗавершение(Результат, ДополнительныеПараметры) Экспорт
КонтекстЭДОКлиент = Результат.КонтекстЭДО;
ТекстОшибкиИнициализацииКонтекстаЭДО = Результат.ТекстОшибки;
КонтекстУжеПодключался = Истина;
Если ДополнительныеПараметры <> Неопределено Тогда
Если ДополнительныеПараметры.Свойство("ОповещениеЗавершения") Тогда
ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ОповещениеЗавершения);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаОповещенияПредварительная(Результат, ПараметрыОповещения) Экспорт
ОбработкаОповещения(
ПараметрыОповещения.ИмяСобытия,
ПараметрыОповещения.Параметр,
ПараметрыОповещения.Источник);
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если ЭтоРежимВыбора Тогда
Возврат;
КонецЕсли;
Если ВыполняетсяЗакрытиеФормы = Истина
ИЛИ ИмяСобытия = "Получение контекста ЭДО" Тогда
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("ИмяСобытия", ИмяСобытия);
ПараметрыОповещения.Вставить("Параметр", Параметр);
ПараметрыОповещения.Вставить("Источник", Источник);
Оповещение = Новый ОписаниеОповещения("ОбработкаОповещенияПредварительная", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
ИмяРаздела = "";
ВызовСервера = Ложь;
КалендарьОтчетностиБРОКлиентПереопределяемый.СменаРазделаОтчетности(ЭтотОбъект, ИмяСобытия, Параметр, Источник, ИмяРаздела, ВызовСервера);
Если ВызовСервера Тогда
Подключаемый_КалендарьОтчетностиОбработкаОповещенияРегламентированнойОтчетности(ИмяСобытия, Параметр, Источник, ИмяРаздела);
КонецЕсли;
Если ЗначениеЗаполнено(ИмяРаздела) Тогда
ПриПереключенииРаздела(Элементы[ИмяРаздела]);
Если АктивноеОкно() <> Окно Тогда
Активизировать();
КонецЕсли;
Если Параметр <> Неопределено И ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(Параметр, "Действие") Тогда
ВыполнитьДействиеПослеОткрытия(Параметр.Действие);
КонецЕсли;
Возврат;
КонецЕсли;
Если ИмяСобытия = "Открытие формы 1С-Отчетность" Тогда
Раздел = Параметр.Раздел;
Если Элементы.Разделы.ТекущаяСтраница <> Элементы["Страница" + ИмяСтраницы(Раздел)] Тогда
ОткрытьНаНужнойСтранице(Параметр);
СделатьВсеГиперссылкиНеактивными();
УправлениеЭУ(ЭтотОбъект, Истина);
КонецЕсли;
ИначеЕсли ИмяСобытия = "ОбновлениеОтчетностиКалендарьОтчетности" Тогда
Если НЕ ДлительнаяОтправкаКлиент.ФормаДлительнойОтправкиЕстьСредиОткрытых(Истина) Тогда
ОбновитьДанные(Неопределено);
КонецЕсли;
ИначеЕсли ИмяСобытия = "ИзменениеНастроекЭДООрганизации" ИЛИ ИмяСобытия = "ОбновитьУчетнуюЗапись" Тогда
ОпределитьДоступностьЭДО();
УправлениеВидимостьюЭлементовПриОтключенномЭДО();
Если Параметр = Организация Тогда
УправлениеЭУГруппаНастройки();
КонецЕсли;
ИначеЕсли ИмяСобытия = "Завершение обновления"
ИЛИ ИмяСобытия = "Завершение расшифровки"
ИЛИ ИмяСобытия = "Завершение групповой отправки" Тогда
ТекущаяСтраница = ТекущаяСтраница(ЭтотОбъект);
Если ТекущаяСтраница <> ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Новое")
И ТекущаяСтраница <> ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Настройки")
И ТекущаяСтраница <> ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Сервисы") Тогда
ТекущаяТаблица = ТекущаяТаблица(ЭтотОбъект);
ТекущаяТаблица.Обновить();
КонецЕсли;
ПереопределитьОформлениеСверки();
ПрорисоватьПанельТребований(ЭтотОбъект);
Если ИмяСобытия = "Завершение обновления" Тогда
ОбновитьЖурналОтчетовСтатусы();
КонецЕсли;
ИначеЕсли ТипЗнч(Источник) <> Тип("ФормаКлиентскогоПриложения")
И (СтрНайти(ИмяСобытия, "Запись_") > 0
И (ТипЗнч(Параметр) <> Тип("Структура") ИЛИ НЕ Параметр.Свойство("МетодВызова")
ИЛИ Параметр.МетодВызова <> "РасшифроватьТранспортноеСообщение")
ИЛИ ИмяСобытия = "Завершение автообмена с сервером ФСС"
ИЛИ ИмяСобытия = "Запись_ОтправкиФСС"
ИЛИ ИмяСобытия = "Редактирование_ОтправкиФСС"
ИЛИ ИмяСобытия = "Завершение автообмена с сервером ФСРАР"
ИЛИ ИмяСобытия = "Запись_ОтправкиФСРАР"
ИЛИ ИмяСобытия = "Редактирование_ОтправкиФСРАР"
ИЛИ ИмяСобытия = "Завершение автообмена с сервером РПН"
ИЛИ ИмяСобытия = "Запись_ОтправкиРПН"
ИЛИ ИмяСобытия = "Редактирование_ОтправкиРПН"
ИЛИ ИмяСобытия = "Завершение автообмена с сервером ФТС"
ИЛИ ИмяСобытия = "Запись_ОтправкиФТС"
ИЛИ ИмяСобытия = "Редактирование_ОтправкиФТС"
ИЛИ ИмяСобытия = "Завершение автообмена с сервером ФНС"
ИЛИ ИмяСобытия = "Запись_ОтправкиФНС"
ИЛИ ИмяСобытия = "Редактирование_ОтправкиФНС"
ИЛИ ИмяСобытия = "Завершение автообмена с сервером РР"
ИЛИ ИмяСобытия = "Запись_ОтправкиРР"
ИЛИ ИмяСобытия = "Редактирование_ОтправкиРР"
ИЛИ ИмяСобытия = "Завершение отправки в контролирующий орган"
ИЛИ ИмяСобытия = "Завершение отправки"
ИЛИ ИмяСобытия = "Изменение пометки удаления объекта"
ИЛИ ИмяСобытия = "Скрытие/восстановление объекта"
ИЛИ ИмяСобытия = "Позиционирование в списке отчетов"
ИЛИ ИмяСобытия = "Пометка прочтенным"
ИЛИ ИмяСобытия = "Пометка непрочтенным"
ИЛИ ИмяСобытия = "Актуализация состояния отправки") Тогда
ОрганизацияВКлюче = Неопределено;
СсылкаВКлюче = Неопределено;
Если ТипЗнч(Параметр) = Тип("Структура") И Параметр.Свойство("Организация") И Параметр.Свойство("Ссылка") Тогда
ОрганизацияВКлюче = Параметр.Организация;
СсылкаВКлюче = Параметр.Ссылка;
ИначеЕсли Параметр = Неопределено Тогда
Если ЗначениеЗаполнено(Организация) Тогда
ОрганизацияВКлюче = Организация;
КонецЕсли;
СсылкаВКлюче = Источник;
Иначе
Если КонтекстЭДОКлиент <> Неопределено И Источник <> Неопределено
И ОбщегоНазначенияЭДКОКлиент.ЭтоЗначениеТипаСОтображениемНаСервере(Источник) Тогда
ОрганизацияВКлюче = КонтекстЭДОКлиент.СведенияПоОтправляемымОбъектам(Источник).Организация;
СсылкаВКлюче = Источник;
КонецЕсли;
КонецЕсли;
ДополнительноеУсловиеТолстыйКлиент = Истина;
#Если ТолстыйКлиентУправляемоеПриложение Тогда
Если ОрганизацияВКлюче = Неопределено Тогда
Попытка
ОрганизацияВКлюче = ПредопределенноеЗначение("Справочник.Организации.ПустаяСсылка");
ДополнительноеУсловиеТолстыйКлиент = (ОрганизацияВКлюче <> ПредопределенноеЗначение("Справочник.Организации.ПустаяСсылка"));
Исключение
КонецПопытки;
КонецЕсли;
#КонецЕсли
СпозиционироватьсяНаСсылка(СсылкаВКлюче, ОрганизацияВКлюче, ИмяСобытия);
Если ИмяСобытия = "Пометка прочтенным"
ИЛИ ИмяСобытия = "Пометка непрочтенным"
ИЛИ ИмяСобытия = "Скрытие/восстановление объекта" Тогда
ОбновитьКоличествоНепрочтенныхОбъектов(ЭтотОбъект);
Если ИмяСобытия = "Пометка непрочтенным" ИЛИ ИмяСобытия = "Скрытие/восстановление объекта" Тогда
ЗаполнитьДеревоНовое(Истина);
Иначе
СтрокиДерева = Новое.ПолучитьЭлементы();
Для Каждого СтрокаДерева Из СтрокиДерева Цикл
Если СтрокаДерева.Группа = ПредопределенноеЗначение("Перечисление.ГруппыНовыхСобытийДокументооборотаСКонтролирующимиОрганами.НезавершенныеОтправки") Тогда
Прервать;
КонецЕсли;
Если СтрокаДерева.Ссылка = Источник Тогда
СтрокаДерева.НеПрочитано = Ложь;
СписокСсылок = Новый Массив;
СписокСсылок.Добавить(Источник);
ОбновитьКоличествоНовых(ЭтотОбъект);
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЕсли;
Если ИмяСобытия = "Завершение автообмена с сервером ФСС" ИЛИ ИмяСобытия = "Завершение автообмена с сервером ФСРАР"
ИЛИ ИмяСобытия = "Завершение автообмена с сервером РПН" ИЛИ ИмяСобытия = "Завершение автообмена с сервером ФТС"
ИЛИ ИмяСобытия = "Завершение отправки в контролирующий орган" ИЛИ ИмяСобытия = "Завершение отправки" Тогда
ЗаполнитьДеревоНовое();
КонецЕсли;
ПрорисоватьПанельТребований(ЭтотОбъект);
ИначеЕсли ИмяСобытия = "ПриЗакрытии_ЭлектронныеПредставленияРегламентированныхОтчетов" Тогда
Если ТипЗнч(Параметр) = Тип("Структура") И Параметр.Свойство("ЭтоУведомление") Тогда
ШаблонПредупреждения = НСтр("ru = '""%1"" отображается в разделе ""%2""'");
Если Параметр.ЭтоУведомление И Элементы.Разделы.ТекущаяСтраница = Элементы.СтраницаОтчеты Тогда
ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонПредупреждения, Строка(Источник), НСтр("ru = 'Уведомления'"));
ПоказатьПредупреждение(, ТекстПредупреждения);
ИначеЕсли Не Параметр.ЭтоУведомление И Элементы.Разделы.ТекущаяСтраница = Элементы.СтраницаУведомления Тогда
ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонПредупреждения, Строка(Источник), НСтр("ru = 'Отчеты'"));
ПоказатьПредупреждение(, ТекстПредупреждения);
КонецЕсли;
КонецЕсли;
ИначеЕсли (ИмяСобытия = "Получены новые сообщения 1С-Отчетности"
ИЛИ ИмяСобытия = "Получены новые сообщения 1С-Отчетности без смены страницы") И Источник <> ЭтотОбъект Тогда
Оповестить("Закрыть форму новых сообщений 1С-Отчетности",, ЭтотОбъект);
Если ЭтоАдресВременногоХранилища(Параметр) Тогда
АдресСведенийПоОшибкам = Параметр;
УстановитьВидимостьПанелиОшибокОбновления(ЭтотОбъект);
КонецЕсли;
ЗаполнитьДеревоНовое(Истина);
ОбновитьКоличествоНепрочтенныхОбъектов(ЭтотОбъект);
ОтметитьДеревоПросмотренным();
Если ИмяСобытия <> "Получены новые сообщения 1С-Отчетности без смены страницы" Тогда
ПриПереключенииРаздела(Элементы.ГиперссылкаНовое);
Если АктивноеОкно() <> Окно Тогда
Активизировать();
КонецЕсли;
КонецЕсли;
ПереопределитьОформлениеСверки();
ИначеЕсли ИмяСобытия = "Обновить ошибки обмена" Тогда
Если ЭтоАдресВременногоХранилища(Параметр) Тогда
АдресСведенийПоОшибкам = Параметр;
УстановитьВидимостьПанелиОшибокОбновления(ЭтотОбъект);
КонецЕсли;
ИначеЕсли ИмяСобытия = "РеализованаНестандартнаяОбработкаОткрытияУведомления" Тогда
Попытка
Если Открыта() Тогда
РегламентированнаяОтчетностьКлиентПереопределяемый.ОбработчикСозданияУведомления(ЭтотОбъект, Параметр);
КонецЕсли;
Исключение
КонецПопытки;
ИначеЕсли ИмяСобытия = "ИзменилосьСостояниеДокументаИнтеграцииСБанком" Тогда
#Область Используется1СОтчетность
Если НЕ Используется1СОтчетность Тогда
ОтключитьОбработчикОжидания("Подключаемый_ЗапуститьПроверкуСостояниеИнтеграцииВФоне");
Результат = РегламентированнаяОтчетностьВызовСервера.СостояниеИнтеграцииСБанкомВФоне(УникальныйИдентификатор);
ОжидатьЗавершенияФоновогоЗаданияПолученияСостоянияИнтеграцииСБанком(Результат);
КонецЕсли;
#КонецОбласти
ИначеЕсли ИмяСобытия = "Изменены пользователи учетной записи" Тогда
УстановленыОграниченияПрав = ПроверитьДоступностьНастроекОграниченияПравНаОбмен(ЭлектронныйДокументооборотДоступен);
УстановитьВидимостьКнопкиНастроекПрав();
ИначеЕсли ИмяСобытия = "Показать требующие внимание требования" Тогда
Если АктивноеОкно() <> Окно Тогда
Активизировать();
КонецЕсли;
ПереключитьсяНаПроблемныеТребования();
ИначеЕсли ИмяСобытия = "Показать требующие внимание отчеты" Тогда
Если АктивноеОкно() <> Окно Тогда
Активизировать();
КонецЕсли;
ПереключитьсяНаПроблемныеОтчеты();
ИначеЕсли ИмяСобытия = "Показать требующие внимание уведомления" Тогда
Если АктивноеОкно() <> Окно Тогда
Активизировать();
КонецЕсли;
ПереключитьсяНаПроблемныеУведомления();
ИначеЕсли ИмяСобытия = "Создан ответ страхователя СФР"
ИЛИ ИмяСобытия = "Запись_ЗапросНаИнформационноеОбслуживаниеНалогоплательщика"
ИЛИ ИмяСобытия = "Создано заявление на формирование справки о расчетах с СФР"
ИЛИ ИмяСобытия = "Запись_ЗапросНаИнформационноеОбслуживаниеСтрахователя"
ИЛИ ИмяСобытия = "Запись_ПерепискаСКонтролирующимиОрганами"
ИЛИ ИмяСобытия = "Запись_ПоясненияКДекларацииПоНДС" Тогда
Элементы.Письма.Обновить();
Элементы.Сверки.Обновить();
ИначеЕсли ИмяСобытия = "ПрограммнаяПометкаУдаленияОтчета"
ИЛИ ИмяСобытия = "ПрограммноеСозданиеОтчета" Тогда
Элементы.Отчеты.Обновить();
КонецЕсли;
РегламентированнаяОтчетностьКлиент.ФормаРегламентированнойОтчетности_ОбработкаОповещения(ИмяСобытия, Параметр, Источник, ЭтотОбъект);
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.Новости") Тогда
МодульОбработкаНовостейКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ОбработкаНовостейКлиент");
МодульОбработкаНовостейКлиент.КонтекстныеНовости_ОбработкаОповещения(ЭтотОбъект, ИмяСобытия, Параметр, Источник);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ДобавитьВидОтчетаВИзбранные(Отбор)
МассивВидовОтчетов = ПолучитьСписокОтчетовИзРегистраСведений();
Элементы.ОтборВидОтчета.СписокВыбора.ЗагрузитьЗначения(МассивВидовОтчетов);
МенеджерЗаписиОтчета = РегистрыСведений.ЖурналОтчетовСтатусы.СоздатьМенеджерЗаписи();
МенеджерЗаписиОтчета.Организация = Отбор.Организация;
МенеджерЗаписиОтчета.Ссылка = Отбор.Ссылка;
МенеджерЗаписиОтчета.Прочитать();
ДанныеНайденногоВидаОтчета = Неопределено;
Если МенеджерЗаписиОтчета.Выбран() Тогда
Если ЗначениеЗаполнено(МенеджерЗаписиОтчета.НаименованиеОтчета) Тогда
НайденныеОтчеты = РанееОткрытыеВидыОтчетов.НайтиСтроки(Новый Структура("Наименование", МенеджерЗаписиОтчета.НаименованиеОтчета));
Для каждого НайденныйОтчет Из НайденныеОтчеты Цикл
Если НайденныйОтчет.ЭтоГруппа <> Истина Тогда
ДанныеНайденногоВидаОтчета = Новый Структура("Наименование,ПолноеИмя,Ссылка");
ЗаполнитьЗначенияСвойств(ДанныеНайденногоВидаОтчета, НайденныйОтчет);
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЕсли;
Если ДанныеНайденногоВидаОтчета <> Неопределено Тогда
ТаблицаРанееСозданныхОтчетов = ХранилищеНастроекДанныхФорм.Загрузить(
"Обработка.ОбщиеОбъектыРеглОтчетности.Форма.ФормаСозданияОтчета",
"ФормаОтчетность_ФормаСозданияОтчета_РанееСозданныеОтчеты");
Если ТипЗнч(ТаблицаРанееСозданныхОтчетов) = Тип("ТаблицаЗначений") Тогда
НайденныеОтчеты = ТаблицаРанееСозданныхОтчетов.НайтиСтроки(
Новый Структура("ПолноеИмя,Ссылка", ДанныеНайденногоВидаОтчета.ПолноеИмя, ДанныеНайденногоВидаОтчета.Ссылка));
Если НайденныеОтчеты.Количество() = 0 Тогда
НоваяСтрока = ТаблицаРанееСозданныхОтчетов.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, ДанныеНайденногоВидаОтчета);
ХранилищеНастроекДанныхФорм.Сохранить(
"Обработка.ОбщиеОбъектыРеглОтчетности.Форма.ФормаСозданияОтчета",
"ФормаОтчетность_ФормаСозданияОтчета_РанееСозданныеОтчеты", ТаблицаРанееСозданныхОтчетов);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
ВыполняетсяЗакрытиеФормы = Истина;
КонецПроцедуры
&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
Если Не ЗавершениеРаботы И ТипЗнч(ОписаниеОповещенияОЗакрытии) = Тип("ОписаниеОповещения") Тогда
Если ВыбранноеЗначениеЗакрытия <> Неопределено Тогда
ВыполнитьОбработкуОповещения(ОписаниеОповещенияОЗакрытии, ВыбранноеЗначениеЗакрытия);
КонецЕсли;
ОписаниеОповещенияОЗакрытии = Неопределено;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура ПредупреждениеОбОтправкеЕГРЮЛОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если ЗначениеЗаполнено(Организация) Тогда
ВыбраннаяОрганизация = Организация;
Иначе
ВыбраннаяОрганизация = ПредопределенноеЗначение("Справочник.Организации.ПустаяСсылка");
КонецЕсли;
СоздатьУведомлениеЕГРЮЛ(
ПредопределенноеЗначение("Перечисление.ВидыУведомленийОСпецрежимахНалогообложения.ФормаР13014"),
ВыбраннаяОрганизация,
Ложь);
КонецПроцедуры
&НаКлиенте
Процедура ЗакрытьПанельОтправкиЕГРЮЛНажатие(Элемент)
ДокументооборотСКОВызовСервера.СохранитьНастройку(
"ДокументооборотСКонтролирующимиОрганами_1СОтчетность_СкрытьПанельВЕГРЮЛ",
Истина);
УстановитьВидимостьПанелиОтправкиВЕГРЮЛ();
КонецПроцедуры
&НаКлиенте
Процедура ВидЕГРЮЛПриИзменении(Элемент)
ПриИзмененииВидаЕГРЮЛ();
КонецПроцедуры
&НаКлиенте
Процедура ВидЕГРЮЛНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
ОтключитьОбработчикОжидания("ВидЕГРЮЛНачалоВыбораЗавершение");
ПодключитьОбработчикОжидания("ВидЕГРЮЛНачалоВыбораЗавершение", 0.1, Истина);
КонецПроцедуры
&НаКлиенте
Процедура ВидЕГРЮЛНачалоВыбораЗавершение() Экспорт
МассивОбъектов = ПолучитьСписокЕГРЮЛИзРегистраСведений();
Элементы.ВидЕГРЮЛ.СписокВыбора.ЗагрузитьЗначения(МассивОбъектов);
Элементы.ВидЕГРЮЛ.СписокВыбора.СортироватьПоЗначению();
КонецПроцедуры
&НаКлиенте
Процедура ВидЕГРЮЛОчистка(Элемент, СтандартнаяОбработка)
ПриИзмененииВидаЕГРЮЛ();
КонецПроцедуры
&НаКлиенте
Процедура ОтборПоПериодуТребованияПриИзменении(Элемент)
ДобавитьОтборПоПериодуТребования(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ОтборПоПериодуТребованияОчистка(Элемент, СтандартнаяОбработка)
ПериодТребования.ДатаНачала = Дата(1, 1, 1);
ПериодТребования.ДатаОкончания = Дата(1, 1, 1);
ДобавитьОтборПоПериодуТребования(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ОтборОрганизацияВходящиеОчистка(Элемент, СтандартнаяОбработка)
ДействияПриИзмененииОтборовИОбновлениеВходящих(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура СсылкаЗаявленияНаПодключениеИзменениеНажатие(Элемент)
ЭлектронныйДокументооборотСКонтролирующимиОрганамиКлиент.ОткрытьФормуСпискаЗаявленийНаПодключение(Организация);
КонецПроцедуры
&НаКлиенте
Процедура СостояниеТребованияПриИзменении(Элемент)
ДобавитьОтборПоСостояниюТребования(ЭтотОбъект);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ДобавитьОтборПоСостояниюТребования(Форма)
Группа = Форма.Входящие.Отбор;
Использование =
Форма.СостоянияТребований = НСтр("ru = 'Требует подтверждения или ответа'")
И ОткрытаСтраницаТребований(Форма);
ДобавитьОтборПоТребованиямНеотработанные(
Группа,
Использование);
Использование =
Форма.СостоянияТребований = НСтр("ru = 'Требует подтверждения'")
И ОткрытаСтраницаТребований(Форма);
ДобавитьОтборПоТребованиямБезПодтверждения(
Группа,
Использование);
Использование =
Форма.СостоянияТребований = НСтр("ru = 'Просрочен ответ'")
И ОткрытаСтраницаТребований(Форма);
ДобавитьОтборПоТребованиямПросроченные(
Группа,
Использование);
Использование =
(Форма.СостоянияТребований = НСтр("ru = 'Ответ дан'") ИЛИ Форма.СостоянияТребований = НСтр("ru = 'Требует ответа'"))
И ОткрытаСтраницаТребований(Форма);
ПравоеЗначение = Форма.СостоянияТребований = НСтр("ru = 'Ответ дан'");
ДобавитьОтборПоНаличиюОтвета(
Группа,
Использование,
ПравоеЗначение);
КонецПроцедуры
&НаКлиенте
Процедура ОтборПоВидуТребованияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Организация", Организация);
ПараметрыФормы.Вставить("ИмяФормы","");
Если ПараметрыФормы.ИмяФормы <> "" Тогда
НайденоОкно = Ложь;
РегламентированнаяОтчетностьКлиент.ВебКлиентНайтиАктивизироватьОкно(ПараметрыФормы.ИмяФормы, ЭтотОбъект, НайденоОкно);
Если НайденоОкно <> Неопределено Тогда
Если НайденоОкно Тогда
Возврат;
КонецЕсли;
КонецЕсли;
КонецЕсли;
ЭтотОбъект.ПараметрыВыбораФормыСоздания = Неопределено;
ОписаниеОповещенияОЗакрытииФормыСозданияОтчета =
Новый ОписаниеОповещения("ВыполнитьПослеЗакрытияОтбораПоВидуТребования", ЭтотОбъект);
ОткрытьФорму("Обработка.ОбщиеОбъектыРеглОтчетности.Форма.ФормаВыбораВидаТребования", ПараметрыФормы, ЭтотОбъект,,,,
ОписаниеОповещенияОЗакрытииФормыСозданияОтчета, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
&НаКлиенте
Процедура ОтборПоВидуТребованияОчистка(Элемент, СтандартнаяОбработка)
Элемент.СписокВыбора.Очистить();
ДобавитьОтборПоВидуТребования(ЭтотОбъект);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ДобавитьОтборПоВидуТребования(Форма, Параметры = Неопределено)
Если ТипЗнч(Параметры) = Тип("СписокЗначений") ИЛИ ТипЗнч(Параметры) = Тип("Структура") Тогда
Если ТипЗнч(Параметры) = Тип("Структура") И Параметры.Свойство("Корень") Тогда
Параметр = Параметры.ВидыТребований;
Иначе
Параметр = Параметры;
КонецЕсли;
КонецЕсли;
Использование = ЗначениеЗаполнено(Параметр)
И ЗначениеЗаполнено(Параметр.Количество() > 0)
И ОткрытаСтраницаТребований(Форма);
СписокВидовТребований = Новый СписокЗначений;
К = 0;
Если Использование Тогда
Для Каждого Эл из Параметр Цикл
СписокВидовТребований.Вставить(К, Эл.Значение, Эл.Представление);
К = К + 1;
КонецЦикла;
КонецЕсли;
ТребованияФНСКлиентСервер.ДобавитьЭлементКомпоновкиСУдалением(
Форма.Входящие.Отбор,
"ВидТребования",
ВидСравненияКомпоновкиДанных.ВСписке,
СписокВидовТребований,
Использование);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Функция ОткрытаСтраницаТребований(Форма)
Элементы = Форма.Элементы;
Возврат Элементы.ГруппаКатегориииВх.ТекущаяСтраница = Элементы.СтраницаТребования;
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Процедура ДобавитьОтборПоПериодуТребования(Форма)
Использование =
ЗначениеЗаполнено(Форма.ПериодТребования.ДатаНачала)
И ЗначениеЗаполнено(Форма.ПериодТребования.ДатаОкончания)
И ОткрытаСтраницаТребований(Форма);
ПредставлениеГруппы = НСтр("ru = 'Отбор на период требования'");
ГруппаОтбора = ТребованияФНСКлиентСервер.СоздатьГруппуОтбораСУдалением(
Форма.Входящие.Отбор,
ПредставлениеГруппы,
Использование,
ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ);
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(
ГруппаОтбора,
"Дата",
ВидСравненияКомпоновкиДанных.БольшеИлиРавно,
Форма.ПериодТребования.ДатаНачала,
,
Использование);
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(
ГруппаОтбора,
"Дата",
ВидСравненияКомпоновкиДанных.МеньшеИлиРавно,
Форма.ПериодТребования.ДатаОкончания,
,
Использование);
КонецПроцедуры
&НаКлиенте
Процедура ПанельТребованийОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ПереключитьсяНаПроблемныеТребования();
ПрорисоватьПанельТребований(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПриПереключенииРаздела(Элемент)
ПредыдущаяГиперссылка = ТекущийРазделФормы(ЭтотОбъект);
ТекущаяГиперссылка = Элемент;
ПриПереключенииРазделаСервер(ПредыдущаяГиперссылка.Имя, ТекущаяГиперссылка.Имя);
ВывестиТаблицуРаздела(ЭтотОбъект, Элемент.Имя);
Если Элемент.Имя = "ГиперссылкаНастройки" Тогда
УправлениеЭУГруппаНастройки();
ИначеЕсли Элемент.Имя = "ГиперссылкаНовое" Тогда
ОтметитьДеревоПросмотренным(Истина);
ИначеЕсли Элемент.Имя = "ГиперссылкаЕГРЮЛ" Тогда
УстановитьВидимостьПанелиОтправкиВЕГРЮЛ();
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПриПереключенииРазделаСервер(ПредыдущаяГиперссылкаИмя, ТекущаяГиперссылкаИмя)
ПредыдущаяГиперссылка = Элементы[ПредыдущаяГиперссылкаИмя];
ТекущаяГиперссылка = Элементы[ТекущаяГиперссылкаИмя];
ПредыдущаяГиперссылка.ЦветФона = Серый;
ПредыдущаяГиперссылка.Гиперссылка = Истина;
ТекущаяГиперссылка.ЦветФона = Желтый;
ТекущаяГиперссылка.Гиперссылка = Ложь;
КонецПроцедуры
&НаКлиенте
Процедура ГиперссылкаНажатие(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ПриПереключенииРаздела(Элемент);
СохранитьНастройки();
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура УправлениеЭУ(Форма, ВыполнитьУстановкуСтраницы = Ложь)
СтраницаОткрыта = Ложь;
КалендарьОтчетностиБРОКлиентСерверПереопределяемый.ОткрытаСтраницаОблачнойОтчетности(Форма.Элементы, СтраницаОткрыта);
Если СтраницаОткрыта Тогда
Возврат;
КонецЕсли;
Форма.Элементы.ГруппаСсылокРазделы.ЦветФона = Форма.Серый;
Если ВыполнитьУстановкуСтраницы Тогда
ТекущийРаздел = Форма.Элементы["Гиперссылка" + СтрЗаменить(Форма.Элементы.Разделы.ТекущаяСтраница.Имя, "Страница", "")];
ОформитьКнопку(Форма, ТекущийРаздел, ТекущийРаздел);
Иначе
ТекущийРаздел = ТекущийРазделФормы(Форма);
КонецЕсли;
Если Форма.КоличествоНовых > 0 Тогда
Форма.Элементы.ГиперссылкаНовое.ГоризонтальноеПоложение = ГоризонтальноеПоложениеЭлемента.Центр;
Форма.Элементы.ГиперссылкаНовое.Заголовок = СтрШаблон(НСтр("ru = 'Новое (%1)'"), ?(Форма.КоличествоНовых > 99, "99+", Форма.КоличествоНовых));
КонецЕсли;
ОбновитьКоличествоНепрочтенныхОбъектов(Форма);
Если ТекущийРаздел <> Неопределено Тогда
ВывестиТаблицуРаздела(Форма, ТекущийРаздел.Имя);
КонецЕсли;
ПрорисоватьПанельТребований(Форма);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ОформитьКнопку(Форма, Гиперссылка, ТекущаяГиперссылка)
АктивнаКнопка = (Гиперссылка = ТекущаяГиперссылка);
Гиперссылка.ЦветФона = ?(АктивнаКнопка, Форма.Желтый, Форма.Серый);
Гиперссылка.Гиперссылка = НЕ АктивнаКнопка;
Гиперссылка.ЦветТекста = Форма.Черный;
КонецПроцедуры
&НаКлиенте
Процедура ОрганизацияПриИзменении(Элемент)
ДействияПриИзмененииОтборов(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ОтборОрганизацияНастройкиПриИзменении(Элемент)
ДействияПриИзмененииОтборов(ЭтотОбъект);
УправлениеЭУГруппаНастройки();
КонецПроцедуры
&НаКлиенте
Процедура ОтборВидОтчетаПриИзменении(Элемент)
УстановитьОтборыПоОтчетам(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ОтборВидОтчетаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
МассивВидовОтчетов = ПолучитьСписокОтчетовИзРегистраСведений();
ЭлектронныйДокументооборотСКонтролирующимиОрганамиКлиент.ОтборВидОтчетаНачалоВыбора(МассивВидовОтчетов);
Элемент.СписокВыбора.ЗагрузитьЗначения(МассивВидовОтчетов);
Элемент.СписокВыбора.СортироватьПоЗначению();
ПараметрыФормыВыбораВидаОтчета = Новый Структура;
ПараметрыФормыВыбораВидаОтчета.Вставить("Заголовок", "Выберите виды отчетов");
ПараметрыФормыВыбораВидаОтчета.Вставить("ИсходныйСписок", ВидОтчета);
ПараметрыФормыВыбораВидаОтчета.Вставить("ТипИсточника", "Список");
ПараметрыФормыВыбораВидаОтчета.Вставить("СписокЗначенийДляВыбора", Элемент.СписокВыбора.Скопировать());
ПолноеИмяФормыВыбораВидаОтчета = "";
РегламентированнаяОтчетностьКлиентПереопределяемый.ФормаРегламентированнойОтчетности_ОпределениеФормыВыбораВидаОтчета(
ПолноеИмяФормыВыбораВидаОтчета, ПараметрыФормыВыбораВидаОтчета);
Если ЗначениеЗаполнено(ПолноеИмяФормыВыбораВидаОтчета) Тогда
СтандартнаяОбработка = Ложь;
ОткрытьФорму(ПолноеИмяФормыВыбораВидаОтчета, ПараметрыФормыВыбораВидаОтчета, Элемент);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОтборВидОтчетаОчистка(Элемент, СтандартнаяОбработка)
Элемент.СписокВыбора.Очистить();
КонецПроцедуры
&НаКлиенте
Процедура ОтборПериодОтчетаПриИзменении(Элемент)
СохранитьНастройки();
КонецПроцедуры
&НаКлиенте
Процедура ОтборПериодНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ОписаниеОповещения = Новый ОписаниеОповещения(
"ОтборПериодНачалоВыбора_Завершение",
ЭтотОбъект);
РегламентированнаяОтчетностьКлиент.ОтборПериодНачалоВыбора(ЭтотОбъект, ОписаниеОповещения, СтандартнаяОбработка, ТекущаяДатаНаСервере());
КонецПроцедуры
&НаКлиенте
Процедура ОтборПериодНачалоВыбора_Завершение(РезультатВыбора, ДопПараметры) Экспорт
Если РезультатВыбора = Неопределено Тогда
Возврат;
КонецЕсли;
ЗаполнитьЗначенияСвойств(ЭтотОбъект, РезультатВыбора);
УстановитьОтборыПоОтчетам(ЭтотОбъект);
СохранитьНастройки();
КонецПроцедуры
&НаКлиенте
Процедура ОтборПериодОтчетаОчистка(Элемент, СтандартнаяОбработка)
НачалоПериода = Дата(1, 1, 1);
КонецПериода = Дата(1, 1, 1);
УстановитьОтборыПоОтчетам(ЭтотОбъект);
СохранитьНастройки();
КонецПроцедуры
&НаКлиенте
Процедура СортироватьОтчетыПоПериоду(Команда)
УстановитьСортировкуПоУмолчанию(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура СохранитьОтборыИСортировку(Команда)
СохранитьНастройкиОтбораИСортировки();
КонецПроцедуры
&НаКлиенте
Процедура ЗаявлениеНаПодключениеК1СОтчетностиНажатие(Элемент)
ЭлектронныйДокументооборотСКонтролирующимиОрганамиКлиент.ОткрытьФормуМастераЗаявленияНаПодключение(Организация, ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура НастройкиОбменаНажатие(Элемент)
ЭлектронныйДокументооборотСКонтролирующимиОрганамиКлиент.ОткрытьФормуНастроекОбмена(Организация);
КонецПроцедуры
&НаКлиенте
Процедура СписокЗаявленийОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ЭлектронныйДокументооборотСКонтролирующимиОрганамиКлиент.ОткрытьФормуСпискаЗаявленийНаПодключение(Организация);
КонецПроцедуры
&НаКлиенте
Процедура НастройкиДокументооборотаСГосОрганамиНажатиеПредварительное(Результат, ПараметрыОповещения) Экспорт
НастройкиДокументооборотаСГосОрганамиНажатие(ПараметрыОповещения.Элемент);
КонецПроцедуры
&НаКлиенте
Процедура НастройкиДокументооборотаСГосОрганамиНажатие(Элемент)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Элемент", Элемент);
Оповещение = Новый ОписаниеОповещения("НастройкиДокументооборотаСГосОрганамиНажатиеПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
КонтекстЭДОКлиент.ОткрытьФормуОбщихНастроекЭДО();
КонецПроцедуры
&НаКлиенте
Процедура ОтборОрганизацияСверкиПриИзменении(Элемент)
ДействияПриИзмененииОтборов(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ОтборВидСверкиПриИзменении(Элемент)
ДействияПриИзмененииОтборов(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ОтборОрганизацияЕГРЮЛПриИзменении(Элемент)
ДействияПриИзмененииОтборов(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ОтборОрганизацияПисьмаПриИзменении(Элемент)
ДействияПриИзмененииОтборов(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ОтборОрганизацияУведомленияПриИзменении(Элемент)
ДействияПриИзмененииОтборов(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ОтборОрганизацияВходящиеПриИзменении(Элемент)
ДействияПриИзмененииОтборовИОбновлениеВходящих(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ОтборВидУведомленияПриИзменении(Элемент)
СписокНаименованийУведомлений.Очистить();
Элемент.СписокВыбора.Очистить();
Элемент.РежимВыбораИзСписка = Ложь;
Элемент.ОбновлениеТекстаРедактирования = ОбновлениеТекстаРедактирования.Авто;
ВидУведомления = ПредставлениеВидаУведомления;
Если Не ЗначениеЗаполнено(ВидУведомления) И ТаблицаУведомленийСХешем.Количество() > 0 Тогда
ОтбСтроки = ТаблицаУведомленийСХешем.НайтиСтроки(Новый Структура("Синоним", ПредставлениеВидаУведомления));
Если ОтбСтроки.Количество() > 0 Тогда
ВидУведомления = ОтбСтроки[0].ВидУведомления;
КонецЕсли;
КонецЕсли;
ДействияПриИзмененииОтборов(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ОтборВидУведомленияИзменениеТекстаРедактирования(Элемент, Текст, СтандартнаяОбработка)
Если ТаблицаУведомленийСХешем.Количество() = 0 Или Не ЗначениеЗаполнено(Текст) Тогда
Возврат;
КонецЕсли;
СписокНаименованийУведомлений.Очистить();
СтандартнаяОбработка = Ложь;
Элемент.ОбновлениеТекстаРедактирования = ОбновлениеТекстаРедактирования.НеИспользовать;
Элемент.СписокВыбора.Очистить();
ТермыПоиска = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Текст, " ", Истина, Истина);
Для Каждого Стр Из ТаблицаУведомленийСХешем Цикл
ВключатьВСписок = Истина;
Для Каждого Терм Из ТермыПоиска Цикл
Если СтрНайти(Стр.Хеш, ПолучитьХеш(Терм)) = 0 Тогда
ВключатьВСписок = Ложь;
Прервать;
КонецЕсли;
КонецЦикла;
Если ВключатьВСписок Тогда
Элемент.СписокВыбора.Добавить(Стр.Синоним);
КонецЕсли;
КонецЦикла;
Элемент.РежимВыбораИзСписка = (Элемент.СписокВыбора.Количество() > 0);
КонецПроцедуры
&НаКлиенте
Процедура ОтборВидУведомленияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ОписаниеОповещения = Новый ОписаниеОповещения("ОбработкаВыбораВидаУведомления", ЭтотОбъект);
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Организация", Организация);
ПараметрыФормы.Вставить("УчитыватьУведомленияНеВходящиеВБРО", Истина);
Если ЗначениеЗаполнено(ПредставлениеВидаУведомления) И ЗначениеЗаполнено(ВидУведомления) Тогда
ПараметрыФормы.Вставить("ВидУведомления", ВидУведомления);
КонецЕсли;
ОткрытьФорму("Документ.УведомлениеОСпецрежимахНалогообложения.Форма.ФормаВыбораВидаСообщения", ПараметрыФормы,,,,,
ОписаниеОповещения, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
&НаКлиенте
Процедура ПодсказкиПроПроверкуПодписиОбработкаНавигационнойСсылкиПредварительное(Результат, ПараметрыОповещения) Экспорт
ПодсказкиПроПроверкуПодписиОбработкаНавигационнойСсылки(
ПараметрыОповещения.Элемент,
ПараметрыОповещения.НавигационнаяСсылкаФорматированнойСтроки,
ПараметрыОповещения.СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ПодсказкиПроПроверкуПодписиОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Элемент", Элемент);
ПараметрыОповещения.Вставить("НавигационнаяСсылкаФорматированнойСтроки", НавигационнаяСсылкаФорматированнойСтроки);
ПараметрыОповещения.Вставить("СтандартнаяОбработка", СтандартнаяОбработка);
Оповещение = Новый ОписаниеОповещения(
"ПодсказкиПроПроверкуПодписиОбработкаНавигационнойСсылкиПредварительное",
ЭтотОбъект,
ПараметрыОповещения
);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
ОткрытьФорму(КонтекстЭДОКлиент.ПутьКОбъекту + ".Форма.ЧтоОзначаетПодписьНедействительна");
КонецПроцедуры
&НаКлиенте
Процедура СообщениеПроОшибкиОбменаОбработкаНавигационнойСсылкиПредварительное(Результат, ПараметрыОповещения) Экспорт
СообщениеПроОшибкиОбменаОбработкаНавигационнойСсылки(
ПараметрыОповещения.Элемент,
ПараметрыОповещения.НавигационнаяСсылкаФорматированнойСтроки,
ПараметрыОповещения.СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура СообщениеПроОшибкиОбменаОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Элемент", Элемент);
ПараметрыОповещения.Вставить("НавигационнаяСсылкаФорматированнойСтроки", НавигационнаяСсылкаФорматированнойСтроки);
ПараметрыОповещения.Вставить("СтандартнаяОбработка", СтандартнаяОбработка);
Оповещение = Новый ОписаниеОповещения(
"СообщениеПроОшибкиОбменаОбработкаНавигационнойСсылкиПредварительное",
ЭтотОбъект,
ПараметрыОповещения
);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент <> Неопределено Тогда
ВходящийКонтекст = ПолучитьИзВременногоХранилища(АдресСведенийПоОшибкам);
ДлительнаяОтправкаКлиент.ПоказатьОшибки(КонтекстЭДОКлиент.ПутьКОбъекту, ВходящийКонтекст);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ВыполнитьПослеЗакрытияОтбораПоВидуТребования(Параметр = Неопределено, ДопПараметр = Неопределено) Экспорт
Если Параметр = Неопределено Тогда
Возврат;
КонецЕсли;
Если ТипЗнч(Параметр) = Тип("СписокЗначений") Тогда
Если Параметр.Количество() = 1 Тогда
ВидТребования = Строка(Параметр[0].Значение);
Элементы.ОтборПоВидуТребования.СписокВыбора.Добавить(Строка(Параметр[0].Значение), Параметр[0].Представление);
КонецЕсли;
Иначе
ВидТребования = "По всем видам требований " + Параметр["Корень"];
Элементы.ОтборПоВидуТребования.СписокВыбора.Добавить(
"По всем видам требований " + Параметр["Корень"], "По всем видам требований " + Параметр["Корень"]);
КонецЕсли;
ДобавитьОтборПоВидуТребования(ЭтаФорма, Параметр);
КонецПроцедуры
&НаКлиенте
Процедура ОтборСтатусОтчетаПриИзменении(Элемент)
ДобавитьОтборПоСостояниюОтчетов(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ОтборСтатусУведомленияПриИзменении(Элемент)
ДобавитьОтборПоСостояниюУведомлений(ЭтотОбъект);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормы
#Область ОбработчикиСобытийЭлементовТаблицыНовое
&НаКлиенте
Процедура ТаблицаНовоеВыборПредварительное(Результат, ПараметрыОповещения) Экспорт
ТаблицаНовоеВыбор(
ПараметрыОповещения.Элемент,
ПараметрыОповещения.ВыбраннаяСтрока,
ПараметрыОповещения.Поле,
ПараметрыОповещения.СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ТаблицаНовоеВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Ссылка = Элемент.ТекущиеДанные.Ссылка;
Если Поле.Имя = "ТаблицаНовоеОбъектНаименованиеСсылка" Тогда
Если Элемент.ТекущиеДанные.ЕстьОтвет Тогда
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Элемент", Элемент);
ПараметрыОповещения.Вставить("ВыбраннаяСтрока", ВыбраннаяСтрока);
ПараметрыОповещения.Вставить("Поле", Поле);
ПараметрыОповещения.Вставить("СтандартнаяОбработка", СтандартнаяОбработка);
Оповещение = Новый ОписаниеОповещения("ТаблицаНовоеВыборПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент <> Неопределено И НЕ ПереопределитьОткрытие(Элемент) Тогда
Если ТипЗнч(Ссылка) = Тип("ДокументСсылка.ЗапросНаИнформационноеОбслуживаниеНалогоплательщика") Тогда
КонтекстЭДОКлиент.ПоказатьОтветНаЗапросИОН(Ссылка);
ИначеЕсли ТипЗнч(Ссылка) = Тип("ДокументСсылка.ЗапросНаИнформационноеОбслуживаниеСтрахователя") Тогда
КонтекстЭДОКлиент.ПоказатьОтветНаЗапросИОС(Ссылка);
ИначеЕсли ТипЗнч(Ссылка) = Тип("ДокументСсылка.ЗапросНаВыпискуИзЕГРЮЛ_ЕГРИП") Тогда
КонтекстЭДОКлиент.ПоказатьОтветНаЗапросВыпискиЕГРЮЛ_ЕГРИП(Ссылка);
ИначеЕсли ТипЗнч(Ссылка) = Тип("ДокументСсылка.ЗаявлениеНаФормированиеСправкиОРасчетах") Тогда
КонтекстЭДОКлиент.ПоказатьОтветНаЗапросИОС(Ссылка);
КонецЕсли;
КонецЕсли;
ПометитьПрочтенными();
ИначеЕсли НЕ ПереопределитьОткрытие(Элемент) Тогда
РедактироватьОбъект(Элемент);
КонецЕсли;
ИначеЕсли Поле.Имя = "ТаблицаНовоеСтатус" Тогда
ПоказатьФормуСтатусовОтправкиИзСписка(Элемент);
ИначеЕсли Поле.Имя = "ТаблицаНовоеЕстьКритическиеОшибкиОтправки" И Элемент.ТекущиеДанные.ЕстьКритическиеОшибкиОтправки Тогда
ПоказатьКритическиеОшибкиПоСсылке(Ссылка);
ИначеЕсли НЕ ПереопределитьОткрытие(Элемент) Тогда
РедактироватьОбъект(Элемент);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыОтчеты
&НаКлиенте
Процедура ОтчетыВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
Если Элемент.ТекущиеДанные <> Неопределено Тогда
РегламентированнаяОтчетностьКлиент.ОтчетыВыбор(ЭтотОбъект, Элемент, Поле, СтандартнаяОбработка);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОтчетыПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле)
СтандартнаяОбработка = Ложь;
КонецПроцедуры
&НаКлиенте
Процедура ОтчетыПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле)
СтандартнаяОбработка = Ложь;
ДокументооборотСКОКлиент.СоздатьЭлектронноеПредставлениеРегламентированныхОтчетовИзФайлов(ПараметрыПеретаскивания.Значение, УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ОтчетыПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
Отказ = Истина;
Если Копирование Тогда
ТекущиеДанные = Элементы.Отчеты.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
Ссылка = ТекущиеДанные.РегламентированныйОтчет;
ПараметрыФормы = Новый Структура("ЗначениеКопирования", Ссылка);
Если ТипЗнч(Ссылка) = Тип("СправочникСсылка.ЭлектронныеПредставленияРегламентированныхОтчетов") Тогда
ОткрытьФорму("Справочник.ЭлектронныеПредставленияРегламентированныхОтчетов.ФормаОбъекта", ПараметрыФормы);
ИначеЕсли ТипЗнч(Ссылка) = Тип("ДокументСсылка.РегламентированныйОтчет") Тогда
ОткрытьФорму("Документ.РегламентированныйОтчет.ФормаОбъекта", ПараметрыФормы, ЭтотОбъект);
Иначе
ИмяФормыОбъекта = ИмяФормыОбъектаПоУмолчанию(Ссылка);
ОткрытьФорму(ИмяФормыОбъекта, ПараметрыФормы);
КонецЕсли;
КонецЕсли;
Иначе
СоздатьОтчет();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОтчетыПередНачаломИзменения(Элемент, Отказ)
Отказ = Истина;
ТекущиеДанные = Элементы.Отчеты.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
Ссылка = ТекущиеДанные.РегламентированныйОтчет;
ПоказатьЗначение(,Ссылка);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОтчетыПередУдалением(Элемент, Отказ)
Отказ = Истина;
ОтключитьОбработчикОжидания("ОтчетыПередУдалениемЗавершение");
ПодключитьОбработчикОжидания("ОтчетыПередУдалениемЗавершение", 0.1, Истина);
КонецПроцедуры
&НаКлиенте
Процедура ОтчетыПередУдалениемЗавершение() Экспорт
ПометитьНаУдалениеОбъект(Элементы.Отчеты);
КонецПроцедуры
&НаСервере
Процедура ОтчетыПриОбновленииСоставаПользовательскихНастроекНаСервере(СтандартнаяОбработка)
ПользовательскиеНастройкиДинамическогоСписка = ЭтотОбъект.Отчеты.КомпоновщикНастроек.ПользовательскиеНастройки;
ЭтоТипСтрока = Элементы.ОтборВидОтчета.РежимВыбораИзСписка;
ЗначениеВидОтчета = Новый СписокЗначений;
ЗначениеВидОтчетаСтр = "";
ЗначениеОрганизация = Справочники.Организации.ПустаяСсылка();
ЗначениеНачалоПериода = Дата(1, 1, 1);
ЗначениеКонецПериода = Дата(1, 1, 1);
МассивЗначенийКонецПериода = Новый Массив;
ПолеКомпоновкиНаименованиеОтчета = Новый ПолеКомпоновкиДанных("НаименованиеОтчета");
ПолеКомпоновкиОрганизация = Новый ПолеКомпоновкиДанных("Организация");
ПолеКомпоновкиДатаНачала = Новый ПолеКомпоновкиДанных("ДатаНачала");
ПолеКомпоновкиДатаОкончания = Новый ПолеКомпоновкиДанных("ДатаОкончания");
Для Каждого ЭлементПользовательскойНастройки Из ПользовательскиеНастройкиДинамическогоСписка.Элементы Цикл
Если ТипЗнч(ЭлементПользовательскойНастройки) = Тип("ОтборКомпоновкиДанных")
И ЭлементПользовательскойНастройки.ИдентификаторПользовательскойНастройки =
ЭтотОбъект.Отчеты.КомпоновщикНастроек.Настройки.Отбор.ИдентификаторПользовательскойНастройки Тогда
Для Каждого ЭлементОтбора Из ЭлементПользовательскойНастройки.Элементы Цикл
Если ТипЗнч(ЭлементОтбора) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда
Если ЭлементОтбора.ЛевоеЗначение = ПолеКомпоновкиНаименованиеОтчета Тогда
Если ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке Тогда
ЗначениеВидОтчета = ЭлементОтбора.ПравоеЗначение;
ИначеЕсли ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно Тогда
ЗначениеВидОтчетаСтр = ЭлементОтбора.ПравоеЗначение;
ИначеЕсли СокрЛП(ЭлементОтбора.ПравоеЗначение) = "Макет пенсионного дела"
ИЛИ СокрЛП(ЭлементОтбора.ПравоеЗначение) = "Заявление о назначении пенсии" Тогда
ЗначениеВидОтчетаСтр = ЭлементОтбора.ПравоеЗначение;
КонецЕсли;
ИначеЕсли ЭлементОтбора.ЛевоеЗначение = ПолеКомпоновкиОрганизация Тогда
ЗначениеОрганизация = ЭлементОтбора.ПравоеЗначение;
ИначеЕсли ЭлементОтбора.ЛевоеЗначение = ПолеКомпоновкиДатаНачала Тогда
ЗначениеНачалоПериода = ЭлементОтбора.ПравоеЗначение;
ИначеЕсли ЭлементОтбора.ЛевоеЗначение = ПолеКомпоновкиДатаОкончания Тогда
МассивЗначенийКонецПериода.Добавить(ЭлементОтбора.ПравоеЗначение);
КонецЕсли;
ИначеЕсли ТипЗнч(ЭлементОтбора) = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда
Для Каждого ЭлементОтбораВГруппе Из ЭлементОтбора.Элементы Цикл
Если ТипЗнч(ЭлементОтбораВГруппе.ПравоеЗначение) = Тип("СписокЗначений") Тогда
ЗначениеВидОтчета = ЭлементОтбораВГруппе.ПравоеЗначение;
Иначе
ЗначениеВидОтчетаСтр = ЭлементОтбораВГруппе.ПравоеЗначение;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
Если ЗначениеЗаполнено(ЗначениеВидОтчетаСтр) Тогда
Если ЗначениеВидОтчета.НайтиПоЗначению(ЗначениеВидОтчетаСтр) = Неопределено Тогда
ЗначениеВидОтчета.Добавить(ЗначениеВидОтчетаСтр);
КонецЕсли;
КонецЕсли;
Если ЭтоТипСтрока Тогда
ВидОтчета = ?(ЗначениеЗаполнено(ЗначениеВидОтчета), ЗначениеВидОтчета[0].Значение, "");
Иначе
ВидОтчета = ЗначениеВидОтчета;
КонецЕсли;
Организация = ЗначениеОрганизация;
Если МассивЗначенийКонецПериода.Количество() > 0 Тогда
ЗначениеКонецПериода = МассивЗначенийКонецПериода[МассивЗначенийКонецПериода.ВГраница()];
Если МассивЗначенийКонецПериода.Количество() > 1 И НЕ ТолькоУказанныйПериод Тогда
ЗначениеНачалоПериода = МассивЗначенийКонецПериода[0];
КонецЕсли;
КонецЕсли;
ОбновлНачалоПериода = ?(ЗначениеЗаполнено(ЗначениеНачалоПериода), НачалоДня(ЗначениеНачалоПериода), ЗначениеНачалоПериода);
ОбновлКонецПериода = ?(ЗначениеЗаполнено(ЗначениеКонецПериода), КонецДня(ЗначениеКонецПериода), ЗначениеКонецПериода);
Если ОбновлНачалоПериода <> НачалоПериода ИЛИ ОбновлКонецПериода <> КонецПериода Тогда
НачалоПериода = ОбновлНачалоПериода;
КонецПериода = ОбновлКонецПериода;
ПериодОтчета = ПредставлениеПериода(НачалоПериода, КонецПериода, "ФП=Истина");
КонецЕсли;
Если НачалоПериода = Дата(1, 1, 1) Тогда
ПериодОтчета = "";
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПодменитьСсылку(Ссылка) Экспорт
Попытка
Если ОбщегоНазначения.ПодсистемаСуществует("РегламентированнаяОтчетность.СообщенияВКонтролирующиеОрганы.КонвертацияОтчетовПриПереходеС82") Тогда
ОМ_УведомлениеОСпецрежимахНалогообложенияПовтИсп = ОбщегоНазначения.ОбщийМодуль("УведомлениеОСпецрежимахНалогообложенияПовтИсп");
Ссылка = ОМ_УведомлениеОСпецрежимахНалогообложенияПовтИсп.ПодменитьСсылкуНаОтчет(Ссылка);
КонецЕсли;
Исключение
КонецПопытки;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыУведомления
&НаКлиенте
Процедура УведомленияПередУдалением(Элемент, Отказ)
Отказ = Истина;
ПометитьНаУдалениеОбъект(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура УведомленияПередНачаломИзменения(Элемент, Отказ)
Отказ = Истина;
РедактироватьОбъект(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура УведомленияВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ТекущиеДанные = Элемент.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
Ссылка = ТекущиеДанные.Ссылка;
Если Поле.Имя = "УведомленияСтатусОтправки" Тогда
Если РегламентированнаяОтчетностьКлиентСервер.ОбъектНеОтправлялсяЧерез1СОтчетность(
ТекущиеДанные.СостояниеСдачиОтчетности) Тогда
ВыбратьСтатусОтправкиИзСписка(Элемент);
Иначе
ПоказатьФормуСтатусовОтправкиИзСписка(Элемент);
КонецЕсли;
ИначеЕсли Поле.Имя = "УведомленияЕстьКритическиеОшибкиОтправки" И ТекущиеДанные.ЕстьКритическиеОшибкиОтправки Тогда
ПоказатьКритическиеОшибкиПоСсылке(Ссылка);
ИначеЕсли ЭтоРежимВыбора Тогда
ВыбранноеЗначениеЗакрытия = Ссылка;
Закрыть(Ссылка);
Иначе
РедактироватьОбъект(Элемент);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УведомленияПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
Отказ = Истина;
Если Копирование Тогда
ТекущиеДанные = Элементы.Уведомления.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
Ссылка = ТекущиеДанные.Ссылка;
ТипыСсылки = ТипЗнч(Ссылка);
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ЗначениеКопирования", Ссылка);
Если ТипыСсылки = Тип("ДокументСсылка.УведомлениеОСпецрежимахНалогообложения") Тогда
ПараметрыФормы.Вставить("Организация", ТекущиеДанные.Организация);
ПараметрыФормы.Вставить("ВидУведомления", ВидУведомленияОСпецрежимахНалогообложения(ТекущиеДанные.Ссылка));
ОткрытьФорму("Документ.УведомлениеОСпецрежимахНалогообложения.ФормаОбъекта", ПараметрыФормы);
ИначеЕсли ТипЗнч(Ссылка) = Тип("СправочникСсылка.ЭлектронныеПредставленияРегламентированныхОтчетов") Тогда
ОткрытьФорму("Справочник.ЭлектронныеПредставленияРегламентированныхОтчетов.ФормаОбъекта", ПараметрыФормы);
Иначе
ИмяТипа = ЭлектронныйДокументооборотСКонтролирующимиОрганамиВызовСервера.ПолноеИмяТипа(ТипыСсылки);
ОткрытьФорму(ИмяТипа + ".ФормаОбъекта", ПараметрыФормы);
КонецЕсли;
КонецЕсли;
Иначе
СоздатьНовоеУведомление();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УведомленияПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле)
СтандартнаяОбработка = Ложь;
КонецПроцедуры
&НаКлиенте
Процедура УведомленияПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле)
СтандартнаяОбработка = Ложь;
ДокументооборотСКОКлиент.СоздатьЭлектронноеПредставлениеРегламентированныхОтчетовИзФайлов(ПараметрыПеретаскивания.Значение, УникальныйИдентификатор);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыПисьма
&НаКлиенте
Процедура ПисьмаПередУдалением(Элемент, Отказ)
Отказ = Истина;
ПометитьНаУдалениеОбъект(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура ПисьмаПередНачаломИзменения(Элемент, Отказ)
Отказ = Истина;
РедактироватьОбъект(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура ПисьмаВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ТекущиеДанные = Элемент.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
Ссылка = ТекущиеДанные.Ссылка;
Если Поле.Имя = "ПисьмаСтатусОтправки" Тогда
ПоказатьФормуСтатусовОтправкиИзСписка(Элемент);
ИначеЕсли Поле.Имя = "ПисьмаЕстьКритическиеОшибкиОтправки" И ТекущиеДанные.ЕстьКритическиеОшибкиОтправки Тогда
ПоказатьКритическиеОшибкиПоСсылке(Ссылка);
Иначе
РедактироватьОбъект(Элемент);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПисьмаПередНачаломДобавленияПредварительное(Результат, ПараметрыОповещения) Экспорт
ПисьмаПередНачаломДобавления(
ПараметрыОповещения.Элемент,
ПараметрыОповещения.Отказ,
ПараметрыОповещения.Копирование,
ПараметрыОповещения.Родитель,
ПараметрыОповещения.Группа,
ПараметрыОповещения.Параметр
);
КонецПроцедуры
&НаКлиенте
Процедура ПисьмаПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
Отказ = Истина;
Если Копирование Тогда
ТекущиеДанные = Элементы.Письма.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
Ссылка = ТекущиеДанные.Ссылка;
ПараметрыФормы = Новый Структура("ЗначениеКопирования", Ссылка);
Если ТипЗнч(Ссылка) = Тип("СправочникСсылка.ПерепискаСКонтролирующимиОрганами") Тогда
ОткрытьФорму("Справочник.ПерепискаСКонтролирующимиОрганами.ФормаОбъекта", ПараметрыФормы);
ИначеЕсли ТипЗнч(Ссылка) = Тип("СправочникСсылка.ОписиИсходящихДокументовВНалоговыеОрганы") Тогда
ОткрытьФорму("Справочник.ОписиИсходящихДокументовВНалоговыеОрганы.ФормаОбъекта", ПараметрыФормы);
ИначеЕсли ТипЗнч(Ссылка) = Тип("ДокументСсылка.ПоясненияКДекларацииПоНДС") Тогда
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Элемент", Элемент);
ПараметрыОповещения.Вставить("Отказ", Отказ);
ПараметрыОповещения.Вставить("Копирование", Копирование);
ПараметрыОповещения.Вставить("Родитель", Родитель);
ПараметрыОповещения.Вставить("Группа", Группа);
ПараметрыОповещения.Вставить("Параметр", Параметр);
Оповещение = Новый ОписаниеОповещения("ПисьмаПередНачаломДобавленияПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент <> Неопределено Тогда
КонтекстЭДОКлиент.СоздатьПоясненияКДекларацииПоНДС(Ссылка);
КонецЕсли;
ИначеЕсли ТипЗнч(Ссылка) = Тип("ДокументСсылка.ОтветСтрахователяНаТребованиеПроверкиФСС") Тогда
ОткрытьФорму("Документ.ОтветСтрахователяНаТребованиеПроверкиФСС.ФормаОбъекта", ПараметрыФормы);
КонецЕсли;
КонецЕсли;
Иначе
СоздатьНовоеПисьмо();
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыСверки
&НаКлиенте
Процедура СверкиПередУдалением(Элемент, Отказ)
Отказ = Истина;
ПометитьНаУдалениеОбъект(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура СверкиПередНачаломИзменения(Элемент, Отказ)
Отказ = Истина;
РедактироватьОбъект(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура СверкиВыборПредварительное(Результат, ПараметрыОповещения) Экспорт
СверкиВыбор(
ПараметрыОповещения.Элемент,
ПараметрыОповещения.ВыбраннаяСтрока,
ПараметрыОповещения.Поле,
ПараметрыОповещения.СтандартнаяОбработка
);
КонецПроцедуры
&НаКлиенте
Процедура СверкиВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ТекущиеДанные = Элемент.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
Ссылка = Элемент.ТекущиеДанные.Ссылка;
Если Поле.Имя = "СверкиЕстьОтвет" Тогда
Если Элемент.ТекущиеДанные.ЕстьОтвет Тогда
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Элемент", Элемент);
ПараметрыОповещения.Вставить("ВыбраннаяСтрока", ВыбраннаяСтрока);
ПараметрыОповещения.Вставить("Поле", Поле);
ПараметрыОповещения.Вставить("СтандартнаяОбработка", СтандартнаяОбработка);
Оповещение = Новый ОписаниеОповещения("СверкиВыборПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент <> Неопределено Тогда
Ссылка = Элемент.ТекущиеДанные.Ссылка;
Если ТипЗнч(Ссылка) = Тип("ДокументСсылка.ЗапросНаИнформационноеОбслуживаниеНалогоплательщика") Тогда
КонтекстЭДОКлиент.ПоказатьОтветНаЗапросИОН(Ссылка);
ИначеЕсли ТипЗнч(Ссылка) = Тип("ДокументСсылка.ЗапросНаИнформационноеОбслуживаниеСтрахователя") Тогда
КонтекстЭДОКлиент.ПоказатьОтветНаЗапросИОС(Ссылка);
ИначеЕсли ТипЗнч(Ссылка) = Тип("ДокументСсылка.ЗаявлениеНаФормированиеСправкиОРасчетах") Тогда
КонтекстЭДОКлиент.ПоказатьОтветНаЗапросСправкиОРасчетах(Ссылка);
КонецЕсли;
КонецЕсли;
Иначе
РедактироватьОбъект(Элемент);
КонецЕсли;
ИначеЕсли Поле.Имя = "СверкиСтатусОтправки" Тогда
ПоказатьФормуСтатусовОтправкиИзСписка(Элемент);
ИначеЕсли Поле.Имя = "СверкиЕстьКритическиеОшибкиОтправки" И ТекущиеДанные.ЕстьКритическиеОшибкиОтправки Тогда
ПоказатьКритическиеОшибкиПоСсылке(Ссылка);
Иначе
РедактироватьОбъект(Элемент);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СверкиПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
Отказ = Истина;
Если Копирование Тогда
ТекущиеДанные = Элементы.Сверки.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
Ссылка = ТекущиеДанные.Ссылка;
ПараметрыФормы = Новый Структура("ЗначениеКопирования", Ссылка);
Если ТипЗнч(Ссылка) = Тип("ДокументСсылка.ЗапросНаИнформационноеОбслуживаниеНалогоплательщика") Тогда
ОткрытьФорму("Документ.ЗапросНаИнформационноеОбслуживаниеНалогоплательщика.Форма.ФормаДокумента", ПараметрыФормы);
ИначеЕсли ТипЗнч(Ссылка) = Тип("ДокументСсылка.ЗапросНаИнформационноеОбслуживаниеСтрахователя") Тогда
ОткрытьФорму("Документ.ЗапросНаИнформационноеОбслуживаниеСтрахователя.Форма.ФормаДокумента", ПараметрыФормы);
ИначеЕсли ТипЗнч(Ссылка) = Тип("ДокументСсылка.ЗаявлениеНаФормированиеСправкиОРасчетах") Тогда
ОткрытьФорму("Документ.ЗаявлениеНаФормированиеСправкиОРасчетах.Форма.ФормаДокумента", ПараметрыФормы);
КонецЕсли;
КонецЕсли;
Иначе
СоздатьНовуюСверку();
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыЕГРЮЛ
&НаКлиенте
Процедура ЕГРЮЛПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
Отказ = Истина;
Если Копирование Тогда
ТекущиеДанные = Элементы.ЕГРЮЛ.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
Ссылка = ТекущиеДанные.Ссылка;
ТипыСсылки = ТипЗнч(Ссылка);
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ЗначениеКопирования", Ссылка);
Если ТипыСсылки = Тип("ДокументСсылка.ЗапросНаВыпискуИзЕГРЮЛ_ЕГРИП") Тогда
ОткрытьФорму("Документ.ЗапросНаВыпискуИзЕГРЮЛ_ЕГРИП.Форма.ФормаДокумента", ПараметрыФормы);
Иначе
ПараметрыФормы.Вставить("Организация", ТекущиеДанные.Организация);
ПараметрыФормы.Вставить("ВидУведомления", ВидУведомленияОСпецрежимахНалогообложения(ТекущиеДанные.Ссылка));
ОткрытьФорму("Документ.УведомлениеОСпецрежимахНалогообложения.ФормаОбъекта", ПараметрыФормы);
КонецЕсли;
Иначе
СоздатьНовыйЗапросНаВыпискуИзЕГРЮЛ_ЕГРИП();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ЕГРЮЛПередНачаломИзменения(Элемент, Отказ)
Отказ = Истина;
РедактироватьОбъект(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура ЕГРЮЛПередУдалением(Элемент, Отказ)
Отказ = Истина;
ПометитьНаУдалениеОбъект(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура ЕГРЮЛВыборПредварительное(Результат, ПараметрыОповещения) Экспорт
ЕГРЮЛВыбор(
ПараметрыОповещения.Элемент,
ПараметрыОповещения.ВыбраннаяСтрока,
ПараметрыОповещения.Поле,
ПараметрыОповещения.СтандартнаяОбработка
);
КонецПроцедуры
&НаКлиенте
Процедура ЕГРЮЛВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ТекущиеДанные = Элемент.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
Ссылка = Элемент.ТекущиеДанные.Ссылка;
СтандартнаяОбработка = Ложь;
Если Поле.Имя = "ЕГРЮЛЕстьОтвет" Тогда
Если Элемент.ТекущиеДанные.ЕстьОтвет Тогда
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Элемент", Элемент);
ПараметрыОповещения.Вставить("ВыбраннаяСтрока", ВыбраннаяСтрока);
ПараметрыОповещения.Вставить("Поле", Поле);
ПараметрыОповещения.Вставить("СтандартнаяОбработка", СтандартнаяОбработка);
Оповещение = Новый ОписаниеОповещения("ЕГРЮЛВыборПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент <> Неопределено Тогда
КонтекстЭДОКлиент.ПоказатьОтветНаЗапросВыпискиЕГРЮЛ_ЕГРИП(Ссылка);
КонецЕсли;
Иначе
РедактироватьОбъект(Элемент);
КонецЕсли;
ИначеЕсли Поле.Имя = "ЕГРЮЛСтатусОтправки" Тогда
ЭтоРучнойСтатус =
ТипЗнч(Ссылка) = Тип("ДокументСсылка.УведомлениеОСпецрежимахНалогообложения")
И РегламентированнаяОтчетностьКлиентСервер.ОбъектНеОтправлялсяЧерез1СОтчетность(ТекущиеДанные.СостояниеСдачиОтчетности);
Если ЭтоРучнойСтатус Тогда
ВыбратьСтатусОтправкиИзСписка(Элемент);
Иначе
ПоказатьФормуСтатусовОтправкиИзСписка(Элемент);
КонецЕсли;
ИначеЕсли Поле.Имя = "ЕГРЮЛЕстьКритическиеОшибкиОтправки" И ТекущиеДанные.ЕстьКритическиеОшибкиОтправки Тогда
ПоказатьКритическиеОшибкиПоСсылке(Ссылка);
Иначе
РедактироватьОбъект(Элемент);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыВходящие
&НаКлиенте
Процедура ВходящиеПередУдалением(Элемент, Отказ)
Отказ = Истина;
КонецПроцедуры
&НаКлиенте
Процедура ВходящиеПередНачаломИзменения(Элемент, Отказ)
Отказ = Истина;
РедактироватьОбъект(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура ВходящиеВыборПредварительное(Результат, ПараметрыОповещения) Экспорт
ВходящиеВыбор(
ПараметрыОповещения.Элемент,
ПараметрыОповещения.ВыбраннаяСтрока,
ПараметрыОповещения.Поле,
ПараметрыОповещения.СтандартнаяОбработка
);
КонецПроцедуры
&НаКлиенте
Процедура ВходящиеВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ТекущиеДанные = Элемент.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
Ссылка = Элемент.ТекущиеДанные.Ссылка;
Если ТипЗнч(Ссылка) = Тип("ДокументСсылка.ОбращениеСФРКСтрахователю") Тогда
РедактироватьОбъект(Элемент);
Возврат;
КонецЕсли;
Если СтрЗаканчиваетсяНа(Поле.Имя, "СтатусОтправки") Тогда
ПоказатьФормуСтатусовОтправкиИзСписка(Элемент);
ИначеЕсли СтрНайти(Поле.Имя, "Ответ")
И Элемент.ТекущиеДанные.ЕстьОтвет Тогда
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Элемент", Элемент);
ПараметрыОповещения.Вставить("ВыбраннаяСтрока", ВыбраннаяСтрока);
ПараметрыОповещения.Вставить("Поле", Поле);
ПараметрыОповещения.Вставить("СтандартнаяОбработка", СтандартнаяОбработка);
Оповещение = Новый ОписаниеОповещения("ВходящиеВыборПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент <> Неопределено Тогда
КонтекстЭДОКлиент.НажатиеНаКнопкуПоказатьОтветыПоТребованию(Ссылка, Ложь);
КонецЕсли;
ИначеЕсли СтрЗаканчиваетсяНа(Поле.Имя, "ЕстьКритическиеОшибкиОтправки") И ТекущиеДанные.ЕстьКритическиеОшибкиОтправки Тогда
ПоказатьКритическиеОшибкиПоСсылке(Ссылка);
ИначеЕсли Поле.Имя = "ТребованияДатаОтвета"
И НЕ ТекущиеДанные.ЕстьОтвет
И ТекущиеДанные.ЕстьИзвлеченныеДанные
И ТекущиеДанные.ТребуетОтвета Тогда
ОповещениеЗавершения = Новый ОписаниеОповещения("ИзменитьДатуОтветаЗавершение", ЭтотОбъект, Ссылка);
ТребованияФНСКлиент.ИзменитьСрокТребования(Ссылка, ОповещениеЗавершения);
ИначеЕсли ЭтоРежимВыбора Тогда
ВыбранноеЗначениеЗакрытия = Ссылка;
Закрыть(Ссылка);
Иначе
РедактироватьОбъект(Элемент);
Если ТипЗнч(Ссылка) = Тип("ДокументСсылка.ВходящийДокументСЭДОФСС") Тогда
Элементы.Требования.Обновить();
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ИзменитьДатуОтветаЗавершение(Результат, Ссылка) Экспорт
ОповеститьОбИзменении(Ссылка);
КонецПроцедуры
&НаКлиенте
Процедура ВходящиеПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
Отказ = Истина;
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура ОткрытьНастрокуРабочегоМеста(Команда)
ДополнительныеПараметры = Новый Структура();
ДополнительныеПараметры.Вставить("ЭтоТолькоНастройка", Истина);
ОткрытьФорму("Обработка.НачалоРаботыОблачной1СО.Форма.БыстрыйСтарт", ДополнительныеПараметры);
КонецПроцедуры
&НаКлиенте
Процедура СоздатьСверкуПредварительное(Результат, ВидУслуги) Экспорт
СоздатьСверку(ВидУслуги);
КонецПроцедуры
&НаКлиенте
Процедура СоздатьСправкаОНаличииСальдо(Команда)
СоздатьСверку(ПредопределенноеЗначение("Перечисление.ВидыУслугПриИОН.СправкаОНаличииСальдо"));
КонецПроцедуры
&НаКлиенте
Процедура СоздатьСправкаОПринадлежностиСумм(Команда)
СоздатьСверку(ПредопределенноеЗначение("Перечисление.ВидыУслугПриИОН.СправкаОПринадлежностиСумм"));
КонецПроцедуры
&НаКлиенте
Процедура СоздатьСведенияОбОтрицательномСальдоЕНС(Команда)
СоздатьСверку(ПредопределенноеЗначение("Перечисление.ВидыУслугПриИОН.СведенияОбОтрицательномСальдоЕНС"));
КонецПроцедуры
&НаКлиенте
Процедура СоздатьСправкаОПринадлежностиСуммАгрегированныеДанные(Команда)
СоздатьСверку(ПредопределенноеЗначение("Перечисление.ВидыУслугПриИОН.СправкаОПринадлежностиСуммАгрегированныеДанные"));
КонецПроцедуры
&НаКлиенте
Процедура ПодтвердитьПриемПредварительное(Результат, ПараметрыОповещения) Экспорт
ПодтвердитьПрием(Неопределено);
КонецПроцедуры
&НаКлиенте
Процедура ПодтвердитьПрием(Команда)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Команда", Команда);
Оповещение = Новый ОписаниеОповещения("ПодтвердитьПриемПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
Сейчас = ТекущаяДата();
ТребованияФНСКлиент.ПодтвердитьПриемНескольких(Сейчас, КонтекстЭДОКлиент, Организация);
КонецПроцедуры
&НаКлиенте
Процедура ПеренестиРассылки(Команда)
ПеренестиВДругойВидДокумента(ПредопределенноеЗначение("Перечисление.ВидыДокументовВЖурнале.Рассылка"));
КонецПроцедуры
&НаКлиенте
Процедура ПеренестиВПисьма(Команда)
ПеренестиВДругойВидДокумента(ПредопределенноеЗначение("Перечисление.ВидыДокументовВЖурнале.ВходящееПисьмо"));
КонецПроцедуры
&НаКлиенте
Процедура ПеренестиВТребования(Команда)
ПеренестиВДругойВидДокумента(ПредопределенноеЗначение("Перечисление.ВидыДокументовВЖурнале.ТребованиеИлиУведомление"));
КонецПроцедуры
&НаКлиенте
Процедура ВыбратьДокумент(Команда)
ТекущаяТаблица = ТекущаяТаблица(ЭтотОбъект);
ТекущиеДанные = ТекущаяТаблица.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
ПоказатьПредупреждение(,НСтр("ru = 'Не выбрано ни одного документа'"));
Иначе
Если Элементы.Отчеты = ТекущаяТаблица Тогда
Ссылка = ТекущиеДанные.РегламентированныйОтчет;
Иначе
Ссылка = ТекущиеДанные.Ссылка;
КонецЕсли;
ВыбранноеЗначениеЗакрытия = Ссылка;
Закрыть(Ссылка);
КонецЕсли;
КонецПроцедуры
#Область КомандыЗакладкиОтчетность
&НаКлиенте
Процедура Создать(Команда)
СоздатьОтчет();
КонецПроцедуры
&НаКлиенте
Процедура СоздатьОтчет(знач ПараметрыФормы = Неопределено)
Если ПараметрыФормы = Неопределено Тогда
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Организация", Организация);
ПараметрыФормы.Вставить("ДатаНачалаПериодаОтчета", НачалоПериода);
ПараметрыФормы.Вставить("ДатаКонцаПериодаОтчета", КонецПериода);
Если ТипЗнч(ВидОтчета) = Тип("СписокЗначений") Тогда
ПараметрыФормы.Вставить("ПредставлениеВидаОтчета", ?(ВидОтчета.Количество() = 1, ВидОтчета[0].Значение, ""));
Иначе
ПараметрыФормы.Вставить("ПредставлениеВидаОтчета", Строка(ВидОтчета));
КонецЕсли;
ПараметрыФормы.Вставить("ИмяФормы","");
КонецЕсли;
Если ПараметрыФормы.ИмяФормы <> "" Тогда
НайденоОкно = Ложь;
РегламентированнаяОтчетностьКлиент.ВебКлиентНайтиАктивизироватьОкно(ПараметрыФормы.ИмяФормы, ЭтотОбъект, НайденоОкно);
Если НайденоОкно <> Неопределено Тогда
Если НайденоОкно Тогда
Возврат;
КонецЕсли;
КонецЕсли;
КонецЕсли;
ЭтотОбъект.ПараметрыВыбораФормыСоздания = Неопределено;
ОписаниеОповещенияОЗакрытииФормыСозданияОтчета = Новый ОписаниеОповещения("ВыполнитьПослеЗакрытияСозданияОтчета", ЭтотОбъект);
ОткрытьФорму("Обработка.ОбщиеОбъектыРеглОтчетности.Форма.ФормаСозданияОтчета", ПараметрыФормы, ЭтотОбъект,,,,
ОписаниеОповещенияОЗакрытииФормыСозданияОтчета, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
&НаКлиенте
Процедура ВыполнитьПослеЗакрытияСозданияОтчета(Параметр = Неопределено, ДопПараметр = Неопределено) Экспорт
Если ЭтотОбъект.ПараметрыВыбораФормыСоздания = Неопределено Тогда
Возврат;
КонецЕсли;
СоздатьОтчет(ЭтотОбъект.ПараметрыВыбораФормыСоздания);
КонецПроцедуры
&НаКлиенте
Асинх Процедура ПереустановитьКомпонентыПечатиМашиночитаемыхФорм(Команда)
КаталогКомпонентыМЧБ = Ждать РегламентированнаяОтчетностьКлиент.ПолучитьПутьВыгрузкиАсинх(
"", "Выберите каталог для сохранения дистрибутива компоненты печати машиночитаемых форм");
Если ЗначениеЗаполнено(КаталогКомпонентыМЧБ) Тогда
УстановитьКомпонентуПечати(КаталогКомпонентыМЧБ);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УстановитьКомпонентуПечати(КаталогКомпонентыМЧБ)
ДистрибутивКомпонентыПечатиМашиночитаемыхФорм = Новый СписокЗначений;
РегламентированнаяОтчетностьВызовСервера.ПолучитьДистрибутивКомпонентыПечатиМашиночитаемыхФорм(ДистрибутивКомпонентыПечатиМашиночитаемыхФорм);
РегламентированнаяОтчетностьКлиент.УстановитьКомпонентуПечатиМашиночитаемыхФорм(Истина, ДистрибутивКомпонентыПечатиМашиночитаемыхФорм, КаталогКомпонентыМЧБ);
УправлениеЭУПанельУстановкаКомпонентыПечати();
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьДанныеПредварительное(Результат, ПараметрыОповещения) Экспорт
ОбновитьДанные(
ПараметрыОповещения.Команда
);
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьДанные(Команда)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Команда", Команда);
Оповещение = Новый ОписаниеОповещения("ОбновитьДанныеПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
ДанныеДляОбмена = ВсеОрганизации();
ВыбранныеОрганизации = ДанныеДляОбмена.МассивОрганизаций;
КалендарьОтчетностиБРОКлиентПереопределяемый.ПолучитьОтборПоОрганизациям(ВыбранныеОрганизации);
Если ДанныеДляОбмена.МассивОрганизаций.Количество() = 0
И НЕ ДанныеДляОбмена.ЕстьОграничения Тогда
ДлительнаяОтправкаКлиентСервер.ВывестиОшибку(НСтр("ru = 'Организация не выбрана'"), ,"Организация");
Возврат;
КонецЕсли;
СостояниеВозможностиОбмена = КонтекстЭДОКлиент.СостояниеВозможностиОбмена(ДанныеДляОбмена.МассивОрганизаций);
Если СостояниеВозможностиОбмена.Состояние = 1 Тогда
ОбновитьДанныеПродолжить(ДанныеДляОбмена.МассивОрганизаций);
ИначеЕсли СостояниеВозможностиОбмена.Состояние = 2 Тогда
ОбновитьЖурналОтчетовСтатусы();
Иначе
ПараметрыЦикла = Новый Структура;
ПараметрыЦикла.Вставить("ВыбранныеОрганизации", ДанныеДляОбмена.МассивОрганизаций);
СледующееОповещение = Новый ОписаниеОповещения("НастроитьОграниченияОбмена", ЭтотОбъект, ПараметрыЦикла);
ОткрытьФормуНастройкиОбновления(Истина, СледующееОповещение);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьДанныеСЭДО(Команда)
Если КонтекстЭДОКлиент = Неопределено Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Команда", Команда);
Оповещение = Новый ОписаниеОповещения("ОбновитьДанныеСЭДОПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
ДанныеДляОбмена = ВсеОрганизации();
ВыбранныеОрганизации = ДанныеДляОбмена.МассивОрганизаций;
Если ДанныеДляОбмена.МассивОрганизаций.Количество() = 0
И НЕ ДанныеДляОбмена.ЕстьОграничения Тогда
ДлительнаяОтправкаКлиентСервер.ВывестиОшибку(НСтр("ru = 'Организация не выбрана'"), ,"Организация");
Возврат;
КонецЕсли;
СостояниеВозможностиОбмена = КонтекстЭДОКлиент.СостояниеВозможностиОбмена(ДанныеДляОбмена.МассивОрганизаций);
Если СостояниеВозможностиОбмена.Состояние = 1 Тогда
ОбновитьДанныеСЭДОПродолжить(ДанныеДляОбмена.МассивОрганизаций);
ИначеЕсли СостояниеВозможностиОбмена.Состояние = 2 Тогда
Возврат;
Иначе
ПараметрыЦикла = Новый Структура;
ПараметрыЦикла.Вставить("ВыбранныеОрганизации", ДанныеДляОбмена.МассивОрганизаций);
СледующееОповещение = Новый ОписаниеОповещения(
"НастроитьОграниченияОбменаПоСЭДО", ЭтотОбъект, ПараметрыЦикла);
ОткрытьФормуНастройкиОбновления(Истина, СледующееОповещение);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура НастройкиОбновления(Команда)
ОписаниеСледующее = Новый ОписаниеОповещения("НастройкиОбновленияПосле", ЭтотОбъект);
ПодключитьКлиентскийКонтекст(ОписаниеСледующее);
КонецПроцедуры
&НаКлиенте
Процедура НастройкиОбновленияКоманднаяПанель(Команда)
КалендарьОтчетностиБРОКлиентПереопределяемый.ОбработкаКоманды(ЭтотОбъект, Команда);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьНазначаемуюКоманду(Команда)
РегламентированнаяОтчетностьКлиентПереопределяемый.ФормаРегламентированнойОтчетности_ВыполнитьНазначаемуюКомандуНаКлиенте(ЭтотОбъект, Команда);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьНадписьВремяОбновления()
НадписьВремяОбновления = ОбновитьНадписьВремяОбновления(ДатаПоследнегоОбновления);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПроизвестиДействияПослеПоказаФормыПредварительное(Результат, ПараметрыОповещения) Экспорт
Подключаемый_ПроизвестиДействияПослеПоказаФормы();
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПроизвестиДействияПослеПоказаФормы()
Если НЕ ДлительнаяОтправкаКлиентСервер.ЭтоФормаГрупповойОтправки(, Ложь) Тогда
Активизировать();
КонецЕсли;
Если ПоказатьПредложениеОформитьЗаявлениеНаПодключение Тогда
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
Оповещение = Новый ОписаниеОповещения("Подключаемый_ПроизвестиДействияПослеПоказаФормыПредварительное", ЭтотОбъект);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент <> Неопределено Тогда
ЭлектронныйДокументооборотСКонтролирующимиОрганамиКлиент.ПоказатьФормуПредложениеОформитьЗаявлениеНаПодключение(, Истина);
КонецЕсли;
КонецЕсли;
ОнлайнСервисыРегламентированнойОтчетностиКлиент.АктуализироватьСлужебнуюИнформациюМеханизмаОнлайнСервисовРОПриНеобходимости(
ЭтотОбъект, ПараметрыИНастройкиОнлайнСервисов);
Если ТипЗнч(ВидОтчета) = Тип("СписокЗначений") Тогда
Если ВидОтчета.Количество() = 1 И ЗначениеЗаполнено(ВидОтчета[0].Значение) Тогда
Если Элементы.ОтборВидОтчета.СписокВыбора.НайтиПоЗначению(ВидОтчета[0].Значение) = Неопределено Тогда
СоздатьОтчет();
КонецЕсли;
КонецЕсли;
Иначе
Если ЗначениеЗаполнено(ВидОтчета) Тогда
Если Элементы.ОтборВидОтчета.СписокВыбора.НайтиПоЗначению(ВидОтчета) = Неопределено Тогда
СоздатьОтчет();
КонецЕсли;
КонецЕсли;
КонецЕсли;
#Область Используется1СОтчетность
Если НЕ Используется1СОтчетность И ПроверкаСостоянияИнтеграцииВФонеПриОткрытии <> Неопределено Тогда
ОжидатьЗавершенияФоновогоЗаданияПолученияСостоянияИнтеграцииСБанком(ПроверкаСостоянияИнтеграцииВФонеПриОткрытии);
КонецЕсли;
#КонецОбласти
ОбновитьТаблицуУведомленийСХешем();
КонецПроцедуры
#Область Используется1СОтчетность
&НаКлиенте
Процедура ОжидатьЗавершенияФоновогоЗаданияПолученияСостоянияИнтеграцииСБанком(Результат)
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(Неопределено);
ПараметрыОжидания.ВыводитьСообщения = Истина;
ПараметрыОжидания.ВыводитьОкноОжидания = Ложь;
ПослеПолученияИнформацииОВнешнейКомпоненте = Новый ОписаниеОповещения(
"ОбработатьРезультатПроверкиСостоянияИнтеграцииСБанком", ЭтотОбъект);
ДлительныеОперацииКлиент.ОжидатьЗавершение(Результат, ПослеПолученияИнформацииОВнешнейКомпоненте, ПараметрыОжидания);
КонецПроцедуры
&НаКлиенте
Процедура ОбработатьРезультатПроверкиСостоянияИнтеграцииСБанком(Результат, ДополнительныеПараметры) Экспорт
Если ЗначениеЗаполнено(Результат) Тогда
ПоказатьБаннерСостоянияИнтеграцииСБанком(Результат);
КонецЕсли;
Если ИнтервалПроверкиСостоянияИнтеграцииСБанком > 0 Тогда
ПодключитьОбработчикОжидания("Подключаемый_ЗапуститьПроверкуСостояниеИнтеграцииВФоне", ИнтервалПроверкиСостоянияИнтеграцииСБанком, Истина);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПоказатьБаннерСостоянияИнтеграцииСБанком(Результат)
Если Результат.Статус = "Выполнено" Тогда
ДанныеБаннера = ПолучитьИзВременногоХранилища(Результат.АдресРезультата);
РегламентированнаяОтчетностьПереопределяемый.ПоказатьБаннерСостоянияОтправки(ЭтотОбъект, ДанныеБаннера);
Иначе
Элементы.ГруппаБаннерСостоянияОтправки.Видимость = Ложь;
КонецЕсли
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ЗапуститьПроверкуСостояниеИнтеграцииВФоне() Экспорт
Результат = РегламентированнаяОтчетностьВызовСервера.СостояниеИнтеграцииСБанкомВФоне(УникальныйИдентификатор);
ОжидатьЗавершенияФоновогоЗаданияПолученияСостоянияИнтеграцииСБанком(Результат);
КонецПроцедуры
#КонецОбласти
&НаКлиенте
Процедура Подключаемый_ПроверитьПодключениеИнтернетПоддержки() Экспорт
ПараметрыРаботыКлиентаПриЗапуске = СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиента();
ЗапуститьБыстрыйСтарт = ПараметрыРаботыКлиентаПриЗапуске.ДокументооборотСКонтролирующимиОрганами_ПоказатьБыстрыйСтартО1СО;
Если ЗапуститьБыстрыйСтарт Тогда
Возврат;
КонецЕсли;
ФормаАвторизации = ФормаОкнаАвторизацииИППЕслиОткрыто();
Если НЕ ДлительнаяОтправкаКлиентСервер.ЭтоФормаГрупповойОтправки(, Ложь) Тогда
Активизировать();
КонецЕсли;
Если ФормаАвторизации <> Неопределено Тогда
ФормаАвторизации.Закрыть();
КонецЕсли;
ИнтернетПоддержкаПользователейБРОКлиент.ПроверитьВозможностьВыполненияОперации(
ОписаниеОповещенияПослеПроверкиПодключенияКИПП, ЭтотОбъект);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ОбновитьНадписьВремяОбновления(ДатаПоследнегоОбновления)
ДатаПоследнегоОбновления = ЭлектронныйДокументооборотСКонтролирующимиОрганами.ДатаПоследнегоОбновленияСобытий();
Возврат ЭлектронныйДокументооборотСКонтролирующимиОрганами.ПолучитьНадписьВремяОбновления(ДатаПоследнегоОбновления);
КонецФункции
&НаКлиенте
Процедура ЗагрузитьИзФайлаВФормуОтчета(Команда)
РегламентированнаяОтчетностьЗагрузкаКлиент.ЗагрузитьИзФайлаОтчет(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьИзФайлаВФормуУведомление(Команда)
УведомлениеОСпецрежимахНалогообложенияКлиент.ЗагрузитьИзФайлаУведомление(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьИзФайлаВЭлектронноеПредставлениеПредварительное(Результат, ПараметрыОповещения) Экспорт
ЗагрузитьИзФайлаВЭлектронноеПредставление(
ПараметрыОповещения.Команда
);
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьИзФайлаВЭлектронноеПредставление(Команда)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Команда", Команда);
Оповещение = Новый ОписаниеОповещения("ЗагрузитьИзФайлаВЭлектронноеПредставлениеПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
КонтекстЭДОКлиент.ПолучениеФайловДляИмпортаНачало(УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьМашиночитаемуюДоверенность(Команда)
Если ЗначениеЗаполнено(ИмяТипаСправочникаМашиночитаемыеДоверенности) Тогда
ОписаниеОповещения = Новый ОписаниеОповещения("ЗагрузитьМашиночитаемуюДоверенностьЗавершение",
ЭтотОбъект);
МодульМашиночитаемыеДоверенностиФНССлужебныйКлиент =
ОбщегоНазначенияКлиент.ОбщийМодуль("МашиночитаемыеДоверенностиФНССлужебныйКлиент");
МодульМашиночитаемыеДоверенностиФНССлужебныйКлиент.ПолучитьДоверенностьИзРеестраФНС(ОписаниеОповещения);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьМашиночитаемуюДоверенностьРаспределенныйРеестр(Команда)
ОписаниеОповещения = Новый ОписаниеОповещения("ЗагрузитьМашиночитаемуюДоверенностьРаспределенныйРеестрЗавершение",
ЭтотОбъект);
ДокументооборотСКОКлиент.ПолучитьДанныеМЧДРР(ОписаниеОповещения,, ЭтаФорма);
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьМашиночитаемуюДоверенностьФНС(Команда)
ОткрытьФорму(
"Справочник.МашиночитаемыеДоверенностиФНС.Форма.ФормаЗагрузкиИзФайла",,
ЭтаФорма,,,,,
РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьЗаявлениеОбОтзывеМЧДФНС(Команда)
ОткрытьФорму(
"Справочник.ЗаявленияОбОтзывеМЧДФНС.Форма.ФормаЗагрузкиИзФайла",,
ЭтаФорма,,,,,
РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьМашиночитаемуюДоверенностьФССПредварительное(Результат, ПараметрыОповещения) Экспорт
ЗагрузитьМашиночитаемуюДоверенностьФСС(ПараметрыОповещения.Команда);
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьМашиночитаемуюДоверенностьФСС(Команда)
Если КонтекстЭДОКлиент = Неопределено И НЕ КонтекстУжеПодключался Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Команда", Команда);
Оповещение = Новый ОписаниеОповещения("ЗагрузитьМашиночитаемуюДоверенностьФССПредварительное",
ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
КонтекстЭДОКлиент.ЗагрузитьМашиночитаемуюДоверенностьФСС();
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьМашиночитаемуюДоверенностьЦБ(Команда)
Если ЗначениеЗаполнено(ИмяТипаСправочникаМашиночитаемыеДоверенностиЦБ) Тогда
ОткрытьФорму(
"Справочник." + ИмяТипаСправочникаМашиночитаемыеДоверенностиЦБ + ".Форма.ФормаЗагрузкиИзФайла",,
ЭтаФорма,,,,,
РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьУведомлениеОПредоставленииПолномочийПредставителю(Команда)
ОписаниеОповещения = Новый ОписаниеОповещения("ЗагрузитьУведомлениеОПредоставленииПолномочийПредставителюПослеЗагрузки", ЭтотОбъект);
ДополнительныеПараметры = Новый Структура();
ДополнительныеПараметры.Вставить("Фильтр", "XML-файл УПУП ПФР (*.xml)|*.xml");
ДополнительныеПараметры.Вставить("ВозвращатьРазмер", Истина);
ДополнительныеПараметры.Вставить("МножественныйВыбор", Ложь);
ОперацииСФайламиЭДКОКлиент.ДобавитьФайлы(
ОписаниеОповещения,
Новый УникальныйИдентификатор,
НСтр("ru = 'Выберите xml-файл'"),
ДополнительныеПараметры);
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьУведомлениеОПредоставленииПолномочийПредставителюПослеЗагрузки(Результат, ДополнительныеПараметры) Экспорт
Если НЕ Результат.Выполнено ИЛИ Результат.ОписанияФайлов.Количество() = 0 Тогда
Возврат;
КонецЕсли;
ОписаниеФайла = Результат.ОписанияФайлов[0];
Если ЗначениеЗаполнено(ОписаниеФайла) Тогда
Попытка
УПУП = ДокументооборотСКОВызовСервера.ЗначениеXMLФайлаПоАдресу(ОписаниеФайла.Адрес, "xmlns", "utf-8");
Если УПУП <> "http://пф.рф/УПУП/2020-02-03" Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(
НСтр("ru = 'Выбран файл не уведомления о предоставлении полномочий представителю ПФР'"));
Возврат;
КонецЕсли;
Исключение
ОбщегоНазначенияКлиент.СообщитьПользователю(
НСтр("ru = 'Выбран файл не уведомления о предоставлении полномочий представителю ПФР'"),,,, Истина);
Возврат;
КонецПопытки;
КонецЕсли;
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ЗагрузитьДокументИзФайлаОбмена", Истина);
ПараметрыФормы.Вставить("АдресФайла", ОписаниеФайла.Адрес);
ОткрытьФорму(
"Документ.УведомлениеОПредоставленииПолномочийПредставителю.Форма.ФормаДокумента",
ПараметрыФормы,
ЭтаФорма,,,,,);
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьУведомлениеОПрекращенииПолномочийПредставителя(Команда)
ОписаниеОповещения = Новый ОписаниеОповещения("ЗагрузитьУведомлениеОПрекращенииПолномочийПредставителяПослеЗагрузки", ЭтотОбъект);
ДополнительныеПараметры = Новый Структура();
ДополнительныеПараметры.Вставить("Фильтр", "XML-файл УПУП ПФР (*.xml)|*.xml");
ДополнительныеПараметры.Вставить("ВозвращатьРазмер", Истина);
ДополнительныеПараметры.Вставить("МножественныйВыбор", Ложь);
ОперацииСФайламиЭДКОКлиент.ДобавитьФайлы(
ОписаниеОповещения,
Новый УникальныйИдентификатор,
НСтр("ru = 'Выберите xml-файл'"),
ДополнительныеПараметры);
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьУведомлениеОПрекращенииПолномочийПредставителяПослеЗагрузки(Результат, ДополнительныеПараметры) Экспорт
Если НЕ Результат.Выполнено ИЛИ Результат.ОписанияФайлов.Количество() = 0 Тогда
Возврат;
КонецЕсли;
ОписаниеФайла = Результат.ОписанияФайлов[0];
Если ЗначениеЗаполнено(ОписаниеФайла) Тогда
Попытка
УПРУП = ДокументооборотСКОВызовСервера.ЗначениеXMLФайлаПоАдресу(ОписаниеФайла.Адрес, "xmlns", "utf-8");
Если УПРУП <> "http://пф.рф/УПРУП/2020-02-03" Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(
НСтр("ru = 'Выбран файл не уведомления о прекращении полномочий представителя ПФР'"));
Возврат;
КонецЕсли;
Исключение
ОбщегоНазначенияКлиент.СообщитьПользователю(
НСтр("ru = 'Выбран файл не уведомления о прекращении полномочий представителя ПФР'"),,,, Истина);
Возврат;
КонецПопытки;
КонецЕсли;
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ЗагрузитьДокументИзФайлаОбмена", Истина);
ПараметрыФормы.Вставить("АдресФайла", ОписаниеФайла.Адрес);
ОткрытьФорму(
"Документ.УведомлениеОПрекращенииПолномочийПредставителя.Форма.ФормаДокумента",
ПараметрыФормы,
ЭтаФорма,,,,,);
КонецПроцедуры
&НаКлиенте
Процедура ПроверитьВИнтернете(Команда)
ОнлайнПроверка(Элементы.Отчеты);
КонецПроцедуры
&НаКлиенте
Процедура Выгрузить(Команда)
ТекущиеДанные = Элементы.Отчеты.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
Ссылка = ТекущиеДанные.РегламентированныйОтчет;
Если ТипЗнч(Ссылка) = Тип("СправочникСсылка.ЭлектронныеПредставленияРегламентированныхОтчетов") Тогда
Ссылка = ТекущиеДанные.РегламентированныйОтчет;
НаименованиеОтчета = ТекущиеДанные.НаименованиеОтчета;
ВыгрузкаЭлектронногоПредставления(Ссылка, НаименованиеОтчета);
ИначеЕсли ТипЗнч(Ссылка) = Тип("ДокументСсылка.РегламентированныйОтчет") Тогда
Ссылка = ТекущиеДанные.РегламентированныйОтчет;
НаименованиеОтчета = ТекущиеДанные.НаименованиеОтчета;
ВариантОтчета = ТекущиеДанные.ВариантОтчета;
ПредставлениеПериода = ТекущиеДанные.ФинансовыйПериод;
ОрганизацияСсылка = ТекущиеДанные.Организация;
ВыгрузкаРегламентированногоОтчета(Ссылка, ОрганизацияСсылка, НаименованиеОтчета, ВариантОтчета, ПредставлениеПериода);
ИначеЕсли ТипЗнч(Ссылка) = Тип("СправочникСсылка.МакетыПенсионныхДел") Тогда
ПоказатьПредупреждение(,НСтр("ru = 'Выгрузка макетов пенсионных дел не предусмотрена'"));
ИначеЕсли ТипЗнч(Ссылка) = Тип("СправочникСсылка.ЗаявлениеОНазначенииПенсии") Тогда
ПоказатьПредупреждение(,НСтр("ru = 'Выгрузка заявлений о назначении пенсии не предусмотрена'"));
ИначеЕсли ТипЗнч(Ссылка) = Тип("ДокументСсылка.ЗаявленияПоЭлДокументооборотуСПФР") Тогда
ПоказатьПредупреждение(,НСтр("ru = 'Выгрузка заявлений не предусмотрена'"));
ИначеЕсли ТипЗнч(Ссылка) = Тип("ДокументСсылка.УведомлениеОПредоставленииПолномочийПредставителю") Тогда
ПоказатьПредупреждение(,НСтр("ru = 'Выгрузка уведомлений не предусмотрена'"));
Иначе
РегламентированнаяОтчетностьКлиент.Выгрузить(Ссылка, ЭтотОбъект.УникальныйИдентификатор);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПечатьОтчет(Команда)
ПечатьОтчетности(Команда.Имя);
КонецПроцедуры
&НаКлиенте
Процедура ОтправитьОтчетПредварительное(Результат, ПараметрыОповещения) Экспорт
ОтправитьОтчет(
ПараметрыОповещения.Команда
);
КонецПроцедуры
&НаКлиенте
Процедура ОтправитьОтчет(Команда)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Команда", Команда);
Оповещение = Новый ОписаниеОповещения("ОтправитьОтчетПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
ТекущиеДанные = Элементы.Отчеты.ТекущиеДанные;
РегламентированнаяОтчетностьКлиент.ОтправитьОтчетИзФормыСписка(ЭтотОбъект, Команда.Имя, КонтекстЭДОКлиент, ТекущиеДанные);
КонецПроцедуры
&НаКлиенте
Процедура ОтправитьОтчетПодтверждениеОтправкиОтчетаЗавершение(Отказ, ДополнительныеПараметры) Экспорт
Если Отказ <> КодВозвратаДиалога.ОК Тогда
Возврат;
КонецЕсли;
Ссылка = ДополнительныеПараметры.Ссылка;
Если ТипЗнч(Ссылка) = Тип("ДокументСсылка.РегламентированныйОтчет") Тогда
ОписаниеОповещения = Новый ОписаниеОповещения("ПроверкаВозможностиВыгрузкиРегламентированногоОтчетаПередОтправкой", ЭтотОбъект, ДополнительныеПараметры);
РегламентированнаяОтчетностьКлиент.ПередОтправкойРегламентированногоОтчета(ОписаниеОповещения, Ссылка);
Возврат;
Иначе
ОписаниеОповещения = Новый ОписаниеОповещения("ОтправитьОтчетЗавершение", ЭтотОбъект, ДополнительныеПараметры);
ВыполнитьОбработкуОповещения(ОписаниеОповещения, Ложь);
Возврат;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПроверкаВозможностиВыгрузкиРегламентированногоОтчетаПередОтправкой(Отказ, ДополнительныеПараметры) Экспорт
Если Отказ Тогда
Возврат;
КонецЕсли;
Ссылка = ДополнительныеПараметры.Ссылка;
ОписаниеОповещения = Новый ОписаниеОповещения("ОтправитьОтчетЗавершение", ЭтотОбъект, ДополнительныеПараметры);
РегламентированнаяОтчетностьКлиент.ПередВыгрузкойРегламентированногоОтчета(ОписаниеОповещения, Ссылка);
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьМашиночитаемуюДоверенностьЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если (ТипЗнч(Результат) = Тип("Структура") ИЛИ ТипЗнч(Результат) = Тип("ФиксированнаяСтруктура"))
И Результат.Свойство("Доверенность") И ЗначениеЗаполнено(Результат.Доверенность) Тогда
ПоказатьЗначение(, Результат.Доверенность);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьМашиночитаемуюДоверенностьРаспределенныйРеестрЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если ЗначениеЗаполнено(Результат.СсылкаНаДоверенность) Тогда
ОткрытьФорму(
"Справочник.МашиночитаемыеДоверенностиРаспределенныйРеестр.ФормаОбъекта",
Новый Структура("Ключ, ОбновитьСостояниеПриОткрытии", Результат.СсылкаНаДоверенность, Истина),,
Новый УникальныйИдентификатор);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОтправитьОтчетЗавершение(Отказ, ДополнительныеПараметры) Экспорт
Если Отказ Тогда
Возврат;
КонецЕсли;
РегламентированнаяОтчетностьКлиент.ПриНажатииНаКнопкуОтправкиВКонтролирующийОрган(ЭтотОбъект, ДополнительныеПараметры.КонтролирующийОрган, ,
Истина, ДополнительныеПараметры.Ссылка, ДополнительныеПараметры.Организация);
КонецПроцедуры
&НаКлиенте
Процедура ПечатьОтчетШтрих(Команда)
ПечатьОтчетности(Команда.Имя);
КонецПроцедуры
&НаКлиенте
Процедура ПроверитьВыгрузкуПредварительное(Результат, ПараметрыОповещения) Экспорт
ПроверитьВыгрузку(
ПараметрыОповещения.Команда
);
КонецПроцедуры
&НаКлиенте
Процедура ПроверитьВыгрузку(Команда)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Команда", Команда);
Оповещение = Новый ОписаниеОповещения("ПроверитьВыгрузкуПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
ТекущиеДанные = Элементы.Отчеты.ТекущиеДанные;
Закладка = Элементы.Отчеты;
Если ТекущиеДанные <> Неопределено Тогда
Ссылка = ТекущиеДанные.РегламентированныйОтчет;
Если ТипЗнч(Ссылка) = Тип("СправочникСсылка.ЭлектронныеПредставленияРегламентированныхОтчетов") Тогда
ПредупредитьОбОграничениях(Закладка, НСтр("ru = 'Проверка выгрузки не предусмотрена'"));
Возврат;
ИначеЕсли ТипЗнч(Ссылка) = Тип("ДокументСсылка.РегламентированныйОтчет") Тогда
СтандартнаяОбработка = Истина;
Если ВыполнениеКомандыОтменено(?(ТекущиеДанные.Свойство("НаименованиеОтчета"), ТекущиеДанные.НаименованиеОтчета, ТекущиеДанные.Наименование), ТекущиеДанные.Организация) Тогда
Возврат;
КонецЕсли;
ТекущиеДанныеНаименованиеОтчета = ?(ТекущиеДанные.Свойство("НаименованиеОтчета"), ТекущиеДанные.НаименованиеОтчета, ТекущиеДанные.Наименование);
ОписаниеОтчета = ОписаниеРегОтчета(ТекущиеДанные.РегламентированныйОтчет);
Если ОбработаноДействиеДляАлкоОтчета(ТекущиеДанные.РегламентированныйОтчет,
ОписаниеОтчета, "ПроверкаВыгрузки") Тогда
Возврат;
КонецЕсли;
Если ТекущиеДанныеНаименованиеОтчета = "Информация об операциях с денежными средствами НФО" Тогда
ОписаниеРегОтчета = ОписаниеРегОтчета(Ссылка);
Если ОписаниеРегОтчета.ВыбраннаяФорма = "ФормаОтчета2022Кв2" Тогда
ПоказатьПредупреждение(, НСтр(
"ru='Проверка выгрузки в электронном виде формы
|отчета будет реализована в будущих
|версиях программы'"));
Возврат;
КонецЕсли;
КонецЕсли;
Если ТекущиеДанныеНаименованиеОтчета = "Реестр для налоговых вычетов по акцизам на виноград (КНД 1150116)"
И ОписаниеРегОтчета(Ссылка).ВыбраннаяФорма = "ФормаОтчета2021Кв4" Тогда
ПоказатьПредупреждение(, НСтр(
"ru='Проверка выгрузки в электронном виде формы
|отчета не предусмотрена'"));
Возврат;
КонецЕсли;
Если ТекущиеДанныеНаименованиеОтчета
= "Реестр для налоговых вычетов по акцизам на виноматериалы, виноградное и фруктовое сусло (КНД 1150115)"
И ОписаниеРегОтчета(Ссылка).ВыбраннаяФорма = "ФормаОтчета2021Кв4" Тогда
ПоказатьПредупреждение(, НСтр(
"ru='Проверка выгрузки в электронном виде формы
|отчета не предусмотрена'"));
Возврат;
КонецЕсли;
Если ТекущиеДанныеНаименованиеОтчета = "Движение средств по счету в банке за пределами РФ" Тогда
ОписаниеРегОтчета = ОписаниеРегОтчета(Ссылка);
Если ОписаниеРегОтчета.ВыбраннаяФорма = "ФормаОтчета2015Кв3" Тогда
ПоказатьПредупреждение(, НСтр(
"ru='Проверка выгрузки в электронном виде формы отчета
|в редакции постановления Правительства РФ
|от 25.07.2015 № 761 не предусмотрена
|законодательством. Форма сдается в бумажном виде'"));
Возврат;
КонецЕсли;
КонецЕсли;
Если ТекущиеДанныеНаименованиеОтчета = "Доходы, выплаченные иностранным организациям" Тогда
ОписаниеДохИно = ОписаниеРегОтчета(Ссылка);
Если (ОписаниеДохИно.ВыбраннаяФорма = "ФормаОтчета2023Кв4"
ИЛИ ОписаниеДохИно.ВыбраннаяФорма = "ФормаОтчета2020Кв1"
ИЛИ ОписаниеДохИно.ВыбраннаяФорма = "ФормаОтчета2016Кв1")
И ОписаниеДохИно.Свойство("ВозможноВосстановитьДанныеРеглОтчетаСозданногоВОбычномПриложении") Тогда
Если НЕ ОписаниеДохИно.ВозможноВосстановитьДанныеРеглОтчетаСозданногоВОбычномПриложении Тогда
Если ОписаниеДохИно.Свойство("ТекстСообщения") Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр(
"ru='%1 Проверка выгрузки прервана.'"), ОписаниеДохИно.ТекстСообщения);
Сообщение.Сообщить();
КонецЕсли;
Возврат;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если ТекущиеДанныеНаименованиеОтчета = "Сведения о доле доходов от туристско-рекреационной деятельности" Тогда
Если ОписаниеРегОтчета(Ссылка).ВыбраннаяФорма = "ФормаОтчета2018Кв1" Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр(
"ru='Выгрузка, проверка выгрузки, проверка в интернете, отправка в электронном виде, печать с двухмерным
|штрихкодом PDF417 формы отчета ""%1"",
|рекомендованной письмом ФНС России от 16.01.2019 № СД-4-3/441@, не предусмотрены'"),
ТекущиеДанныеНаименованиеОтчета);
Сообщение.Сообщить();
Возврат;
КонецЕсли;
КонецЕсли;
Если ТекущиеДанныеНаименованиеОтчета = "РСВ-1 ПФР" Тогда
ОписаниеРСВ_1 = ОписаниеРегОтчета(Элементы.Отчеты.ТекущиеДанные.РегламентированныйОтчет);
Если ОписаниеРСВ_1.ДатаКонцаПериодаОтчета >= '20140101' Тогда
Если НЕ (ПерсонифицированныйУчетВедетсяВоВнешнейПрограмме И ОписаниеРСВ_1.ОтчетСтарогоОбразца_20141101) Тогда
РегламентированнаяОтчетностьКлиент.ПриПроверкеВыгрузкиРСВ_1ИзЖурналаРеглОтчетов(Ссылка, ОписаниеРСВ_1, СтандартнаяОбработка);
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если (ТекущиеДанныеНаименованиеОтчета = "Статистика: Форма учета перемещения товаров"
ИЛИ ТекущиеДанныеНаименованиеОтчета = "Статистическая форма учета перемещения товаров") И КонтекстЭДОКлиент <> Неопределено Тогда
ДокументЗаявлениеОВвозеТоваров = Неопределено;
ИмяДокументаЗаявлениеОВвозеТоваров = Неопределено;
РезультатПолученияЗаявленияОВвозеТоваров = КонтекстЭДОКлиент.ПопытатьсяПолучитьЗаявлениеОВвозеТоваровИзСтатформы(
Ссылка, ДокументЗаявлениеОВвозеТоваров, ИмяДокументаЗаявлениеОВвозеТоваров);
Если РезультатПолученияЗаявленияОВвозеТоваров = Неопределено Тогда
Возврат;
ИначеЕсли РезультатПолученияЗаявленияОВвозеТоваров Тогда
ДополнительныеПараметры = Новый Структура();
ДополнительныеПараметры.Вставить("ДокументЗаявлениеОВвозеТоваров", ДокументЗаявлениеОВвозеТоваров);
ДополнительныеПараметры.Вставить("ИмяДокументаЗаявлениеОВвозеТоваров", ИмяДокументаЗаявлениеОВвозеТоваров);
ОписаниеОповещения = Новый ОписаниеОповещения("ПроверитьВыгрузкуЗавершениеИзСтатформы", ЭтотОбъект, ДополнительныеПараметры);
РегламентированнаяОтчетностьКлиент.ПередВыгрузкойРегламентированногоОтчета(ОписаниеОповещения, Ссылка);
Возврат;
КонецЕсли;
КонецЕсли;
Если СтандартнаяОбработка Тогда
ДополнительныеПараметры = Новый Структура();
ДополнительныеПараметры.Вставить("Ссылка", Ссылка);
ОписаниеОповещения = Новый ОписаниеОповещения("ПроверитьВыгрузкуЗавершение", ЭтотОбъект, ДополнительныеПараметры);
РегламентированнаяОтчетностьКлиент.ПередВыгрузкойРегламентированногоОтчета(ОписаниеОповещения, Ссылка);
Возврат;
КонецЕсли;
Иначе
ПредупредитьОбОграничениях(Закладка, НСтр("ru = 'Проверка выгрузки не предусмотрена'"));
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПроверитьВыгрузкуЗавершение(Отказ, ДополнительныеПараметры) Экспорт
Если Отказ Тогда
Возврат;
КонецЕсли;
СписокОтчетов = Новый СписокЗначений;
СписокОтчетов.Добавить(ДополнительныеПараметры.Ссылка);
Если НЕ РегламентированнаяОтчетностьКлиент.ПроверитьРегламентированныеОтчеты(СписокОтчетов) Тогда
ПоказатьПредупреждение(,НСтр("ru='Проверка прервана!'"));
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПроверитьВыгрузкуЗавершениеИзСтатформыПредварительное(Результат, ПараметрыОповещения) Экспорт
ПроверитьВыгрузкуЗавершениеИзСтатформы(
ПараметрыОповещения.Отказ,
ПараметрыОповещения.ДополнительныеПараметры
);
КонецПроцедуры
&НаКлиенте
Процедура ПроверитьВыгрузкуЗавершениеИзСтатформы(Отказ, ДополнительныеПараметры) Экспорт
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Отказ", Отказ);
ПараметрыОповещения.Вставить("ДополнительныеПараметры", ДополнительныеПараметры);
Оповещение = Новый ОписаниеОповещения("ПроверитьВыгрузкуЗавершениеИзСтатформыПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
ДокументЗаявлениеОВвозеТоваров = ДополнительныеПараметры.ДокументЗаявлениеОВвозеТоваров;
ИмяДокументаЗаявлениеОВвозеТоваров = ДополнительныеПараметры.ИмяДокументаЗаявлениеОВвозеТоваров;
Если Отказ Тогда
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
АдресФайлаВыгрузки = Неопределено;
ИмяФайлаВыгрузки = "";
РезультатВыгрузки = КонтекстЭДОКлиент.ПопытатьсяВыгрузитьСтатформуИзЗаявленияОВвозеТоваров(
АдресФайлаВыгрузки,
ИмяФайлаВыгрузки,
,
Истина,
Истина,
ДокументЗаявлениеОВвозеТоваров,
ИмяДокументаЗаявлениеОВвозеТоваров);
Если РезультатВыгрузки = Истина Тогда
ПоказатьПредупреждение(,НСтр("ru='Ошибок не обнаружено!'"));
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПечатьПротоколовОтчетов(Команда)
ТекущиеДанные = Элементы.Отчеты.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
Ссылка = ТекущиеДанные.РегламентированныйОтчет;
ВидКонтролирующегоОргана = ТекущиеДанные.ВидКонтролирующегоОргана;
СостояниеСдачиОтчетности = ТекущиеДанные.СостояниеСдачиОтчетности;
НеОтправляетсяВКонтролирующийОрган = ТекущиеДанные.НеОтправляетсяВКонтролирующийОрган;
ПечатьПротоколовПоСсылке(
Элементы.Отчеты,
Ссылка,
ВидКонтролирующегоОргана,
НеОтправляетсяВКонтролирующийОрган,
СостояниеСдачиОтчетности);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьПрисоединенныеФайлыОтчета(Команда)
ОткрытьПрисоединенныеФайлы();
КонецПроцедуры
&НаКлиенте
Процедура ГрупповойРежимПредварительное(Результат, ПараметрыОповещения) Экспорт
ГрупповойРежим(
ПараметрыОповещения.Команда
);
КонецПроцедуры
&НаКлиенте
Процедура ГрупповойРежим(Команда)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Команда", Команда);
Оповещение = Новый ОписаниеОповещения("ГрупповойРежимПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
ДополнительныеПараметры = Новый Структура();
ДополнительныеПараметры.Вставить("НачалоПериода", НачалоПериода);
ДополнительныеПараметры.Вставить("КонецПериода", КонецПериода);
ДополнительныеПараметры.Вставить("Организация", Организация);
ДополнительныеПараметры.Вставить("ВидОтчета", ВидОтчета);
ДополнительныеПараметры.Вставить("ПериодОтчета", ПериодОтчета);
ДополнитьОтборГрупповойОтправки(ДополнительныеПараметры);
ОткрытьФорму(КонтекстЭДОКлиент.ПутьКОбъекту + ".Форма.ГрупповаяОтправка", ДополнительныеПараметры, ЭтотОбъект);
КонецПроцедуры
&НаСервере
Функция ДополнитьОтборГрупповойОтправки(ВходящийКонтекст)
Ссылки = Новый Массив;
Для каждого Строка Из Элементы.Отчеты.ВыделенныеСтроки Цикл
Ссылки.Добавить(Строка.Ссылка);
КонецЦикла;
Если Ссылки.Количество() > 1 Тогда
ВходящийКонтекст.Вставить("Ссылки", Ссылки);
КонецЕсли;
КонецФункции
#КонецОбласти
#Область КомандыЗакладкиСверки
&НаКлиенте
Процедура ОтправитьСверкуПредварительное(Результат, ПараметрыОповещения) Экспорт
ОтправитьСверку(
ПараметрыОповещения.Команда
);
КонецПроцедуры
&НаКлиенте
Процедура ОтправитьСверку(Команда)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Команда", Команда);
Оповещение = Новый ОписаниеОповещения("ОтправитьСверкуПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
ТекущиеДанные = Элементы.Сверки.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
ОтправляемыйОбъект = ТекущиеДанные.Ссылка;
ТекущаяОрганизация = ТекущиеДанные.Организация;
Если ЕщеНеОтправлялся(ОтправляемыйОбъект) Тогда
ОписаниеОповещения = Новый ОписаниеОповещения("ОтправитьСверкуЗавершение", ЭтотОбъект);
Если ТипЗнч(ОтправляемыйОбъект) = Тип("ДокументСсылка.ЗапросНаИнформационноеОбслуживаниеНалогоплательщика") Тогда
КонтекстЭДОКлиент.ОтправкаЗапросаНаИнформационноеОбслуживание(ОтправляемыйОбъект, ТекущаяОрганизация, ОписаниеОповещения);
ИначеЕсли ТипЗнч(ОтправляемыйОбъект) = Тип("ДокументСсылка.ЗапросНаИнформационноеОбслуживаниеСтрахователя") Тогда
КонтекстЭДОКлиент.ОтправкаЗапросаИОС(ОтправляемыйОбъект, ТекущаяОрганизация, ОписаниеОповещения);
ИначеЕсли ТипЗнч(ОтправляемыйОбъект) = Тип("ДокументСсылка.ЗаявлениеНаФормированиеСправкиОРасчетах") Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Заявление на формирование справки о расчетах отправляется из формы документа'"));
Иначе
КонтекстЭДОКлиент.ОбъектЗаполненКорректно(ОтправляемыйОбъект);
КонецЕсли;
Иначе
ПоказатьПредупреждение(, НСтр("ru = 'Запрос на сверку уже отправлен'"));
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОтправитьСверкуЗавершение(Результат, ДополнительныеПараметры) Экспорт
Элементы.Сверки.Обновить();
КонецПроцедуры
&НаКлиенте
Процедура СоздатьПредставлениеАктовСверкиРасчетов(Команда)
СоздатьСверку(ПредопределенноеЗначение("Перечисление.ВидыУслугПриИОН.ПредставлениеАктовСверкиРасчетов"));
КонецПроцедуры
&НаКлиенте
Процедура СоздатьПредставлениеВыпискиОперацийИзКарточкиРасчетыСБюджетом(Команда)
СоздатьСверку(ПредопределенноеЗначение("Перечисление.ВидыУслугПриИОН.ПредставлениеВыпискиОперацийИзКарточкиРасчетыСБюджетом"));
КонецПроцедуры
&НаКлиенте
Процедура СоздатьПредставлениеПеречняБухгалтерскойИНалоговойОтчетности(Команда)
СоздатьСверку(ПредопределенноеЗначение("Перечисление.ВидыУслугПриИОН.ПредставлениеПеречняБухгалтерскойИНалоговойОтчетности"));
КонецПроцедуры
&НаКлиенте
Процедура СоздатьПредставлениеСправкиОСостоянииРасчетовСБюджетом(Команда)
СоздатьСверку(ПредопределенноеЗначение("Перечисление.ВидыУслугПриИОН.ПредставлениеСправкиОСостоянииРасчетовСБюджетом"));
КонецПроцедуры
&НаКлиенте
Процедура СоздатьПредставлениеСправкиОбИсполненииОбязанностейПоУплате(Команда)
СоздатьСверку(ПредопределенноеЗначение("Перечисление.ВидыУслугПриИОН.ПредставлениеСправкиОбИсполненииОбязанностейПоУплате"));
КонецПроцедуры
&НаКлиенте
Процедура СоздатьСверкаФИОиСНИЛС(Команда)
СоздатьСверку(ПредопределенноеЗначение("Перечисление.ВидыУслугПриИОС.СверкаФИОиСНИЛС"));
КонецПроцедуры
&НаКлиенте
Процедура ВыгрузитьСверкуПредварительное(Результат, ПараметрыОповещения) Экспорт
ВыгрузитьСверку(
ПараметрыОповещения.Команда
);
КонецПроцедуры
&НаКлиенте
Процедура ВыгрузитьСверку(Команда)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Команда", Команда);
Оповещение = Новый ОписаниеОповещения("ВыгрузитьСверкуПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
ТекущиеДанные = Элементы.Сверки.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
ОтправляемыйОбъект = ТекущиеДанные.Ссылка;
Если ТипЗнч(ОтправляемыйОбъект) = Тип("ДокументСсылка.ЗапросНаИнформационноеОбслуживаниеНалогоплательщика") Тогда
КонтекстЭДОКлиент.ВыгрузитьЗапросИОНВФайл(ОтправляемыйОбъект, УникальныйИдентификатор);
Иначе
КонтекстЭДОКлиент.ВыгрузитьЗапросИОСВФайл(ОтправляемыйОбъект, УникальныйИдентификатор);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПечатьСверкиПредварительное(Результат, ПараметрыОповещения) Экспорт
ПечатьСверки(
ПараметрыОповещения.Команда
);
КонецПроцедуры
&НаКлиенте
Процедура ПечатьСверки(Команда)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Команда", Команда);
Оповещение = Новый ОписаниеОповещения("ПечатьСверкиПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
ТекущиеДанные = ТекущаяТаблица(ЭтотОбъект).ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
ПечатаемыйОбъект = ТекущиеДанные.Ссылка;
Если ТипЗнч(ТекущиеДанные.Ссылка) = Тип("ДокументСсылка.ЗаявлениеНаФормированиеСправкиОРасчетах") Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Печать справки о расчетах не предусмотрена'"));
Возврат;
КонецЕсли;
Если НЕ КонтекстЭДОКлиент.ОбъектЗаполненКорректно(ПечатаемыйОбъект) Тогда
Возврат;
КонецЕсли;
ПечатнаяФормаСверки = ТабличныйДокументСверки(ПечатаемыйОбъект);
КонтекстЭДОКлиент.НапечататьДокумент(ПечатнаяФормаСверки, Строка(ПечатаемыйОбъект));
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СоздатьЗаявлениеНаФормированиеСправкиОРасчетах(Команда)
ФормаДокумента = "Документ.ЗаявлениеНаФормированиеСправкиОРасчетах.Форма.ФормаДокумента";
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ЗначенияЗаполнения", Новый Структура("Организация, ДатаЗадолженности", Организация, НачалоКвартала(ТекущаяДатаНаСервере())));
ОткрытьФорму(ФормаДокумента, ПараметрыФормы, ЭтотОбъект, Новый УникальныйИдентификатор);
КонецПроцедуры
#КонецОбласти
#Область КомандыЗакладкиЕГРЮЛ
&НаКлиенте
Процедура СоздатьЗапросНаВыпискуИзЕГРЮЛ_ЕГРИП(Команда)
СоздатьНовыйЗапросНаВыпискуИзЕГРЮЛ_ЕГРИП();
КонецПроцедуры
&НаКлиенте
Процедура ОтправитьЗапросНаВыпискуИзЕГРЮЛ_ЕГРИППредварительное(Результат, ПараметрыОповещения) Экспорт
ОтправитьЗапросНаВыпискуИзЕГРЮЛ_ЕГРИП(
ПараметрыОповещения.Команда
);
КонецПроцедуры
&НаКлиенте
Процедура ОтправитьЗапросНаВыпискуИзЕГРЮЛ_ЕГРИП(Команда)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Команда", Команда);
Оповещение = Новый ОписаниеОповещения("ОтправитьЗапросНаВыпискуИзЕГРЮЛ_ЕГРИППредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
ТекущиеДанные = Элементы.ЕГРЮЛ.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
Ссылка = ТекущиеДанные.Ссылка;
ТекущаяОрганизация = ТекущиеДанные.Организация;
Если ТипЗнч(ТекущиеДанные.Ссылка) = Тип("ДокументСсылка.УведомлениеОСпецрежимахНалогообложения") Тогда
ТекстСообщения = НСтр("ru = 'Для формирования пакета Р13014 или Р24001 зайдите в форму отчета. Отправка других форм не поддерживается.'");
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстСообщения, Ссылка);
ИначеЕсли ЕщеНеОтправлялся(Ссылка) Тогда
ОписаниеОповещения = Новый ОписаниеОповещения("ОтправитьЗапросНаВыпискуИзЕГРЮЛ_ЕГРИПЗавершение", ЭтотОбъект);
КонтекстЭДОКлиент.ОтправкаЗапросаНаВыпискуИзЕГР(Ссылка, ТекущаяОрганизация, ОписаниеОповещения);
Иначе
ПоказатьПредупреждение(, НСтр("ru = 'Запрос уже отправлен'"));
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОтправитьЗапросНаВыпискуИзЕГРЮЛ_ЕГРИПЗавершение(Результат, ДополнительныеПараметры) Экспорт
Элементы.ЕГРЮЛ.Обновить();
КонецПроцедуры
&НаКлиенте
Процедура ЗарегистрироватьЮЛ(Команда)
СоздатьУведомлениеЕГРЮЛ(
ПредопределенноеЗначение("Перечисление.ВидыУведомленийОСпецрежимахНалогообложения.ФормаР11001"),
ПредопределенноеЗначение("Справочник.Организации.ПустаяСсылка"));
КонецПроцедуры
&НаКлиенте
Процедура ЗарегистрироватьИП(Команда)
СоздатьУведомлениеЕГРЮЛ(
ПредопределенноеЗначение("Перечисление.ВидыУведомленийОСпецрежимахНалогообложения.ФормаР21001"),
ПредопределенноеЗначение("Справочник.Организации.ПустаяСсылка"));
КонецПроцедуры
&НаКлиенте
Процедура ВнестиИзменениеВСведенияОрганизации(Команда)
ВидыУведомления = Новый Структура();
ВидыУведомления.Вставить("ИП", ПредопределенноеЗначение("Перечисление.ВидыУведомленийОСпецрежимахНалогообложения.ФормаР24001"));
ВидыУведомления.Вставить("ООО", ПредопределенноеЗначение("Перечисление.ВидыУведомленийОСпецрежимахНалогообложения.ФормаР13014"));
ВыбратьОрганизациюИСоздатьУведомление(ВидыУведомления);
КонецПроцедуры
&НаКлиенте
Процедура ПрекратитьДеятельность(Команда)
ВидыУведомления = Новый Структура();
ВидыУведомления.Вставить("ИП", ПредопределенноеЗначение("Перечисление.ВидыУведомленийОСпецрежимахНалогообложения.ФормаР26001"));
ВидыУведомления.Вставить("ООО", ПредопределенноеЗначение("Перечисление.ВидыУведомленийОСпецрежимахНалогообложения.ФормаР19001"));
ВыбратьОрганизациюИСоздатьУведомление(ВидыУведомления);
КонецПроцедуры
&НаКлиенте
Процедура ЗарегистрироватьНовуюОрганизацию(Команда)
СоздатьУведомлениеЕГРЮЛ(
ПредопределенноеЗначение("Перечисление.ВидыУведомленийОСпецрежимахНалогообложения.ПустаяСсылка"),
ПредопределенноеЗначение("Справочник.Организации.ПустаяСсылка"));
КонецПроцедуры
#КонецОбласти
#Область КомандыЗакладкиПисьма
&НаКлиенте
Процедура СоздатьИсходящееПисьмо(Команда)
СоздатьНовоеИсходящееПисьмо();
КонецПроцедуры
&НаКлиенте
Процедура ОтправитьПисьмаПредварительное(Результат, ПараметрыОповещения) Экспорт
ОтправитьПисьма(
ПараметрыОповещения.Команда
);
КонецПроцедуры
&НаКлиенте
Процедура ОтправитьПисьма(Команда)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Команда", Команда);
Оповещение = Новый ОписаниеОповещения("ОтправитьПисьмаПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
ТекущиеДанные = Элементы.Письма.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
ОтправляемыйОбъект = ТекущиеДанные.Ссылка;
ТекущаяОрганизация = ТекущиеДанные.Организация;
Если ЕщеНеОтправлялся(ОтправляемыйОбъект) Тогда
ОписаниеОповещения = Новый ОписаниеОповещения("ОтправитьПисьмаЗавершение", ЭтотОбъект);
Если ТипЗнч(ОтправляемыйОбъект) = Тип("СправочникСсылка.ПерепискаСКонтролирующимиОрганами") Тогда
ПисьмаВГосОрганыКлиент.ОтправитьПисьмо(ЭтотОбъект, ОтправляемыйОбъект);
ИначеЕсли ТипЗнч(ОтправляемыйОбъект) = Тип("СправочникСсылка.ОписиИсходящихДокументовВНалоговыеОрганы") Тогда
КонтекстЭДОКлиент.ОтправкаОписиИсходящихДокументовВФНС(
ОтправляемыйОбъект,
ТекущаяОрганизация,
УникальныйИдентификатор,
ОписаниеОповещения);
ИначеЕсли ТипЗнч(ОтправляемыйОбъект) = Тип("ДокументСсылка.ПоясненияКДекларацииПоНДС") Тогда
ЭлектронныйДокументооборотСКонтролирующимиОрганамиКлиент.ОтправитьПояснение(КонтекстЭДОКлиент, ОтправляемыйОбъект, ТекущаяОрганизация, УникальныйИдентификатор, ОписаниеОповещения);
ИначеЕсли ТипЗнч(ОтправляемыйОбъект) = Тип("ДокументСсылка.ОтветСтрахователяНаТребованиеПроверкиФСС") Тогда
ТекстСообщения = НСтр("ru = 'Ответ можно отправить из формы документа'");
ПоказатьПредупреждение( , ТекстСообщения);
КонецЕсли;
Иначе
Если ТипЗнч(ОтправляемыйОбъект) = Тип("СправочникСсылка.ОписиИсходящихДокументовВНалоговыеОрганы") Тогда
ТекстСообщения = НСтр("ru = 'Ответ на требование уже отправлен'");
ИначеЕсли ТипЗнч(ОтправляемыйОбъект) = Тип("ДокументСсылка.ПоясненияКДекларацииПоНДС") Тогда
ТекстСообщения = НСтр("ru = 'Пояснение уже отправлено'");
Иначе
ТекстСообщения = НСтр("ru = 'Письмо уже отправлено'");
КонецЕсли;
ПоказатьПредупреждение( , ТекстСообщения);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОтправитьПисьмаЗавершение(Результат, ДополнительныеПараметры) Экспорт
ОбработкаОповещения("Завершение отправки в контролирующий орган", , Результат);
КонецПроцедуры
&НаКлиенте
Процедура ПечатьПисьмаПредварительное(Результат, ПараметрыОповещения) Экспорт
ПечатьПисьма(
ПараметрыОповещения.Команда
);
КонецПроцедуры
&НаКлиенте
Процедура ПечатьПисьма(Команда)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Команда", Команда);
Оповещение = Новый ОписаниеОповещения("ПечатьПисьмаПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
ТекущиеДанные = ТекущаяТаблица(ЭтотОбъект).ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
ПечатаемыйОбъект = ТекущиеДанные.Ссылка;
Если ТипЗнч(ПечатаемыйОбъект) = Тип("СправочникСсылка.ДокументыРеализацииПолномочийНалоговыхОрганов") Тогда
ПечатнаяФормаДокументаНО = ТабличныйДокументНО(ПечатаемыйОбъект);
Если ПечатнаяФормаДокументаНО = Неопределено Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Печать требования не предусмотрена'"));
Возврат;
КонецЕсли;
КонтекстЭДОКлиент.НапечататьДокумент(ПечатнаяФормаДокументаНО, Строка(ПечатаемыйОбъект));
Возврат;
ИначеЕсли ТипЗнч(ПечатаемыйОбъект) = Тип("СправочникСсылка.ОписиИсходящихДокументовВНалоговыеОрганы") Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Печать ответа на требование не предусмотрена'"));
ИначеЕсли ТипЗнч(ПечатаемыйОбъект) = Тип("ДокументСсылка.ПоясненияКДекларацииПоНДС") Тогда
КонтекстЭДОКлиент.ПечатьПояснениеПоНДС(ПечатаемыйОбъект);
Возврат;
ИначеЕсли ТипЗнч(ПечатаемыйОбъект) = Тип("ДокументСсылка.ОтветСтрахователяНаТребованиеПроверкиФСС")
ИЛИ ТипЗнч(ПечатаемыйОбъект) = Тип("ДокументСсылка.ОтветСтрахователяНаОбращениеСФР") Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Печать ответа страхователя не предусмотрена'"));
Возврат;
ИначеЕсли ТипЗнч(ПечатаемыйОбъект) = Тип("ДокументСсылка.ВходящийДокументСЭДОФСС") Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Печать требования предусмотрена из документа'"));
Возврат;
ИначеЕсли ТипЗнч(ПечатаемыйОбъект) = Тип("ДокументСсылка.ОбращениеСФРКСтрахователю") Тогда
ПечатнаяФормаПисьма = ТабличныйДокументОбращениеСФРКСтрахователю(ПечатаемыйОбъект);
КонтекстЭДОКлиент.НапечататьДокумент(ПечатнаяФормаПисьма, Строка(ПечатаемыйОбъект));
Возврат;
Иначе
Если НЕ ПровереноЗаполнение(ПечатаемыйОбъект) Тогда
Возврат;
КонецЕсли;
ПечатнаяФормаПисьма = ТабличныйДокументПисьма(ПечатаемыйОбъект);
КонтекстЭДОКлиент.НапечататьДокумент(ПечатнаяФормаПисьма, Строка(ПечатаемыйОбъект));
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ПровереноЗаполнение(Ссылка)
СсылкаНаОбъект = Ссылка.ПолучитьОбъект();
Возврат СсылкаНаОбъект.ПроверитьЗаполнение();
КонецФункции
#КонецОбласти
#Область КомандыЗакладкиУведомления
&НаКлиенте
Процедура СоздатьУведомление(Команда)
СоздатьНовоеУведомление();
КонецПроцедуры
&НаКлиенте
Процедура ОтправитьУведомленияПредварительное(Результат, ПараметрыОповещения) Экспорт
ОтправитьУведомления(
ПараметрыОповещения.Команда
);
КонецПроцедуры
&НаКлиенте
Процедура ОтправитьУведомления(Команда)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Команда", Команда);
Оповещение = Новый ОписаниеОповещения("ОтправитьУведомленияПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
Закладка = Элементы.Уведомления;
ТекущиеДанные = Элементы.Уведомления.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
Ссылка = ТекущиеДанные.Ссылка;
ТипыСсылки = ТипЗнч(Ссылка);
ТекущиеДанныеНаименованиеОтчета = ?(ТекущиеДанные.Свойство("НаименованиеОтчета"), ТекущиеДанные.НаименованиеОтчета,
ТекущиеДанные.Наименование);
ОтправкаЗаблокированаИМожетБытьРазблокированаПозже = Ложь;
НаименованияОтчетаБезПрефикса =
ЭлектронныйДокументооборотСКонтролирующимиОрганамиКлиентСервер.НаименованияОтчетаБезПрефикса(
ТекущиеДанныеНаименованиеОтчета);
СведенияОВерсииФормата = Неопределено;
Если ТипЗнч(Ссылка) = Тип("СправочникСсылка.МашиночитаемыеДоверенностиФНС") Тогда
СведенияОВерсииФормата = ДокументооборотСКОВызовСервера.СведенияОВерсииФорматаМЧДФНС(Истина, Ссылка);
ИначеЕсли ТипЗнч(Ссылка) = Тип("СправочникСсылка.ЗаявленияОбОтзывеМЧДФНС") Тогда
СведенияОВерсииФормата = ДокументооборотСКОВызовСервера.СведенияОВерсииФорматаЗаявленияОбОтзывеМЧДФНС(
Истина, Ссылка);
КонецЕсли;
Если ТипЗнч(Ссылка) = Тип("ДокументСсылка.ЗаявленияПоЭлДокументооборотуСПФР")
И НЕ ПровереноЗаполнение(Ссылка) Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Зайдите в заявление и исправьте найденные ошибки'"), Ссылка);
Возврат;
ИначеЕсли ТипЗнч(Ссылка) = Тип("ДокументСсылка.ЗаявленияПоЭлДокументооборотуСПФР")
И Не ЕщеНеОтправлялся(Ссылка) Тогда
ТекстСообщения = НСтр("ru = 'Заявление уже отправлено'");
ПоказатьПредупреждение( , ТекстСообщения);
Возврат;
ИначеЕсли ТипЗнч(Ссылка) = Тип("СправочникСсылка.МашиночитаемыеДоверенностиФНС")
И СведенияОВерсииФормата <> Неопределено И НЕ СведенияОВерсииФормата.ОтправкаРазрешена Тогда
ПоказатьПредупреждение(,
?(СведенияОВерсииФормата.ВерсияФормата = СведенияОВерсииФормата.АктуальнаяВерсияФормата,
НСтр("ru = 'Отправка машиночитаемой доверенности в электронном виде не применяется.
|Обновите программу.'"),
НСтр("ru = 'Отправка машиночитаемой доверенности в электронном виде не применяется, версия формата не актуальна.
|Создайте новую машиночитаемую доверенность.'")));
ИначеЕсли ТипЗнч(Ссылка) = Тип("СправочникСсылка.ЗаявленияОбОтзывеМЧДФНС")
И СведенияОВерсииФормата <> Неопределено И НЕ СведенияОВерсииФормата.ОтправкаРазрешена Тогда
ПоказатьПредупреждение(,
?(СведенияОВерсииФормата.ВерсияФормата = СведенияОВерсииФормата.АктуальнаяВерсияФормата,
НСтр("ru = 'Отправка заявления на отзыв машиночитаемой доверенности в электронном виде не применяется.
|Обновите программу.'"),
НСтр("ru = 'Отправка заявления на отзыв машиночитаемой доверенности в электронном виде не применяется, версия формата не актуальна.
|Создайте новое заявление на отзыв машиночитаемой доверенности.'")));
ИначеЕсли ТипЗнч(Ссылка) = Тип("СправочникСсылка.МашиночитаемыеДоверенностиРаспределенныйРеестр")
И НЕ ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("Отпр.МЧД ФНС РР вер.5.01", Истина) Тогда
Если ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("Исп.МЧД един.фор.для ФНС", Истина) Тогда
ПоказатьПредупреждение(,
НСтр("ru = 'Отправка машиночитаемой доверенности (ФНС, распределенный реестр) не применяется.
|Используйте машиночитаемую доверенность (ФНС) или машиночитаемую доверенность единого формата, распределенный реестр с полномочиями для ФНС.'"));
Иначе
ПоказатьПредупреждение(,
НСтр("ru = 'Отправка машиночитаемой доверенности (ФНС, распределенный реестр) не применяется.
|Используйте машиночитаемую доверенность (ФНС).'"));
КонецЕсли;
ИначеЕсли ТекущиеДанные.НеОтправляетсяВКонтролирующийОрган
ИЛИ ТекущиеДанныеНаименованиеОтчета = "Уведомление о наличии счета"
ИЛИ ТекущиеДанныеНаименованиеОтчета = "Отчет о движении средств по счету в банке за пределами РФ"
И НЕ ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("Отпр.ув.ОДДС")
ИЛИ ТекущиеДанныеНаименованиеОтчета = "Заявление на получение субсидии на профилактику"
И НЕ ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("Отпр.заяв.субс.профилак.")
ИЛИ (ТекущиеДанныеНаименованиеОтчета = "Заявление о постановке на учет (ЕНВД-1)"
ИЛИ ТекущиеДанныеНаименованиеОтчета = "Постановка на учет организации (ЕНВД-1)")
И НЕ ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("Отпр.ЕНВД-1")
ИЛИ (ТекущиеДанныеНаименованиеОтчета = "Заявление о постановке на учет (ЕНВД-2)"
ИЛИ ТекущиеДанныеНаименованиеОтчета = "Постановка на учет ИП (ЕНВД-2)")
И НЕ ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("Отпр.ЕНВД-2")
ИЛИ (ТекущиеДанныеНаименованиеОтчета = "Заявление о снятии с учета (ЕНВД-3)"
ИЛИ ТекущиеДанныеНаименованиеОтчета = "Снятие с учета организации (ЕНВД-3)")
И НЕ ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("Отпр.ЕНВД-3")
ИЛИ (ТекущиеДанныеНаименованиеОтчета = "Заявление о снятии с учета (ЕНВД-4)"
ИЛИ ТекущиеДанныеНаименованиеОтчета = "Снятие с учета ИП (ЕНВД-4)")
И НЕ ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("Отпр.ЕНВД-4")
ИЛИ ТекущиеДанныеНаименованиеОтчета = "Заявление об особом порядке уплаты налогов"
И НЕ ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("Отпр.заяв.ос.пор.упл.нал.")
ИЛИ ТекущиеДанныеНаименованиеОтчета = "Заявление о возврате единого налогового платежа"
И НЕ ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("Отпр.возврата ЕНП")
ИЛИ ТекущиеДанныеНаименованиеОтчета = "Заявление о предоставлении субсидии на нерабочие дни"
И НЕ ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("Отпр.заяв.субс.пост.1513")
ИЛИ ТекущиеДанныеНаименованиеОтчета = "Заявление о поручительстве (залоге)"
И НЕ ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("Отпр.заяв.о поручительст.")
ИЛИ ТекущиеДанныеНаименованиеОтчета = "Заявление о выдаче справки о состоянии расчетов по налогам и сборам"
И ((НЕ ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("Отпр.выд.справ.по расчет.")
И ТипЗнч(Ссылка) = Тип("ДокументСсылка.УведомлениеОСпецрежимахНалогообложения")
И ЭлектронныйДокументооборотСКонтролирующимиОрганамиВызовСервера.ЗначениеРеквизитаОбъекта(Ссылка, "ИмяФормы") =
"Форма2023_1")
ИЛИ (НЕ ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("Отпр.выд.спр.по расч.25к1")
И ТипЗнч(Ссылка) = Тип("ДокументСсылка.УведомлениеОСпецрежимахНалогообложения")
И ЭлектронныйДокументооборотСКонтролирующимиОрганамиВызовСервера.ЗначениеРеквизитаОбъекта(Ссылка, "ИмяФормы") =
"Форма2025_1"))
ИЛИ ТекущиеДанныеНаименованиеОтчета = "Запрос о принадлежности сумм, перечисленных в качестве единого налогового платежа"
И НЕ ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("Отпр.запр.сумм ЕНП")
ИЛИ ТекущиеДанныеНаименованиеОтчета = "Запрос информационного сообщения о состоянии расчетов с бюджетом"
И НЕ ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("Отпр.запр.сост.расчетов")
ИЛИ ТекущиеДанныеНаименованиеОтчета = "Сведения о кадастровых номерах земельных участков"
И НЕ ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("Отпр.свед.о кадаст.ном.")
ИЛИ НЕ ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило(НаименованияОтчетаБезПрефикса,
НЕ ОтправкаЗаблокированаИМожетБытьРазблокированаПозже)
ИЛИ СокрЛП(ТекущиеДанныеНаименованиеОтчета) = "Уведомление о невозможности предоставления документов в срок"
И НЕ ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("Отпр.ув.невоз.предос.5.03")
И ТипЗнч(Ссылка) = Тип("ДокументСсылка.УведомлениеОСпецрежимахНалогообложения")
И ЭлектронныйДокументооборотСКонтролирующимиОрганамиВызовСервера.ЗначениеРеквизитаОбъекта(Ссылка, "ИмяФормы") =
"Форма2024_1"
ИЛИ ТекущиеДанныеНаименованиеОтчета = "Постановка на учет иностранного лица в ФНС"
И НЕ ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("Постановка на учет иностр")
ИЛИ ТекущиеДанныеНаименованиеОтчета = "Изменение сведений об иностранном лице в ФНС"
И НЕ ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("Изменение сведений об ино")
ИЛИ ТекущиеДанныеНаименованиеОтчета = "Снятие с учета иностранного лица в ФНС"
И НЕ ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("Снятие с учета иностранно")
ИЛИ ТекущиеДанныеНаименованиеОтчета = "Уведомление об уменьшении суммы налога на расходы по приобретению ККТ"
И НЕ ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("Отпр.увед.ум.нал.ККТ 24к1")
И ТипЗнч(Ссылка) = Тип("ДокументСсылка.УведомлениеОСпецрежимахНалогообложения")
И ЭлектронныйДокументооборотСКонтролирующимиОрганамиВызовСервера.ЗначениеРеквизитаОбъекта(Ссылка, "ИмяФормы") =
"Форма2024_1"
ИЛИ ТекущиеДанныеНаименованиеОтчета =
"Уведомление о порядке представления деклараций по налогу на имущество"
И НЕ ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("налогу на имущество орган")
ИЛИ ТекущиеДанныеНаименованиеОтчета =
"Уведомление об освобождении от НДС для участников ВИТ Эра МО РФ (КНД 1150153)"
И НЕ ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("освобождении от НДС для у")
ИЛИ ТекущиеДанныеНаименованиеОтчета = "Аудиторское заключение о консолидированной финансовой отчетности"
И НЕ ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("Аудиторское заключение о")
ИЛИ ТекущиеДанныеНаименованиеОтчета = "Запрос выписки из Единого государственного реестра налогоплательщиков"
И НЕ ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("Запрос выписки из Единого") Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Отправка уведомления в электронном виде не предусмотрена законодательством.
|Уведомление сдается в бумажном виде'"), Ссылка);
Возврат;
ИначеЕсли ТекущиеДанные.ВидКонтролирующегоОргана = ПредопределенноеЗначение("Перечисление.ТипыКонтролирующихОрганов.РегистрацияЮЛФНС") Тогда
ТекстСообщения = НСтр("ru = 'Отправка заявления в электронном виде не предусмотрена'");
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстСообщения, Ссылка);
Возврат;
ИначеЕсли (ТипЗнч(Ссылка) = Тип("ДокументСсылка.УведомлениеОПредоставленииПолномочийПредставителю")
ИЛИ ТипЗнч(Ссылка) = Тип("ДокументСсылка.УведомлениеОПрекращенииПолномочийПредставителя"))
И НЕ ПровереноЗаполнение(Ссылка) Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Зайдите в уведомление и исправьте найденные ошибки'"), Ссылка);
Возврат;
ИначеЕсли ЗначениеЗаполнено(ИмяТипаСправочникаМашиночитаемыеДоверенности)
И ТипЗнч(Ссылка) = Тип("СправочникСсылка." + ИмяТипаСправочникаМашиночитаемыеДоверенности) Тогда
ПоказатьПредупреждение(,
НСтр("ru = 'Машиночитаемая доверенность (единый формат) отправляется из формы справочника'"));
Возврат;
Иначе
ДополнительныеПараметры = Новый Структура();
ДополнительныеПараметры.Вставить("ТипыСсылки", ТипыСсылки);
ДополнительныеПараметры.Вставить("ВидКонтролирующегоОргана", ТекущиеДанные.ВидКонтролирующегоОргана);
ДополнительныеПараметры.Вставить("Ссылка", Ссылка);
ДополнительныеПараметры.Вставить("Организация", ТекущиеДанные.Организация);
ОписаниеОповещения = Новый ОписаниеОповещения(
"ОтправитьУведомленияПодтверждениеОтправкиОтчетаЗавершение",
ЭтотОбъект,
ДополнительныеПараметры);
КонтекстЭДОКлиент.ПодтверждениеОтправкиОтчета(
ЭтотОбъект,
ОписаниеОповещения,
Ссылка,
Истина);
КонецЕсли;
КонецЕсли;
Элементы.Уведомления.Обновить();
КонецПроцедуры
&НаКлиенте
Процедура ОтправитьУведомленияПодтверждениеОтправкиОтчетаЗавершение(Отказ, ДополнительныеПараметры) Экспорт
Если Отказ <> КодВозвратаДиалога.ОК Тогда
Возврат;
КонецЕсли;
ВидКонтролирующегоОргана = ДополнительныеПараметры.ВидКонтролирующегоОргана;
Ссылка = ДополнительныеПараметры.Ссылка;
ОрганизацияВДокументе = ДополнительныеПараметры.Организация;
КонтролирующийОрган = ЭлектронныйДокументооборотСКонтролирующимиОрганамиВызовСервера.ИмяПеречисления(ВидКонтролирующегоОргана);
РегламентированнаяОтчетностьКлиент.ПриНажатииНаКнопкуОтправкиВКонтролирующийОрган(
ЭтотОбъект,
КонтролирующийОрган,
,
Истина,
Ссылка,
ОрганизацияВДокументе);
КонецПроцедуры
&НаКлиенте
Процедура ПроверитьВИнтернетеУведомления(Команда)
ОнлайнПроверка(Элементы.Уведомления);
КонецПроцедуры
&НаКлиенте
Процедура ПечатьЕГРЮЛ(Команда)
ТекущиеДанные = Элементы.ЕГРЮЛ.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
УведомлениеДляПечати = ТекущиеДанные.Ссылка;
Если ТипЗнч(УведомлениеДляПечати) = Тип("ДокументСсылка.УведомлениеОСпецрежимахНалогообложения") Тогда
ПечатьУведомленияИзСписка(УведомлениеДляПечати);
ИначеЕсли ТипЗнч(УведомлениеДляПечати) = Тип("ДокументСсылка.ЗапросНаВыпискуИзЕГРЮЛ_ЕГРИП") Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru='Печать не предусмотрена'"));
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПечатьЕГРЮЛPDF417(Команда)
ТекущиеДанные = Элементы.ЕГРЮЛ.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
УведомлениеДляПечати = ТекущиеДанные.Ссылка;
Если ТипЗнч(УведомлениеДляПечати) = Тип("ДокументСсылка.УведомлениеОСпецрежимахНалогообложения") Тогда
РегламентированнаяОтчетностьКлиент.ВывестиМашиночитаемуюФормуУведомленияОСпецрежимахПоСсылке(ЭтотОбъект, УведомлениеДляПечати);
ИначеЕсли ТипЗнч(УведомлениеДляПечати) = Тип("ДокументСсылка.ЗапросНаВыпискуИзЕГРЮЛ_ЕГРИП") Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru='Печать PDF-417 не предусмотрена'"));
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПечатьУведомленийPDF417(Команда)
ТекущиеДанные = Элементы.Уведомления.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
Если ТипЗнч(ТекущиеДанные.Ссылка) = Тип("ДокументСсылка.УведомлениеОСпецрежимахНалогообложения") Тогда
РегламентированнаяОтчетностьКлиент.ПечатьPDF417ИзФормыОтчетности(ЭтотОбъект, ТекущиеДанные.Ссылка);
Иначе
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru='Печать PDF-417 не предусмотрена'"));
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПечатьУведомлений(Команда)
ТекущиеДанные = Элементы.Уведомления.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
УведомлениеДляПечати = ТекущиеДанные.Ссылка;
Если Не ЗначениеЗаполнено(УведомлениеДляПечати) Тогда
Возврат;
КонецЕсли;
Если ТипЗнч(УведомлениеДляПечати) = Тип("ДокументСсылка.УведомлениеОСпецрежимахНалогообложения") Тогда
ПечатьУведомленияИзСписка(УведомлениеДляПечати);
ИначеЕсли ТипЗнч(УведомлениеДляПечати) = Тип("ДокументСсылка.УведомлениеОПолучателеДокументов") Тогда
ТекстПредупреждения = НСтр("ru = 'Печать уведомления о получателе документов не предусмотрена.'");
ПоказатьПредупреждение(,ТекстПредупреждения);
ИначеЕсли ТипЗнч(УведомлениеДляПечати) = Тип("СправочникСсылка.МашиночитаемыеДоверенностиРаспределенныйРеестр") Тогда
Если ТекущиеДанные.Наименование = НСтр("ru = 'Машиночитаемая доверенность (ФТС)'") Тогда
ТекстПредупреждения = НСтр("ru = 'Печать машиночитаемой доверенности (ФТС) не предусмотрена.'");
Иначе
ТекстПредупреждения = НСтр("ru = 'Печать машиночитаемой доверенности (ФНС, распределенный реестр) не предусмотрена.'");
КонецЕсли;
ПоказатьПредупреждение(, ТекстПредупреждения);
ИначеЕсли ТипЗнч(УведомлениеДляПечати) = Тип("СправочникСсылка.МашиночитаемыеДоверенностиФНС") Тогда
ТекстПредупреждения = НСтр("ru = 'Печать машиночитаемой доверенности (ФНС) не предусмотрена.'");
ПоказатьПредупреждение(, ТекстПредупреждения);
ИначеЕсли ТипЗнч(УведомлениеДляПечати) = Тип("СправочникСсылка.ЗаявленияОбОтзывеМЧДФНС") Тогда
ТекстПредупреждения = НСтр("ru = 'Печать заявления на отзыв доверенности не предусмотрена.'");
ПоказатьПредупреждение(, ТекстПредупреждения);
ИначеЕсли ТипЗнч(УведомлениеДляПечати) = Тип("СправочникСсылка.МашиночитаемыеДоверенностиФСС") Тогда
ТекстПредупреждения = НСтр("ru = 'Печать машиночитаемой доверенности (СФР, бывш. ФСС) не предусмотрена.'");
ПоказатьПредупреждение(, ТекстПредупреждения);
ИначеЕсли ЗначениеЗаполнено(ИмяТипаСправочникаМашиночитаемыеДоверенности)
И ТипЗнч(УведомлениеДляПечати) = Тип("СправочникСсылка." + ИмяТипаСправочникаМашиночитаемыеДоверенности) Тогда
ПоказатьПредупреждение(,
НСтр("ru = 'Печать машиночитаемой доверенности (единый формат) выполняется из формы справочника.'"));
ИначеЕсли ТипЗнч(УведомлениеДляПечати) = Тип("СправочникСсылка.ЭлектронныеПредставленияРегламентированныхОтчетов") Тогда
Ссылка = ТекущиеДанные.Ссылка;
Наименование = ТекущиеДанные.Наименование;
ПечатьЭлектронногоПредставления(Ссылка, Наименование);
ИначеЕсли ТипЗнч(УведомлениеДляПечати) = Тип("ДокументСсылка.ЗаявленияПоЭлДокументооборотуСПФР") Тогда
Ссылка = ТекущиеДанные.Ссылка;
Наименование = ТекущиеДанные.Наименование;
ПечатьЗаявленияПоЭлДокументооборотуСПФР(Ссылка);
ИначеЕсли ТипЗнч(УведомлениеДляПечати) = Тип("ДокументСсылка.УведомлениеОПредоставленииПолномочийПредставителю") Тогда
Ссылка = ТекущиеДанные.Ссылка;
Наименование = ТекущиеДанные.Наименование;
ПечатьУведомленияОПредоставленииПолномочийПредставителю(Ссылка);
ИначеЕсли ТипЗнч(УведомлениеДляПечати) = Тип("ДокументСсылка.УведомлениеОПрекращенииПолномочийПредставителя") Тогда
Ссылка = ТекущиеДанные.Ссылка;
Наименование = ТекущиеДанные.Наименование;
ПечатьУведомленияОПрекращенииПолномочийПредставителя(Ссылка);
Иначе
СведенияПоОбъекту = РегламентированнаяОтчетностьВызовСервера.СведенияПоОбъектуНеВходящемуВБРО(УведомлениеДляПечати);
Если СведенияПоОбъекту <> Неопределено Тогда
НапечататьОбъектНеВходящийВБРО(УведомлениеДляПечати, СведенияПоОбъекту);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ВыгрузитьУведомленияПредварительное(Результат, ПараметрыОповещения) Экспорт
ВыгрузитьУведомления(
ПараметрыОповещения.Команда
);
КонецПроцедуры
&НаКлиенте
Процедура ВыгрузитьУведомления(Команда)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Команда", Команда);
Оповещение = Новый ОписаниеОповещения("ВыгрузитьУведомленияПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
ТекущиеДанные = Элементы.Уведомления.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
УведомлениеДляВыгрузки = ТекущиеДанные.Ссылка;
Если Не ЗначениеЗаполнено(УведомлениеДляВыгрузки) Тогда
Возврат;
КонецЕсли;
Если ТипЗнч(УведомлениеДляВыгрузки) = Тип("ДокументСсылка.УведомлениеОСпецрежимахНалогообложения") Тогда
ВыгружаемыеДанные = СформироватьXMLНаСервере(УникальныйИдентификатор, УведомлениеДляВыгрузки);
Если ВыгружаемыеДанные <> Неопределено Тогда
РегламентированнаяОтчетностьКлиент.ВыгрузитьФайлы(ВыгружаемыеДанные);
КонецЕсли;
ИначеЕсли ТипЗнч(УведомлениеДляВыгрузки) = Тип("ДокументСсылка.УведомлениеОПолучателеДокументов") Тогда
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
КонтекстЭДОКлиент.ВыгрузитьУведомлениеОПолучателеДокументовВФайл(УведомлениеДляВыгрузки, УникальныйИдентификатор);
ИначеЕсли ТипЗнч(УведомлениеДляВыгрузки) = Тип("СправочникСсылка.МашиночитаемыеДоверенностиРаспределенныйРеестр") Тогда
Если ТекущиеДанные.Наименование = НСтр("ru = 'Машиночитаемая доверенность (ФТС)'") Тогда
ПараметрыВозврата = Новый Структура("СформироватьФайлДоверенностиПриОтсутствии", Ложь);
РезультатВыгрузки = ДокументооборотСКОВызовСервера.ВыгрузитьМЧДЕдиногоФормата(УведомлениеДляВыгрузки,
ПараметрыВозврата);
Иначе
ОпределятьКодНалоговогоОрганаПолучателя = Истина;
ФорматДоверенностиПоПриказуФНС = Истина;
ПараметрыВозврата = Новый Структура;
ПараметрыВозврата.Вставить("ВозвращатьАдресВоВременномХранилище", Истина);
ПараметрыВозврата.Вставить("ВозвращатьПриложеннуюПодпись", Истина);
РезультатВыгрузки = ДокументооборотСКОВызовСервера.ВыгрузитьМЧДРР(
УведомлениеДляВыгрузки,,,
ОпределятьКодНалоговогоОрганаПолучателя,
ФорматДоверенностиПоПриказуФНС,
Истина,
ПараметрыВозврата);
КонецЕсли;
Если ЗначениеЗаполнено(РезультатВыгрузки) Тогда
ОперацииСФайламиЭДКОКлиент.СохранитьФайлы(РезультатВыгрузки);
КонецЕсли;
ИначеЕсли ТипЗнч(УведомлениеДляВыгрузки) = Тип("СправочникСсылка.МашиночитаемыеДоверенностиФНС")
ИЛИ ТипЗнч(УведомлениеДляВыгрузки) = Тип("СправочникСсылка.ЗаявленияОбОтзывеМЧДФНС") Тогда
ОпределятьКодНалоговогоОрганаПолучателя = Истина;
ФорматДоверенностиПоПриказуФНС = Истина;
ПараметрыВозврата = Новый Структура;
ПараметрыВозврата.Вставить("ВозвращатьАдресВоВременномХранилище", Истина);
ПараметрыВозврата.Вставить("ВозвращатьИмяФайлаСРасширением", Истина);
ПараметрыВозврата.Вставить("ВозвращатьПриложеннуюПодпись", Истина);
Если ТипЗнч(УведомлениеДляВыгрузки) = Тип("СправочникСсылка.МашиночитаемыеДоверенностиФНС") Тогда
РезультатВыгрузки = ДокументооборотСКОВызовСервера.ВыгрузитьМЧД(
УведомлениеДляВыгрузки,,,
ОпределятьКодНалоговогоОрганаПолучателя,
ФорматДоверенностиПоПриказуФНС,
Истина,
ПараметрыВозврата);
Иначе
РезультатВыгрузки = ДокументооборотСКОВызовСервера.ВыгрузитьЗаявлениеОбОтзывеМЧДФНС(
УведомлениеДляВыгрузки,,,
ОпределятьКодНалоговогоОрганаПолучателя,
ФорматДоверенностиПоПриказуФНС,
Истина,
ПараметрыВозврата);
КонецЕсли;
Если ЗначениеЗаполнено(РезультатВыгрузки) Тогда
ОперацииСФайламиЭДКОКлиент.СохранитьФайлы(РезультатВыгрузки);
КонецЕсли;
ИначеЕсли ТипЗнч(УведомлениеДляВыгрузки) = Тип("СправочникСсылка.МашиночитаемыеДоверенностиФСС") Тогда
ОпределятьКодНалоговогоОрганаПолучателя = Истина;
ФорматДоверенностиПоПриказуФНС = Истина;
ПараметрыВозврата = Новый Структура;
ПараметрыВозврата.Вставить("ВозвращатьАдресВоВременномХранилище", Истина);
ПараметрыВозврата.Вставить("ВозвращатьИмяФайлаСРасширением", Истина);
РезультатВыгрузки = ДокументооборотСКОВызовСервера.ВыгрузитьМЧДФСС(
УведомлениеДляВыгрузки,,,
ПараметрыВозврата);
Если ЗначениеЗаполнено(РезультатВыгрузки) Тогда
ОперацииСФайламиЭДКОКлиент.СохранитьФайлы(РезультатВыгрузки);
КонецЕсли;
ИначеЕсли ЗначениеЗаполнено(ИмяТипаСправочникаМашиночитаемыеДоверенностиЦБ)
И ТипЗнч(УведомлениеДляВыгрузки) = Тип("СправочникСсылка." + ИмяТипаСправочникаМашиночитаемыеДоверенностиЦБ) Тогда
ПараметрыВозврата = Новый Структура;
ПараметрыВозврата.Вставить("ВозвращатьАдресВоВременномХранилище", Истина);
ПараметрыВозврата.Вставить("ВозвращатьИмяФайлаСРасширением", Истина);
ПараметрыВозврата.Вставить("ВозвращатьПриложеннуюПодпись", Истина);
РезультатВыгрузки = ДокументооборотСКОВызовСервера.ВыгрузитьМЧДЦБ(
УведомлениеДляВыгрузки,,
ПараметрыВозврата);
Если ЗначениеЗаполнено(РезультатВыгрузки) Тогда
ОперацииСФайламиЭДКОКлиент.СохранитьФайлы(РезультатВыгрузки);
КонецЕсли;
ИначеЕсли ЗначениеЗаполнено(ИмяТипаСправочникаМашиночитаемыеДоверенности)
И ТипЗнч(УведомлениеДляВыгрузки) = Тип("СправочникСсылка." + ИмяТипаСправочникаМашиночитаемыеДоверенности) Тогда
РезультатВыгрузки = ДокументооборотСКОВызовСервера.ВыгрузитьМЧДЕдиногоФормата(УведомлениеДляВыгрузки);
Если ЗначениеЗаполнено(РезультатВыгрузки) Тогда
ОперацииСФайламиЭДКОКлиент.СохранитьФайлы(РезультатВыгрузки);
КонецЕсли;
ИначеЕсли ТипЗнч(УведомлениеДляВыгрузки) = Тип("ДокументСсылка.ЗаявленияПоЭлДокументооборотуСПФР") Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Выгрузка заявления не предусмотрена'"));
ИначеЕсли ТипЗнч(УведомлениеДляВыгрузки) = Тип("ДокументСсылка.УведомлениеОПредоставленииПолномочийПредставителю") Тогда
РезультатВыгрузки = ДокументооборотСКОВызовСервера.ВыгрузитьУведомлениеОПредоставленииПолномочийПредставителю(
УведомлениеДляВыгрузки);
Если ЗначениеЗаполнено(РезультатВыгрузки) Тогда
ОперацииСФайламиЭДКОКлиент.СохранитьФайлы(РезультатВыгрузки);
КонецЕсли;
ИначеЕсли ТипЗнч(УведомлениеДляВыгрузки) = Тип("ДокументСсылка.УведомлениеОПрекращенииПолномочийПредставителя") Тогда
РезультатВыгрузки = ДокументооборотСКОВызовСервера.ВыгрузитьУведомлениеОПрекращенииПолномочийПредставителя(
УведомлениеДляВыгрузки);
Если ЗначениеЗаполнено(РезультатВыгрузки) Тогда
ОперацииСФайламиЭДКОКлиент.СохранитьФайлы(РезультатВыгрузки);
КонецЕсли;
ИначеЕсли ТипЗнч(УведомлениеДляВыгрузки) = Тип("СправочникСсылка.ЭлектронныеПредставленияРегламентированныхОтчетов") Тогда
Наименование = ТекущиеДанные.Наименование;
ВыгрузкаЭлектронногоПредставления(УведомлениеДляВыгрузки, Наименование);
Иначе
РегламентированнаяОтчетностьКлиент.ВыгрузитьПереопределяемый(УведомлениеДляВыгрузки);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПечатьПротоколовУведомлений(Команда)
ТекущаяТаблица = ТекущаяТаблица(ЭтотОбъект);
ТекущиеДанные = ТекущаяТаблица.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
Если ТипЗнч(ТекущиеДанные.Ссылка) = Тип("ДокументСсылка.ОтветСтрахователяНаТребованиеПроверкиФСС")
ИЛИ ТипЗнч(ТекущиеДанные.Ссылка) = Тип("ДокументСсылка.ОтветСтрахователяНаОбращениеСФР") Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Печать квитанции ответа страхователя не предусмотрена'"));
Возврат;
ИначеЕсли ТипЗнч(ТекущиеДанные.Ссылка) = Тип("ДокументСсылка.ВходящийДокументСЭДОФСС")
ИЛИ ТипЗнч(ТекущиеДанные.Ссылка) = Тип("ДокументСсылка.ОбращениеСФРКСтрахователю") Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Печать квитанции не предусмотрена'"));
Возврат;
ИначеЕсли ТипЗнч(ТекущиеДанные.Ссылка) = Тип("ДокументСсылка.ЗаявлениеНаФормированиеСправкиОРасчетах") Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Печать квитанции справки о расчетах не предусмотрена'"));
Возврат;
КонецЕсли;
Ссылка = ТекущиеДанные.Ссылка;
ВидКонтролирующегоОргана = ТекущиеДанные.ВидКонтролирующегоОргана;
СостояниеСдачиОтчетности = ТекущиеДанные.СостояниеСдачиОтчетности;
НеОтправляетсяВКонтролирующийОрган = ТекущиеДанные.НеОтправляетсяВКонтролирующийОрган;
ПечатьПротоколовПоСсылке(
ТекущаяТаблица,
Ссылка,
ВидКонтролирующегоОргана,
НеОтправляетсяВКонтролирующийОрган,
СостояниеСдачиОтчетности);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УведомленияПриАктивизацииСтроки(Элемент)
ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьПрисоединенныеФайлыУведомления(Команда)
ОткрытьПрисоединенныеФайлы();
КонецПроцедуры
#КонецОбласти
#Область КомандыЗакладкиВходящие
&НаКлиенте
Функция ТекущиеДанныеВходящих()
Возврат ТекущаяТаблица(ЭтотОбъект).ТекущиеДанные;
КонецФункции
&НаКлиенте
Процедура СоздатьОтветПредварительное(Результат, ПараметрыОповещения) Экспорт
СоздатьОтвет(
ПараметрыОповещения.Команда
);
КонецПроцедуры
&НаКлиенте
Процедура СоздатьОтвет(Команда)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Команда", Команда);
Оповещение = Новый ОписаниеОповещения("СоздатьОтветПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
ТекущиеДанные = ТекущиеДанныеВходящих();
Если ТекущиеДанные <> Неопределено Тогда
Ссылка = ТекущиеДанные.Ссылка;
Если ТипЗнч(Ссылка) = Тип("СправочникСсылка.ПерепискаСКонтролирующимиОрганами") Тогда
Если КонтекстЭДОКлиент.ТребуетсяОтправкаПакетаСДопДокументами(Ссылка) Тогда
КонтекстЭДОКлиент.СоздатьПисьмоОтветСВыборомВидаОтвета(Ссылка);
Иначе
КонтекстЭДОКлиент.СоздатьПисьмоОтвет(Ссылка);
КонецЕсли;
ИначеЕсли ТипЗнч(Ссылка) = Тип("СправочникСсылка.ДокументыРеализацииПолномочийНалоговыхОрганов") Тогда
ДополнительныеПараметры = Новый Структура();
ДополнительныеПараметры.Вставить("ЗапретитьСозданиеПисьмаВОтветНаТребованиеПоДекларации", Истина);
КонтекстЭДОКлиент.СоздатьОтветНаДокументРеализацииПолномочий(Ссылка, ДополнительныеПараметры);
ИначеЕсли ТипЗнч(Ссылка) = Тип("ДокументСсылка.ТранспортноеСообщение") Тогда
ТекстПредупреждения = НСтр("ru = 'Создание ответа на это письмо не предусмотрено'");
ПоказатьПредупреждение(,ТекстПредупреждения);
ИначеЕсли ТипЗнч(Ссылка) = Тип("ДокументСсылка.ВходящийДокументСЭДОФСС")
И (НЕ ТипСообщенияВходящего(Ссылка) = "303" И НЕ ТипСообщенияВходящего(Ссылка) = "308") Тогда
Если ТипСообщенияВходящего(Ссылка) = "300" ИЛИ ТипСообщенияВходящего(Ссылка) = "305" Тогда
ПредставлениеТипСообщения = "этот акт";
ИначеЕсли ТипСообщенияВходящего(Ссылка) = "310" ИЛИ ТипСообщенияВходящего(Ссылка) = "312" Тогда
ПредставлениеТипСообщения = "это требование";
Иначе
ПредставлениеТипСообщения = "это решение";
КонецЕсли;
ТекстПредупреждения = НСтр("ru = 'Создание ответа на %1 не предусмотрено'");
ТекстПредупреждения = СтрШаблон(ТекстПредупреждения, ПредставлениеТипСообщения);
ПоказатьПредупреждение(,ТекстПредупреждения);
ИначеЕсли ТипЗнч(Ссылка) = Тип("ДокументСсылка.ВходящийДокументСЭДОФСС")
И (ТипСообщенияВходящего(Ссылка) = "303" ИЛИ ТипСообщенияВходящего(Ссылка) = "308") Тогда
СформированныйОтвет = СфомироватьОтветНаСервере(Ссылка);
Если СформированныйОтвет =
ПредопределенноеЗначение("Документ.ОтветСтрахователяНаТребованиеПроверкиФСС.ПустаяСсылка")
ИЛИ СформированныйОтвет = Неопределено Тогда
Возврат;
КонецЕсли;
ПараметрыФормы = Новый Структура("Ключ", СформированныйОтвет);
ОткрытьФорму(
"Документ.ОтветСтрахователяНаТребованиеПроверкиФСС.Форма.ФормаДокумента",
ПараметрыФормы);
ИначеЕсли ТипЗнч(Ссылка) = Тип("ДокументСсылка.ОбращениеСФРКСтрахователю") Тогда
КонтекстЭДОКлиент.СфомироватьОтветНаОбращениеСФРКСтрахователю(Ссылка);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПометитьПрочитаннымПредварительное(Результат, ПараметрыОповещения) Экспорт
ПометитьПрочитанным(
ПараметрыОповещения.Команда
);
КонецПроцедуры
&НаКлиенте
Процедура ПометитьПрочитанным(Команда)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Команда", Команда);
Оповещение = Новый ОписаниеОповещения("ПометитьПрочитаннымПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
Если ТекущаяСтраница(ЭтотОбъект) = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Входящие")
ИЛИ ТекущаяСтраница(ЭтотОбъект) = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Сверки")
ИЛИ ТекущаяСтраница(ЭтотОбъект) = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Письма") Тогда
ТекущаяТаблица = ТекущаяТаблица(ЭтотОбъект);
ВыделенныеСтроки = Новый Массив;
Для каждого Строка Из ТекущаяТаблица.ВыделенныеСтроки Цикл
Если ТекущаяСтраница(ЭтотОбъект) = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Входящие") Тогда
ВыделенныеСтроки.Добавить(Элементы.Требования.ДанныеСтроки(Строка).Ссылка);
ИначеЕсли ТекущаяСтраница(ЭтотОбъект) = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Сверки") Тогда
ВыделенныеСтроки.Добавить(Элементы.Сверки.ДанныеСтроки(Строка).Ссылка);
ИначеЕсли ТекущаяСтраница(ЭтотОбъект) = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Письма") Тогда
ВыделенныеСтроки.Добавить(Элементы.Письма.ДанныеСтроки(Строка).Ссылка);
КонецЕсли;
КонецЦикла;
Результат = ПометитьПрочтенными(ВыделенныеСтроки);
Иначе
Результат = ПометитьПрочтенными();
КонецЕсли;
Если ТекущаяСтраница(ЭтотОбъект) <> ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Входящие")
И Результат.ВсеВыделенныеОбъекты.Количество() > 0
И Результат.СтавшиеПрочтенными.Количество() = 0
И Результат.СтавшиеНепрочтенными.Количество() = 0 Тогда
СообщитьОНевозможностиИзменитьПрочтенность();
Возврат;
КонецЕсли;
Для каждого ИзменившийсяОбъект Из Результат.СтавшиеПрочтенными Цикл
Оповестить("Пометка прочтенным", , ИзменившийсяОбъект);
КонецЦикла;
Для каждого ИзменившийсяОбъект Из Результат.СтавшиеНепрочтенными Цикл
Оповестить("Пометка непрочтенным", , ИзменившийсяОбъект);
КонецЦикла;
ТекущаяТаблица = ТекущаяТаблица(ЭтотОбъект);
ТекущаяТаблица.Обновить();
КонецПроцедуры
&НаСервере
Функция ТипСообщенияВходящего(Ссылка)
Возврат ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "ТипСообщения");
КонецФункции
#КонецОбласти
#Область КомандыЗакладкиНастройки
&НаКлиенте
Процедура ПроиндексироватьОбъекты(Команда)
ДописатьОбъектыОтсутствующиеВРегистре(Истина);
УправлениеЭУ(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура НадписьНастройкиМеханизмаОнлайнСервисовРОНажатие(Элемент)
ОткрытьФорму("Обработка.ОнлайнСервисыРегламентированнойОтчетности.Форма.НастройкиМеханизмаОнлайнСервисов");
КонецПроцедуры
&НаКлиенте
Процедура НадписьИнформацияОбОбновленияхНажатие(Элемент)
ОнлайнСервисыРегламентированнойОтчетностиКлиент.ОткрытьФормуДоступныхОбновленийРО();
КонецПроцедуры
&НаКлиенте
Процедура ЖурналОбменаСКонтролирующимиОрганамиПредварительное(Результат, ПараметрыОповещения) Экспорт
ЖурналОбменаСКонтролирующимиОрганами(
ПараметрыОповещения.Команда
);
КонецПроцедуры
&НаКлиенте
Процедура ЖурналОбменаСКонтролирующимиОрганами(Команда)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Команда", Команда);
Оповещение = Новый ОписаниеОповещения("ЖурналОбменаСКонтролирующимиОрганамиПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
ОткрытьФорму(КонтекстЭДОКлиент.ПутьКОбъекту + ".Форма.УправлениеОбменом");
КонецПроцедуры
&НаКлиенте
Процедура СкрытыеОтчетыИДокументыПредварительное(Результат, ПараметрыОповещения) Экспорт
СкрытыеОтчетыИДокументы();
КонецПроцедуры
&НаКлиенте
Процедура СкрытыеОтчетыИДокументы()
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
Оповещение = Новый ОписаниеОповещения("СкрытыеОтчетыИДокументыПредварительное", ЭтотОбъект);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
СтандартнаяОбработка = Ложь;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
ОткрытьФорму(КонтекстЭДОКлиент.ПутьКОбъекту + ".Форма.СкрытыеОбъекты");
КонецПроцедуры
&НаКлиенте
Процедура ПолучитьКонтекстЭДОДляЗапускаДиагностики(Результат, ДополнительныеПараметры) Экспорт
Если Результат.Свойство("КонтекстЭДО") Тогда
КонтекстЭДОКлиент = Результат.КонтекстЭДО;
КонтекстЭДОКлиент.ОткрытьФормуДиагностикиОтчетности(Неопределено);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Диагностика1СОтчетностьНажатие(Элемент)
ОписаниеОповещения = Новый ОписаниеОповещения("ПолучитьКонтекстЭДОДляЗапускаДиагностики", ЭтотОбъект, Неопределено);
ДокументооборотСКОКлиент.ПолучитьКонтекстЭДО(ОписаниеОповещения);
КонецПроцедуры
#КонецОбласти
#Область КомандыРаботыСВыплатамиИПособиямиСЭДО
&НаКлиенте
Процедура ВыплатыИПособияТекущиеДела(Команда)
КалендарьОтчетностиБРОКлиентПереопределяемый.ОбработкаКоманды(ЭтотОбъект, Команда);
КонецПроцедуры
&НаКлиенте
Процедура ВыплатыИПособияРегистрСведенийСведенияОбЭЛНОткрытьСписок(Команда)
КалендарьОтчетностиБРОКлиентПереопределяемый.ОбработкаКоманды(ЭтотОбъект, Команда);
КонецПроцедуры
#КонецОбласти
#Область КомандыЗакладкиСправочники
&НаКлиенте
Процедура Организации(Команда)
КалендарьОтчетностиБРОКлиентПереопределяемый.ОбработкаКоманды(ЭтотОбъект, Команда);
КонецПроцедуры
&НаКлиенте
Процедура Подразделения(Команда)
КалендарьОтчетностиБРОКлиентПереопределяемый.ОбработкаКоманды(ЭтотОбъект, Команда);
КонецПроцедуры
&НаКлиенте
Процедура Сотрудники(Команда)
КалендарьОтчетностиБРОКлиентПереопределяемый.ОбработкаКоманды(ЭтотОбъект, Команда);
КонецПроцедуры
&НаКлиенте
Процедура ФизическиеЛица(Команда)
КалендарьОтчетностиБРОКлиентПереопределяемый.ОбработкаКоманды(ЭтотОбъект, Команда);
КонецПроцедуры
&НаКлиенте
Процедура Контрагенты(Команда)
КалендарьОтчетностиБРОКлиентПереопределяемый.ОбработкаКоманды(ЭтотОбъект, Команда);
КонецПроцедуры
&НаКлиенте
Процедура РегистрацииВНалоговомОргане(Команда)
КалендарьОтчетностиБРОКлиентПереопределяемый.ОбработкаКоманды(ЭтотОбъект, Команда);
КонецПроцедуры
#КонецОбласти
#Область КомандыЗакладкиАдминистрирование
&НаКлиенте
Процедура Обслуживание(Команда)
КалендарьОтчетностиБРОКлиентПереопределяемый.ОбработкаКоманды(ЭтотОбъект, Команда);
КонецПроцедуры
&НаКлиенте
Процедура ОбщиеНастройки(Команда)
КалендарьОтчетностиБРОКлиентПереопределяемый.ОбработкаКоманды(ЭтотОбъект, Команда);
КонецПроцедуры
&НаКлиенте
Процедура НастройкиПользователейИПрав(Команда)
КалендарьОтчетностиБРОКлиентПереопределяемый.ОбработкаКоманды(ЭтотОбъект, Команда);
КонецПроцедуры
&НаКлиенте
Процедура ПечатныеФормыОтчетыИОбработки(Команда)
КалендарьОтчетностиБРОКлиентПереопределяемый.ОбработкаКоманды(ЭтотОбъект, Команда);
КонецПроцедуры
&НаКлиенте
Процедура ИнтернетПоддержкаИСервисы(Команда)
КалендарьОтчетностиБРОКлиентПереопределяемый.ОбработкаКоманды(ЭтотОбъект, Команда);
КонецПроцедуры
&НаКлиенте
Процедура НастройкиРаботыСФайлами(Команда)
КалендарьОтчетностиБРОКлиентПереопределяемый.ОбработкаКоманды(ЭтотОбъект, Команда);
КонецПроцедуры
&НаКлиенте
Процедура НастройкиОбмена(Команда)
ЭлектронныйДокументооборотСКонтролирующимиОрганамиКлиент.ОткрытьФормуНастроекОбмена();
КонецПроцедуры
&НаКлиенте
Процедура НастройкиДокументооборотаСГосОрганами(Команда)
КалендарьОтчетностиБРОКлиентПереопределяемый.ОбработкаКоманды(ЭтотОбъект, Команда);
КонецПроцедуры
&НаКлиенте
Процедура СвязыванияБазДанныхСОблаком(Команда)
КалендарьОтчетностиБРОКлиентПереопределяемый.ОбработкаКоманды(ЭтотОбъект, Команда);
КонецПроцедуры
&НаКлиенте
Процедура Диагностика1СОтчетность(Команда)
КалендарьОтчетностиБРОКлиентПереопределяемый.ОбработкаКоманды(ЭтотОбъект, Команда);
КонецПроцедуры
&НаКлиенте
Процедура УчетныеЗаписиДокументооборота(Команда)
КалендарьОтчетностиБРОКлиентПереопределяемый.ОбработкаКоманды(ЭтотОбъект, Команда);
КонецПроцедуры
&НаКлиенте
Процедура НастройкиМеханизмаОнлайнСервисовРО(Команда)
КалендарьОтчетностиБРОКлиентПереопределяемый.ОбработкаКоманды(ЭтотОбъект, Команда);
КонецПроцедуры
&НаКлиенте
Процедура ШаблоныПечатиМашиночитаемыхФорм(Команда)
КалендарьОтчетностиБРОКлиентПереопределяемый.ОбработкаКоманды(ЭтотОбъект, Команда);
КонецПроцедуры
&НаКлиенте
Процедура НастройкаXMLШаблонов(Команда)
КалендарьОтчетностиБРОКлиентПереопределяемый.ОбработкаКоманды(ЭтотОбъект, Команда);
КонецПроцедуры
&НаКлиенте
Процедура НастройкаРабочегоМеста(Команда)
КалендарьОтчетностиБРОКлиентПереопределяемый.ОбработкаКоманды(ЭтотОбъект, Команда);
КонецПроцедуры
#КонецОбласти
#Область КомандыЗакладкиСервисы
&НаКлиенте
Процедура СервисНажатие(Элемент)
ПерейтиПоНавигационнойСсылке(Элемент.Подсказка);
КонецПроцедуры
&НаКлиенте
Процедура ФНССервисПредварительное(Результат, ПараметрыОповещения) Экспорт
ФНССервис(
ПараметрыОповещения.Элемент
);
КонецПроцедуры
&НаКлиенте
Процедура ФНССервис(Элемент)
ИспользоватьИнтернетЭксплорер = Ложь;
Если НЕ ИспользоватьИнтернетЭксплорер Тогда
ПерейтиПоНавигационнойСсылке(Элемент.Подсказка);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Элемент", Элемент);
Оповещение = Новый ОписаниеОповещения("ФНССервисПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
КонтекстЭДОКлиент.ПерейтиПоСсылкеВИнтернетЭксплорере(Элемент.Подсказка);
КонецПроцедуры
#КонецОбласти
#Область ПрочиеКоманды
&НаКлиенте
Процедура ОтправитьПакетСДопДокументамиДляФНС(Команда)
Основание = ОснованиеДляСозданияПакетаСДопДокументамиДляФНС();
Если Основание = Неопределено Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Сначала выберите документ, для которого создается пакет с доп. документами для ФНС'"));
Возврат;
КонецЕсли;
СоздатьПакетСДопДокументамиВФНС(Основание);
КонецПроцедуры
&НаСервере
Функция ОснованиеДляСозданияПакетаСДопДокументамиДляФНС()
Основание = Неопределено;
ТекущаяТаблица = ТекущаяТаблица(ЭтотОбъект);
Для каждого Строка Из ТекущаяТаблица.ВыделенныеСтроки Цикл
Основание = Строка.Ссылка;
Прервать;
КонецЦикла;
Возврат Основание;
КонецФункции
&НаКлиенте
Асинх Процедура Скрыть(Команда)
ТекущаяСтраница = ТекущаяСтраница(ЭтотОбъект);
ТекущаяТаблица = ТекущаяТаблица(ЭтотОбъект);
ВыделеноНесколькоСтрок = ТекущаяТаблица.ВыделенныеСтроки.Количество() > 1;
Если ТекущаяСтраница = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Отчеты") Тогда
Если ВыделеноНесколькоСтрок Тогда
ВидОбъекта = НСтр("ru = 'отчеты'");
Иначе
ВидОбъекта = НСтр("ru = 'отчет'");
КонецЕсли;
ИначеЕсли ТекущаяСтраница = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Уведомления") Тогда
Если ВыделеноНесколькоСтрок Тогда
ВидОбъекта = НСтр("ru = 'уведомления'");
Иначе
ВидОбъекта = НСтр("ru = 'уведомление'");
КонецЕсли;
ИначеЕсли ТекущаяСтраница = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Входящие")
ИЛИ ТекущаяСтраница = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Письма")
ИЛИ ТекущаяСтраница = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Сверки") Тогда
Если ТекущаяСтраница = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Сверки") Тогда
Если ВыделеноНесколькоСтрок Тогда
ВидОбъекта = НСтр("ru = 'запросы на сверку'");
Иначе
ВидОбъекта = НСтр("ru = 'запрос на сверку'");
КонецЕсли;
Иначе
Если ВыделеноНесколькоСтрок Тогда
ВидОбъекта = НСтр("ru = 'письма'");
Иначе
ВидОбъекта = НСтр("ru = 'письмо'");
КонецЕсли;
КонецЕсли;
ИначеЕсли ТекущаяСтраница = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.ЕГРЮЛ") Тогда
Если ВыделеноНесколькоСтрок Тогда
ВидОбъекта = НСтр("ru = 'выписки из ЕГРЮЛ'");
Иначе
ВидОбъекта = НСтр("ru = 'выписку из ЕГРЮЛ'");
КонецЕсли;
КонецЕсли;
ТекстСообщения = НСтр("ru = 'Вы уверены, что хотите скрыть %1?
|
|Скрытые отчеты и документы можно восстановить в разделе
|""Настройки"" - ""Скрытые отчеты и документы"" формы 1С-Отчетность'");
ТекстСообщения = СтрШаблон(ТекстСообщения, ВидОбъекта);
Если Ждать ВопросАсинх(ТекстСообщения, РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Да Тогда
СкрытыеОбъекты = СкрытьОбъект1СОтчетности();
Для Каждого СкрытыйОбъект Из СкрытыеОбъекты Цикл
Оповестить("Скрытие/восстановление объекта", СкрытыйОбъект, СкрытыйОбъект.Ссылка);
КонецЦикла;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ГруппаКатегориииВхПриСменеСтраницы(Элемент, ТекущаяСтраница)
УстановитьОтборыНаСтраницеВходящие(ЭтотОбъект);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаКлиенте
Процедура Подключаемый_РазделениеПисемОжидание() Экспорт
ПисьмаВГосОрганыКлиент.Подключаемый_РазделениеПисемОжидание(ЭтотОбъект);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Функция ПолучитьХеш(Стр)
Хеш = СтрЗаменить(НРег(Стр), " ", "");
Хеш = СтрЗаменить(Хеш, """", "");
Хеш = СтрЗаменить(Хеш, ",", "");
Хеш = СтрЗаменить(Хеш, "ё", "е");
Возврат Хеш;
КонецФункции
&НаСервере
Процедура УпроститьФормуРегОтчетности() Экспорт
ФлагиУчета = ЭлектронныйДокументооборотСКонтролирующимиОрганами.ПолучитьФлагиИнтеграцииПоУмолчанию();
ЭлектронныйДокументооборотСКонтролирующимиОрганамиПереопределяемый.ПолучитьЗначенияКонстантИнтеграции(ФлагиУчета);
Элементы.СсылкаЗаявленияНаПодключениеИзменение.Видимость = Ложь;
Если ФлагиУчета.ИнтеграцияСБанком
И Не ФлагиУчета.Использовать1СОтчетностьПриИнтеграцииСБанком Тогда
Использовать1СОтчетность = ФлагиУчета.Использовать1СОтчетностьПриИнтеграцииСБанком;
Элементы.ГиперссылкаОтчеты.Видимость = Использовать1СОтчетность;
Если Использовать1СОтчетность Тогда
Элементы.Разделы.ТекущаяСтраница = Элементы.СтраницаОтчеты;
КалендарьОтчетностиБРОКлиентСерверПереопределяемый.ПриСменеСтраницыРазделаОтчетности(ЭтотОбъект);
КонецЕсли;
Элементы.ГиперссылкаУведомления.Видимость = Ложь;
Элементы.ГиперссылкаСервисы.Видимость = Ложь;
Элементы.ГиперссылкаНастройки.Видимость = Ложь;
Элементы.СтраницаУведомления.Видимость = Ложь;
Элементы.СтраницаСервисы.Видимость = Ложь;
Элементы.СтраницаНастройки.Видимость = Ложь;
Элементы.СтраницаНастройки.Видимость = Ложь;
Элементы.ГруппаОтборовОтчетов.Видимость = Ложь;
Элементы.ОтчетыЗагрузитьИзФайла.Видимость = Ложь;
Элементы.ОтчетыГруппаЗагрузитьИзФайла.Видимость = Ложь;
Элементы.ОтчетыВыгрузить.Видимость = Ложь;
Элементы.ОтчетыГруппаПрисоединенныеФайлы.Видимость = Ложь;
Элементы.КнопкаСоздатьСверкаФИОиСНИЛС.Видимость = Ложь;
ЭлектронныйДокументооборотДоступен = Ложь;
КонтекстЭДОСервер = ДокументооборотСКО.ПолучитьОбработкуЭДО();
Если КонтекстЭДОСервер <> Неопределено Тогда
ЭлектронныйДокументооборотДоступен = КонтекстЭДОСервер.ХотяБыОднаОрганизацияИспользуетДокументооборот();
КонецЕсли;
ЕстьОтправленныеЗаявления = ОбработкаЗаявленийАбонентаВызовСервера.ЕстьОтправленныеИлиОдобренныеЗаявления();
УжеПодключен = ЭлектронныйДокументооборотДоступен Или ЕстьОтправленныеЗаявления;
Если УжеПодключен Тогда
Элементы.СсылкаЗаявленияНаПодключениеИзменение.Заголовок =
НСтр("ru='Заявления на изменение и продление подключения к 1С-Отчетности'");
Иначе
Элементы.СсылкаЗаявленияНаПодключениеИзменение.Заголовок =
НСтр("ru='Заявления на подключение к 1С-Отчетности'");
КонецЕсли;
КонецЕсли;
Если ФлагиУчета.СервисЭлектронныхТрудовыхКнижек Тогда
Элементы.ГиперссылкаПисьма.Видимость = Ложь;
Элементы.СтраницаПисьма.Видимость = Ложь;
Элементы.ГиперссылкаСверки.Видимость = Ложь;
Элементы.СтраницаСверки.Видимость = Ложь;
Элементы.ГиперссылкаЕГРЮЛ.Видимость = Ложь;
Элементы.СтраницаЕГРЮЛ.Видимость = Ложь;
Элементы.ГиперссылкаСервисы.Видимость = Ложь;
Элементы.СтраницаСервисы.Видимость = Ложь;
Элементы.ЖурналОбменаСКонтролирующимиОрганами.Видимость = Ложь;
Элементы.УведомленияЗагрузитьИзФайла.Видимость = Ложь;
Элементы.НастройкиРегламентированнойОтчетности.Видимость = Ложь;
Элементы.Декорация1.Видимость = Ложь;
Элементы.ОтчетыГруппаЗагрузитьИзФайла.Видимость = Ложь;
ПредыдущаяГиперссылка = ТекущийРазделФормы(ЭтотОбъект);
ТекущаяГиперссылка = Элементы.ГиперссылкаОтчеты;
ПриПереключенииРазделаСервер(ПредыдущаяГиперссылка.Имя, ТекущаяГиперссылка.Имя);
ВывестиТаблицуРаздела(ЭтотОбъект, ТекущаяГиперссылка.Имя);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СоздатьПакетСДопДокументамиВФНСПредварительное(Результат, ОснованиеПакета) Экспорт
СоздатьПакетСДопДокументамиВФНС(ОснованиеПакета);
КонецПроцедуры
&НаКлиенте
Процедура СоздатьПакетСДопДокументамиВФНС(ОснованиеПакета = Неопределено)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
Оповещение = Новый ОписаниеОповещения(
"СоздатьПакетСДопДокументамиВФНСПредварительное",
ЭтотОбъект,
ОснованиеПакета);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
КонтекстЭДОКлиент.СоздатьПакетСДопДокуменами(ОснованиеПакета);
КонецПроцедуры
&НаСервере
Процедура СкрытьЛишниеЭлементыВрежимеВыбора(Параметры)
Если Параметры.Свойство("СкрытьЕГРЮЛ") Тогда
СкрытьЕГРЮЛ = Параметры.СкрытьЕГРЮЛ;
Иначе
СкрытьЕГРЮЛ = Ложь;
КонецЕсли;
Элементы.ГруппаВыбора.Видимость = ЭтоРежимВыбора;
Если ЭтоРежимВыбора Тогда
Заголовок = НСтр("ru = 'Выберите документ'");
Элементы.ВыбратьДокумент.КнопкаПоУмолчанию = Истина;
Элементы.ГруппаПанельИнформацииСКнопкой.Видимость = Ложь;
Элементы.ГиперссылкаСервисы.Видимость = Ложь;
Элементы.ГиперссылкаНастройки.Видимость = Ложь;
Таблицы = Новый Массив;
Таблицы.Добавить("Отчеты");
Таблицы.Добавить("Уведомления");
Таблицы.Добавить("Письма");
Таблицы.Добавить("Сверки");
Таблицы.Добавить("ЕГРЮЛ");
Таблицы.Добавить("ВходящиеПисьма");
Таблицы.Добавить("Рассылки");
Для каждого ИмяТаблицы Из Таблицы Цикл
ОбрабатываемыйЭлемент = Элементы[ИмяТаблицы];
ОбрабатываемыйЭлемент.КоманднаяПанель.Видимость = Ложь;
ОбрабатываемыйЭлемент.КонтекстноеМеню.Видимость = Ложь;
ОбрабатываемыйЭлемент.ИзменятьСоставСтрок = Ложь;
ОбрабатываемыйЭлемент.ТолькоПросмотр = Истина;
ОбрабатываемыйЭлемент.РежимВыделения = РежимВыделенияТаблицы.Одиночный;
Для каждого Подменю Из ОбрабатываемыйЭлемент.КонтекстноеМеню.ПодчиненныеЭлементы Цикл
Подменю.Видимость = Ложь;
КонецЦикла;
КонецЦикла;
Элементы.ЕГРЮЛКоманднаяПанель1.Видимость = Ложь;
Если СкрытьЕГРЮЛ Тогда
Элементы.СтраницаЕГРЮЛ.Видимость = Ложь;
Элементы.ГиперссылкаЕГРЮЛ.Видимость = Ложь;
КонецЕсли;
Если Параметры.Свойство("Ссылка") Тогда
СсылкаВКлюче = Параметры.Ссылка;
ОрганизацияВКлюче = Параметры.Организация;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СпозиционироватьсяНаСсылка(СсылкаВКлюче, ОрганизацияВКлюче, ИмяСобытия = Неопределено)
Если Элементы.Разделы.ТекущаяСтраница = Элементы.СтраницаОтчеты Тогда
ДополнительноеУсловиеТолстыйКлиент = Истина;
#Если ТолстыйКлиентУправляемоеПриложение Тогда
Если ОрганизацияВКлюче = Неопределено Тогда
Попытка
ДополнительноеУсловиеТолстыйКлиент = (ОрганизацияВКлюче <> ПредопределенноеЗначение("Справочник.Организации.ПустаяСсылка"));
Исключение
КонецПопытки;
КонецЕсли;
#КонецЕсли
Если ОрганизацияВКлюче <> Неопределено И ДополнительноеУсловиеТолстыйКлиент Тогда
Отборы = Новый Массив;
Отборы.Добавить(Новый Структура("Организация, Ссылка", ОрганизацияВКлюче, СсылкаВКлюче));
КлючЗаписи = Новый(Тип("РегистрСведенийКлючЗаписи.ЖурналОтчетовСтатусы"), Отборы);
Если НЕ КлючЗаписи.Пустой() Тогда
ОповеститьОбИзменении(КлючЗаписи);
Если ИмяСобытия <> "Пометка прочтенным"
И ИмяСобытия <> "Пометка непрочтенным"
И ИмяСобытия <> "Скрытие/восстановление объекта" Тогда
ДобавитьВидОтчетаВИзбранные(Отборы[0]);
Элементы.Отчеты.ТекущаяСтрока = КлючЗаписи;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Иначе
ИмяРаздела = СтрЗаменить(Элементы.Разделы.ТекущаяСтраница.Имя, "Страница", "");
СтраницаЖурнала = Неопределено;
Если ИмяРаздела <> "Календарь" Тогда
Если НЕ ИмяРаздела = "Справочники"
И НЕ ИмяРаздела = "Администрирование"
И НЕ ИмяРаздела = "ВыплатыИПособия" Тогда
СтраницаЖурнала = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность." + ИмяРаздела);
КонецЕсли;
КонецЕсли;
Если СтраницаЖурнала = Неопределено Тогда
Возврат;
КонецЕсли;
Отборы = Новый Массив;
Отборы.Добавить(Новый Структура("СтраницаЖурнала, Ссылка, Организация", СтраницаЖурнала, СсылкаВКлюче, ОрганизацияВКлюче));
КлючЗаписи = Новый(Тип("РегистрСведенийКлючЗаписи.ЖурналОтправокВКонтролирующиеОрганы"), Отборы);
Если КлючЗаписи.Пустой() Тогда
Возврат;
КонецЕсли;
ОповеститьОбИзменении(КлючЗаписи);
СтраницыБезСписков = СтрРазделить("Настройки,Сервисы,Новое", ",");
Если (СтрНайти(ИмяСобытия, "Запись_") > 0 ИЛИ ИмяСобытия = "Позиционирование")
И СтраницыБезСписков.Найти(ИмяРаздела) = Неопределено Тогда
Если ИмяРаздела = "Входящие" Тогда
Если ТипЗнч(СсылкаВКлюче) = Тип("СправочникСсылка.ДокументыРеализацииПолномочийНалоговыхОрганов") Тогда
ИмяРаздела = "Требования";
Элементы.ГруппаКатегориииВх.ТекущаяСтраница = Элементы.СтраницаТребования;
Элементы[ИмяРаздела].ТекущаяСтрока = КлючЗаписи;
ПрорисоватьПанельТребований(ЭтотОбъект);
ИначеЕсли ТипЗнч(СсылкаВКлюче) = Тип("СправочникСсылка.ПерепискаСКонтролирующимиОрганами") Тогда
ИмяРаздела = "ВходящиеПисьма";
Элементы.ГруппаКатегориииВх.ТекущаяСтраница = Элементы.СтраницаВходящиеПисьма;
Элементы[ИмяРаздела].ТекущаяСтрока = КлючЗаписи;
КонецЕсли;
Иначе
Если Элементы.Найти(ИмяРаздела) <> Неопределено Тогда
Элементы[ИмяРаздела].ТекущаяСтрока = КлючЗаписи;
Если Элементы[ИмяРаздела].ТекущаяСтрока = Неопределено Тогда
СообщитьПроНесоответствиеОтбору(СсылкаВКлюче, ИмяРаздела);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура СообщитьПроНесоответствиеОтбору(Ссылка, ИмяРаздела)
Если НЕ ЗначениеЗаполнено(Ссылка)
ИЛИ ТипЗнч(Ссылка) <> Тип("ДокументСсылка.УведомлениеОСпецрежимахНалогообложения") Тогда
Возврат;
КонецЕсли;
ЗначенияРеквизитов = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, "Организация, ВидУведомления");
УжеСообщали = УведомленияОКоторыхСообщали.НайтиПоЗначению(Ссылка) <> Неопределено;
Если НЕ ДокументооборотСКО.ЭтоЗаявлениеНаГосРегистрацию(ЗначенияРеквизитов.ВидУведомления)
ИЛИ УжеСообщали Тогда
Возврат;
КонецЕсли;
КонтекстЭДОСервер = ДокументооборотСКО.ПолучитьОбработкуЭДО();
СведенияПоОбъекту = КонтекстЭДОСервер.СведенияПоОтправляемымОбъектам(Ссылка, Истина);
ЭтоДругойРаздел = ИмяРаздела = НСтр("ru = 'Уведомления'");
Наименование = Строка(ЗначенияРеквизитов.ВидУведомления);
НачалоТекст = НСтр("ru = 'Уведомление ""%1"" не отображается в списке раздела ""%2"" формы 1С-Отчетность, поскольку '");
Если ЭтоДругойРаздел Тогда
Текст = НачалоТекст + НСтр("ru = 'переехало в раздел ""ЕГРЮЛ""'");
ИначеЕсли Организация <> ЗначенияРеквизитов.Организация
И НЕ ЗначениеЗаполнено(ЗначенияРеквизитов.Организация)
И ИмяРаздела = НСтр("ru = 'ЕГРЮЛ'") Тогда
Текст = НачалоТекст + НСтр("ru = 'не соответствует отбору по организации'");
Иначе
Возврат;
КонецЕсли;
Текст = СтрШаблон(Текст, Наименование, ИмяРаздела);
ОбщегоНазначения.СообщитьПользователю(Текст);
УведомленияОКоторыхСообщали.Добавить(Ссылка);
КонецПроцедуры
&НаСервере
Процедура ОтметитьДеревоПросмотренным(ПроверитьСобытие = Ложь)
Если НЕ ПроверитьСобытие
ИЛИ ОнлайнСервисыРегламентированнойОтчетностиВызовСервера.СобытиеНаступило("Отмечать новое просмотр.") Тогда
ЭлектронныйДокументооборотСКонтролирующимиОрганами.ОтметитьДеревоПросмотренным(Новое);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СообщитьОНевозможностиИзменитьПрочтенность()
ТекущаяСтраница = ТекущаяСтраница(ЭтотОбъект);
ТекстСообщения = "";
Если ТекущаяСтраница = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Отчеты") Тогда
ТекстСообщения = НСтр("ru = 'Отчет уже прочитан'");
ИначеЕсли ТекущаяСтраница = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Уведомления") Тогда
ТекстСообщения = НСтр("ru = 'Уведомление уже прочитано'");
ИначеЕсли ТекущаяСтраница = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Сверки") Тогда
ТекстСообщения = НСтр("ru = 'Запрос на сверку уже прочитан'");
ИначеЕсли ТекущаяСтраница = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.ЕГРЮЛ") Тогда
ТекстСообщения = НСтр("ru = 'Запрос выписки из ЕГРЮЛ уже прочитан'");
ИначеЕсли ТекущаяСтраница = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Входящие") Тогда
ТекстСообщения = НСтр("ru = 'Письмо уже прочитано'");
КонецЕсли;
Если ЗначениеЗаполнено(ТекстСообщения) Тогда
ПоказатьПредупреждение(,ТекстСообщения);
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Функция ИмяСтраницы(Страница)
Если Страница = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Новое") Тогда
ИмяРаздела = "Новое";
ИначеЕсли Страница = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Отчеты") Тогда
ИмяРаздела = "Отчеты";
ИначеЕсли Страница = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Уведомления") Тогда
ИмяРаздела = "Уведомления";
ИначеЕсли Страница = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Письма") Тогда
ИмяРаздела = "Письма";
ИначеЕсли Страница = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Сверки") Тогда
ИмяРаздела = "Сверки";
ИначеЕсли Страница = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.ЕГРЮЛ") Тогда
ИмяРаздела = "ЕГРЮЛ";
ИначеЕсли Страница = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Входящие") Тогда
ИмяРаздела = "Входящие";
ИначеЕсли Страница = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Настройки") Тогда
ИмяРаздела = "Настройки";
ИначеЕсли Страница = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Сервисы") Тогда
ИмяРаздела = "Сервисы";
КонецЕсли;
Возврат ИмяРаздела;
КонецФункции
&НаСервере
Функция СкрытьОбъект1СОтчетности()
СкрытыеОбъекты = Новый Массив;
ТекущаяТаблица = ТекущаяТаблица(ЭтотОбъект);
Для каждого Строка Из ТекущаяТаблица.ВыделенныеСтроки Цикл
СкрытыйОбъект = Новый Структура;
СкрытыйОбъект.Вставить("Ссылка", Строка.Ссылка);
СкрытыйОбъект.Вставить("Организация", Строка.Организация);
ЭлектронныйДокументооборотСКонтролирующимиОрганамиВызовСервера.СкрытьВосстановитьОбъект1СОтчетности(
СкрытыйОбъект.Ссылка,
Истина);
СкрытыеОбъекты.Добавить(СкрытыйОбъект);
КонецЦикла;
Возврат СкрытыеОбъекты;
КонецФункции
&НаСервереБезКонтекста
Функция ТабличныйДокументПисьма(Письмо)
Возврат Справочники.ПерепискаСКонтролирующимиОрганами.ПечатнаяФорма(Письмо);
КонецФункции
&НаСервереБезКонтекста
Функция ТабличныйДокументОбращениеСФРКСтрахователю(Обращение)
ТабДокумент = Новый ТабличныйДокумент;
Бланк = Документы.ОбращениеСФРКСтрахователю.ПолучитьМакет("Обращение");
ОбластьШапка = Бланк.ПолучитьОбласть("Шапка");
ОбластьШапка.Параметры.ДатаПисьмо = Обращение.Дата;
ОбластьШапка.Параметры.Идентификатор = Обращение.Идентификатор;
ОбластьШапка.Параметры.Страхователь = Обращение.Организация;
ТабДокумент.Вывести(ОбластьШапка);
ТекстОбращения = СокрЛП(Обращение.ТекстОбращения);
Для НомерСтроки = 1 По СтрЧислоСтрок(ТекстОбращения) Цикл
ОбластьТекстПисьма = Бланк.ПолучитьОбласть("ТекстПисьма");
ОбластьТекстПисьма.Параметры.ТекстПисьма = СтрПолучитьСтроку(
ТекстОбращения, НомерСтроки);
ТабДокумент.Вывести(ОбластьТекстПисьма);
КонецЦикла;
ОбластьПриложений = Бланк.ПолучитьОбласть("Приложения");
НомерПриложения = 0;
Для каждого Вложение Из Обращение.ФайлыОбращения Цикл
НомерПриложения = НомерПриложения + 1;
ИмяПриложения = Вложение.ИмяФайла;
ОбластьПриложений.Параметры.Приложение = Строка(НомерПриложения) + ". " + ИмяПриложения;
ТабДокумент.Вывести(ОбластьПриложений);
КонецЦикла;
Возврат ТабДокумент;
КонецФункции
&НаСервереБезКонтекста
Функция ТабличныйДокументНО(ДокументНО)
Возврат Справочники.ДокументыРеализацииПолномочийНалоговыхОрганов.ПечатнаяФорма(ДокументНО);
КонецФункции
&НаСервереБезКонтекста
Функция ТабличныйДокументСверки(Сверка)
Если ТипЗнч(Сверка) = Тип("ДокументСсылка.ЗапросНаИнформационноеОбслуживаниеСтрахователя") Тогда
Источник = Документы.ЗапросНаИнформационноеОбслуживаниеСтрахователя;
Иначе
Источник = Документы.ЗапросНаИнформационноеОбслуживаниеНалогоплательщика;
КонецЕсли;
ТабличныйДокумент = Источник.ПечатнаяФорма(Сверка);
Возврат ТабличныйДокумент;
КонецФункции
&НаСервереБезКонтекста
Функция ТекущаяДатаНаСервере()
Возврат ТекущаяДатаСеанса();
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция Разделы(Форма, ТолькоРазделыСТаблицами = Ложь) Экспорт
Возврат РегламентированнаяОтчетностьКлиентСервер.Разделы(Форма, ТолькоРазделыСТаблицами);
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Процедура ОбновитьКоличествоНовых(Форма)
Форма.КоличествоНовых = ЭлектронныйДокументооборотСКонтролирующимиОрганамиКлиентСервер.ОбновитьКоличествоНовых(Форма);
Если Форма.КоличествоНовых > 0 Тогда
ТекстНовое = НСтр("ru = 'Новое (%1)'");
ТекстНовое = СтрШаблон(ТекстНовое, ?(Форма.КоличествоНовых > 99, "99+", Форма.КоличествоНовых));
Форма.Элементы.ГиперссылкаНовое.Заголовок = ТекстНовое;
Иначе
Форма.Элементы.ГиперссылкаНовое.Заголовок = НСтр("ru = 'Новое'");
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ЗаполнитьДеревоНовое(ПервоначальноеЗаполнение = Ложь)
ЕстьИзмененияВНовыхСообщениях = Ложь;
ДеревоНовое = РеквизитФормыВЗначение("Новое");
ТекущиеСобытия = Новый Соответствие;
Для Каждого СтрокаДерева Из ДеревоНовое.Строки Цикл
Если ЗначениеЗаполнено(СтрокаДерева.Ссылка) Тогда
ТекущиеСобытия.Вставить(Строка(СтрокаДерева.Ссылка.УникальныйИдентификатор()) + СтрокаДерева.Статус, Истина);
КонецЕсли;
Для Каждого ПодСтрокаДерева Из СтрокаДерева.Строки Цикл
Если ЗначениеЗаполнено(ПодСтрокаДерева.Ссылка) Тогда
ТекущиеСобытия.Вставить(Строка(ПодСтрокаДерева.Ссылка.УникальныйИдентификатор()) + ПодСтрокаДерева.Статус, Истина);
КонецЕсли;
КонецЦикла;
КонецЦикла;
ЭлектронныйДокументооборотСКонтролирующимиОрганами.ЗаполнитьДеревоНовое(ДеревоНовое);
Для Каждого СтрокаДерева Из ДеревоНовое.Строки Цикл
Если ЗначениеЗаполнено(СтрокаДерева.Ссылка) Тогда
КлючПоиска = Строка(СтрокаДерева.Ссылка.УникальныйИдентификатор()) + СтрокаДерева.Статус;
Если ТекущиеСобытия.Получить(КлючПоиска) = Неопределено Тогда
ЕстьИзмененияВНовыхСообщениях = Истина;
Прервать;
КонецЕсли;
КонецЕсли;
КонецЦикла;
ЗначениеВРеквизитФормы(ДеревоНовое, "Новое");
ДатаПоследнегоОбновления = ЭлектронныйДокументооборотСКонтролирующимиОрганами.ДатаПоследнегоОбновленияСобытий();
НадписьВремяОбновления = ЭлектронныйДокументооборотСКонтролирующимиОрганами.ПолучитьНадписьВремяОбновления(ДатаПоследнегоОбновления);
ОбновитьКоличествоНовых(ЭтотОбъект);
Возврат ЕстьИзмененияВНовыхСообщениях И Не ПервоначальноеЗаполнение;
КонецФункции
&НаСервереБезКонтекста
Функция ПолучитьСписокОтчетовИзРегистраСведений(ПараметрыОтбора = Неопределено)
Запрос = Новый Запрос;
ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| Журнал.НаименованиеОтчета КАК НаименованиеОтчета
|ИЗ
| РегистрСведений.ЖурналОтчетовСтатусы КАК Журнал
|";
ТекстУпорядочить = "
|УПОРЯДОЧИТЬ ПО
| НаименованиеОтчета";
ТекстУсловия = "";
Если НЕ ПараметрыОтбора = Неопределено Тогда
ЕстьПараметры = Ложь;
Если НЕ ПараметрыОтбора.Организация = Справочники.Организации.ПустаяСсылка() Тогда
ТекстУсловия = Символы.ПС + " Журнал.Организация = &Организация ";
Запрос.УстановитьПараметр("Организация", ПараметрыОтбора.Организация);
ЕстьПараметры = Истина;
КонецЕсли;
Если ЗначениеЗаполнено(ПараметрыОтбора.НачалоПериода)Тогда
ТекстУсловия = ТекстУсловия + Символы.ПС + " " + ?(ЕстьПараметры, "И ", "") + "Журнал.ДатаНачала >= &НачалоПериода";
Запрос.УстановитьПараметр("НачалоПериода", ПараметрыОтбора.НачалоПериода);
ЕстьПараметры = Истина;
КонецЕсли;
Если ЗначениеЗаполнено(ПараметрыОтбора.КонецПериода)Тогда
ТекстУсловия = ТекстУсловия + Символы.ПС + " " + ?(ЕстьПараметры, "И ", "") + "Журнал.ДатаОкончания <= &КонецПериода";
Запрос.УстановитьПараметр("КонецПериода", ПараметрыОтбора.КонецПериода);
ЕстьПараметры = Истина;
КонецЕсли;
Если ЗначениеЗаполнено(ТекстУсловия) Тогда
ТекстЗапроса = ТекстЗапроса + "ГДЕ " + ТекстУсловия;
КонецЕсли;
КонецЕсли;
Запрос.Текст = ТекстЗапроса + ТекстУпорядочить;
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
Возврат РезультатЗапроса.ВыгрузитьКолонку("НаименованиеОтчета");
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Процедура ВывестиТаблицуРаздела(Форма, РазделОтчетности)
ТекущийРаздел = ТекущийРазделФормы(Форма);
ИмяТекущейТаблицы = СтрЗаменить(ТекущийРаздел.Имя, "Гиперссылка", "");
Форма.Элементы.Разделы.ТекущаяСтраница = Форма.Элементы["Страница" + ИмяТекущейТаблицы];
ТекущийРаздел = Форма.Элементы.Разделы.ТекущаяСтраница;
Если ТекущийРаздел <> Форма.Элементы.СтраницаНовое И ТекущийРаздел <> Форма.Элементы.СтраницаНастройки Тогда
ИмяЭлемента = СтрЗаменить(РазделОтчетности, "Гиперссылка", "");
ЭлементТаблица = Форма.Элементы.Найти(?(ИмяЭлемента = "Входящие", "Требования", ИмяЭлемента));
Если ЭлементТаблица <> Неопределено Тогда
Форма.ТекущийЭлемент = ЭлементТаблица;
Если ЭлементТаблица = Форма.Элементы.Требования Тогда
ДобавитьОтборПоПериодуТребования(Форма);
УстановитьОтборыНаСтраницеВходящие(Форма);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КалендарьОтчетностиБРОКлиентСерверПереопределяемый.ПриСменеСтраницыРазделаОтчетности(Форма);
КонецПроцедуры
&НаКлиенте
Процедура УправлениеЭУПанельУстановкаКомпонентыПечати(ОперацияСКомпонентойСовершена = Ложь)
Если РегламентированнаяОтчетностьКлиент.КомпонентаПечатиМашиночитаемыхФормДоступна() Тогда
Элементы.ПереустановитьКомпонентыПечатиМашиночитаемыхФорм.Заголовок = НСтр("ru = 'Переустановить компоненты печати машиночитаемых форм'");
Иначе
Элементы.ПереустановитьКомпонентыПечатиМашиночитаемыхФорм.Заголовок = НСтр("ru = 'Установка компоненты печати'");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УправлениеЭУГруппаНастройки()
ЗаголовкиГруппы = ЗаголовкиГруппыНастройки(Организация);
Элементы.ЗаявлениеНаПодключениеК1СОтчетности.Заголовок = ЗаголовкиГруппы.ЗаголовокГиперссылкиЗаявления;
ОткрывающаясяСкобка = Новый ФорматированнаяСтрока("(");
СсылкаСписокЗавлений = Новый ФорматированнаяСтрока(
ЗаголовкиГруппы.ЗаголовокГиперссылкиСпискаЗаявлений,,,,
"Список");
ЗакрывающаясяСкобка = Новый ФорматированнаяСтрока(")");
Элементы.СписокЗаявлений.Заголовок = Новый ФорматированнаяСтрока(ОткрывающаясяСкобка, СсылкаСписокЗавлений, ЗакрывающаясяСкобка);
ВебБраузер = РегламентированнаяОтчетностьКлиент.ВебБраузер();
Если ЗначениеЗаполнено(ВебБраузер)
И НЕ ВебБраузер = "MSIE" Тогда
Элементы.ГруппаДвухмерногоШтрихкода.Видимость = Ложь;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ШаблоныПечатиМашиночитаемыхФормНажатие()
ОткрытьФорму("РегистрСведений.ШаблоныПечатиМашиночитаемыхФорм.Форма.ФормаСписка");
КонецПроцедуры
&НаКлиенте
Процедура НастройкаXMLШаблоновНажатие(Элемент)
ОткрытьФорму("РегистрСведений.ШаблоныЭВФОтчетовСтатистики.ФормаСписка");
КонецПроцедуры
&НаКлиенте
Процедура НастройкаФорматаВыгрузкиНажатие(Элемент)
РегламентированнаяОтчетностьКлиент.ПоказатьФормуНастроекФорматаВыгрузкиСтатистическойОтчетностиВЭлектронномВиде(Организация);
КонецПроцедуры
&НаКлиенте
Процедура ЖурналВыгруженныхОтчетовНажатие(Элемент)
ОткрытьФорму("Документ.ВыгрузкаРегламентированныхОтчетов.Форма.ФормаСписка", , ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура СправочникРегламентированныхОтчетовНажатие(Элемент)
ОткрытьФорму("Справочник.РегламентированныеОтчеты.Форма.ФормаСписка");
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьОтборыПоОтчетам(Форма)
ОтборДинамическогоСписка = Форма.Отчеты.КомпоновщикНастроек.Настройки.Отбор;
ДобавляемыеЭлементыОтбора = Новый Массив;
ДобавляемыеЭлементыОтбораВидОтчета = Новый Массив;
ПолеКомпоновкиНаименованиеОтчета = Новый ПолеКомпоновкиДанных("НаименованиеОтчета");
ПолеКомпоновкиОрганизация = Новый ПолеКомпоновкиДанных("Организация");
ПолеКомпоновкиДатаНачала = Новый ПолеКомпоновкиДанных("ДатаНачала");
ПолеКомпоновкиДатаОкончания = Новый ПолеКомпоновкиДанных("ДатаОкончания");
СтрМакетПенсионногоДела = "Макет пенсионного дела";
СтрЗаявлениеОНазначенииПенсии = "Заявление о назначении пенсии";
Для Каждого ЭлементПользовательскойНастройки Из Форма.Отчеты.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы Цикл
Если ТипЗнч(ЭлементПользовательскойНастройки) = Тип("ОтборКомпоновкиДанных")
И ЭлементПользовательскойНастройки.ИдентификаторПользовательскойНастройки
= ОтборДинамическогоСписка.ИдентификаторПользовательскойНастройки Тогда
Для Каждого ЭлементОтбора Из ЭлементПользовательскойНастройки.Элементы Цикл
Если ТипЗнч(ЭлементОтбора) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда
Если (ЭлементОтбора.ЛевоеЗначение = ПолеКомпоновкиНаименованиеОтчета
И (ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке
ИЛИ СокрЛП(ЭлементОтбора.ПравоеЗначение) = СтрМакетПенсионногоДела))
ИЛИ (ЭлементОтбора.ЛевоеЗначение = ПолеКомпоновкиНаименованиеОтчета
И (ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке
ИЛИ СокрЛП(ЭлементОтбора.ПравоеЗначение) = СтрЗаявлениеОНазначенииПенсии))
ИЛИ (ЭлементОтбора.ЛевоеЗначение = ПолеКомпоновкиОрганизация
И ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно)
ИЛИ (ЭлементОтбора.ЛевоеЗначение = ПолеКомпоновкиДатаНачала
И (ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно
ИЛИ ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.БольшеИлиРавно))
ИЛИ (ЭлементОтбора.ЛевоеЗначение = ПолеКомпоновкиДатаОкончания
И ЭлементОтбора.ВидСравнения <> ВидСравненияКомпоновкиДанных.Равно) Тогда
Продолжить;
КонецЕсли;
Если ЭлементОтбора.ЛевоеЗначение = ПолеКомпоновкиНаименованиеОтчета Тогда
ДобавляемыеЭлементыОтбораВидОтчета.Добавить(ЭлементОтбора);
Иначе
ДобавляемыеЭлементыОтбора.Добавить(ЭлементОтбора);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
СписокОтбораВидОтчета = Новый СписокЗначений;
ВидОтчетаМакетПенсионногоДела = Неопределено;
Если ТипЗнч(Форма.ВидОтчета) = Тип("СписокЗначений") Тогда
Для Каждого ЭлементВидОтчета Из Форма.ВидОтчета Цикл
Если СокрЛП(ЭлементВидОтчета.Значение) = СтрМакетПенсионногоДела
ИЛИ СокрЛП(ЭлементВидОтчета.Значение) = СтрЗаявлениеОНазначенииПенсии Тогда
ВидОтчетаМакетПенсионногоДела = ЭлементВидОтчета.Значение;
ИначеЕсли ЗначениеЗаполнено(ЭлементВидОтчета.Значение) Тогда
СписокОтбораВидОтчета.Добавить(ЭлементВидОтчета.Значение);
КонецЕсли;
КонецЦикла;
Иначе
Если СокрЛП(Форма.ВидОтчета) = СтрМакетПенсионногоДела
ИЛИ СокрЛП(Форма.ВидОтчета) = СтрЗаявлениеОНазначенииПенсии Тогда
ВидОтчетаМакетПенсионногоДела = Строка(Форма.ВидОтчета);
ИначеЕсли ЗначениеЗаполнено(Форма.ВидОтчета) Тогда
СписокОтбораВидОтчета.Добавить(Строка(Форма.ВидОтчета));
Если Строка(Форма.ВидОтчета) = "Сведения о трудовой деятельности, ЕФС-1 подраздел 1.1" Тогда
СписокОтбораВидОтчета.Добавить("Сведения о трудовой деятельности работников, СЗВ-ТД");
КонецЕсли;
КонецЕсли;
КонецЕсли;
ОтборДинамическогоСписка.Элементы.Очистить();
ОтборГруппа = Неопределено;
ОтборВидОтчета = Неопределено;
ОтборВидОтчетаМакетПенсионногоДела = Неопределено;
Если ВидОтчетаМакетПенсионногоДела <> Неопределено Тогда
Если СписокОтбораВидОтчета.Количество() > 0 Тогда
ОтборГруппа = ОтборДинамическогоСписка.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
ОтборГруппа.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;
ОтборГруппа.Использование = Истина;
ОтборВидОтчета = ОтборГруппа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборВидОтчетаМакетПенсионногоДела = ОтборГруппа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборВидОтчета.ЛевоеЗначение = ПолеКомпоновкиНаименованиеОтчета;
Иначе
ОтборВидОтчетаМакетПенсионногоДела = ОтборДинамическогоСписка.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
КонецЕсли;
ОтборВидОтчетаМакетПенсионногоДела.ЛевоеЗначение = ПолеКомпоновкиНаименованиеОтчета;
Иначе
ОтборВидОтчета = ОтборДинамическогоСписка.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборВидОтчета.ЛевоеЗначение = ПолеКомпоновкиНаименованиеОтчета;
КонецЕсли;
ОтборОрганизация = ОтборДинамическогоСписка.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборДатаНачала = ОтборДинамическогоСписка.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборДатаОкончания1 = ОтборДинамическогоСписка.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборДатаОкончания2 = ОтборДинамическогоСписка.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборОрганизация.ЛевоеЗначение = ПолеКомпоновкиОрганизация;
ОтборДатаНачала.ЛевоеЗначение = ПолеКомпоновкиДатаНачала;
ОтборДатаОкончания1.ЛевоеЗначение = ПолеКомпоновкиДатаОкончания;
ОтборДатаОкончания2.ЛевоеЗначение = ПолеКомпоновкиДатаОкончания;
Если НЕ ЗначениеЗаполнено(Форма.Организация) Тогда
ОтборДинамическогоСписка.Элементы.Удалить(ОтборОрганизация);
Иначе
ОтборОрганизация.Использование = Истина;
ОтборОрганизация.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборОрганизация.ПравоеЗначение = Форма.Организация;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Форма.ВидОтчета)
ИЛИ (ТипЗнч(Форма.ВидОтчета) = Тип("СписокЗначений")
И Форма.ВидОтчета.Количество() = 1 И Форма.ВидОтчета[0].Значение = "") Тогда
Если ОтборГруппа <> Неопределено Тогда
ОтборДинамическогоСписка.Элементы.Удалить(ОтборГруппа);
ИначеЕсли ОтборВидОтчета <> Неопределено Тогда
ОтборДинамическогоСписка.Элементы.Удалить(ОтборВидОтчета);
ИначеЕсли ОтборВидОтчетаМакетПенсионногоДела <> Неопределено Тогда
ОтборДинамическогоСписка.Элементы.Удалить(ОтборВидОтчетаМакетПенсионногоДела);
КонецЕсли;
Иначе
Если ОтборВидОтчетаМакетПенсионногоДела <> Неопределено Тогда
ОтборВидОтчетаМакетПенсионногоДела.Использование = Истина;
ОтборВидОтчетаМакетПенсионногоДела.ВидСравнения = ВидСравненияКомпоновкиДанных.Содержит;
ОтборВидОтчетаМакетПенсионногоДела.ПравоеЗначение = ВидОтчетаМакетПенсионногоДела;
КонецЕсли;
Если ОтборВидОтчета <> Неопределено Тогда
ОтборВидОтчета.Использование = Истина;
ОтборВидОтчета.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
ОтборВидОтчета.ПравоеЗначение = СписокОтбораВидОтчета;
КонецЕсли;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Форма.ПериодОтчета) Тогда
ОтборДинамическогоСписка.Элементы.Удалить(ОтборДатаНачала);
ОтборДинамическогоСписка.Элементы.Удалить(ОтборДатаОкончания1);
ОтборДинамическогоСписка.Элементы.Удалить(ОтборДатаОкончания2);
Иначе
Если ЗначениеЗаполнено(Форма.НачалоПериода) Тогда
ОтборДатаНачала.Использование = Истина;
ОтборДатаНачала.ВидСравнения = ?(Форма.ТолькоУказанныйПериод, ВидСравненияКомпоновкиДанных.Равно, ВидСравненияКомпоновкиДанных.БольшеИлиРавно);
ОтборДатаНачала.ПравоеЗначение = ?(Форма.ТолькоУказанныйПериод, Форма.НачалоПериода, НачалоГода(Форма.НачалоПериода));
ОтборДатаОкончания1.Использование = НЕ Форма.ТолькоУказанныйПериод;
ОтборДатаОкончания1.ВидСравнения = ВидСравненияКомпоновкиДанных.БольшеИлиРавно;
ОтборДатаОкончания1.ПравоеЗначение = Форма.НачалоПериода;
Иначе
ОтборДинамическогоСписка.Элементы.Удалить(ОтборДатаНачала);
Если Форма.ТолькоУказанныйПериод Тогда
ОтборДатаОкончания1.Использование = Ложь;
Иначе
ОтборДинамическогоСписка.Элементы.Удалить(ОтборДатаОкончания1);
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(Форма.КонецПериода) Тогда
Если Форма.ТолькоУказанныйПериод Тогда
ОтборДатаОкончания1.Использование = Истина;
ОтборДатаОкончания1.ВидСравнения = ВидСравненияКомпоновкиДанных.БольшеИлиРавно;
ОтборДатаОкончания1.ПравоеЗначение = НачалоДня(Форма.КонецПериода);
КонецЕсли;
ОтборДатаОкончания2.Использование = Истина;
ОтборДатаОкончания2.ВидСравнения = ВидСравненияКомпоновкиДанных.МеньшеИлиРавно;
ОтборДатаОкончания2.ПравоеЗначение = Форма.КонецПериода;
Иначе
ОтборДинамическогоСписка.Элементы.Удалить(ОтборДатаОкончания2);
КонецЕсли;
КонецЕсли;
Если ТипЗнч(ОтборДатаОкончания1) = Тип("ЭлементОтбораКомпоновкиДанных")
И НЕ ОтборДатаОкончания1.Использование Тогда
ОтборДинамическогоСписка.Элементы.Удалить(ОтборДатаОкончания1);
КонецЕсли;
Для Каждого ДобавляемыйЭлементОтбораВидОтчета Из ДобавляемыеЭлементыОтбораВидОтчета Цикл
НовыйЭлементОтбора = ОтборДинамическогоСписка.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЗаполнитьЗначенияСвойств(НовыйЭлементОтбора, ДобавляемыйЭлементОтбораВидОтчета, , "ИдентификаторПользовательскойНастройки");
НовыйЭлементОтбора.ПредставлениеПользовательскойНастройки = ДобавляемыйЭлементОтбораВидОтчета.ИдентификаторПользовательскойНастройки;
КонецЦикла;
Для Каждого ДобавляемыйЭлементОтбора Из ДобавляемыеЭлементыОтбора Цикл
НовыйЭлементОтбора = ОтборДинамическогоСписка.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЗаполнитьЗначенияСвойств(НовыйЭлементОтбора, ДобавляемыйЭлементОтбора, , "ИдентификаторПользовательскойНастройки");
НовыйЭлементОтбора.ПредставлениеПользовательскойНастройки = ДобавляемыйЭлементОтбора.ИдентификаторПользовательскойНастройки;
КонецЦикла;
УстановитьДопОтборы(Форма, ОтборДинамическогоСписка);
ОтборДинамическогоСписка.ИдентификаторПользовательскойНастройки = Строка(Новый УникальныйИдентификатор);
Для Каждого ЭлементПользовательскойНастройки Из Форма.Отчеты.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы Цикл
Если ТипЗнч(ЭлементПользовательскойНастройки) = Тип("ОтборКомпоновкиДанных")
И ЭлементПользовательскойНастройки.ИдентификаторПользовательскойНастройки
= ОтборДинамическогоСписка.ИдентификаторПользовательскойНастройки Тогда
Для Каждого ЭлементОтбора Из ЭлементПользовательскойНастройки.Элементы Цикл
Если ТипЗнч(ЭлементОтбора) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда
Если ЗначениеЗаполнено(ЭлементОтбора.ПредставлениеПользовательскойНастройки) Тогда
ЭлементОтбора.ИдентификаторПользовательскойНастройки = ЭлементОтбора.ПредставлениеПользовательскойНастройки;
ДоступноеПолеОтбора = ЭлементПользовательскойНастройки.ДоступныеПоляОтбора.НайтиПоле(ЭлементОтбора.ЛевоеЗначение);
ЭлементОтбора.ПредставлениеПользовательскойНастройки =
?(ДоступноеПолеОтбора = Неопределено, Строка(ЭлементОтбора.ЛевоеЗначение), ДоступноеПолеОтбора.Заголовок);
КонецЕсли
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
ОтборДинамическогоСписка.Элементы.Очистить();
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьСортировкуПоУмолчанию(Форма)
ПорядокДинамическогоСписка = Форма.Отчеты.КомпоновщикНастроек.Настройки.Порядок;
ПользовательскиеНастройкиДинамическогоСписка = Форма.Отчеты.КомпоновщикНастроек.ПользовательскиеНастройки;
ПользовательскийПорядокДинамическогоСписка = ПользовательскиеНастройкиДинамическогоСписка.Элементы.Найти(
ПорядокДинамическогоСписка.ИдентификаторПользовательскойНастройки);
Если ПользовательскийПорядокДинамическогоСписка <> Неопределено
И ПорядокДинамическогоСписка.Элементы.Количество() = ПользовательскийПорядокДинамическогоСписка.Элементы.Количество() Тогда
Для Каждого ЭлементПорядка Из ПользовательскийПорядокДинамическогоСписка.Элементы Цикл
Если ЭлементПорядка.Поле <> ПорядокДинамическогоСписка.Элементы[ПользовательскийПорядокДинамическогоСписка.Элементы.Индекс(ЭлементПорядка)].Поле Тогда
ПорядокДинамическогоСписка.ИдентификаторПользовательскойНастройки = Строка(Новый УникальныйИдентификатор);
Возврат;
КонецЕсли;
КонецЦикла;
Для Каждого ЭлементПорядка Из ПользовательскийПорядокДинамическогоСписка.Элементы Цикл
Если ЭлементПорядка.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Возр Тогда
ЭлементПорядка.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Убыв;
Иначе
ЭлементПорядка.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Возр;
КонецЕсли;
ЭлементПорядка.Использование = Истина;
КонецЦикла;
Иначе
ПорядокДинамическогоСписка.ИдентификаторПользовательскойНастройки = Строка(Новый УникальныйИдентификатор);
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ВостановитьНастройкиОтборовИСортировкиОтчетов(Форма, СохраненныеПользовательскиеНастройки)
Для Каждого ЭлементПользовательскойНастройки Из СохраненныеПользовательскиеНастройки.Элементы Цикл
Если ТипЗнч(ЭлементПользовательскойНастройки) = Тип("ОтборКомпоновкиДанных") Тогда
ЭлементПользовательскойНастройки.ИдентификаторПользовательскойНастройки =
Форма.Отчеты.КомпоновщикНастроек.Настройки.Отбор.ИдентификаторПользовательскойНастройки;
ИначеЕсли ТипЗнч(ЭлементПользовательскойНастройки) = Тип("ПорядокКомпоновкиДанных") Тогда
ЭлементПользовательскойНастройки.ИдентификаторПользовательскойНастройки =
Форма.Отчеты.КомпоновщикНастроек.Настройки.Порядок.ИдентификаторПользовательскойНастройки;
КонецЕсли;
КонецЦикла;
Форма.Отчеты.КомпоновщикНастроек.ЗагрузитьПользовательскиеНастройки(СохраненныеПользовательскиеНастройки);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ВсеОрганизации()
Результат = Новый Структура;
Результат.Вставить("ЕстьОграничения", Ложь);
КонтекстСервера = ДокументооборотСКО.ПолучитьОбработкуЭДО();
Если КонтекстСервера <> Неопределено Тогда
МассивОрганизаций = КонтекстСервера.ВыбранныеОрганизацииДляОбмена();
Результат.Вставить("ЕстьОграничения", Истина);
Иначе
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| Организации.Ссылка КАК Организация
|ИЗ
| Справочник.Организации КАК Организации
|ГДЕ
| Организации.ПометкаУдаления = ЛОЖЬ";
РезультатЗапроса = Запрос.Выполнить();
ТаблицаОрганизаций = РезультатЗапроса.Выгрузить();
МассивОрганизаций = ТаблицаОрганизаций.ВыгрузитьКолонку("Организация");
КонецЕсли;
Результат.Вставить("МассивОрганизаций", МассивОрганизаций);
Возврат Результат;
КонецФункции
&НаКлиенте
Процедура Подключаемый_ОсуществитьОбменПоВыбраннымОрганизациям()
Если НомерОбъекта + 1 > ВыбранныеОрганизации.Количество() Тогда
ОписаниеОповещения = Новый ОписаниеОповещения("ОсуществитьОбменПоВыбраннымОрганизациямПослеНастройкиМЧДФНС",
ЭтотОбъект);
ДокументооборотСКОКлиент.НастроитьМЧДФНС(ОписаниеОповещения,, ВыбранныеОрганизации);
Иначе
ОрганизацияДляОбмена = ВыбранныеОрганизации[НомерОбъекта];
ОписаниеОповещения = Новый ОписаниеОповещения(
"ОсуществитьОбменПоВыбраннымОрганизациямЗавершение",
ЭтотОбъект);
КонтекстЭДОКлиент.ОсуществитьОбменПоОрганизации(
ЭтотОбъект,
ОрганизацияДляОбмена,
ОписаниеОповещения);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОсуществитьОбменПоВыбраннымОрганизациямПослеНастройкиМЧДФНС(Результат, ДополнительныеПараметры) Экспорт
ОписаниеОповещения = Новый ОписаниеОповещения(
"ОсуществитьОбменПоВыбраннымОрганизациямПослеОтправкиУПУП",
ЭтотОбъект);
КонтекстЭДОКлиент.ОтправитьУПУППослеОбмена(ОписаниеОповещения);
КонецПроцедуры
&НаКлиенте
Процедура ОсуществитьОбменПоВыбраннымОрганизациямПослеОтправкиУПУП(Результат, ДополнительныеПараметры) Экспорт
УправлениеЭУ(ЭтотОбъект);
ДлительнаяОтправкаКлиент.ОповеститьОЗавершенииОбмена();
ПодключитьОбработчикОжидания("Подключаемый_ОбновитьНадписьВремяОбновления", 0.1, Истина);
КонецПроцедуры
&НаКлиенте
Процедура ОсуществитьОбменПоВыбраннымОрганизациямЗавершение(Результат, ДополнительныеПараметры) Экспорт
НомерОбъекта = НомерОбъекта + 1;
ПодключитьОбработчикОжидания("Подключаемый_ОсуществитьОбменПоВыбраннымОрганизациям", 0.1, Истина);
КонецПроцедуры
&НаКлиенте
Процедура ОсуществитьОбменСЭДОПоВыбраннымОрганизациямЗавершение(Результат, ДополнительныеПараметры) Экспорт
НомерОбъекта = НомерОбъекта + 1;
ПодключитьОбработчикОжидания("Подключаемый_ОсуществитьОбменСЭДОПоВыбраннымОрганизациям", 0.1, Истина);
КонецПроцедуры
&НаКлиенте
Процедура СоздатьСверку(ВидУслуги)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
Оповещение = Новый ОписаниеОповещения("СоздатьСверкуПредварительное", ЭтотОбъект, ВидУслуги);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если НЕ ДокументооборотСКОКлиент.ЭтоКорректныйВидСверки(ВидУслуги) Тогда
Возврат;
КонецЕсли;
Если ТипЗнч(ВидУслуги) = Тип("ПеречислениеСсылка.ВидыУслугПриИОН") Тогда
ФормаДокумента = "Документ.ЗапросНаИнформационноеОбслуживаниеНалогоплательщика.Форма.ФормаДокумента";
Иначе
ФормаДокумента = "Документ.ЗапросНаИнформационноеОбслуживаниеСтрахователя.Форма.ФормаДокумента";
КонецЕсли;
Если ВидУслуги = "ЗаявлениеНаФормированиеСправкиОРасчетах" Тогда
ФормаДокумента = "Документ.ЗаявлениеНаФормированиеСправкиОРасчетах.Форма.ФормаДокумента";
КонецЕсли;
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ЗначенияЗаполнения", Новый Структура("ВидУслуги, Организация", ВидУслуги, Организация));
ОткрытьФорму(ФормаДокумента, ПараметрыФормы, ЭтотОбъект, Новый УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура РедактироватьОбъект(Элемент)
ИмяТекущегоРаздела = Элементы.Разделы.ТекущаяСтраница.Имя;
Если ИмяТекущегоРаздела = "СтраницаВходящие" Тогда
ИмяТекущейСтраницы = Элементы.ГруппаКатегориииВх.ТекущаяСтраница.Имя;
ИмяТекущейСтраницы = СтрЗаменить(ИмяТекущейСтраницы, "Страница", "");
ТекущиеДанные = Элементы[ИмяТекущейСтраницы].ТекущиеДанные;
Иначе
ТекущиеДанные = Элемент.ТекущиеДанные;
КонецЕсли;
Если ТекущиеДанные <> Неопределено Тогда
Ссылка = ТекущиеДанные.Ссылка;
Если ЗначениеЗаполнено(Ссылка) Тогда
ПоказатьЗначение(,Ссылка);
Оповестить("Пометка прочтенным", , Ссылка);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПометитьНаУдалениеОбъект(Таблица)
ТекущиеДанные = Таблица.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
Если Таблица = Элементы.Отчеты Тогда
Ссылка = ТекущиеДанные.РегламентированныйОтчет;
Иначе
Ссылка = ТекущиеДанные.Ссылка;
КонецЕсли;
ПометитьНаУдалениеОбъектНаСервере(Ссылка);
ПараметрОповещения = Новый Структура();
ПараметрОповещения.Вставить("Ссылка", Ссылка);
ПараметрОповещения.Вставить("Организация", ТекущиеДанные.Организация);
Оповестить("Изменение пометки удаления объекта", ПараметрОповещения, Ссылка);
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ПометитьНаУдалениеОбъектНаСервере(Ссылка)
УдаляемыйОбъект = Ссылка.ПолучитьОбъект();
ПометкаУдаленияОбъекта = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "ПометкаУдаления");
УдаляемыйОбъект.УстановитьПометкуУдаления(НЕ ПометкаУдаленияОбъекта);
КонецПроцедуры
&НаСервере
Функция ЕщеНеОтправлялся(Ссылка)
Возврат ЭлектронныйДокументооборотСКонтролирующимиОрганамиВызовСервера.ОтчетЕщеНеОтправлялся(Ссылка);
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция ТекущийРазделФормы(Форма)
Возврат РегламентированнаяОтчетностьКлиентСервер.ТекущийРазделФормы(Форма);
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция ТекущаяТаблица(Форма)
Возврат РегламентированнаяОтчетностьКлиентСервер.ТекущаяТаблица(Форма);
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция ТекущаяСтраница(Форма)
ТекущийРаздел = ТекущийРазделФормы(Форма);
ИмяТекущейТаблицы = СтрЗаменить(ТекущийРаздел.Имя, "Гиперссылка", "");
Возврат ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность." + ИмяТекущейТаблицы);
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьОтборПоОрганизацииВСписке(Форма, ГруппаОтбора)
Если ЗначениеЗаполнено(Форма.Организация) Тогда
ЭлементОтбора = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ПравоеЗначение = Форма.Организация;
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьОтборыПоПрочимТаблицам(Форма, ДинамическийСписок, ВидОбъектаДляОтбора = Неопределено)
ДинамическийСписок.Отбор.Элементы.Очистить();
ГруппаОтбора = ДинамическийСписок.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
ГруппаОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;
УстановитьОтборПоОрганизацииВСписке(Форма, ГруппаОтбора);
Если ЗначениеЗаполнено(ВидОбъектаДляОтбора) Тогда
ЭлементОтбора = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Наименование");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ПравоеЗначение = ВидОбъектаДляОтбора;
КонецЕсли;
УстановитьДопОтборы(Форма, ДинамическийСписок.Отбор);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьОтборыПоУведомлениям(Форма)
ДинамическийСписок = Форма.Уведомления;
ВидОбъектаДляОтбора = ?(Форма.СписокНаименованийУведомлений.Количество() = 0, Форма.ПредставлениеВидаУведомления, Форма.СписокНаименованийУведомлений);
ДинамическийСписок.Отбор.Элементы.Очистить();
ГруппаОтбора = ДинамическийСписок.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
ГруппаОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;
УстановитьОтборПоОрганизацииВСписке(Форма, ГруппаОтбора);
Если ЗначениеЗаполнено(ВидОбъектаДляОтбора) Тогда
ЭлементОтбора = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Наименование");
Если ТипЗнч(ВидОбъектаДляОтбора) = Тип("Строка")
И СтрНайти(ВидОбъектаДляОтбора, " ") = 0 Тогда
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Содержит;
ИначеЕсли ТипЗнч(ВидОбъектаДляОтбора) = Тип("СписокЗначений") Тогда
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
Иначе
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
КонецЕсли;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ПравоеЗначение = ВидОбъектаДляОтбора;
КонецЕсли;
УстановитьДопОтборы(Форма, ДинамическийСписок.Отбор);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьДопОтборы(Форма, ОтборДинамическогоСписка)
Если ЗначениеЗаполнено(Форма.ОтборОрган) Тогда
ЭлементОтбора = ОтборДинамическогоСписка.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ВидКонтролирующегоОргана");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ПравоеЗначение = ПредопределенноеЗначение("Перечисление.ТипыКонтролирующихОрганов.ФНС");
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Функция ВидУведомленияОСпецрежимахНалогообложения(Ссылка)
Возврат ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "ВидУведомления");
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Процедура ДействияПриИзмененииОтборов(Форма)
Элементы = Форма.Элементы;
УстановитьОтборыПоОтчетам(Форма);
УстановитьОтборыПоУведомлениям(Форма);
УстановитьОтборыПоПрочимТаблицам(Форма, Форма.Письма);
УстановитьОтборыПоПрочимТаблицам(Форма, Форма.Сверки, Форма.ВидСверки);
УстановитьОтборыПоПрочимТаблицам(Форма, Форма.ЕГРЮЛ);
УстановитьОтборыПоПрочимТаблицам(Форма, Форма.Входящие);
УстановитьОтборыНаСтраницеВходящие(Форма);
ПрорисоватьПанельТребований(Форма);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьОтборыНаСтраницеВходящие(Форма)
Элементы = Форма.Элементы;
Если Элементы.Разделы.ТекущаяСтраница = Элементы.СтраницаВходящие Тогда
ТребованияФНСКлиентСервер.ДополнитьОтборПоТипуВходящих(Форма);
ДобавитьОтборПоВидуТребования(Форма);
ДобавитьОтборПоСостояниюТребования(Форма);
ДобавитьОтборПоПериодуТребования(Форма);
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ЗаменитьПредставлениеСлужебногоУведомления(ПредставлениеВидаУведомления)
НовоеПредставление = УведомлениеОСпецрежимахНалогообложенияПовтИсп.СинонимЭлементДляВыпускаНовыхПатчей();
Если ЗначениеЗаполнено(НовоеПредставление) Тогда
ПредставлениеВидаУведомления = НовоеПредставление;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаВыбораВидаУведомления(Результат, Параметры) Экспорт
Элементы.ОтборВидУведомления.СписокВыбора.Очистить();
Элементы.ОтборВидУведомления.РежимВыбораИзСписка = Ложь;
Элементы.ОтборВидУведомления.ОбновлениеТекстаРедактирования = ОбновлениеТекстаРедактирования.Авто;
Если Результат <> Неопределено Тогда
СписокНаименованийУведомлений.Очистить();
Если ТипЗнч(Результат) = Тип("ПеречислениеСсылка.ВидыУведомленийОСпецрежимахНалогообложения") Тогда
ВидУведомления = Результат;
ПредставлениеВидаУведомления = Строка(Результат);
Если ПредопределенноеЗначение("Перечисление.ВидыУведомленийОСпецрежимахНалогообложения.ЭлементДляВыпускаНовыхПатчей")
= ВидУведомления Тогда
ЗаменитьПредставлениеСлужебногоУведомления(ПредставлениеВидаУведомления);
КонецЕсли;
Иначе
ВидУведомления = Результат.Тип;
ПредставлениеВидаУведомления = Результат.Наименование;
СписокНаименованийУведомлений = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Результат, "СписокНаименованийУведомлений", Новый СписокЗначений);
КонецЕсли;
КонецЕсли;
ДействияПриИзмененииОтборов(ЭтотОбъект);
КонецПроцедуры
&НаСервереБезКонтекста
Функция СформироватьXMLНаСервере(УникальныйИдентификатор, Объект)
ДокОбъект = Объект.ПолучитьОбъект();
Если ОбщегоНазначения.ОбщийМодуль("Отчеты.ВизуализацияУстаревшихУведомлений").РедакцияУдалена(Объект.ИмяОтчета, Объект.ИмяФормы) Тогда
ОбщегоНазначения.СообщитьПользователю(НСтр("ru = 'Выгрузка устаревших редакций не поддерживается'"));
Иначе
Возврат ДокОбъект.ВыгрузитьДокумент(УникальныйИдентификатор);
КонецЕсли;;
КонецФункции
&НаСервереБезКонтекста
Функция КоличествоНепрочитанныхОбъектов(ОтборОрганизацияВходящие)
ДетализацияВходящих = Новый Структура("ВходящиеТребования, ВходящиеПисьма, ВходящиеРассылки", 0, 0, 0);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ЖурналОтчетовСтатусы.Ссылка) КАК КоличествоНепрочтенных,
| ЗНАЧЕНИЕ(Перечисление.СтраницыЖурналаОтчетность.Отчеты) КАК СтраницаЖурнала
|ИЗ
| РегистрСведений.ЖурналОтчетовСтатусы КАК ЖурналОтчетовСтатусы
|ГДЕ
| ЖурналОтчетовСтатусы.Непрочтенное = ИСТИНА
| И НЕ ЖурналОтчетовСтатусы.Скрыт
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ЖурналОтправокВКонтролирующиеОрганы.Ссылка),
| ЖурналОтправокВКонтролирующиеОрганы.СтраницаЖурнала
|ИЗ
| РегистрСведений.ЖурналОтправокВКонтролирующиеОрганы КАК ЖурналОтправокВКонтролирующиеОрганы
|ГДЕ
| ЖурналОтправокВКонтролирующиеОрганы.Непрочтенное = ИСТИНА
| И НЕ ЖурналОтправокВКонтролирующиеОрганы.Скрыт
|
|СГРУППИРОВАТЬ ПО
| ЖурналОтправокВКонтролирующиеОрганы.СтраницаЖурнала";
ТаблицаНепрочтенных = Запрос.Выполнить().Выгрузить();
МассивНепрочтенных = ОбщегоНазначения.ТаблицаЗначенийВМассив(ТаблицаНепрочтенных);
Для Каждого Элемент Из МассивНепрочтенных Цикл
Элемент.СтраницаЖурнала = ИмяСтраницы(Элемент.СтраницаЖурнала);
Если Элемент.СтраницаЖурнала = "Входящие" Тогда
Элемент.Вставить("ДетализацияВходящих", ДетализацияНепрочтенныхВходящих(ОтборОрганизацияВходящие));
КонецЕсли;
КонецЦикла;
Возврат МассивНепрочтенных;
КонецФункции
&НаСервереБезКонтекста
Функция ДетализацияНепрочтенныхВходящих(ОтборОрганизацияВходящие)
Детализация = Новый Структура("ВходящиеТребования, ВходящиеПисьма, ВходящиеРассылки", 0, 0, 0);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ЖурналОтправокВКонтролирующиеОрганы.ВидДокумента КАК ВидДокумента,
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ЖурналОтправокВКонтролирующиеОрганы.Ссылка) КАК КОЛИЧЕСТВО
|ИЗ
| РегистрСведений.ЖурналОтправокВКонтролирующиеОрганы КАК ЖурналОтправокВКонтролирующиеОрганы
|ГДЕ
| ЖурналОтправокВКонтролирующиеОрганы.Непрочтенное = ИСТИНА
| И НЕ ЖурналОтправокВКонтролирующиеОрганы.Скрыт
| И ЖурналОтправокВКонтролирующиеОрганы.СтраницаЖурнала = ЗНАЧЕНИЕ(Перечисление.СтраницыЖурналаОтчетность.Входящие)
|
|СГРУППИРОВАТЬ ПО
| ЖурналОтправокВКонтролирующиеОрганы.ВидДокумента";
ТребованияФНС.ДобавитьОтборПоОрганизации(Запрос, ОтборОрганизацияВходящие);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.ВидДокумента = Перечисления.ВидыДокументовВЖурнале.Рассылка Тогда
Детализация.ВходящиеРассылки = Выборка.КОЛИЧЕСТВО;
ИначеЕсли Выборка.ВидДокумента = Перечисления.ВидыДокументовВЖурнале.ТребованиеИлиУведомление Тогда
Детализация.ВходящиеТребования = Выборка.КОЛИЧЕСТВО;
ИначеЕсли Выборка.ВидДокумента = Перечисления.ВидыДокументовВЖурнале.ВходящееПисьмо Тогда
Детализация.ВходящиеПисьма = Выборка.КОЛИЧЕСТВО;
КонецЕсли;
КонецЦикла;
Возврат Детализация;
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Процедура ОбновитьКоличествоНепрочтенныхОбъектов(Форма)
Перем ЗаголовокКатегории;
Элементы = Форма.Элементы;
Для каждого Раздел Из Разделы(Форма, Истина) Цикл
Элементы["Гиперссылка" + Раздел].Заголовок = Раздел;
КонецЦикла;
Элементы.СтраницаТребования.Заголовок = НСтр("ru = 'Требования и уведомления'");
Элементы.СтраницаВходящиеПисьма.Заголовок = НСтр("ru = 'Входящие письма'");
Элементы.СтраницаРассылки.Заголовок = НСтр("ru = 'Рассылки'");
НепрочтенныеОбъектыПоРазделам = КоличествоНепрочитанныхОбъектов(Форма.Организация);
Для каждого НепрочтенныеОбъектыРаздела Из НепрочтенныеОбъектыПоРазделам Цикл
КоличествоНепрочитанныхОбъектов = НепрочтенныеОбъектыРаздела.КоличествоНепрочтенных;
СтраницаЖурнала = НепрочтенныеОбъектыРаздела.СтраницаЖурнала;
Элементы["Гиперссылка" + СтраницаЖурнала].Заголовок =
СтраницаЖурнала + ПредставлениеКоличества(КоличествоНепрочитанныхОбъектов);
Если СтраницаЖурнала = "Входящие" Тогда
Элементы.СтраницаВходящиеПисьма.Заголовок =
Элементы.СтраницаВходящиеПисьма.Заголовок +
ПредставлениеКоличества(НепрочтенныеОбъектыРаздела.ДетализацияВходящих.ВходящиеПисьма);
Элементы.СтраницаРассылки.Заголовок =
Элементы.СтраницаРассылки.Заголовок +
ПредставлениеКоличества(НепрочтенныеОбъектыРаздела.ДетализацияВходящих.ВходящиеРассылки);
Элементы.СтраницаТребования.Заголовок =
Элементы.СтраницаТребования.Заголовок +
ПредставлениеКоличества(НепрочтенныеОбъектыРаздела.ДетализацияВходящих.ВходящиеТребования);
КонецЕсли;
КонецЦикла;
ПрорисоватьПанельТребований(Форма);
КонецПроцедуры
&НаКлиенте
Процедура ПечатьОтчетности(ВидПечати)
ТекущиеДанные = Элементы.Отчеты.ТекущиеДанные;
Закладка = Элементы.Отчеты;
Если ТекущиеДанные <> Неопределено Тогда
Ссылка = ТекущиеДанные.РегламентированныйОтчет;
Если ВидПечати = "ПечатьОтчет" Тогда
Если ТипЗнч(Ссылка) = Тип("СправочникСсылка.ЭлектронныеПредставленияРегламентированныхОтчетов") Тогда
Ссылка = ТекущиеДанные.РегламентированныйОтчет;
НаименованиеОтчета = ТекущиеДанные.НаименованиеОтчета;
ПечатьЭлектронногоПредставления(Ссылка, НаименованиеОтчета);
ИначеЕсли ТипЗнч(Ссылка) = Тип("ДокументСсылка.РегламентированныйОтчет") Тогда
Ссылка = ТекущиеДанные.РегламентированныйОтчет;
НаименованиеОтчета = ТекущиеДанные.НаименованиеОтчета;
ОписаниеОтчета = ОписаниеРегОтчета(Ссылка);
Если ОбработаноДействиеДляАлкоОтчета(Ссылка, ОписаниеОтчета, "Печать", ВидПечати) Тогда
Возврат;
КонецЕсли;
Если НаименованиеОтчета = "Доходы, выплаченные иностранным организациям" Тогда
ОписаниеДохИно = ОписаниеРегОтчета(Ссылка);
Если (ОписаниеДохИно.ВыбраннаяФорма = "ФормаОтчета2023Кв4"
ИЛИ ОписаниеДохИно.ВыбраннаяФорма = "ФормаОтчета2020Кв1"
ИЛИ ОписаниеДохИно.ВыбраннаяФорма = "ФормаОтчета2016Кв1")
И ОписаниеДохИно.Свойство("ВозможноВосстановитьДанныеРеглОтчетаСозданногоВОбычномПриложении") Тогда
Если НЕ ОписаниеДохИно.ВозможноВосстановитьДанныеРеглОтчетаСозданногоВОбычномПриложении Тогда
Если ОписаниеДохИно.Свойство("ТекстСообщения") Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр(
"ru='%1 Печать прервана.'"), ОписаниеДохИно.ТекстСообщения);
Сообщение.Сообщить();
КонецЕсли;
Возврат;
КонецЕсли;
КонецЕсли;
ИначеЕсли НаименованиеОтчета = "Уведомление об участии в международной группе компаний"
ИЛИ НаименованиеОтчета = "Страновой отчет" Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Для отчета ""%1"" не предусмотрена печать бланка формы без двухмерного штрихкода PDF417'"),
НаименованиеОтчета);
Сообщение.Сообщить();
Возврат;
ИначеЕсли ОписаниеОтчета.ИсточникОтчета = "РегламентированныйОтчетФинОтчетностьМГК"
И ОписаниеОтчета.ВыбраннаяФорма = "ФормаОтчета2025Кв1" Тогда
ТекстПредупреждения = СтрШаблон(
НСтр("ru = 'Для отчета ""%1"" печать будет реализована в будущих версиях программы'"),
НаименованиеОтчета);
ПоказатьПредупреждение( , ТекстПредупреждения);
Возврат;
КонецЕсли;
ДополнительныеПараметры = Новый Структура();
ДополнительныеПараметры.Вставить("НаименованиеОтчета", НаименованиеОтчета);
ДополнительныеПараметры.Вставить("Ссылка", Ссылка);
ОписаниеОповещения = Новый ОписаниеОповещения("ПечатьОтчетностиЗавершение", ЭтотОбъект, ДополнительныеПараметры);
РегламентированнаяОтчетностьКлиент.ПередПечатьюРегламентированногоОтчета(ОписаниеОповещения, Ссылка);
Возврат;
Иначе
СведенияПоОбъекту = РегламентированнаяОтчетностьВызовСервера.СведенияПоОбъектуНеВходящемуВБРО(Ссылка);
Если СведенияПоОбъекту <> Неопределено Тогда
НапечататьОбъектНеВходящийВБРО(Ссылка, СведенияПоОбъекту);
КонецЕсли;
КонецЕсли;
ИначеЕсли ВидПечати = "ПечатьОтчетШтрих" Тогда
Если ТипЗнч(Ссылка) = Тип("СправочникСсылка.ЭлектронныеПредставленияРегламентированныхОтчетов") Тогда
Ссылка = ТекущиеДанные.РегламентированныйОтчет;
НаименованиеОтчета = ТекущиеДанные.НаименованиеОтчета;
ПечатьЭлектронногоПредставления(Ссылка, НаименованиеОтчета);
ИначеЕсли ТипЗнч(Ссылка) = Тип("ДокументСсылка.РегламентированныйОтчет") Тогда
Ссылка = ТекущиеДанные.РегламентированныйОтчет;
НаименованиеОтчета = ТекущиеДанные.НаименованиеОтчета;
ОписаниеОтчета = ОписаниеРегОтчета(Ссылка);
Если ОписаниеОтчета.ИсточникОтчета = "РегламентированныйОтчетФинОтчетностьМГК"
И ОписаниеОтчета.ВыбраннаяФорма = "ФормаОтчета2025Кв1" Тогда
ТекстПредупреждения = СтрШаблон(
НСтр("ru = 'Для отчета ""%1"" печать на бланках с двухмерным штрихкодом PDF417 не предусмотрена'"),
НаименованиеОтчета);
ПоказатьПредупреждение( , ТекстПредупреждения);
Возврат;
КонецЕсли;
Если ОписаниеОтчета.ИсточникОтчета = "РегламентированныйОтчетБухОтчетность"
И ОписаниеОтчета.ВыбраннаяФорма = "ФормаОтчета2025Кв1" Тогда
ТекстПредупреждения = СтрШаблон(
НСтр("ru = 'Для отчета ""%1"" печать на бланках с двухмерным штрихкодом PDF417 будет реализована в будущих версиях программы'"),
НаименованиеОтчета);
ПоказатьПредупреждение( , ТекстПредупреждения);
Возврат;
КонецЕсли;
ВыполнениеКомандыОтменено = ВыполнениеКомандыОтменено(
?(ТекущиеДанные.Свойство("НаименованиеОтчета"), ТекущиеДанные.НаименованиеОтчета, ТекущиеДанные.Наименование),
ТекущиеДанные.Организация, "ПечатьОтчетШтрих");
Если ВыполнениеКомандыОтменено Тогда
Возврат;
КонецЕсли;
ПечатьРегламентированногоОтчетаШтрих(Ссылка, НаименованиеОтчета);
Иначе
ПредупредитьОбОграничениях(Закладка, НСтр("ru = 'Печать со штрихкодом PDF417 не предусмотрена'"));
КонецЕсли;
ИначеЕсли ВидПечати = "ПечатьПротоколы" Тогда
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Функция ВыполнениеКомандыОтменено(НаименованиеОтчета, Организация, НаименованиеКоманды = "")
Возврат РегламентированнаяОтчетностьКлиент.ВыполнениеКомандыОтменено(ЭтотОбъект, НаименованиеОтчета, Организация, НаименованиеКоманды);
КонецФункции
&НаКлиенте
Процедура ПечатьОтчетностиЗавершение(Отказ, ДополнительныеПараметры) Экспорт
Если Отказ Тогда
Возврат;
КонецЕсли;
ПечатьРегламентированногоОтчета(ДополнительныеПараметры.Ссылка, ДополнительныеПараметры.НаименованиеОтчета);
КонецПроцедуры
&НаКлиенте
Процедура ПечатьЭлектронногоПредставленияПредварительное(Результат, ПараметрыОповещения) Экспорт
ПечатьЭлектронногоПредставления(
ПараметрыОповещения.Ссылка,
ПараметрыОповещения.Наименование
);
КонецПроцедуры
&НаКлиенте
Процедура ПечатьЭлектронногоПредставления(Ссылка, Наименование)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Ссылка", Ссылка);
ПараметрыОповещения.Вставить("Наименование", Наименование);
Оповещение = Новый ОписаниеОповещения("ПечатьЭлектронногоПредставленияПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
КонтекстЭДОКлиент.ПечатьЭлектронногоПредставления(Ссылка, , Наименование);
КонецПроцедуры
&НаКлиенте
Процедура ПечатьЗаявленияПоЭлДокументооборотуСПФРПредварительное(Результат, Ссылка) Экспорт
ПечатьЗаявленияПоЭлДокументооборотуСПФР(Ссылка);
КонецПроцедуры
&НаКлиенте
Процедура ПечатьЗаявленияПоЭлДокументооборотуСПФР(Ссылка)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
Оповещение = Новый ОписаниеОповещения(
"ПечатьЗаявленияПоЭлДокументооборотуСПФРПредварительное",
ЭтотОбъект,
Ссылка);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
КонтекстЭДОКлиент.ПечатьЗаявленияПоЭлДокументооборотуСПФР(Ссылка);
КонецПроцедуры
&НаКлиенте
Процедура ПечатьУведомленияОПредоставленииПолномочийПредставителюПредварительное(Результат, Ссылка) Экспорт
ПечатьУведомленияОПредоставленииПолномочийПредставителю(Ссылка);
КонецПроцедуры
&НаКлиенте
Процедура ПечатьУведомленияОПредоставленииПолномочийПредставителю(Ссылка)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
Оповещение = Новый ОписаниеОповещения(
"ПечатьУведомленияОПредоставленииПолномочийПредставителюПредварительное",
ЭтотОбъект,
Ссылка);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
КонтекстЭДОКлиент.ПечатьУведомленияОПредоставленииПолномочийПредставителю(Ссылка);
КонецПроцедуры
&НаКлиенте
Процедура ПечатьУведомленияОПрекращенииПолномочийПредставителя(Ссылка)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
Оповещение = Новый ОписаниеОповещения(
"ПечатьУведомленияОПрекращенииПолномочийПредставителяПредварительное",
ЭтотОбъект,
Ссылка);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
КонтекстЭДОКлиент.ПечатьУведомленияОПрекращенииПолномочийПредставителя(Ссылка);
КонецПроцедуры
&НаКлиенте
Процедура ПечатьУведомленияОПрекращенииПолномочийПредставителяПредварительное(Результат, Ссылка) Экспорт
ПечатьУведомленияОПрекращенииПолномочийПредставителя(Ссылка);
КонецПроцедуры
&НаКлиенте
Процедура ПечатьРегламентированногоОтчетаПредварительное(Результат, ПараметрыОповещения) Экспорт
ПечатьРегламентированногоОтчета(
ПараметрыОповещения.Ссылка,
ПараметрыОповещения.Наименование
);
КонецПроцедуры
&НаКлиенте
Процедура ПечатьРегламентированногоОтчета(Ссылка, Наименование)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Ссылка", Ссылка);
ПараметрыОповещения.Вставить("Наименование", Наименование);
Оповещение = Новый ОписаниеОповещения("ПечатьРегламентированногоОтчетаПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
СтандартнаяОбработка = Истина;
Если Наименование = "РСВ-1 ПФР" Тогда
ОписаниеРСВ_1 = ОписаниеРегОтчета(Ссылка);
Если ОписаниеРСВ_1.ДатаКонцаПериодаОтчета >= '20140101' Тогда
Если НЕ (ПерсонифицированныйУчетВедетсяВоВнешнейПрограмме И ОписаниеРСВ_1.ОтчетСтарогоОбразца_20141101) Тогда
РегламентированнаяОтчетностьКлиент.ПриПечатиРСВ_1ИзЖурналаРеглОтчетов(Ссылка, ОписаниеРСВ_1, СтандартнаяОбработка);
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если (Наименование = "Статистика: Форма учета перемещения товаров"
ИЛИ Наименование = "Статистическая форма учета перемещения товаров") И КонтекстЭДОКлиент <> Неопределено Тогда
ДокументЗаявлениеОВвозеТоваров = Неопределено;
ИмяДокументаЗаявлениеОВвозеТоваров = Неопределено;
РезультатПолученияЗаявленияОВвозеТоваров = КонтекстЭДОКлиент.ПопытатьсяПолучитьЗаявлениеОВвозеТоваровИзСтатформы(
Ссылка, ДокументЗаявлениеОВвозеТоваров, ИмяДокументаЗаявлениеОВвозеТоваров);
Если РезультатПолученияЗаявленияОВвозеТоваров = Неопределено Тогда
Возврат;
ИначеЕсли РезультатПолученияЗаявленияОВвозеТоваров Тогда
МассивОбъектов = Новый Массив;
МассивОбъектов.Добавить(ДокументЗаявлениеОВвозеТоваров);
УправлениеПечатьюКлиент.ВыполнитьКомандуПечати("Документ." + ИмяДокументаЗаявлениеОВвозеТоваров, "СтатистическаяФормаУчетаПеремещенияТоваров", МассивОбъектов, ЭтотОбъект);
Возврат;
КонецЕсли;
КонецЕсли;
Если СтандартнаяОбработка Тогда
СписокОтчетов = Новый СписокЗначений;
СписокОтчетов.Добавить(Ссылка);
РегламентированнаяОтчетностьКлиент.НапечататьОтчеты(СписокОтчетов, "ПоказатьБланк");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПечатьРегламентированногоОтчетаШтрих(Ссылка, Наименование)
ФормаОтчета = Неопределено;
ПредставлениеДокументаРеглОтч = "";
ФормаОтчета = РегламентированнаяОтчетностьКлиент.ИнициализацияОтчета(Ссылка, ПредставлениеДокументаРеглОтч);
Если ФормаОтчета = Неопределено Тогда
Возврат;
КонецЕсли;
Если Наименование = "Движение средств нерезидента за пределами РФ" Тогда
ПоказатьПредупреждение(, НСтр(
"ru='Печать со штрихкодом PDF417 формы отчета
|в редакции постановления Правительства
|Российской Федерации от 22.05.2024 № 633
|будет реализована в будущих версиях программы'"));
Возврат;
КонецЕсли;
Если Наименование = "Декларация по УСН" Тогда
ОписаниеУСН = ОписаниеРегОтчета(Ссылка);
Если ОписаниеУСН.ВыбраннаяФорма = "ФормаОтчета2014Кв1" И ОписаниеУСН.РекомендованнаяФорма Тогда
ПоказатьПредупреждение(, НСтр("ru='Печать с двухмерным штрихкодом PDF417 формы, рекомендованной письмом ФНС от 20.05.2015 № ГД-4-3/8533@, не предусмотрена.'"));
Возврат;
ИначеЕсли ОписаниеУСН.ВыбраннаяФорма = "ФормаОтчета2025Кв1" Тогда
ПоказатьПредупреждение(, НСтр(
"ru='Печать со штрихкодом PDF417 формы
|отчета, утвержденной приказом ФНС России
|от 26.11.2025 № ЕД-7-3/1017@, будет реализована
|в будущих версиях программы'"));
Возврат;
КонецЕсли;
КонецЕсли;
Если Наименование = "Доходы, выплаченные иностранным организациям" Тогда
ОписаниеДохИно = ОписаниеРегОтчета(Ссылка);
Если (ОписаниеДохИно.ВыбраннаяФорма = "ФормаОтчета2023Кв4"
ИЛИ ОписаниеДохИно.ВыбраннаяФорма = "ФормаОтчета2020Кв1"
ИЛИ ОписаниеДохИно.ВыбраннаяФорма = "ФормаОтчета2016Кв1")
И ОписаниеДохИно.Свойство("ВозможноВосстановитьДанныеРеглОтчетаСозданногоВОбычномПриложении") Тогда
Если НЕ ОписаниеДохИно.ВозможноВосстановитьДанныеРеглОтчетаСозданногоВОбычномПриложении Тогда
Если ОписаниеДохИно.Свойство("ТекстСообщения") Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр(
"ru='%1 Печать формы с двухмерным штрихкодом PDF417 прервана.'"), ОписаниеДохИно.ТекстСообщения);
Сообщение.Сообщить();
КонецЕсли;
Возврат;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если Наименование = "Сведения о доле доходов от туристско-рекреационной деятельности" Тогда
Если ОписаниеРегОтчета(Ссылка).ВыбраннаяФорма = "ФормаОтчета2018Кв1" Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр(
"ru='Выгрузка, проверка выгрузки, проверка в интернете, отправка в электронном виде, печать с двухмерным
|штрихкодом PDF417 формы отчета ""%1"",
|рекомендованной письмом ФНС России от 16.01.2019 № СД-4-3/441@, не предусмотрены'"), Наименование);
Сообщение.Сообщить();
Возврат;
КонецЕсли;
КонецЕсли;
Если Наименование = "Декларация 3-НДФЛ" Тогда
Описание3НДФЛ = ОписаниеРегОтчета(Ссылка);
Если Не Описание3НДФЛ.ДоступнаПечатьPDF417 Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Печать формы со штрихкодом PDF417 будет реализована в будущих версиях программы.'"));
Возврат;
КонецЕсли;
КонецЕсли;
Если ФормаОтчета.СтруктураРеквизитовФормы.Свойство("ДоступенМеханизмПечатиРеглОтчетностиСДвухмернымШтрихкодомPDF417")
И СтрНайти(ФормаОтчета.ИмяФормы, "РегламентированныйОтчетСтатистика") = 0 Тогда
РегламентированнаяОтчетностьКлиент.ВывестиМашиночитаемуюФорму(ФормаОтчета, "ПоказатьСДвухмернымШтрихкодомPDF417");
Иначе
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = НСтр("ru='Для отчета """ + Наименование + """ не предусмотрена печать бланка формы с двухмерным штрихкодом PDF417!'");
Сообщение.Сообщить();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ВыгрузкаЭлектронногоПредставленияПредварительное(Результат, ПараметрыОповещения) Экспорт
ВыгрузкаЭлектронногоПредставления(
ПараметрыОповещения.Ссылка,
ПараметрыОповещения.НаименованиеОтчета
);
КонецПроцедуры
&НаКлиенте
Асинх Процедура ВыгрузкаЭлектронногоПредставления(Ссылка, НаименованиеОтчета)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Ссылка", Ссылка);
ПараметрыОповещения.Вставить("НаименованиеОтчета", НаименованиеОтчета);
Оповещение = Новый ОписаниеОповещения("ВыгрузкаЭлектронногоПредставленияПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
Если Ждать РегламентированнаяОтчетностьКлиент.РезультатПодключенияРасширенияРаботыСФайламиАсинх() Тогда
Если КодВозвратаДиалога.Да = Ждать ВопросАсинх("Выгрузить выбранное электронное представление отчета?", РежимДиалогаВопрос.ДаНет) Тогда
КонтекстЭДОКлиент.ВыгрузкаЭлектронногоПредставления(Ссылка);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ВыгрузкаРегламентированногоОтчетаПредварительное(Результат, ПараметрыОповещения) Экспорт
ВыгрузкаРегламентированногоОтчета(
ПараметрыОповещения.Ссылка,
ПараметрыОповещения.ОрганизацияСсылка,
ПараметрыОповещения.НаименованиеОтчета,
ПараметрыОповещения.ВариантОтчета,
ПараметрыОповещения.ПредставлениеПериода
);
КонецПроцедуры
&НаКлиенте
Процедура ВыгрузкаРегламентированногоОтчета(Ссылка, ОрганизацияСсылка, НаименованиеОтчета, ВариантОтчета, ПредставлениеПериода);
Это_РСВ_1_2014_И_ЗагруженыВнешниеСведенияРаздела6 = Ложь;
СтандартнаяОбработка = Истина;
Если ВыполнениеКомандыОтменено(НаименованиеОтчета, ОрганизацияСсылка) Тогда
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Ссылка", Ссылка);
ПараметрыОповещения.Вставить("ОрганизацияСсылка", ОрганизацияСсылка);
ПараметрыОповещения.Вставить("НаименованиеОтчета", НаименованиеОтчета);
ПараметрыОповещения.Вставить("ВариантОтчета", ВариантОтчета);
ПараметрыОповещения.Вставить("ПредставлениеПериода", ПредставлениеПериода);
Оповещение = Новый ОписаниеОповещения("ВыгрузкаРегламентированногоОтчетаПредварительное", ЭтотОбъект, ПараметрыОповещения);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если ТипЗнч(Ссылка) = Тип("ДокументСсылка.РегламентированныйОтчет") Тогда
ОписаниеОтчета = ОписаниеРегОтчета(Ссылка);
Если ОбработаноДействиеДляАлкоОтчета(Ссылка, ОписаниеОтчета, "Выгрузка") Тогда
Возврат;
КонецЕсли;
КонецЕсли;
Если НаименованиеОтчета = "Информация об операциях с денежными средствами НФО" Тогда
ОписаниеРегОтчета = ОписаниеРегОтчета(Ссылка);
Если ОписаниеРегОтчета.ВыбраннаяФорма = "ФормаОтчета2022Кв2" Тогда
ПоказатьПредупреждение(, НСтр(
"ru='Выгрузка в электронном виде формы
|отчета будет реализована в будущих
|версиях программы'"));
Возврат;
КонецЕсли;
КонецЕсли;
Если НаименованиеОтчета = "Реестр для налоговых вычетов по акцизам на виноград (КНД 1150116)"
И ОписаниеРегОтчета(Ссылка).ВыбраннаяФорма = "ФормаОтчета2021Кв4" Тогда
ПоказатьПредупреждение(, НСтр(
"ru='Выгрузка в электронном виде формы
|отчета не предусмотрена'"));
Возврат;
КонецЕсли;
Если НаименованиеОтчета
= "Реестр для налоговых вычетов по акцизам на виноматериалы, виноградное и фруктовое сусло (КНД 1150115)"
И ОписаниеРегОтчета(Ссылка).ВыбраннаяФорма = "ФормаОтчета2021Кв4" Тогда
ПоказатьПредупреждение(, НСтр(
"ru='Выгрузка в электронном виде формы
|отчета не предусмотрена'"));
Возврат;
КонецЕсли;
Если НаименованиеОтчета = "Движение средств по счету в банке за пределами РФ" Тогда
ОписаниеРегОтчета = ОписаниеРегОтчета(Ссылка);
Если ОписаниеРегОтчета.ВыбраннаяФорма = "ФормаОтчета2015Кв3" Тогда
ПоказатьПредупреждение(, НСтр(
"ru='Выгрузка в электронном виде формы отчета
|в редакции постановления Правительства РФ
|от 25.07.2015 № 761 не предусмотрена
|законодательством. Форма сдается в бумажном виде'"));
Возврат;
КонецЕсли;
КонецЕсли;
Если НаименованиеОтчета = "Доходы, выплаченные иностранным организациям" Тогда
ОписаниеДохИно = ОписаниеРегОтчета(Ссылка);
Если (ОписаниеДохИно.ВыбраннаяФорма = "ФормаОтчета2023Кв4"
ИЛИ ОписаниеДохИно.ВыбраннаяФорма = "ФормаОтчета2020Кв1"
ИЛИ ОписаниеДохИно.ВыбраннаяФорма = "ФормаОтчета2016Кв1")
И ОписаниеДохИно.Свойство("ВозможноВосстановитьДанныеРеглОтчетаСозданногоВОбычномПриложении") Тогда
Если НЕ ОписаниеДохИно.ВозможноВосстановитьДанныеРеглОтчетаСозданногоВОбычномПриложении Тогда
Если ОписаниеДохИно.Свойство("ТекстСообщения") Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр(
"ru='%1 Выгрузка прервана.'"), ОписаниеДохИно.ТекстСообщения);
Сообщение.Сообщить();
КонецЕсли;
Возврат;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если НаименованиеОтчета = "Сведения о доле доходов от туристско-рекреационной деятельности" Тогда
Если ОписаниеРегОтчета(Ссылка).ВыбраннаяФорма = "ФормаОтчета2018Кв1" Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр(
"ru='Выгрузка, проверка выгрузки, проверка в интернете, отправка в электронном виде, печать с двухмерным
|штрихкодом PDF417 формы отчета ""%1"",
|рекомендованной письмом ФНС России от 16.01.2019 № СД-4-3/441@, не предусмотрены'"), НаименованиеОтчета);
Сообщение.Сообщить();
Возврат;
КонецЕсли;
КонецЕсли;
Если НаименованиеОтчета = "РСВ-1 ПФР" Тогда
ОписаниеРСВ_1 = ОписаниеРегОтчета(Ссылка);
Если ОписаниеРСВ_1.ДатаКонцаПериодаОтчета >= '20140101' Тогда
Если НЕ (ПерсонифицированныйУчетВедетсяВоВнешнейПрограмме И ОписаниеРСВ_1.ОтчетСтарогоОбразца_20141101) Тогда
РегламентированнаяОтчетностьКлиент.ПриВыгрузкеРСВ_1ИзЖурналаРеглОтчетов(
Ссылка, ОписаниеРСВ_1, СтандартнаяОбработка);
КонецЕсли;
Если ОписаниеРСВ_1.ЗагруженыВнешниеСведенияРаздела6 Тогда
Это_РСВ_1_2014_И_ЗагруженыВнешниеСведенияРаздела6 = Истина;
КонецЕсли;
Иначе
Если СокрЛП(ВариантОтчета) = "П"
И НЕ РегламентированнаяОтчетностьКлиентСерверПереопределяемый.ИмяОсновнойФормыРСВ1() = "ОсновнаяФорма" Тогда
ПоказатьПредупреждение(,НСтр("ru='Внимание! Выгружать в электронном виде первичную форму РСВ-1 необходимо
|в комплекте с документами квартальной отчетности персонифицированного
|учета из специализированного рабочего места подготовки квартальной
|отчетности в ПФР. Выгрузка прервана.'"));
Возврат;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если (НаименованиеОтчета = "Статистика: Форма учета перемещения товаров"
ИЛИ НаименованиеОтчета = "Статистическая форма учета перемещения товаров") И КонтекстЭДОКлиент <> Неопределено Тогда
ДокументЗаявлениеОВвозеТоваров = Неопределено;
ИмяДокументаЗаявлениеОВвозеТоваров = Неопределено;
РезультатПолученияЗаявленияОВвозеТоваров = КонтекстЭДОКлиент.ПопытатьсяПолучитьЗаявлениеОВвозеТоваровИзСтатформы(
Ссылка, ДокументЗаявлениеОВвозеТоваров, ИмяДокументаЗаявлениеОВвозеТоваров);
Если РезультатПолученияЗаявленияОВвозеТоваров = Неопределено Тогда
Возврат;
ИначеЕсли РезультатПолученияЗаявленияОВвозеТоваров Тогда
ДополнительныеПараметры = Новый Структура();
ДополнительныеПараметры.Вставить("ДокументЗаявлениеОВвозеТоваров", ДокументЗаявлениеОВвозеТоваров);
ДополнительныеПараметры.Вставить("ИмяДокументаЗаявлениеОВвозеТоваров", ИмяДокументаЗаявлениеОВвозеТоваров);
ОписаниеОповещения = Новый ОписаниеОповещения("ВыгрузкаРегламентированногоОтчетаЗавершениеИзСтатформы", ЭтотОбъект, ДополнительныеПараметры);
РегламентированнаяОтчетностьКлиент.ПередВыгрузкойРегламентированногоОтчета(ОписаниеОповещения, Ссылка);
Возврат;
КонецЕсли;
КонецЕсли;
Если НаименованиеОтчета = "Статистика: Форма П-1" Тогда
Если НЕ ПроверитьВозможностьВыгрузкиП1ИзФормыОтчетностьНаСервере(Ссылка) Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='Для отчета ""Статистика: Форма П-1 за %1"" не выбрано Приложение №3.
|Необходимо сначала осуществить выгрузку из формы отчета! Выгрузка прервана.'"), ПредставлениеПериода);
Сообщение.Сообщить();
СтандартнаяОбработка = Ложь;
КонецЕсли;
КонецЕсли;
Если НаименованиеОтчета = "Статистика: Форма П-1 Приложение 3" Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='Выгрузка отчета ""Статистика: форма П-1 (приложение 3) за %1"" производится из формы П-1 за соответствующий период.'"), ПредставлениеПериода);
Сообщение.Сообщить();
СтандартнаяОбработка = Ложь;
КонецЕсли;
Если СтандартнаяОбработка Тогда
СписокОтчетов = Новый СписокЗначений;
СписокОтчетов.Добавить(Ссылка);
ДополнительныеПараметры = Новый Структура();
ДополнительныеПараметры.Вставить("СписокОтчетов", СписокОтчетов);
ДополнительныеПараметры.Вставить("Это_РСВ_1_2014_И_ЗагруженыВнешниеСведенияРаздела6", Это_РСВ_1_2014_И_ЗагруженыВнешниеСведенияРаздела6);
ОписаниеОповещения = Новый ОписаниеОповещения("ВыгрузкаРегламентированногоОтчетаПослеПодключенияРасширенияРаботыСФайлами", ЭтотОбъект, ДополнительныеПараметры);
НачатьПодключениеРасширенияРаботыСФайлами(ОписаниеОповещения);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ВыгрузкаРегламентированногоОтчетаПослеПодключенияРасширенияРаботыСФайлами(Подключено, ДополнительныеПараметры) Экспорт
ДополнительныеПараметры.Вставить("ПодключеноРасширениеРаботыСФайлами", Подключено);
ОписаниеОповещения = Новый ОписаниеОповещения("ВыгрузкаРегламентированногоОтчетаПродолжение", ЭтотОбъект, ДополнительныеПараметры);
ТекстВопроса = "Выгрузить выбранный отчет?";
ПоказатьВопрос(ОписаниеОповещения, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='%1'"), ТекстВопроса), РежимДиалогаВопрос.ДаНет);
КонецПроцедуры
&НаКлиенте
Процедура ВыгрузкаРегламентированногоОтчетаПродолжение(РезультатВопроса, ДополнительныеПараметры) Экспорт
СписокОтчетов = ДополнительныеПараметры.СписокОтчетов;
Если РезультатВопроса = КодВозвратаДиалога.Да Тогда
ОписаниеОповещения = Новый ОписаниеОповещения("ВыгрузкаРегламентированногоОтчетаЗавершение", ЭтотОбъект, ДополнительныеПараметры);
РегламентированнаяОтчетностьКлиент.ПередВыгрузкойРегламентированногоОтчета(ОписаниеОповещения, СписокОтчетов[0].Значение)
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ВыгрузкаРегламентированногоОтчетаЗавершение(Отказ, ДополнительныеПараметры) Экспорт
Если Отказ Тогда
Возврат;
КонецЕсли;
СписокОтчетов = ДополнительныеПараметры.СписокОтчетов;
ВВебКлиентеСохранятьФайлВыгрузкиИнтерактивно = Истина;
Если ДополнительныеПараметры.Это_РСВ_1_2014_И_ЗагруженыВнешниеСведенияРаздела6
И ДополнительныеПараметры.ПодключеноРасширениеРаботыСФайлами Тогда
ВВебКлиентеСохранятьФайлВыгрузкиИнтерактивно = Ложь;
КонецЕсли;
Если НЕ РегламентированнаяОтчетностьКлиент.ВыгрузитьОтчеты(
СписокОтчетов, , , ВВебКлиентеСохранятьФайлВыгрузкиИнтерактивно) Тогда
ПоказатьПредупреждение(,НСтр("ru='Выгрузка прервана!'"));
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ВыгрузкаРегламентированногоОтчетаЗавершениеИзСтатформыПредварительное(Результат, ПараметрыОповещения) Экспорт
ВыгрузкаРегламентированногоОтчетаЗавершениеИзСтатформы(
ПараметрыОповещения.Отказ,
ПараметрыОповещения.ДополнительныеПараметры
);
КонецПроцедуры
&НаКлиенте
Процедура ВыгрузкаРегламентированногоОтчетаЗавершениеИзСтатформы(Отказ, ДополнительныеПараметры) Экспорт
ДокументЗаявлениеОВвозеТоваров = ДополнительныеПараметры.ДокументЗаявлениеОВвозеТоваров;
ИмяДокументаЗаявлениеОВвозеТоваров = ДополнительныеПараметры.ИмяДокументаЗаявлениеОВвозеТоваров;
Если Отказ Тогда
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Отказ", Отказ);
ПараметрыОповещения.Вставить("ДополнительныеПараметры", ДополнительныеПараметры);
Оповещение = Новый ОписаниеОповещения(
"ВыгрузкаРегламентированногоОтчетаЗавершениеИзСтатформыПредварительное",
ЭтотОбъект,
ПараметрыОповещения
);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
АдресФайлаВыгрузки = Неопределено;
ИмяФайлаВыгрузки = "";
РезультатВыгрузки = КонтекстЭДОКлиент.ПопытатьсяВыгрузитьСтатформуИзЗаявленияОВвозеТоваров(
АдресФайлаВыгрузки,
ИмяФайлаВыгрузки,
,
Истина,
,
ДокументЗаявлениеОВвозеТоваров,
ИмяДокументаЗаявлениеОВвозеТоваров);
Если РезультатВыгрузки = Истина Тогда
НачатьПолучениеФайлаССервера(АдресФайлаВыгрузки, ИмяФайлаВыгрузки);
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПроверитьВозможностьВыгрузкиП1ИзФормыОтчетностьНаСервере(ОтчетСсылка)
Перем ВыбранныйОтчетПриложение3;
ДанныеОтчетаХЗ = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ОтчетСсылка, "ДанныеОтчета, ДатаНачала");
Если Год(ДанныеОтчетаХЗ.ДатаНачала) >= 2017 Тогда
Возврат Истина;
КонецЕсли;
ДанныеВыгружаемогоОтчета = ДанныеОтчетаХЗ.ДанныеОтчета.Получить();
Если НЕ ДанныеВыгружаемогоОтчета.Свойство("ВыбранныйОтчетПриложение3", ВыбранныйОтчетПриложение3) Тогда
Возврат Ложь;
ИначеЕсли ВыбранныйОтчетПриложение3 = Неопределено Тогда
Возврат Ложь;
КонецЕсли;
Возврат Истина;
КонецФункции
&НаКлиенте
Процедура ПоказатьФормуСтатусовОтправкиИзСпискаПредварительное(Результат, ПараметрыОповещения) Экспорт
ПоказатьФормуСтатусовОтправкиИзСписка(
ПараметрыОповещения.Элемент
);
КонецПроцедуры
&НаКлиенте
Процедура ПоказатьФормуСтатусовОтправкиИзСписка(Элемент) Экспорт
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Элемент", Элемент);
Оповещение = Новый ОписаниеОповещения(
"ПоказатьФормуСтатусовОтправкиИзСпискаПредварительное",
ЭтотОбъект,
ПараметрыОповещения
);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
КонтекстЭДОКлиент.ПоказатьФормуСтатусовОтправкиИзСписка(Элемент);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ОписаниеРегОтчета(ДокументРегОтчет)
Возврат РегламентированнаяОтчетностьВызовСервера.ОписаниеРегОтчета(ДокументРегОтчет);
КонецФункции
&НаСервереБезКонтекста
Функция ОбъектВАрхиве(Знач ОбъектОтправки, Знач ИмяФайла)
КонтекстМодуля = ДокументооборотСКО.ПолучитьОбработкуЭДО();
Возврат КонтекстМодуля.ОбъектВАрхиве(ОбъектОтправки, ИмяФайла);
КонецФункции
&НаСервереБезКонтекста
Функция ПротоколЕсть(Отправка, ВАрхиве = Ложь)
ВАрхиве = Ложь;
Если ЗначениеЗаполнено(Отправка) Тогда
ВАрхиве = ОбъектВАрхиве(Отправка, "Протокол");
Возврат ЗначениеЗаполнено(Отправка.Протокол.Получить());
Иначе
Возврат Ложь;
КонецЕсли;
КонецФункции
&НаКлиенте
Процедура НапечататьОбъектНеВходящийВБРО(Ссылка, СведенияПоОбъекту)
МакетПечати = СведенияПоОбъекту.ИмяОсновногоМакетаДляПечати;
СтандартнаяПечатьОбъекта = Истина;
РегламентированнаяОтчетностьКлиент.ПечатьПереопределяемый(Ссылка, МакетПечати, СтандартнаяПечатьОбъекта);
Если СтандартнаяПечатьОбъекта Тогда
Если МакетПечати <> Неопределено Тогда
ИмяМенеджера = ИмяМенеджераПечати(Ссылка);
МассивПечати = Новый Массив;
МассивПечати.Добавить(Ссылка);
Попытка
УправлениеПечатьюКлиент.ВыполнитьКомандуПечати(ИмяМенеджера, МакетПечати, МассивПечати, Неопределено);
Исключение
ДлительнаяОтправкаКлиентСервер.ВывестиОшибку(НСтр("ru = 'При печати возникла ошибка'"));
КонецПопытки;
Иначе
ПредупредитьОбОграничениях(Элементы.Отчеты, НСтр("ru = 'Печать без штрихкода PDF417 не предусмотрена'"));
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Функция ИмяМенеджераПечати(Ссылка)
Возврат Ссылка.Метаданные().ПолноеИмя();
КонецФункции
&НаКлиенте
Процедура ПечатьПротоколовПоСсылкеПредварительное(Результат, ПараметрыОповещения) Экспорт
ПечатьПротоколовПоСсылке(
ПараметрыОповещения.Закладка,
ПараметрыОповещения.Ссылка,
ПараметрыОповещения.ВидКонтролирующегоОргана,
ПараметрыОповещения.НеОтправляетсяВКонтролирующийОрган,
ПараметрыОповещения.СостояниеСдачиОтчетности
);
КонецПроцедуры
&НаКлиенте
Процедура ПечатьПротоколовПоСсылке(
Закладка,
Ссылка,
ВидКонтролирующегоОргана,
НеОтправляетсяВКонтролирующийОрган,
СостояниеСдачиОтчетности)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Закладка", Закладка);
ПараметрыОповещения.Вставить("Ссылка", Ссылка);
ПараметрыОповещения.Вставить("ВидКонтролирующегоОргана", ВидКонтролирующегоОргана);
ПараметрыОповещения.Вставить("НеОтправляетсяВКонтролирующийОрган", НеОтправляетсяВКонтролирующийОрган);
ПараметрыОповещения.Вставить("СостояниеСдачиОтчетности", СостояниеСдачиОтчетности);
Оповещение = Новый ОписаниеОповещения(
"ПечатьПротоколовПоСсылкеПредварительное",
ЭтотОбъект,
ПараметрыОповещения
);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
Если НеОтправляетсяВКонтролирующийОрган Тогда
ПредупредитьОбОграничениях(Закладка, НСтр("ru = 'Печать протоколов не предусмотрена'"));
Иначе
Если ТипЗнч(Ссылка) <> Тип("СправочникСсылка.ДокументыРеализацииПолномочийНалоговыхОрганов")
И ТипЗнч(Ссылка) <> Тип("СправочникСсылка.ПерепискаСКонтролирующимиОрганами") Тогда
ЭлектронныйДокументооборотСКонтролирующимиОрганамиКлиент.ОтметитьКакПрочтенное(Ссылка);
КонецЕсли;
ПоследнийЦиклИлиОтправка = Неопределено;
ВАрхиве = Ложь;
Если ВидКонтролирующегоОргана = ПредопределенноеЗначение("Перечисление.ТипыКонтролирующихОрганов.ФСС") Тогда
ПоследнийЦиклИлиОтправка = КонтекстЭДОКлиент.ПолучитьПоследнююОтправкуОтчетаВФСС(Ссылка);
ПротоколЕсть = ПротоколЕсть(ПоследнийЦиклИлиОтправка, ВАрхиве);
ИначеЕсли ВидКонтролирующегоОргана = ПредопределенноеЗначение("Перечисление.ТипыКонтролирующихОрганов.ФСРАР") Тогда
ПоследнийЦиклИлиОтправка = КонтекстЭДОКлиент.ПолучитьПоследнююОтправкуОтчетаВФСРАР(Ссылка);
ПротоколЕсть = ПротоколЕсть(ПоследнийЦиклИлиОтправка, ВАрхиве);
ИначеЕсли ВидКонтролирующегоОргана = ПредопределенноеЗначение("Перечисление.ТипыКонтролирующихОрганов.РПН") Тогда
ПоследнийЦиклИлиОтправка = КонтекстЭДОКлиент.ПолучитьПоследнююОтправкуОтчетаВРПН(Ссылка);
ПротоколЕсть = ПротоколЕсть(ПоследнийЦиклИлиОтправка, ВАрхиве);
ИначеЕсли ВидКонтролирующегоОргана = ПредопределенноеЗначение("Перечисление.ТипыКонтролирующихОрганов.ФТС") Тогда
ПоследнийЦиклИлиОтправка = КонтекстЭДОКлиент.ПолучитьПоследнююОтправкуОтчетаВФТС(Ссылка);
ПротоколЕсть = ПротоколЕсть(ПоследнийЦиклИлиОтправка, ВАрхиве);
ИначеЕсли ВидКонтролирующегоОргана =
ПредопределенноеЗначение("Перечисление.ТипыКонтролирующихОрганов.УдалитьБанкРоссии") Тогда
МодульУдалитьДокументооборотСБанкомРоссииКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль(
"УдалитьДокументооборотСБанкомРоссииКлиент");
ПоследнийЦиклИлиОтправка = МодульУдалитьДокументооборотСБанкомРоссииКлиент.ПолучитьПоследнююОтправкуОтчета(Ссылка);
ПротоколЕсть = ПротоколЕсть(ПоследнийЦиклИлиОтправка, ВАрхиве);
Иначе
ПоследнийЦиклИлиОтправка = ДокументооборотСКОВызовСервера.ПолучитьПоследнийЦиклОбмена(Ссылка);
ПротоколЕсть = Истина;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ПоследнийЦиклИлиОтправка) ИЛИ НЕ ПротоколЕсть Или ВАрхиве Тогда
Если СостояниеСдачиОтчетности = ПредопределенноеЗначение("Перечисление.СостояниеСдачиОтчетности.ДокументооборотНеНачат") Тогда
КонтекстЭДОКлиент.ПредупредитьОбОтсутствииПротокола();
Иначе
Если ВАрхиве Тогда
КонтекстЭДОКлиент.ПоказатьУведомлениеАрхивныхФайлов(, 16, 5, Истина);
Иначе
ТекстПредупреждения = НСтр("ru = 'У пользователя недостаточно прав для просмотра и печати протоколов.'");
ПоказатьПредупреждение(,ТекстПредупреждения);
КонецЕсли;
КонецЕсли;
Возврат;
КонецЕсли;
Если ВидКонтролирующегоОргана = ПредопределенноеЗначение("Перечисление.ТипыКонтролирующихОрганов.ФСС") Тогда
КонтекстЭДОКлиент.ПоказатьПротоколОбработкиПоСсылкеИсточникаДляФСС(ПоследнийЦиклИлиОтправка);
ИначеЕсли ВидКонтролирующегоОргана = ПредопределенноеЗначение("Перечисление.ТипыКонтролирующихОрганов.ФСРАР") Тогда
КонтекстЭДОКлиент.ПоказатьПротоколОбработкиПоСсылкеИсточникаДляФСРАР(ПоследнийЦиклИлиОтправка);
ИначеЕсли ВидКонтролирующегоОргана = ПредопределенноеЗначение("Перечисление.ТипыКонтролирующихОрганов.РПН") Тогда
КонтекстЭДОКлиент.ПоказатьПротоколОбработкиПоСсылкеИсточникаДляРПН(ПоследнийЦиклИлиОтправка);
ИначеЕсли ВидКонтролирующегоОргана = ПредопределенноеЗначение("Перечисление.ТипыКонтролирующихОрганов.ФТС") Тогда
КонтекстЭДОКлиент.ПоказатьПротоколОбработкиПоСсылкеИсточникаДляФТС(ПоследнийЦиклИлиОтправка);
ИначеЕсли ВидКонтролирующегоОргана = ПредопределенноеЗначение("Перечисление.ТипыКонтролирующихОрганов.УдалитьБанкРоссии") Тогда
МодульУдалитьДокументооборотСБанкомРоссииКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("УдалитьДокументооборотСБанкомРоссииКлиент");
МодульУдалитьДокументооборотСБанкомРоссииКлиент.ПоказатьПротокол(ПоследнийЦиклИлиОтправка);
Иначе
КонтекстЭДОКлиент.ПоказатьДокументыЦикловОбмена(ПоследнийЦиклИлиОтправка, Истина);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПоказатьРезультатПроверкиОбновленияИнформацииМОС(
Результат = Неопределено,
ДополнительныеПараметры = Неопределено) Экспорт
Попытка
Если ЗаданиеВыполнено(ИдентификаторЗаданияМОС) Тогда
РезультатПроверки = ПолучитьИзВременногоХранилища(АдресХранилищаМОС);
Если НЕ ЗначениеЗаполнено(РезультатПроверки) Тогда
Возврат;
КонецЕсли;
Если ТипЗнч(РезультатПроверки) <> Тип("Массив") Тогда
Возврат;
КонецЕсли;
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Обновлены внешние формы отчетов - %1'"),
Формат(РезультатПроверки.Количество(), "ЧГ="));
Для каждого СтрокаСообщения Из РезультатПроверки Цикл
ТекстСообщения = ТекстСообщения + Символы.ПС + Символы.ПС
+ СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '%1'"), СтрокаСообщения);
КонецЦикла;
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстСообщения);
КонецЕсли;
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ТекстСообщенияОбОшибке =
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Ошибка при проверке результата обновления информации механизма онлайн-сервисов регламентированной отчетности
|%1'"), ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(
НСтр("ru = 'Регламентированная отчетность. Проверка результата обновления информации механизма онлайн-сервисов регламентированной отчетности'"),
"Ошибка", ТекстСообщенияОбОшибке);
КонецПопытки;
КонецПроцедуры
&НаСервере
Функция ПроверитьКоличествоОбъектовНеЗаписанныхВРегистр()
ИдентификаторЗадания = Неопределено;
ПараметрыЗапуска = Новый Структура;
ПараметрыЗапуска.Вставить("УникальныйИдентификаторФормы", УникальныйИдентификатор);
Результат = РегламентированнаяОтчетность.КоличествоОбъектовНеЗаписанныхВРегистр(ПараметрыЗапуска);
Если Результат = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;
АдресХранилища = Результат.АдресРезультата;
ИдентификаторЗадания = Результат.ИдентификаторЗадания;
Возврат Результат;
КонецФункции
&НаКлиенте
Процедура ПроверитьВыполнениеПодсчетаКоличестваНезаписанныхОбъектов(Результат, ДополнительныеДанные = Неопределено) Экспорт
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
Попытка
Если Результат.Статус = "Выполнено" Тогда
РезультатПроверкиКоличестваНезаписанныхОбъектов = Неопределено;
ПоказатьРезультатПроверки();
КонецЕсли;
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ТекстСообщенияОбОшибке =
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Ошибка при подсчете количества объектов, не отображаемых в форме 1С-Отчетность
|%1'"), ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(
НСтр("ru = 'Регламентированная отчетность. Проверка количества незаписанных объектов'"),
"Ошибка",
ТекстСообщенияОбОшибке,
,
Истина);
КонецПопытки;
КонецПроцедуры
&НаКлиенте
Процедура ПоказатьРезультатПроверки()
РезультатПроверки = ПолучитьИзВременногоХранилища(АдресХранилища);
Если НЕ ЗначениеЗаполнено(РезультатПроверки) Тогда
Возврат;
КонецЕсли;
Если РезультатПроверки.КоличествоНезаписанныхОбъектов = 0 И РезультатПроверки.КоличествоНекорректныхЗаписей = 0 Тогда
Возврат;
КонецЕсли;
ДописатьОбъектыОтсутствующиеВРегистре();
КонецПроцедуры
&НаСервереБезКонтекста
Функция ЗаданиеВыполнено(ИдентификаторЗадания)
Возврат ДлительныеОперации.ЗаданиеВыполнено(ИдентификаторЗадания);
КонецФункции
&НаКлиенте
Процедура ДописатьОбъектыОтсутствующиеВРегистре(СОчисткойРегистров = Ложь)
Результат = ЗапуститьДобавлениеОбъектовВРегистр(СОчисткойРегистров);
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
Если Результат.Статус = "Выполнено" Тогда
ДействияПослеЗавершенияИндексированияОбъектов();
ИначеЕсли ЗначениеЗаполнено(ИдентификаторЗадания) Тогда
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
ПараметрыОжидания.ВыводитьСообщения = Истина;
ПараметрыОжидания.ВыводитьОкноОжидания = Ложь;
ОповещениеПроверитьРезультат = Новый ОписаниеОповещения(
"ПроверитьРезультатДобавленияОбъектовОтсутствующихВРегистре", ЭтотОбъект);
ДлительныеОперацииКлиент.ОжидатьЗавершение(Результат, ОповещениеПроверитьРезультат, ПараметрыОжидания);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПроверитьРезультатДобавленияОбъектовОтсутствующихВРегистре(Результат, ДополнительныеДанные = Неопределено) Экспорт
Если Результат <> Неопределено И Результат.Статус = "Выполнено" Тогда
ДействияПослеЗавершенияИндексированияОбъектов();
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ЗапуститьДобавлениеОбъектовВРегистр(СОчисткойРегистров = Ложь)
ИдентификаторЗадания = Неопределено;
ПараметрыЗапуска = Новый Структура;
ПараметрыЗапуска.Вставить("УникальныйИдентификаторФормы", УникальныйИдентификатор);
ПараметрыЗапуска.Вставить("СОчисткойРегистров", СОчисткойРегистров);
Результат = РегламентированнаяОтчетность.ДобавлениеОбъектовОтсутствующихВРегистре(ПараметрыЗапуска);
Если Результат = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;
АдресХранилища = Результат.АдресРезультата;
ИдентификаторЗадания = Результат.ИдентификаторЗадания;
Возврат Результат;
КонецФункции
&НаСервереБезКонтекста
Функция ИмяФормыОбъектаПоУмолчанию(Ссылка)
Возврат Ссылка.Метаданные().ПолноеИмя() + ".ФормаОбъекта";
КонецФункции
&НаКлиенте
Процедура ОнлайнПроверкаПредварительное(Результат, ПараметрыОповещения) Экспорт
ОнлайнПроверка(
ПараметрыОповещения.Закладка
);
КонецПроцедуры
&НаКлиенте
Процедура ОнлайнПроверка(Закладка)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Закладка", Закладка);
Оповещение = Новый ОписаниеОповещения(
"ОнлайнПроверкаПредварительное",
ЭтотОбъект,
ПараметрыОповещения
);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
ТекущиеДанные = Закладка.ТекущиеДанные;
ЭтоОтчеты = Закладка = Элементы.Отчеты;
РегламентированнаяОтчетностьКлиент.ОнлайнПроверка(ЭтотОбъект, КонтекстЭДОКлиент, ТекущиеДанные, ЭтоОтчеты);
КонецПроцедуры
&НаКлиенте
Процедура ПредупредитьОбОграничениях(Закладка, Знач ТекстПредупреждения, Знач ВидОбъекта = Неопределено)
ТекстПредупреждения = НРег(Лев(ТекстПредупреждения, 1)) + Сред(ТекстПредупреждения, 2);
ТекстПредупреждения = НСтр("ru = 'Для %1 ""%2"" '") + ТекстПредупреждения;
ЭтоОтчеты = Закладка = Элементы.Отчеты;
ТекущиеДанные = Закладка.ТекущиеДанные;
Если ВидОбъекта = Неопределено Тогда
Если ЭтоОтчеты Тогда
ВидОбъекта = НСтр("ru = 'отчета'");
Иначе
ВидОбъекта = НСтр("ru = 'уведомления'");
КонецЕсли;
КонецЕсли;
Наименование = "";
Если ЭтоОтчеты Тогда
Наименование = ТекущиеДанные.НаименованиеОтчета;
Иначе
Наименование = ТекущиеДанные.Наименование;
КонецЕсли;
ТекстПредупреждения = СтрЗаменить(ТекстПредупреждения, "%1", ВидОбъекта);
ТекстПредупреждения = СтрЗаменить(ТекстПредупреждения, "%2", Наименование);
ПоказатьПредупреждение(,ТекстПредупреждения);
КонецПроцедуры
&НаСервере
Процедура СохранитьНастройки()
ХранилищеНастроекДанныхФорм.Сохранить(ЭтотОбъект.ИмяФормы, "Форма1СОтчетность_ТекущаяСтраницаРазделов", Элементы.Разделы.ТекущаяСтраница.Имя);
ХранилищеНастроекДанныхФорм.Сохранить(ЭтотОбъект.ИмяФормы, "Форма1СОтчетность_ТолькоУказанныйПериод", ТолькоУказанныйПериод);
ХранилищеНастроекДанныхФорм.Сохранить(ЭтотОбъект.ИмяФормы, "Форма1СОтчетность_ПериодОтчета", ПериодОтчета);
ХранилищеНастроекДанныхФорм.Сохранить(ЭтотОбъект.ИмяФормы, "Форма1СОтчетность_НачалоПериода", НачалоПериода);
ХранилищеНастроекДанныхФорм.Сохранить(ЭтотОбъект.ИмяФормы, "Форма1СОтчетность_КонецПериода", КонецПериода);
КонецПроцедуры
&НаСервере
Процедура СохранитьНастройкиОтбораИСортировки()
ХранилищеНастроекДанныхФорм.Сохранить(ЭтотОбъект.ИмяФормы, "Форма1СОтчетность_Организация", Организация);
ХранилищеНастроекДанныхФорм.Сохранить(ЭтотОбъект.ИмяФормы, "Форма1СОтчетность_ВидОтчета", ВидОтчета);
ПользовательскиеНастройкиДинамическогоСписка = ЭтотОбъект.Отчеты.КомпоновщикНастроек.ПользовательскиеНастройки;
ХранилищеНастроекДанныхФорм.Сохранить(ЭтотОбъект.ИмяФормы, "Форма1СОтчетность_ПользовательскиеНастройкиОтчетов", ПользовательскиеНастройкиДинамическогоСписка);
КонецПроцедуры
&НаСервере
Процедура УправлениеВидимостьюЭлементовПриОтключенномЭДО()
ЕстьПравоОбмена =
РольДоступна("ПравоНаЗащищенныйДокументооборотСКонтролирующимиОрганами")
ИЛИ РольДоступна("АдминистраторСистемы")
ИЛИ РольДоступна("ПолныеПрава");
Элементы.ГруппаПанельИнформацииСКнопкой.Видимость = ЭлектронныйДокументооборотДоступен;
Элементы.ОбновитьДанные.Видимость = ЕстьПравоОбмена;
КонецПроцедуры
&НаСервере
Процедура УправлениеВидимостьюЛичныхКабинетов()
УправлениеВидимостьюЛичныхКабинетовНаправлений();
УправлениеВидимостьюЛичныхКабинетовСпецоператоров();
КонецПроцедуры
&НаСервере
Процедура УправлениеВидимостьюЛичныхКабинетовНаправлений()
СтрокаСписокПоддерживаемыхКО = "ФНСЮЛ,ФНСИП,ФСС,ФСРАР,РПН,ФТС";
НаправленияЭталон = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(СтрокаСписокПоддерживаемыхКО, ",");
ЭлектронныйДокументооборотСКонтролирующимиОрганамиПереопределяемый.ПереопределитьСписокПоддерживаемыхНаправлений(СтрокаСписокПоддерживаемыхКО);
НаправленияПереопределенный = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(СтрокаСписокПоддерживаемыхКО, ",");
Для каждого СтрокаНаправление Из НаправленияЭталон Цикл
Если НаправленияПереопределенный.Найти(СтрокаНаправление) = Неопределено Тогда
ИмяЭлемента = "Группа" + СтрокаНаправление + "Сервис";
ЭлементГруппа = Элементы.Найти(ИмяЭлемента);
Если ЭлементГруппа <> Неопределено Тогда
ЭлементГруппа.Видимость = Ложь;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура УправлениеВидимостьюЛичныхКабинетовСпецоператоров()
КонтекстЭДОСервер = ДокументооборотСКО.ПолучитьОбработкуЭДО();
Если КонтекстЭДОСервер = Неопределено Тогда
Возврат;
КонецЕсли;
МассивИспользуемыхСпецоператоров = КонтекстЭДОСервер.ПолучитьМассивИспользуемыхСпецоператоров();
ТаблицаСвойствОператоров = Новый ТаблицаЗначений;
ТаблицаСвойствОператоров.Колонки.Добавить("ЛичныйКабинетНаименованиеСервиса");
ТаблицаСвойствОператоров.Колонки.Добавить("ЛичныйКабинетАдресСервиса");
ТаблицаСвойствОператоров.Колонки.Добавить("ЛичныйКабинетОписаниеСервиса");
Для каждого ИспользуемыйСпецоператор Из МассивИспользуемыхСпецоператоров Цикл
ПараметрыСтруктура = Новый Структура("ЛичныйКабинетНаименованиеСервиса, ЛичныйКабинетАдресСервиса, ЛичныйКабинетОписаниеСервиса");
КонтекстЭДОСервер.ЗаполнитьПараметрыСпецоператора(ИспользуемыйСпецоператор, ПараметрыСтруктура);
Если ЗначениеЗаполнено(ПараметрыСтруктура.ЛичныйКабинетАдресСервиса) Тогда
ЗаполнитьЗначенияСвойств(ТаблицаСвойствОператоров.Добавить(), ПараметрыСтруктура);
КонецЕсли;
КонецЦикла;
ТаблицаСвойствОператоров.Сортировать("ЛичныйКабинетАдресСервиса");
ТаблицаЛичныхКабинетов = Новый ТаблицаЗначений;
ТаблицаЛичныхКабинетов.Колонки.Добавить("ЛичныйКабинетНаименованиеСервиса");
ТаблицаЛичныхКабинетов.Колонки.Добавить("ЛичныйКабинетАдресСервиса");
ТаблицаЛичныхКабинетов.Колонки.Добавить("ЛичныйКабинетОписаниеСервиса");
ТекущееНазваниеСервиса = "";
ТекущийАдресСервиса = "";
ТекущееОписаниеСервиса = "";
Для каждого СвойстваОператора Из ТаблицаСвойствОператоров Цикл
Если ТекущийАдресСервиса <> СвойстваОператора.ЛичныйКабинетАдресСервиса Тогда
НовыйЛичныйКабинет = ТаблицаЛичныхКабинетов.Добавить();
ТекущееНазваниеСервиса = СвойстваОператора.ЛичныйКабинетНаименованиеСервиса;
ТекущийАдресСервиса = СвойстваОператора.ЛичныйКабинетАдресСервиса;
ТекущееОписаниеСервиса = СвойстваОператора.ЛичныйКабинетОписаниеСервиса;
КонецЕсли;
НовыйЛичныйКабинет.ЛичныйКабинетНаименованиеСервиса = ТекущееНазваниеСервиса;
НовыйЛичныйКабинет.ЛичныйКабинетАдресСервиса = ТекущийАдресСервиса;
НовыйЛичныйКабинет.ЛичныйКабинетОписаниеСервиса = ТекущееОписаниеСервиса;
КонецЦикла;
Для каждого СтрокаЛичныйКабинет Из ТаблицаЛичныхКабинетов Цикл
НомерЛК = ТаблицаЛичныхКабинетов.Индекс(СтрокаЛичныйКабинет) + 1;
ЦветГиперссылкаБРО = Новый Цвет(28, 85, 174);
НазваниеСервиса = Новый ФорматированнаяСтрока(СтрокаЛичныйКабинет.ЛичныйКабинетНаименованиеСервиса, , ЦветГиперссылкаБРО, , СтрокаЛичныйКабинет.ЛичныйКабинетАдресСервиса);
ЭлементНазваниеСервиса = Элементы.Найти("ЛичныйКабинет1Сотчетность" + НомерЛК);
Если ЭлементНазваниеСервиса <> Неопределено Тогда
ЭлементНазваниеСервиса.Заголовок = НазваниеСервиса;
ЭлементНазваниеСервиса.Подсказка = СтрокаЛичныйКабинет.ЛичныйКабинетАдресСервиса;
КонецЕсли;
ЭлементОписаниеСервиса = Элементы.Найти("ПояснениеЛичныйКабинет1Сотчетность" + НомерЛК);
Если ЭлементОписаниеСервиса <> Неопределено Тогда
ЭлементОписаниеСервиса.Заголовок = СтрокаЛичныйКабинет.ЛичныйКабинетОписаниеСервиса;
КонецЕсли;
ЭлементГруппаЛичныйКабинет = Элементы.Найти("ГруппаЛичныйКабинет1Сотчетность" + НомерЛК);
Если ЭлементОписаниеСервиса <> Неопределено Тогда
ЭлементГруппаЛичныйКабинет.Видимость = Истина;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ПоказатьКритическиеОшибкиПоСсылкеПредварительное(Результат, ПараметрыОповещения) Экспорт
ПоказатьКритическиеОшибкиПоСсылке(
ПараметрыОповещения.Ссылка
);
КонецПроцедуры
&НаКлиенте
Процедура ПоказатьКритическиеОшибкиПоСсылке(Ссылка) Экспорт
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Ссылка", Ссылка);
Оповещение = Новый ОписаниеОповещения(
"ПоказатьКритическиеОшибкиПоСсылкеПредварительное",
ЭтотОбъект,
ПараметрыОповещения
);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
КонтекстЭДОКлиент.ПоказатьКритическиеОшибкиПоСсылке(Ссылка);
КонецПроцедуры
&НаСервере
Процедура ОткрытьНаНужнойСтранице(Параметры)
Если Параметры.Свойство("ВидУведомления") И ЗначениеЗаполнено(Параметры.ВидУведомления) Тогда
Элементы.Разделы.ТекущаяСтраница = Элементы.СтраницаУведомления;
ИначеЕсли Параметры.Свойство("Раздел") Тогда
Элементы.Разделы.ТекущаяСтраница = Элементы["Страница" + ИмяСтраницы(Параметры.Раздел)];
Иначе
ТекСтраница = ХранилищеНастроекДанныхФорм.Загрузить(ЭтотОбъект.ИмяФормы, "Форма1СОтчетность_ТекущаяСтраницаРазделов");
Если ТекСтраница <> Неопределено И Элементы.Разделы.ПодчиненныеЭлементы.Найти(ТекСтраница) <> Неопределено Тогда
Элементы.Разделы.ТекущаяСтраница = Элементы[ТекСтраница];
Иначе
Элементы.Разделы.ТекущаяСтраница = Элементы.СтраницаОтчеты;
КонецЕсли;
КонецЕсли;
КалендарьОтчетностиБРОКлиентСерверПереопределяемый.ПриСменеСтраницыРазделаОтчетности(ЭтотОбъект);
КонецПроцедуры
&НаСервере
Процедура НазначитьВидОтчетаИзПараметра(Параметры)
Если Параметры.Свойство("ВидОтчета") Тогда
ПараметрВидОтчета = СокрЛП(Параметры.ВидОтчета);
Если ЗначениеЗаполнено(ПараметрВидОтчета) Тогда
МассивВидовОтчетов = ПолучитьСписокОтчетовИзРегистраСведений();
Элементы.ОтборВидОтчета.СписокВыбора.ЗагрузитьЗначения(МассивВидовОтчетов);
ВидОтчета = ПараметрВидОтчета;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура НазначитьВидУведомленияИзПараметра(Параметры)
Если Параметры.Свойство("ВидУведомления") И ЗначениеЗаполнено(Параметры.ВидУведомления) Тогда
ВидУведомления = Параметры.ВидУведомления;
ПредставлениеВидаУведомления = СокрЛП(Параметры.ВидУведомления);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура СделатьВсеГиперссылкиНеактивными()
Для каждого Раздел Из Разделы(ЭтотОбъект) Цикл
Гиперссылка = Элементы["Гиперссылка" + Раздел];
Гиперссылка.ЦветФона = Серый;
Гиперссылка.Гиперссылка = Истина;
Гиперссылка.ЦветТекста = Черный;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура СоздатьНовоеУведомление_Предварительное(Результат, ПараметрыОповещения) Экспорт
СоздатьНовоеУведомление();
КонецПроцедуры
&НаКлиенте
Процедура СоздатьНовоеЗаявлениеПФРПоПредставлениюВидаУведомления(ПредставлениеВидаУведомления)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
Оповещение = Новый ОписаниеОповещения(
"СоздатьНовоеУведомление_Предварительное",
ЭтотОбъект);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
ЗаявлениеПФР = КонтекстЭДОКлиент.СоздатьЗаявлениеВПФР(
ПредставлениеВидаУведомления,
Организация);
ПоказатьЗначение(, ЗаявлениеПФР);
КонецПроцедуры
&НаКлиенте
Функция ЭтоЗаявлениеПФР(ВидУведомления)
Тип = Тип("ДокументСсылка.ЗаявленияПоЭлДокументооборотуСПФР");
Типы = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Тип);
Возврат ВидУведомления = Новый ОписаниеТипов(Типы);
КонецФункции
&НаКлиенте
Процедура СоздатьНовоеУведомление()
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Организация", Организация);
ПараметрыФормы.Вставить("Создание_УведомлениеОСпецрежимахНалогообложения", Истина);
ПараметрыФормы.Вставить("УчитыватьУведомленияНеВходящиеВБРО", Истина);
ПараметрыФормы.Вставить("UIDФорма1СОтчетность", УникальныйИдентификатор);
Если ЗначениеЗаполнено(ПредставлениеВидаУведомления) И ЗначениеЗаполнено(ВидУведомления) Тогда
Если ЭтоЗаявлениеПФР(ВидУведомления) Тогда
СоздатьНовоеЗаявлениеПФРПоПредставлениюВидаУведомления(ПредставлениеВидаУведомления);
Возврат;
ИначеЕсли ТипЗнч(ВидУведомления) = Тип("ОписаниеТипов")
И ВидУведомления.СодержитТип(Тип("СправочникСсылка.МашиночитаемыеДоверенностиРаспределенныйРеестр"))
И ВидУведомления.Типы().Количество() = 1 Тогда
ОткрытьФорму(
"Справочник.МашиночитаемыеДоверенностиРаспределенныйРеестр.ФормаОбъекта",
Новый Структура("Организация", Организация),
ЭтотОбъект);
Возврат;
ИначеЕсли ТипЗнч(ВидУведомления) = Тип("ОписаниеТипов")
И ВидУведомления.СодержитТип(Тип("СправочникСсылка.МашиночитаемыеДоверенностиФНС"))
И ВидУведомления.Типы().Количество() = 1 Тогда
ОткрытьФорму(
"Справочник.МашиночитаемыеДоверенностиФНС.ФормаОбъекта",
Новый Структура("Организация", Организация),
ЭтотОбъект);
Возврат;
ИначеЕсли ТипЗнч(ВидУведомления) = Тип("ОписаниеТипов")
И ВидУведомления.СодержитТип(Тип("СправочникСсылка.ЗаявленияОбОтзывеМЧДФНС"))
И ВидУведомления.Типы().Количество() = 1 Тогда
ОткрытьФорму(
"Справочник.ЗаявленияОбОтзывеМЧДФНС.ФормаОбъекта",
Новый Структура("Организация", Организация),
ЭтотОбъект);
Возврат;
ИначеЕсли ТипЗнч(ВидУведомления) = Тип("ОписаниеТипов")
И ВидУведомления.СодержитТип(Тип("СправочникСсылка.МашиночитаемыеДоверенностиФСС"))
И ВидУведомления.Типы().Количество() = 1 Тогда
ОткрытьФорму(
"Справочник.МашиночитаемыеДоверенностиФСС.ФормаОбъекта",
Новый Структура("Организация", Организация),
ЭтотОбъект);
Возврат;
ИначеЕсли ТипЗнч(ВидУведомления) = Тип("ОписаниеТипов")
И ВидУведомления.СодержитТип(Тип("ДокументСсылка.УведомлениеОПредоставленииПолномочийПредставителю"))
И ВидУведомления.Типы().Количество() = 1 Тогда
ОткрытьФорму(
"Документ.УведомлениеОПредоставленииПолномочийПредставителю.ФормаОбъекта",
Новый Структура("Организация", Организация),
ЭтотОбъект);
Возврат;
ИначеЕсли ТипЗнч(ВидУведомления) = Тип("ОписаниеТипов")
И ВидУведомления.СодержитТип(Тип("ДокументСсылка.УведомлениеОПрекращенииПолномочийПредставителя"))
И ВидУведомления.Типы().Количество() = 1 Тогда
ОткрытьФорму(
"Документ.УведомлениеОПрекращенииПолномочийПредставителя.ФормаОбъекта",
Новый Структура("Организация", Организация),
ЭтотОбъект);
Возврат;
ИначеЕсли ЗначениеЗаполнено(ИмяТипаСправочникаМашиночитаемыеДоверенностиЦБ)
И ТипЗнч(ВидУведомления) = Тип("ОписаниеТипов")
И ВидУведомления.СодержитТип(Тип("СправочникСсылка." + ИмяТипаСправочникаМашиночитаемыеДоверенностиЦБ))
И ВидУведомления.Типы().Количество() = 1 Тогда
ОткрытьФорму(
"Справочник." + ИмяТипаСправочникаМашиночитаемыеДоверенностиЦБ + ".ФормаОбъекта",
Новый Структура("Организация", Организация),
ЭтотОбъект);
Возврат;
ИначеЕсли ТипЗнч(ВидУведомления) = Тип("ОписаниеТипов")
И ВидУведомления.СодержитТип(Тип("ДокументСсылка.УведомлениеОПолучателеДокументов"))
И ВидУведомления.Типы().Количество() = 1 Тогда
ОткрытьФорму(
"Документ.УведомлениеОПолучателеДокументов.ФормаОбъекта",
Новый Структура("Организация", Организация),
ЭтотОбъект);
Возврат;
ИначеЕсли ЗначениеЗаполнено(ИмяТипаСправочникаМашиночитаемыеДоверенности)
И ТипЗнч(ВидУведомления) = Тип("ОписаниеТипов")
И ВидУведомления.СодержитТип(Тип("СправочникСсылка." + ИмяТипаСправочникаМашиночитаемыеДоверенности))
И ВидУведомления.Типы().Количество() = 1 Тогда
МассивДоверителей = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Организация);
ОткрытьФорму(
"Справочник." + ИмяТипаСправочникаМашиночитаемыеДоверенности + ".ФормаОбъекта",
Новый Структура("Организация, Доверители", Организация, МассивДоверителей),
ЭтотОбъект);
Возврат;
Иначе
ПараметрыФормы.Вставить("ВидУведомления", ВидУведомления);
КонецЕсли;
КонецЕсли;
ОткрытьФорму("Документ.УведомлениеОСпецрежимахНалогообложения.Форма.ФормаВыбораВидаСообщения", ПараметрыФормы,
ЭтотОбъект,,,,, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
&НаКлиенте
Процедура СоздатьНовыйЗапросНаВыпискуИзЕГРЮЛ_ЕГРИППредварительное(Результат, ПараметрыОповещения) Экспорт
СоздатьНовыйЗапросНаВыпискуИзЕГРЮЛ_ЕГРИП();
КонецПроцедуры
&НаКлиенте
Процедура СоздатьНовыйЗапросНаВыпискуИзЕГРЮЛ_ЕГРИП()
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
Оповещение = Новый ОписаниеОповещения(
"СоздатьНовыйЗапросНаВыпискуИзЕГРЮЛ_ЕГРИППредварительное",
ЭтотОбъект
);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ЗначенияЗаполнения", Новый Структура("Организация", Организация));
ОткрытьФорму("Документ.ЗапросНаВыпискуИзЕГРЮЛ_ЕГРИП.Форма.ФормаДокумента", ПараметрыФормы, ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура СоздатьНовоеПисьмо()
СписокВидовПисьма = Новый СписокЗначений;
СписокВидовПисьма.Добавить(НСтр("ru = 'Письмо'"));
СписокВидовПисьма.Добавить(НСтр("ru = 'Ответ на требование'"));
СписокВидовПисьма.Добавить(НСтр("ru = 'Ответ на требование СФР (бывш. ФСС)'"));
ОписаниеОповещения = Новый ОписаниеОповещения("ЗавершениеВыбораВидаПисьма", ЭтотОбъект);
СписокВидовПисьма.ПоказатьВыборЭлемента(ОписаниеОповещения, НСтр("ru = 'Выберите вид письма'"));
КонецПроцедуры
&НаКлиенте
Процедура ЗавершениеВыбораВидаПисьма(Результат, ДополнительныеПараметры) Экспорт
Если Результат = Неопределено Тогда
ИначеЕсли Результат.Значение = НСтр("ru = 'Письмо'") Тогда
СоздатьНовоеИсходящееПисьмо();
ИначеЕсли Результат.Значение = НСтр("ru = 'Ответ на требование'") Тогда
СоздатьОтветНаТребование();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СоздатьНовоеИсходящееПисьмо()
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ЗначенияЗаполнения", Новый Структура("Отправитель", Организация));
ОткрытьФорму("Справочник.ПерепискаСКонтролирующимиОрганами.ФормаОбъекта", ПараметрыФормы, ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура СоздатьНовуюСверку()
СписокВыбораВидаСверки = Новый СписокЗначений;
СписокВыбораВидаСверки.Добавить(ПредопределенноеЗначение("Перечисление.ВидыУслугПриИОН.ПредставлениеАктовСверкиРасчетов"));
СписокВыбораВидаСверки.Добавить(ПредопределенноеЗначение("Перечисление.ВидыУслугПриИОН.ПредставлениеВыпискиОперацийИзКарточкиРасчетыСБюджетом"));
СписокВыбораВидаСверки.Добавить(ПредопределенноеЗначение("Перечисление.ВидыУслугПриИОН.ПредставлениеПеречняБухгалтерскойИНалоговойОтчетности"));
СписокВыбораВидаСверки.Добавить(ПредопределенноеЗначение("Перечисление.ВидыУслугПриИОН.ПредставлениеСправкиОСостоянииРасчетовСБюджетом"));
СписокВыбораВидаСверки.Добавить(ПредопределенноеЗначение("Перечисление.ВидыУслугПриИОН.ПредставлениеСправкиОбИсполненииОбязанностейПоУплате"));
СписокВыбораВидаСверки.Добавить(ПредопределенноеЗначение("Перечисление.ВидыУслугПриИОС.СверкаФИОиСНИЛС"));
СписокВыбораВидаСверки.Добавить(ПредопределенноеЗначение("Перечисление.ВидыУслугПриИОС.СправкаОСостоянииРасчетов"));
СписокВыбораВидаСверки.Добавить("ЗаявлениеНаФормированиеСправкиОРасчетах", "Справка о расчетах с СФР (бывш. ФСС)");
ОписаниеОповещения = Новый ОписаниеОповещения("ЗавершениеВыбораВидаСверки", ЭтотОбъект);
СписокВыбораВидаСверки.ПоказатьВыборЭлемента(ОписаниеОповещения, НСтр("ru = 'Выберите вид сверки'"));
КонецПроцедуры
&НаКлиенте
Процедура ЗавершениеВыбораВидаСверки(Результат, ДополнительныеПараметры) Экспорт
Если Результат <> Неопределено Тогда
СоздатьСверку(Результат.Значение);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура УправлениеЭУВРежимеСервиса()
Если ОбщегоНазначения.РазделениеВключено() Тогда
Элементы.НадписьИнформацияОбОбновлениях.Видимость = Ложь;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ОпределитьПоказыватьЛиПредложениеНаПодключение()
ОпределитьДоступностьЭДО();
ЕстьОтправленныеЗаявления = ОбработкаЗаявленийАбонентаВызовСервера.ЕстьОтправленныеИлиОдобренныеЗаявления();
ОтказалисьОтПредложения = ХранилищеОбщихНастроек.Загрузить("Обработка.ОбщиеОбъектыРеглОтчетности", "НеПоказыватьПредложениеОформитьЗаявлениеНаПодключение") = Истина;
ПоказатьПредложениеОформитьЗаявлениеНаПодключение =
НЕ ЭлектронныйДокументооборотДоступен
И НЕ ОтказалисьОтПредложения
И НЕ ЕстьОтправленныеЗаявления
И Используется1СОтчетность
И НЕ ЭтоРежимВыбора;
КонецПроцедуры
&НаСервере
Процедура ОпределитьДоступностьЭДО()
КонтекстЭДОСервер = ДокументооборотСКО.ПолучитьОбработкуЭДО();
Если КонтекстЭДОСервер <> Неопределено Тогда
ЭлектронныйДокументооборотДоступен = КонтекстЭДОСервер.ХотяБыОднаОрганизацияИспользуетДокументооборот();
КонецЕсли;
ЕстьОтправленныеЗаявления = ОбработкаЗаявленийАбонентаВызовСервера.ЕстьОтправленныеИлиОдобренныеЗаявления();
НеОтказалисьОтПредложения = ХранилищеОбщихНастроек.Загрузить("Обработка.ОбщиеОбъектыРеглОтчетности", "НеПоказыватьПредложениеОформитьЗаявлениеНаПодключение") <> Истина;
ПоказатьПредложениеОформитьЗаявлениеНаПодключение =
НЕ ЭлектронныйДокументооборотДоступен
И НеОтказалисьОтПредложения
И НЕ ЕстьОтправленныеЗаявления;
КонецПроцедуры
&НаСервере
Функция ПометитьПрочтенными(ВыделенныеСтроки = Неопределено)
ВсеВыделенныеОбъекты = Новый Массив;
СтавшиеПрочтенными = Новый Массив;
СтавшиеНепрочтенными = Новый Массив;
ТекущаяСтраница = ТекущаяСтраница(ЭтотОбъект);
ТекущаяТаблица = ТекущаяТаблица(ЭтотОбъект);
Если ВыделенныеСтроки = Неопределено Тогда
Для каждого Строка Из ТекущаяТаблица.ВыделенныеСтроки Цикл
Если ТекущаяСтраница = Перечисления.СтраницыЖурналаОтчетность.Новое Тогда
СвойстваСтроки = Новое.НайтиПоИдентификатору(Строка);
ВсеВыделенныеОбъекты.Добавить(СвойстваСтроки.Ссылка);
Иначе
ВсеВыделенныеОбъекты.Добавить(Строка.Ссылка);
КонецЕсли;
КонецЦикла;
Иначе
Для каждого Строка Из ВыделенныеСтроки Цикл
ВсеВыделенныеОбъекты.Добавить(Строка.Ссылка);
КонецЦикла;
КонецЕсли;
Если ТекущаяСтраница = Перечисления.СтраницыЖурналаОтчетность.Входящие Тогда
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЖурналОтправокВКонтролирующиеОрганы.Ссылка КАК Ссылка,
| ЖурналОтправокВКонтролирующиеОрганы.Непрочтенное КАК Непрочтенное
|ИЗ
| РегистрСведений.ЖурналОтправокВКонтролирующиеОрганы КАК ЖурналОтправокВКонтролирующиеОрганы
|ГДЕ
| ЖурналОтправокВКонтролирующиеОрганы.Ссылка В(&Ссылки)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЖурналНовыхСобытий.Ссылка,
| НЕ ЖурналНовыхСобытий.Просмотрено
|ИЗ
| РегистрСведений.ЖурналНовыхСобытий КАК ЖурналНовыхСобытий
|ГДЕ
| ЖурналНовыхСобытий.Ссылка В(&Ссылки)";
Запрос.УстановитьПараметр("Ссылки", ВсеВыделенныеОбъекты);
ВходящиеПисьма = Запрос.Выполнить().Выгрузить();
ЕстьНепрочтенные = ВходящиеПисьма.Найти(Истина, "Непрочтенное") <> Неопределено;
ЕстьПрочтенные = ВходящиеПисьма.Найти(Ложь, "Непрочтенное") <> Неопределено;
ВсеНепрочтенные = НЕ ЕстьПрочтенные;
Для каждого ВходящийОбъект Из ВходящиеПисьма Цикл
Если ЕстьНепрочтенные И ЕстьПрочтенные Тогда
Если ВходящийОбъект.Непрочтенное Тогда
СтавшиеПрочтенными.Добавить(ВходящийОбъект.Ссылка);
ЭлектронныйДокументооборотСКонтролирующимиОрганами.УстановитьНепрочтенность(
ВходящийОбъект.Ссылка,
Ложь);
КонецЕсли;
Иначе
СтавшиеПрочтенными.Добавить(ВходящийОбъект.Ссылка);
Непрочтенное = НЕ ВходящийОбъект.Непрочтенное;
Если Непрочтенное Тогда
СтавшиеНепрочтенными.Добавить(ВходящийОбъект.Ссылка);
Иначе
СтавшиеПрочтенными.Добавить(ВходящийОбъект.Ссылка);
КонецЕсли;
ЭлектронныйДокументооборотСКонтролирующимиОрганами.УстановитьНепрочтенность(
ВходящийОбъект.Ссылка,
Непрочтенное);
КонецЕсли;
КонецЦикла;
Иначе
Запрос = Новый Запрос;
Если ТекущаяСтраница = Перечисления.СтраницыЖурналаОтчетность.Отчеты Тогда
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| ЖурналОтчетовСтатусы.Ссылка,
| ЖурналОтчетовСтатусы.Непрочтенное
|ИЗ
| РегистрСведений.ЖурналОтчетовСтатусы КАК ЖурналОтчетовСтатусы
|ГДЕ
| ЖурналОтчетовСтатусы.Ссылка В(&Ссылки)";
ИначеЕсли ТекущаяСтраница = Перечисления.СтраницыЖурналаОтчетность.Новое Тогда
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| ЖурналНовыхСобытий.Ссылка,
| НЕ ЖурналНовыхСобытий.Просмотрено КАК Непрочтенное
|ИЗ
| РегистрСведений.ЖурналНовыхСобытий КАК ЖурналНовыхСобытий
|ГДЕ
| ЖурналНовыхСобытий.Ссылка В(&Ссылки)";
Иначе
Запрос.Текст =
"ВЫБРАТЬ
| ЖурналОтправокВКонтролирующиеОрганы.Ссылка,
| ЖурналОтправокВКонтролирующиеОрганы.Непрочтенное
|ИЗ
| РегистрСведений.ЖурналОтправокВКонтролирующиеОрганы КАК ЖурналОтправокВКонтролирующиеОрганы
|ГДЕ
| ЖурналОтправокВКонтролирующиеОрганы.Ссылка В(&Ссылки)";
КонецЕсли;
Запрос.УстановитьПараметр("Ссылки", ВсеВыделенныеОбъекты);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.Непрочтенное Тогда
СтавшиеПрочтенными.Добавить(Выборка.Ссылка);
ЭлектронныйДокументооборотСКонтролирующимиОрганами.УстановитьНепрочтенность(
Выборка.Ссылка,
Ложь);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Результат = Новый Структура;
Результат.Вставить("ВсеВыделенныеОбъекты", ВсеВыделенныеОбъекты);
Результат.Вставить("СтавшиеПрочтенными", СтавшиеПрочтенными);
Результат.Вставить("СтавшиеНепрочтенными", СтавшиеНепрочтенными);
Возврат Результат;
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьВидимостьПанелиОшибокОбновления(Форма)
Форма.Элементы.ОшибкиОбновления.Видимость = ЭтоАдресВременногоХранилища(Форма.АдресСведенийПоОшибкам);
КонецПроцедуры
&НаКлиенте
Процедура ОтчетыВыборЗавершение(Результат, ДополнительныеПараметры) Экспорт
РегламентированнаяОтчетностьКлиент.ОповеститьСписокОтчетовОбИзмененииИндексаКартинки(
ДополнительныеПараметры);
КонецПроцедуры
&НаКлиенте
Асинх Процедура ОткрытьПрисоединенныеФайлы()
ТекущиеДанные = Неопределено;
ТекущаяСтраница = ТекущаяСтраница(ЭтотОбъект);
Если ТекущаяСтраница = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Отчеты") Тогда
ТекущиеДанные = Элементы.Отчеты.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
СсылкаНаОбъект = ТекущиеДанные.РегламентированныйОтчет;
НаименованиеОтчета = ТекущиеДанные.НаименованиеОтчета;
СвойстваВидаОтправляемыхДокументов =
ЭлектронныйДокументооборотСКонтролирующимиОрганамиВызовСервера.СвойстваВидаОтправляемыхДокументов(СсылкаНаОбъект);
ТипПолучателя = ?(СвойстваВидаОтправляемыхДокументов <> Неопределено
И СвойстваВидаОтправляемыхДокументов.Свойство("ТипПолучателя"),
СвойстваВидаОтправляемыхДокументов.ТипПолучателя, Неопределено);
ВозможноПрисоединениеФайловКОбъекту = ?(СвойстваВидаОтправляемыхДокументов <> Неопределено
И СвойстваВидаОтправляемыхДокументов.Свойство("ВозможноПрисоединениеФайловКОбъекту"),
СвойстваВидаОтправляемыхДокументов.ВозможноПрисоединениеФайловКОбъекту, Ложь);
ИначеЕсли ТекущаяСтраница = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Уведомления")
ИЛИ ТекущаяСтраница = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.ЕГРЮЛ") Тогда
ТекущиеДанные = ТекущаяТаблица(ЭтотОбъект).ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
СсылкаНаОбъект = ТекущиеДанные.Ссылка;
НаименованиеОтчета = ТекущиеДанные.Наименование;
Если ТипЗнч(СсылкаНаОбъект) = Тип("ДокументСсылка.ЗапросНаВыпискуИзЕГРЮЛ_ЕГРИП") Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Работа с присоединенными файлами для выписки не предусмотрена'"));
Возврат;
КонецЕсли;
ВозможноПрисоединениеФайловКОбъекту =
РегламентированнаяОтчетностьВызовСервера.ВозможноПрисоединениеФайловКОбъекту(СсылкаНаОбъект);
КонецЕсли;
Если ТекущиеДанные <> Неопределено Тогда
Если ВозможноПрисоединениеФайловКОбъекту Тогда
ПараметрыПроверки = Новый Структура;
ПараметрыПроверки.Вставить("Владелец", СсылкаНаОбъект);
ПараметрыПроверки.Вставить("ТекстПредупреждения", "");
ПараметрыПроверки.Вставить("СтандартнаяОбработка", Истина);
РегламентированнаяОтчетностьКлиент.ПроверитьВладельцаПриОткрытииПрисоединенныхФайловИзСпискаОтчетов(
ПараметрыПроверки);
КонецЕсли;
ДопПараметры = Новый Структура();
ДопПараметры.Вставить("СсылкаНаОбъект", СсылкаНаОбъект);
ДопПараметры.Вставить("ОрганизацияОтчета", ТекущиеДанные.Организация);
ДопПараметры.Вставить("НаименованиеОтчета", НаименованиеОтчета);
Если ВозможноПрисоединениеФайловКОбъекту И ПараметрыПроверки.СтандартнаяОбработка Тогда
Оповещение = Новый ОписаниеОповещения("ОткрытьПрисоединенныеФайлыПослеПредупрежденияПоОтправке",
ЭтотОбъект, ДопПараметры);
Если ТекущаяСтраница = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Отчеты") Тогда
Если ТипПолучателя = ПредопределенноеЗначение("Перечисление.ТипыКонтролирующихОрганов.ФНС") Тогда
Ждать ПредупреждениеАсинх(НСтр("ru = 'Обратите внимание, присоединенные файлы не отправляются при отправке отчета.
|
|Отправить дополнительные файлы для отчета возможно в 1С-Отчетности, разделе ""Письма"", воспользовавшись меню ""Создать"" - ""Пакет с доп. документами для ФНС"".'"));
Иначе
Ждать ПредупреждениеАсинх(НСтр("ru = 'Обратите внимание, присоединенные файлы не отправляются при отправке отчета'"));
КонецЕсли;
Иначе
Ждать ПредупреждениеАсинх(НСтр("ru = 'Обратите внимание, присоединенные файлы не отправляются при отправке уведомления.
|
|Отправить дополнительные файлы для уведомления ФНС возможно в 1С-Отчетности, разделе ""Письма"", воспользовавшись меню ""Создать"" - ""Пакет с доп. документами для ФНС"".'"));
КонецЕсли;
КонецЕсли;
ОткрытьПрисоединенныеФайлыПослеПредупрежденияПоОтправке(ДопПараметры);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьПрисоединенныеФайлыПослеПредупрежденияПоОтправке(ДопПараметры = Неопределено) Экспорт
СсылкаНаОбъект = ДопПараметры.СсылкаНаОбъект;
ОрганизацияОтчета = ДопПараметры.ОрганизацияОтчета;
НаименованиеОтчета = ДопПараметры.НаименованиеОтчета;
ЗаголовокФормы = СтрШаблон(
НСтр("ru = 'Присоединенные файлы: %1'"),
НаименованиеОтчета);
ДопПараметры = Новый Структура;
ДопПараметры.Вставить("ВладелецФайла", СсылкаНаОбъект);
ДопПараметры.Вставить("Организация", ОрганизацияОтчета);
ДопПараметры.Вставить("ТолькоПросмотр", Ложь);
ДопПараметры.Вставить("ЗаголовокФормы", ЗаголовокФормы);
РегламентированнаяОтчетностьКлиент.ОткрытьФормуПрисоединенныеФайлы(, ДопПараметры);
КонецПроцедуры
&НаКлиенте
Процедура ДействияПослеЗавершенияИндексированияОбъектов()
ТекущаяТаблица(ЭтотОбъект).Обновить();
Если ЗаполнитьДеревоНовое() Тогда
ПриПереключенииРаздела(Элементы.ГиперссылкаНовое);
Оповестить("Получены новые сообщения 1С-Отчетности", , ЭтотОбъект);
КонецЕсли;
ОбновитьКоличествоНепрочтенныхОбъектов(ЭтотОбъект);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ЗаголовкиГруппыНастройки(Организация)
ЗаголовокГиперссылкиЗаявления = ЭлектронныйДокументооборотСКонтролирующимиОрганамиВызовСервера.ЗаголовокГиперссылкиЗаявления(Организация);
ЗаголовокГиперссылкиСпискаЗаявлений = НСтр("ru = 'Список заявлений'");
Если ЗначениеЗаполнено(Организация) Тогда
КонтекстЭДОСервер = ДокументооборотСКО.ПолучитьОбработкуЭДО();
Если КонтекстЭДОСервер <> Неопределено И КонтекстЭДОСервер.ПоддерживаетсяВторичноеЗаявление(Организация) Тогда
ЗаголовокГиперссылкиСпискаЗаявлений = НСтр("ru = 'Список'");
КонецЕсли;
КонецЕсли;
Результат = Новый Структура;
Результат.Вставить("ЗаголовокГиперссылкиЗаявления", ЗаголовокГиперссылкиЗаявления);
Результат.Вставить("ЗаголовокГиперссылкиСпискаЗаявлений", ЗаголовокГиперссылкиСпискаЗаявлений);
Возврат Результат;
КонецФункции
#Область ДлительныеОперацииАЛКО
&НаКлиенте
Функция ОбработаноДействиеДляАлкоОтчета(ДокументСсылкаАлкоОтчет, ОписаниеОтчета,
Действие, ВидПечати = Неопределено)
Возврат РегламентированнаяОтчетностьКлиент.ОбработаноДействиеДляАлкоОтчета(ЭтотОбъект, ДокументСсылкаАлкоОтчет, ОписаниеОтчета,
Действие, ВидПечати);
КонецФункции
&НаКлиенте
Процедура Подключаемый_ПроверитьВыполнениеДлительнойОперацииНаКлиенте()
РегламентированнаяОтчетностьКлиент.Подключаемый_ПроверитьВыполнениеДлительнойАлкоОперацииНаКлиенте(ЭтотОбъект);
КонецПроцедуры
#КонецОбласти
#Область РучнойВводСтатусовОтправки
&НаКлиенте
Процедура ВыбратьСтатусОтправкиИзСписка(Элемент)
Если ТекущаяСтраница(ЭтотОбъект) = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.Уведомления")
ИЛИ ТекущаяСтраница(ЭтотОбъект) = ПредопределенноеЗначение("Перечисление.СтраницыЖурналаОтчетность.ЕГРЮЛ") Тогда
ТекСтатус = СокрЛП(Элемент.ТекущиеДанные.СтатусОтправки);
СсылкаНаОбъект = Элемент.ТекущиеДанные.Ссылка;
ЭтоОтчет = Ложь;
Иначе
ТекСтатус = СокрЛП(Элемент.ТекущиеДанные.Статус);
СсылкаНаОбъект = Элемент.ТекущиеДанные.РегламентированныйОтчет;
ЭтоОтчет = Истина;
КонецЕсли;
РегламентированнаяОтчетностьКлиент.ВыбратьСтатусОтправкиИзСписка(Элемент.ТекущиеДанные, ТекСтатус, СсылкаНаОбъект, ЭтоОтчет, ЭтотОбъект);
КонецПроцедуры
#КонецОбласти
#Область НастройкиПравОбновления
&НаСервере
Процедура УстановитьВидимостьКнопкиНастроекПрав()
ЭлементФормы = Элементы.НастройкиОбновления;
ЭлементФормы.Видимость = Ложь;
Если УстановленыОграниченияПрав <> 0 Тогда
ЭлементФормы.Видимость = Истина;
Если УстановленыОграниченияПрав > 0 Тогда
ЭлементФормы.Картинка = БиблиотекаКартинок.ИзменитьНастройкиВыделено;
Иначе
ЭлементФормы.Картинка = БиблиотекаКартинок.ИзменитьНастройки;
КонецЕсли;
КонецЕсли;
ДобавитьОтдельнуюКнопкуОбменаДляСЭДО = ПолучитьЗначениеДобавитьОтдельнуюКнопкуОбменаДляСЭДО();
Элементы.ОбновитьДанныеСЭДО.Видимость = ДобавитьОтдельнуюКнопкуОбменаДляСЭДО;
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПроверитьДоступностьНастроекОграниченияПравНаОбмен(ЭлектронныйДокументооборотДоступен)
Результат = 0;
КонтекстСервера = ДокументооборотСКО.ПолучитьОбработкуЭДО();
Если КонтекстСервера <> Неопределено И ЭлектронныйДокументооборотДоступен Тогда
ВсеОрганизации = КонтекстСервера.ОрганизацииСОграничениемПрав(Истина);
ВсегоОрганизаций = ВсеОрганизации.Количество();
ВсеОрганизации = КонтекстСервера.ВыбранныеОрганизацииДляОбмена();
Результат = ВсеОрганизации.Количество();
Результат = ?(Результат = ВсегоОрганизаций, -1, Макс(1, Результат));
КонецЕсли;
Возврат Результат;
КонецФункции
&НаКлиенте
Процедура ОбновитьДанныеПродолжить(ВыбранныеОрганизации)
НомерОбъекта = 0;
АдресСведенийПоОшибкам = "";
УстановитьВидимостьПанелиОшибокОбновления(ЭтотОбъект);
ПараметрыРаботыКлиентаПриЗапуске = СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиента();
ЕстьПравоНаДО = ПараметрыРаботыКлиентаПриЗапуске.ДокументооборотСКонтролирующимиОрганами_ЕстьПравоНаДОсКОПриЗапуске;
Если ЕстьПравоНаДО И ПараметрыПриложения["БРО.БольшеНеПоказыватьСообщенияТребующиеРасшифровки"] <> Истина Тогда
ДокументооборотСКОКлиент.ПодключениеОбработчикаОжиданияАвтообмена(Ложь);
ДокументооборотСКОКлиент.ПодключениеОбработчикаОжиданияАвтообмена(Истина);
КонецЕсли;
ДокументооборотСКОКлиент.ЗапоминаниеОшибок("Сброс");
ПараметрыДлительногоОбмена = ДлительнаяОтправкаКлиент.ПараметрыДлительногоОбмена();
ПараметрыДлительногоОбмена.Организации = ВыбранныеОрганизации;
ПараметрыДлительногоОбмена.ЭтоОбменИзФормы1СОтчетность = Истина;
Если НЕ ДлительнаяОтправкаКлиент.ПоказатьФормуДлительногоОбмена(ПараметрыДлительногоОбмена) Тогда
Возврат;
КонецЕсли;
ПодключитьОбработчикОжидания("Подключаемый_ОсуществитьОбменПоВыбраннымОрганизациям", 0.1, Истина);
КонецПроцедуры
&НаКлиенте
Процедура НастроитьОграниченияОбмена(РезультатВыбора, ПараметрыЦикла) Экспорт
Если РезультатВыбора <> Неопределено Тогда
ДанныеДляОбмена = ВсеОрганизации();
ВыбранныеОрганизации = ДанныеДляОбмена.МассивОрганизаций;
ОбновитьДанныеПродолжить(ВыбранныеОрганизации);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПодключитьКлиентскийКонтекст(ОповещениеПроцедуры, ПараметрыОперации = Неопределено)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ИнициализироватьКонтекстЭДО(ОповещениеПроцедуры);
ИначеЕсли КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Иначе
ВыполнитьОбработкуОповещения(ОповещениеПроцедуры, ПараметрыОперации);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура НастройкиОбновленияПосле(РезультатРаботы, ДополнительныеПараметры) Экспорт
ОткрытьФормуНастройкиОбновления(Ложь);
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьФормуНастройкиОбновления(АвтоматическийВызов, СледующееОповещение = Неопределено)
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("АвтоматическийВызов", АвтоматическийВызов);
ОткрытьФорму(КонтекстЭДОКлиент.ПутьКОбъекту + ".Форма.НастройкаОграниченийОбмена", ПараметрыФормы, , , , , СледующееОповещение);
КонецПроцедуры
#КонецОбласти
&НаКлиентеНаСервереБезКонтекста
Процедура ДействияПриИзмененииОтборовИОбновлениеВходящих(Форма)
ДействияПриИзмененииОтборов(Форма);
ОбновитьКоличествоНепрочтенныхОбъектов(Форма);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Функция ПредставлениеКоличества(Знач КоличествоНепрочитанныхОбъектов)
НадписьКоличество = "";
Если КоличествоНепрочитанныхОбъектов > 99 Тогда
НадписьКоличество = " (99+)";
ИначеЕсли КоличествоНепрочитанныхОбъектов <> 0 Тогда
НадписьКоличество = " (" + Строка(КоличествоНепрочитанныхОбъектов) + ")";
КонецЕсли;
Возврат НадписьКоличество;
КонецФункции
&НаКлиенте
Функция ПереопределитьОткрытие(Элемент)
ТекущиеДанные = Элемент.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
Ссылка = ТекущиеДанные.Ссылка;
Переопределить = Ложь;
Попытка
МодульСверкаСФНС = ОбщегоНазначенияКлиент.ОбщийМодуль("СверкаСФНСКлиент");
Исключение
МодульСверкаСФНС = Неопределено;
КонецПопытки;
Если МодульСверкаСФНС <> Неопределено Тогда
СтандартнаяОбработка = Истина;
МодульСверкаСФНС.РегламентированнаяОтчетность_ТаблицаНовоеПриОткрытии(ЭтотОбъект, Ссылка, СтандартнаяОбработка);
Если НЕ СтандартнаяОбработка Тогда
Переопределить = Истина;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Возврат Переопределить;
КонецФункции
&НаСервере
Процедура ПереопределитьОформлениеСверки()
Попытка
МодульСверкаСФНС = ОбщегоНазначения.ОбщийМодуль("СверкаСФНС");
Исключение
МодульСверкаСФНС = Неопределено;
КонецПопытки;
Если МодульСверкаСФНС <> Неопределено Тогда
МодульСверкаСФНС.РегламентированнаяОтчетность_ТаблицаНовоеПриОбновлении(ЭтотОбъект);
КонецЕсли;
КонецПроцедуры
#Область ТребованияРаботаСОтветами
&НаКлиенте
Процедура ПереключитьсяНаПроблемныеТребования()
ПриПереключенииРаздела(Элементы.ГиперссылкаВходящие);
СохранитьНастройки();
СостоянияТребований = НСтр("ru = 'Требует подтверждения или ответа'");
ДобавитьОтборПоСостояниюТребования(ЭтотОбъект);
КонецПроцедуры
&НаСервере
Процедура ПрименитьУсловноеОформлениеТребований()
ВыделитьКраснымОтветНаТребование();
ВыделитьКраснымПодтверждение();
КонецПроцедуры
&НаСервере
Процедура ВыделитьКраснымОтветНаТребование()
ЭлементОформления = ТребованияФНСКлиентСервер.ВыделитьЦветом(
ЭтотОбъект,
ЦветаСтиля.ЦветОшибкиОтправкиБРО,
"Входящие.ОтветТребуетРеакции",
Истина);
ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить();
ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("ТребованияСтатусОтвета");
ПолеОформления.Использование = Истина;
ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить();
ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("ТребованияСтатусОтветаСсылка");
ПолеОформления.Использование = Истина;
ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить();
ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("ТребованияДатаОтвета");
ПолеОформления.Использование = Истина;
КонецПроцедуры
&НаСервере
Процедура ВыделитьКраснымПодтверждение()
ЭлементОформления = ТребованияФНСКлиентСервер.ВыделитьЦветом(
ЭтотОбъект,
ЦветаСтиля.ЦветОшибкиОтправкиБРО,
"Входящие.СостояниеСдачиОтчетности",
Перечисления.СостояниеСдачиОтчетности.ТребуетсяПодтверждениеПриема);
ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить();
ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("ТребованияДатаПодтверждения");
ПолеОформления.Использование = Истина;
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ВходящиеТребованияПриПолученииДанныхНаСервере(ИмяЭлемента, Настройки, Строки)
ЕстьОплата = Ложь;
ДокументооборотСКОПереопределяемый.КонфигурацияПоддерживаетПлатежныеПоручения(ЕстьОплата, Ложь);
Сегодня = ТекущееВремяНаКлиенте();
Ответы = ОтправленныеОтветыНаВходящие(Строки);
Для Каждого СтрокаСписка Из Строки Цикл
ЗадатьДатуПодтверждения(СтрокаСписка, Сегодня);
ЗадатьСтатусОтветаНаТребование(СтрокаСписка, ЕстьОплата, Ответы);
Если НЕ СтрокаСписка.Значение.Данные.Ссылка = Неопределено Тогда
ЗадатьДатуОтветаНаТребование(СтрокаСписка, Сегодня, ЕстьОплата, Ответы);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаСервереБезКонтекста
Функция ОтправленныеОтветыНаВходящие(Строки)
Требования = Новый Массив;
Для Каждого СтрокаСписка Из Строки Цикл
Требование = СтрокаСписка.Значение.Данные.Ссылка;
Требования.Добавить(Требование);
КонецЦикла;
Ответы = ТребованияФНС.ОтветыНаТребования(Требования, Истина, Ложь);
Возврат Ответы;
КонецФункции
&НаСервереБезКонтекста
Функция ЕстьОтправленныеОтветы(Требование, Ответы)
Возврат Ответы.Найти(Требование, "Требование") <> Неопределено;
КонецФункции
&НаСервереБезКонтекста
Функция КоличествоОтправленныхОтветовНаТребование(Требование, Ответы)
Отбор = Новый Структура();
Отбор.Вставить("Требование", Требование);
НайденныеСтроки = Ответы.НайтиСтроки(Отбор);
Возврат НайденныеСтроки.Количество();
КонецФункции
&НаСервереБезКонтекста
Процедура ЗадатьДатуПодтверждения(СтрокаСписка, Сегодня)
Данные = СтрокаСписка.Значение.Данные;
Данные.ПодтверждениеПросрочено = 0;
Если ЗначениеЗаполнено(Данные.ДатаПодтверждения) Тогда
Данные.ДатаПодтвержденияПредставление = Формат(Данные.ДатаПодтверждения, "ДЛФ=D");
Возврат;
КонецЕсли;
Если Данные.СостояниеСдачиОтчетности = Перечисления.СостояниеСдачиОтчетности.ТребуетсяПодтверждениеПриема Тогда
Ответили = ТребованияФНСВызовСервера.ОтветилиНаВопросПроЭДО(Данные.Ссылка);
Если НЕ ЗначениеЗаполнено(Данные.ПодтвердитьДо) ИЛИ НЕ Ответили Тогда
Данные.ДатаПодтвержденияПредставление = "";
Возврат;
КонецЕсли;
РазностьДней = ТребованияФНС.РазностьДнейИсправленная(Данные, Сегодня);
Если РазностьДней = 0 Тогда
Данные.ДатаПодтвержденияПредставление = ТребованияФНС.ОсталосьЧасовПредставление(Сегодня);
ИначеЕсли РазностьДней > 0 Тогда
Данные.ДатаПодтвержденияПредставление = ТребованияФНС.ПредставлениеОставшихсяДней(РазностьДней);
Иначе
РазностьДней = ДокументооборотСКОКлиентСервер.МодульЧисла(РазностьДней);
Данные.ДатаПодтвержденияПредставление = ТребованияФНС.ПредставлениеПросроченныхДней(РазностьДней);
Данные.ПодтверждениеПросрочено = 1;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ЗадатьДатуОтветаНаТребование(СтрокаСписка, Сегодня, ПоддерживаетсяОплата, Ответы)
Данные = СтрокаСписка.Значение.Данные;
Данные.ОтветТребуетРеакции = Ложь;
ЕстьОтправленные = ЕстьОтправленныеОтветы(Данные.Ссылка, Ответы);
ЕстьДатаОплаты = ПоддерживаетсяОплата И ЗначениеЗаполнено(Данные.Сумма) И ЗначениеЗаполнено(Данные.СрокОплаты);
ЕстьОтвет = Данные.ЕстьОтвет ИЛИ (ЕстьДатаОплаты И Данные.ОтветУжеДан);
Если ЗначениеЗаполнено(Данные.ДатаОтвета) Тогда
Данные.ДатаОтветаПредставление = Формат(Данные.ДатаОтвета, "ДЛФ=D");
Возврат;
ИначеЕсли ЕстьДатаОплаты И ЕстьОтвет Тогда
Данные.ДатаОтветаПредставление = "";
Возврат;
ИначеЕсли ЕстьОтвет = Истина И ЕстьОтправленные
ИЛИ НЕ Данные.ЕстьИзвлеченныеДанные
ИЛИ НЕ (Данные.ТребуетОтвета ИЛИ ЕстьДатаОплаты) Тогда
Данные.ДатаОтветаПредставление = "";
Возврат;
ИначеЕсли Данные.ДатаОтвета = '00010101'
И Данные.ЕстьИзвлеченныеДанные
И НЕ ЗначениеЗаполнено(Данные.ДатаПодтверждения)
И (НЕ Данные.ОтветилиНаВопросПроЭДО
ИЛИ НЕ Данные.ЭДООбязателен) Тогда
Данные.ДатаОтветаПредставление = "";
Данные.ОтветТребуетРеакции = Истина;
Возврат;
КонецЕсли;
Если ЕстьДатаОплаты И НЕ ЕстьОтвет Тогда
ДатаОтвета = Данные.СрокОплаты;
ИначеЕсли ЗначениеЗаполнено(Данные.ДатаОтветаИзмененная) Тогда
ДатаОтвета = Данные.ДатаОтветаИзмененная;
Иначе
ДатаОтвета = Данные.ОтветитьДо;
КонецЕсли;
Если ЕстьДатаОплаты И НЕ ЗначениеЗаполнено(ДатаОтвета) Тогда
Данные.ДатаОтветаПредставление = "";
Данные.ОтветТребуетРеакции = Ложь;
Возврат;
ИначеЕсли НЕ ЗначениеЗаполнено(ДатаОтвета) Тогда
Данные.ДатаОтветаПредставление = "";
Данные.ОтветТребуетРеакции = Истина;
Возврат;
КонецЕсли;
Если ЕстьДатаОплаты И НЕ ЕстьОтвет Тогда
РазностьДней = (ДатаОтвета - НачалоДня(Сегодня)) / (60*60*24);
Иначе
РазностьДней = ТребованияФНС.РазностьДатПоКалендарю(Сегодня, ДатаОтвета).Дельта;
КонецЕсли;
Если РазностьДней = 0 Тогда
Данные.ДатаОтветаПредставление = ТребованияФНС.ОсталосьЧасовПредставление(Сегодня);
Данные.ОтветТребуетРеакции = Истина;
ИначеЕсли РазностьДней > 0 Тогда
Данные.ДатаОтветаПредставление = ТребованияФНС.ПредставлениеОставшихсяДней(РазностьДней);
Данные.ОтветТребуетРеакции = Истина;
Иначе
РазностьДней = ДокументооборотСКОКлиентСервер.МодульЧисла(РазностьДней);
Данные.ДатаОтветаПредставление = ТребованияФНС.ПредставлениеПросроченныхДней(РазностьДней);
Данные.ОтветТребуетРеакции = Истина;
Данные.ОтветПросрочен = 1;
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ЗадатьСтатусОтветаНаТребование(СтрокаСписка, ПоддерживаетсяОплата, Ответы)
Данные = СтрокаСписка.Значение.Данные;
Требование = Данные.Ссылка;
ЭтоТребованиеСФР = ЭлектронныйДокументооборотСФСС.ЭтоТребованиеСФР(Требование);
ДанныеОтветовНаТребованияСФР = ЭлектронныйДокументооборотСФСС.НовыеДанныеОтветовНаТребованияСФР();
Если ЭтоТребованиеСФР Тогда
Если ЭлектронныйДокументооборотСФСС.ЭтоТребованиеСФРОПредоставленииДокументов(Требование) Тогда
ДанныеОтветовНаТребованияСФР = ЭлектронныйДокументооборотСФСС.ПолучитьКоличествоОтветовНаТребованияСФР(
Требование, Ложь)[Требование];
КоличествоОтветов = ДанныеОтветовНаТребованияСФР.Ответы.Количество();
Данные.КоличествоОтветов = КоличествоОтветов;
Если КоличествоОтветов = 0 Тогда
Данные.ЕстьОтвет = Ложь;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КоличествоОтветов = Данные["КоличествоОтветов"];
Если Данные.ЕстьОтвет Тогда
Если ЭтоТребованиеСФР Тогда
Отправлено = ДанныеОтветовНаТребованияСФР.КоличествоОтправлено;
Если Отправлено > 0 Тогда
Данные.СтатусОтвета = НСтр("ru='Ответ отправлен (" + Строка(Отправлено) + ")'");
ИначеЕсли КоличествоОтветов > 0 Тогда
Данные.СтатусОтвета = НСтр("ru='Ответ подготовлен (" + Строка(КоличествоОтветов) + ")'");
Иначе
Данные.СтатусОтвета = НСтр("ru='Ответ подготовлен'");
КонецЕсли;
Иначе
Отправлено = КоличествоОтправленныхОтветовНаТребование(Требование, Ответы);
Если Отправлено > 0 Тогда
Данные.СтатусОтвета = НСтр("ru='Ответ отправлен (" + Строка(Отправлено) + ")'");
ИначеЕсли КоличествоОтветов > 0 Тогда
Данные.СтатусОтвета = НСтр("ru='Ответ подготовлен (" + Строка(КоличествоОтветов) + ")'");
Иначе
Данные.СтатусОтвета = НСтр("ru='Ответ подготовлен'");
КонецЕсли;
КонецЕсли;
ИначеЕсли ПоддерживаетсяОплата И ЗначениеЗаполнено(Данные.Сумма) Тогда
Если НЕ Данные.ОтветУжеДан Тогда
Данные.СтатусОтвета = НСтр("ru='Требуется оплатить'");
Иначе
Данные.СтатусОтвета = НСтр("ru='Оплачено'");
КонецЕсли;
ИначеЕсли Данные.ЕстьИзвлеченныеДанные И Данные.ОтветУжеДан Тогда
Данные.СтатусОтвета = НСтр("ru='Ответ уже дан'");
ИначеЕсли НЕ Данные.ТребуетОтвета И Данные.ЕстьИзвлеченныеДанные Тогда
Данные.СтатусОтвета = НСтр("ru='Ответ не требуется'");
ИначеЕсли НЕ Данные.ЕстьИзвлеченныеДанные Тогда
Данные.СтатусОтвета = "";
Иначе
Данные.СтатусОтвета = НСтр("ru='Отправьте ответ'");
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ДобавитьОтборПоТребованиямНеотработанные(Куда, Знач Использование)
ПредставлениеГруппы = НСтр("ru = 'Нет подтверждения или ответа'");
ГруппаОтбора = ТребованияФНСКлиентСервер.СоздатьГруппуОтбораСУдалением(
Куда,
ПредставлениеГруппы,
Использование,
ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИЛИ);
ДобавитьОтборПоНаличиюОтвета(ГруппаОтбора, Использование, Ложь);
ДобавитьОтборПоТребованиямБезПодтверждения(ГруппаОтбора, Использование);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ДобавитьОтборПоТребованиямБезПодтверждения(ГруппаОтбора, Знач Использование)
ГруппаОтбораПоПодтверждению = ТребованияФНСКлиентСервер.СоздатьГруппуЭлементовОтбора(
ГруппаОтбора,
НСтр("ru = 'Нет подтверждения'"),
Использование,
ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ);
Список = Новый СписокЗначений;
Список.Добавить(ПредопределенноеЗначение("Перечисление.СостояниеСдачиОтчетности.ТребуетсяПодтверждениеПриема"));
Список.Добавить(ПредопределенноеЗначение("Перечисление.СостояниеСдачиОтчетности.ОбязанностьПодтвержденияНеОпределена"));
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(
ГруппаОтбораПоПодтверждению,
"СостояниеСдачиОтчетности",
ВидСравненияКомпоновкиДанных.ВСписке,
Список,
,
Использование);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ДобавитьОтборПоТребованиямПросроченные(Куда, Использование)
ПредставлениеГруппы = НСтр("ru = 'Ответ просрочен'");
ГруппаОтбора = ТребованияФНСКлиентСервер.СоздатьГруппуОтбораСУдалением(
Куда,
ПредставлениеГруппы,
Использование,
ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ);
ТребованияФНСКлиентСервер.ДобавитьОтборДатаОтветаПросрочена(
ГруппаОтбора,
Использование,
ТекущаяДата());
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(
ГруппаОтбора,
"ДатаОтвета",
ВидСравненияКомпоновкиДанных.НеЗаполнено,
,
,
Использование);
ДобавитьОтборПоНаличиюОтвета(ГруппаОтбора, Использование);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ДобавитьОтборПоНаличиюОтвета(ГруппаОтбора, Использование, ПравоеЗначение = Ложь, ЭтоУсловноеОформление = Ложь)
ПодгруппаОтбора = ТребованияФНСКлиентСервер.СоздатьГруппуЭлементовОтбора(
ГруппаОтбора,
НСтр("ru = 'Есть ответа'"),
Использование,
ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ);
ТребованияФНСКлиентСервер.ДобавитьЭлементКомпоновкиСУдалением(
ПодгруппаОтбора,
?(ЭтоУсловноеОформление, "Входящие.ЕстьОтвет", "ЕстьОтвет"),
ВидСравненияКомпоновкиДанных.Равно,
ПравоеЗначение,
Использование);
ДобавитьОтборПоНеобходимостиОтвета(ПодгруппаОтбора, Использование И НЕ ПравоеЗначение,ЭтоУсловноеОформление);
ДобавитьОтборЕстьИзвлеченныеДанные(ПодгруппаОтбора, Использование И НЕ ПравоеЗначение);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ДобавитьОтборПоНеобходимостиОтвета(ГруппаОтбора, Использование, ЭтоУсловноеОформление = Ложь)
ПредставлениеГруппы = НСтр("ru = 'Требует ответа'");
ПодГруппаОтбора = ТребованияФНСКлиентСервер.СоздатьГруппуОтбораСУдалением(
ГруппаОтбора,
ПредставлениеГруппы,
Использование,
ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ);
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(
ПодГруппаОтбора,
?(ЭтоУсловноеОформление, "Входящие.ТребуетОтвета", "ТребуетОтвета"),
ВидСравненияКомпоновкиДанных.Равно,
Истина,
,
Использование);
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(
ПодГруппаОтбора,
?(ЭтоУсловноеОформление, "Входящие.ОтветУжеДан", "ОтветУжеДан"),
ВидСравненияКомпоновкиДанных.Равно,
Ложь,
,
Использование);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ДобавитьОтборЕстьИзвлеченныеДанные(ГруппаОтбора, Использование)
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(
ГруппаОтбора,
"ЕстьИзвлеченныеДанные",
ВидСравненияКомпоновкиДанных.Равно,
Истина,
,
Использование);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ПрорисоватьПанельТребований(Форма)
Элементы = Форма.Элементы;
ЗакрытьПанельТребований = ДокументооборотСКОВызовСервера.ЗагрузитьНастройку("ДокументооборотСКонтролирующимиОрганами_1СОтчетность_ЗакрытьПанельТребований");
Если ЗакрытьПанельТребований = Истина Тогда
Элементы.ГруппаТребований.Видимость = Ложь;
ОформитьРежимОблачнойОтчетности(Форма);
Возврат;
КонецЕсли;
Состояние = ТребованияФНСВызовСервера.СостояниеТребованийДляПанели();
СостояниеСФР = ЭлектронныйДокументооборотСКонтролирующимиОрганамиВызовСервера.СостояниеТребованийСФРДляПанели();
Если ТипЗнч(Состояние) = Тип("Структура") Тогда
Состояние.БезОтвета = Состояние.БезОтвета + СостояниеСФР.БезОтвета;
Состояние.Подтвердить = Состояние.Подтвердить + СостояниеСФР.Подтвердить;
КонецЕсли;
Если Состояние.Подтвердить = 0 И Состояние.БезОтвета = 0 Тогда
Элементы.ГруппаТребований.Видимость = Ложь;
ОформитьРежимОблачнойОтчетности(Форма);
Возврат;
КонецЕсли;
Текст = ТребованияФНСКлиентСервер.ТекстДляПанелиТребований(Истина, Форма.Организация);
Элементы.ПанельТребований.Заголовок = Текст;
Элементы.ГруппаТребований.Видимость = НЕ Форма.ЭтоРежимВыбора И ЗначениеЗаполнено(Текст);
ОформитьРежимОблачнойОтчетности(Форма);
КонецПроцедуры
#КонецОбласти
#Область ОбработкаВходящих
#КонецОбласти
#Область Новости
&НаКлиенте
Процедура Подключаемый_ПоказатьНовостиТребующиеПрочтенияПриОткрытии()
ИдентификаторыСобытийПриОткрытии = "ПриОткрытии";
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.Новости") Тогда
МодульОбработкаНовостейКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ОбработкаНовостейКлиент");
МодульОбработкаНовостейКлиент.КонтекстныеНовости_ПоказатьНовостиТребующиеПрочтенияПриОткрытии(ЭтотОбъект, ИдентификаторыСобытийПриОткрытии);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаКомандыНовости(Команда)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.Новости") Тогда
МодульОбработкаНовостейКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ОбработкаНовостейКлиент");
МодульОбработкаНовостейКлиент.КонтекстныеНовости_ОбработкаКомандыНовости(ЭтотОбъект, Команда);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область РаботаСКалендаремОтчетности
&НаКлиенте
Процедура Подключаемый_КалендарьОтчетностиВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
КалендарьОтчетностиБРОКлиентПереопределяемый.ТаблицыФормыВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КалендарьОтчетностиПриАктивизацииСтроки(Элемент)
КалендарьОтчетностиБРОКлиентПереопределяемый.ТаблицыФормыПриАктивизацииСтроки(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КалендарьОтчетностиПриИзменении(Элемент)
КалендарьОтчетностиБРОКлиентПереопределяемый.ПолеФормыПриИзменении(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КалендарьОтчетностиАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
КалендарьОтчетностиБРОКлиентПереопределяемый.ПолеФормыАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КалендарьОтчетностиПриВыводеПериода(Элемент, ОформлениеПериода)
КалендарьОтчетностиБРОКлиентПереопределяемый.КалендарьПриВыводеПериода(Элемент, ОформлениеПериода);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КалендарьОтчетностиНажатие(Элемент)
КалендарьОтчетностиБРОКлиентПереопределяемый.ДекорацияНажатие(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КалендарьОтчетностиОбработкаКоманды(Команда)
КалендарьОтчетностиБРОКлиентПереопределяемый.ОбработкаКоманды(ЭтотОбъект, Команда);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КалендарьОтчетностиФоновоеЗадание()
КалендарьОтчетностиБРОКлиентПереопределяемый.ОбработчикОжиданияФормы(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КалендарьОтчетностиОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
КалендарьОтчетностиБРОКлиентПереопределяемый.ОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КалендарьОтчетностиОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
КалендарьОтчетностиБРОКлиентПереопределяемый.ОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка);
КонецПроцедуры
&НаСервере
Процедура Подключаемый_КалендарьОтчетностиОбработкаОповещенияРегламентированнойОтчетности(ИмяСобытия, Параметр, Источник, ИмяРаздела)
КалендарьОтчетностиБРОВызовСервераПереопределяемый.ОбработкаОповещенияРегламентированнойОтчетности(ЭтотОбъект, ИмяСобытия, Параметр, Источник, ИмяРаздела);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ОформитьРежимОблачнойОтчетности(ОбъектФормы)
КалендарьОтчетностиБРОКлиентСерверПереопределяемый.ОформитьРежимОблачнойОтчетности(ОбъектФормы);
КонецПроцедуры
&НаКлиенте
Процедура ВыполнитьДействиеПослеОткрытия(Действие)
Если Действие = "create-report" Тогда
СоздатьОтчет();
ИначеЕсли Действие = "create-notification" Тогда
СоздатьНовоеУведомление();
ИначеЕсли Действие = "upload-notification" Тогда
УведомлениеОСпецрежимахНалогообложенияКлиент.ЗагрузитьИзФайлаУведомление(ЭтотОбъект);
ИначеЕсли Действие = "create-reconciliation" Тогда
СоздатьСверку(ПредопределенноеЗначение("Перечисление.ВидыУслугПриИОН.ПредставлениеАктовСверкиРасчетов"));
ИначеЕсли Действие = "create-reporting-list" Тогда
СоздатьСверку(ПредопределенноеЗначение("Перечисление.ВидыУслугПриИОН.ПредставлениеПеречняБухгалтерскойИНалоговойОтчетности"));
ИначеЕсли Действие = "create-tax-statement" Тогда
СоздатьСверку(ПредопределенноеЗначение("Перечисление.ВидыУслугПриИОН.ПредставлениеСправкиОбИсполненииОбязанностейПоУплате"));
ИначеЕсли Действие = "create-amounts-statement" Тогда
СоздатьСверку(ПредопределенноеЗначение("Перечисление.ВидыУслугПриИОН.СправкаОПринадлежностиСумм"));
ИначеЕсли Действие = "create-balance-statement" Тогда
СоздатьСверку(ПредопределенноеЗначение("Перечисление.ВидыУслугПриИОН.СправкаОНаличииСальдо"));
ИначеЕсли Действие = "create-billings-statement" Тогда
СоздатьНовоеЗаявлениеНаФормированиеСправкиОРасчетах();
ИначеЕсли Действие = "create-name-reconciliation" Тогда
СоздатьСверку(ПредопределенноеЗначение("Перечисление.ВидыУслугПриИОС.СверкаФИОиСНИЛС"));
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СоздатьНовоеЗаявлениеНаФормированиеСправкиОРасчетах()
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ЗначенияЗаполнения", Новый Структура("Отправитель", Организация));
ОткрытьФорму("Справочник.ПерепискаСКонтролирующимиОрганами.ФормаОбъекта", ПараметрыФормы, ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПереключитьсяНаПроблемныеОтчеты()
ПриПереключенииРаздела(Элементы.ГиперссылкаОтчеты);
СохранитьНастройки();
ОтборСтатусОтчета = "Непрочитанные";
ДобавитьОтборПоСостояниюОтчетов(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПереключитьсяНаПроблемныеУведомления()
ПриПереключенииРаздела(Элементы.ГиперссылкаУведомления);
СохранитьНастройки();
ОтборСтатусУведомления = "Непрочитанные";
ДобавитьОтборПоСостояниюУведомлений(ЭтотОбъект);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ДобавитьОтборПоСостояниюУведомлений(Форма)
Использование = НЕ ПустаяСтрока(Форма.ОтборСтатусУведомления);
ТекущееЗначение = Форма.ОтборСтатусУведомления = "Непрочитанные";
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Форма.Уведомления,
"Непрочтенное",
ТекущееЗначение,
ВидСравненияКомпоновкиДанных.Равно,
"",
Использование);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ДобавитьОтборПоСостояниюОтчетов(Форма)
Использование = НЕ ПустаяСтрока(Форма.ОтборСтатусОтчета);
ТекущееЗначение = Форма.ОтборСтатусОтчета = "Непрочитанные";
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Форма.Отчеты,
"Непрочтенное",
ТекущееЗначение,
ВидСравненияКомпоновкиДанных.Равно,
"",
Использование);
КонецПроцедуры
#КонецОбласти
&НаКлиенте
Процедура СоздатьОтветНаТребованиеПредварительное(Результат, ПараметрыОповещения) Экспорт
СоздатьОтветНаТребование(
ПараметрыОповещения.Команда
);
КонецПроцедуры
&НаКлиенте
Процедура СоздатьОтветНаТребование(Команда = Неопределено)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Команда", Команда);
Оповещение = Новый ОписаниеОповещения(
"СоздатьОтветНаТребованиеПредварительное",
ЭтотОбъект,
ПараметрыОповещения
);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
ДополнительныеПараметры = Новый Структура();
ДополнительныеПараметры.Вставить("ЗапретитьСозданиеПисьмаВОтветНаТребованиеПоДекларации", Истина);
КонтекстЭДОКлиент.СоздатьОтветНаТребованиеСВыборомТребования(,Организация,ДополнительныеПараметры);
КонецПроцедуры
&НаКлиенте
Процедура СоздатьПакетСДопДокументами(Команда)
СоздатьПакетСДопДокументамиВФНС();
КонецПроцедуры
&НаКлиенте
Функция ФормаОкнаАвторизацииИППЕслиОткрыто()
ОткрытыеОкна = ПолучитьОкна();
Для каждого ОткрытоеОкно Из ОткрытыеОкна Цикл
Если ОткрытоеОкно = Неопределено Тогда
Продолжить;
КонецЕсли;
Содержимое = ОткрытоеОкно.Содержимое;
Если Содержимое.Количество() = 0 Тогда
Продолжить;
КонецЕсли;
ТекущаяФорма = Содержимое[0];
Если ТекущаяФорма.ИмяФормы = "ОбщаяФорма.АвторизацияНаСайтеПоддержкиПользователей"
ИЛИ ТекущаяФорма.ИмяФормы = "ОбщаяФорма.ПодключениеИнтернетПоддержки" Тогда
Возврат ТекущаяФорма;
КонецЕсли;
КонецЦикла;
Возврат Неопределено;
КонецФункции
&НаСервере
Функция ПометитьНаУдалениеРассылки()
УстановитьПривилегированныйРежим(Истина);
Запрос = Новый Запрос;
Запрос.Текст = ЭтотОбъект.Входящие.ТекстЗапроса;
ТребованияФНС.ДобавитьОтборПоОрганизации(Запрос, Организация);
ТребованияФНС.ДобавитьОтборВЗапросЖурнала(Запрос, "ВидДокумента", Перечисления.ВидыДокументовВЖурнале.Рассылка);
ТаблицаРезультатов = Запрос.Выполнить().Выгрузить();
ТаблицаРезультатов.Свернуть("Ссылка");
ПредметыРассылок = ТаблицаРезультатов.ВыгрузитьКолонку("Ссылка");
Если ПредметыРассылок.Количество() = 0 Тогда
Возврат Новый Массив;
КонецЕсли;
КонтекстЭДОСервер = ДокументооборотСКО.ПолучитьОбработкуЭДО();
Для каждого Ссылка Из ПредметыРассылок Цикл
ЦиклОбмена = ДокументооборотСКОВызовСервера.ПолучитьПоследнийЦиклОбмена(Ссылка);
Если ЦиклОбмена <> Неопределено И ЦиклОбмена <> Справочники.ЦиклыОбмена.ПустаяСсылка() Тогда
ЦиклОбменаОбъект = ЦиклОбмена.ПолучитьОбъект();
КонецЕсли;
НачатьТранзакцию();
Если Не Ссылка.ПометкаУдаления Тогда
ПредметОбъект = Ссылка.ПолучитьОбъект();
ПредметОбъект.УстановитьПометкуУдаления(Истина);
КонтекстЭДОСервер.ПриЗаписиОбъекта(ПредметОбъект, Ложь);
КонецЕсли;
Если ЦиклОбменаОбъект <> Неопределено Тогда
ЦиклОбменаОбъект.УстановитьПометкуУдаления(Истина);
ЦиклОбменаОбъект.ИзмененаПометкаУдаления = Истина;
КонтекстЭДОСервер.ПриЗаписиОбъекта(ЦиклОбменаОбъект, Ложь);
КонецЕсли;
ЭлектронныйДокументооборотСКонтролирующимиОрганамиВызовСервера.ИзменитьЗначениеВФорме1СОтчетность(
Ссылка, "Скрыт", Истина);
ЭлектронныйДокументооборотСКонтролирующимиОрганамиВызовСервера.ИзменитьЗначениеВФорме1СОтчетность(
Ссылка, "Непрочтенное", Ложь);
ЭлектронныйДокументооборотСКонтролирующимиОрганамиВызовСервера.ИзменитьЗначениеВФорме1СОтчетность(
Ссылка, "ПометкаУдаления", Истина);
ЗафиксироватьТранзакцию();
КонецЦикла;
УстановитьПривилегированныйРежим(Ложь);
Возврат ПредметыРассылок;
КонецФункции
&НаКлиенте
Асинх Процедура ОчисткаРассылок(Команда)
ВидОбъекта = НСтр("ru = 'все рассылки'");
ТекстСообщения = НСтр("ru = 'Вы уверены, что хотите пометить на удаление и скрыть %1?
|
|Помеченные на удаление рассылки в дальнейшем могут быть удалены навсегда при удалении помеченных объектов.
|Скрытые отчеты и документы можно восстановить в разделе
|""Настройки"" - ""Скрытые отчеты и документы"" формы 1С-Отчетность'");
ТекстСообщения = СтрШаблон(ТекстСообщения, ВидОбъекта);
Если Ждать ВопросАсинх(ТекстСообщения, РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Да Тогда
ПредметыРассылок = ПометитьНаУдалениеРассылки();
Если ПредметыРассылок.Количество() > 0 Тогда
Для Каждого Ссылка Из ПредметыРассылок Цикл
Оповестить("Скрытие/восстановление объекта",, Ссылка);
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_АктуализироватьТекущееВремя()
ДокументооборотСКОВызовСервера.СохранитьНастройку(
"ДокументооборотСКонтролирующимиОрганами_ТекущаяДата",
ТекущаяДата());
ПодключитьОбработчикОжидания("Подключаемый_АктуализироватьТекущееВремя", 10*60, Ложь);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ТекущееВремяНаКлиенте()
Дата = ХранилищеОбщихНастроек.Загрузить("ДокументооборотСКонтролирующимиОрганами_ТекущаяДата");
Если ЗначениеЗаполнено(Дата) Тогда
Возврат Дата;
Иначе
Возврат ТекущаяДатаСеанса();
КонецЕсли;
КонецФункции
&НаКлиенте
Процедура ЗакрытьПанельТребованийНажатие(Элемент)
ДокументооборотСКОВызовСервера.СохранитьНастройку(
"ДокументооборотСКонтролирующимиОрганами_1СОтчетность_ЗакрытьПанельТребований",
Истина);
ПрорисоватьПанельТребований(ЭтотОбъект);
КонецПроцедуры
&НаСервереБезКонтекста
Процедура СброситьВидимостьПанелиТребований()
ДокументооборотСКОВызовСервера.СохранитьНастройку(
"ДокументооборотСКонтролирующимиОрганами_1СОтчетность_ЗакрытьПанельТребований",
Неопределено);
КонецПроцедуры
&НаКлиенте
Процедура НастроитьОграниченияОбменаПоСЭДО(РезультатВыбора, ДополнительныеПараметры) Экспорт
Если РезультатВыбора <> Неопределено Тогда
ДанныеДляОбмена = ВсеОрганизации();
ВыбранныеОрганизации = ДанныеДляОбмена.МассивОрганизаций;
ОбновитьДанныеСЭДОПродолжить(ВыбранныеОрганизации);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьДанныеСЭДОПродолжить(ВыбранныеОрганизации)
НомерОбъекта = 0;
АдресСведенийПоОшибкам = "";
УстановитьВидимостьПанелиОшибокОбновления(ЭтотОбъект);
ПараметрыДлительногоОбмена = ДлительнаяОтправкаКлиент.ПараметрыДлительногоОбмена();
ПараметрыДлительногоОбмена.Организации = ВыбранныеОрганизации;
ПараметрыДлительногоОбмена.ЭтоОбменИзФормы1СОтчетность = Истина;
Если НЕ ДлительнаяОтправкаКлиент.ПоказатьФормуДлительногоОбмена(ПараметрыДлительногоОбмена) Тогда
Возврат;
КонецЕсли;
ПодключитьОбработчикОжидания("Подключаемый_ОсуществитьОбменСЭДОПоВыбраннымОрганизациям", 0.1, Истина);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОсуществитьОбменСЭДОПоВыбраннымОрганизациям()
Если НомерОбъекта + 1 > ВыбранныеОрганизации.Количество() Тогда
ОписаниеОповещения = Новый ОписаниеОповещения("ОсуществитьОбменПоВыбраннымОрганизациямПослеНастройкиМЧДФНС",
ЭтотОбъект);
ДокументооборотСКОКлиент.НастроитьМЧДФНС(ОписаниеОповещения, , ВыбранныеОрганизации);
Иначе
ОрганизацияДляОбмена = ВыбранныеОрганизации[НомерОбъекта];
ОписаниеОповещения = Новый ОписаниеОповещения(
"ОсуществитьОбменСЭДОПоВыбраннымОрганизациямЗавершение",
ЭтотОбъект);
КонтекстЭДОКлиент.ОсуществитьОбменСЭДОПоОрганизации(
ЭтотОбъект,
ОрганизацияДляОбмена,
ОписаниеОповещения);
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьЗначениеДобавитьОтдельнуюКнопкуОбменаДляСЭДО()
ДобавитьОтдельнуюКнопкуОбменаДляСЭДО = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить(
"НастройкиОбменаСЭДОСФР",
"ДобавитьОтдельнуюКнопкуОбменаДляСЭДО",
Ложь);
Возврат ДобавитьОтдельнуюКнопкуОбменаДляСЭДО;
КонецФункции
&НаКлиенте
Процедура ОбновитьДанныеСЭДОПредварительное(Результат, ПараметрыОповещения) Экспорт
ОбновитьДанныеСЭДО(
ПараметрыОповещения.Команда
);
КонецПроцедуры
&НаКлиенте
Процедура ПеренестиВДругойВидДокумента(ВидДокумента)
ТекущаяТаблица = ТекущаяТаблица(ЭтотОбъект);
ВыделенныеСтроки = Новый Массив;
Для каждого Строка Из ТекущаяТаблица.ВыделенныеСтроки Цикл
ВыделенныеСтроки.Добавить(Элементы.Требования.ДанныеСтроки(Строка).Ссылка);
КонецЦикла;
ПеренестиВходящиеВДругойВидДокументаНаСервере(ВидДокумента, ВыделенныеСтроки);
ТекущаяТаблица.Обновить();
ОбновитьКоличествоНепрочтенныхОбъектов(ЭтотОбъект);
КонецПроцедуры
&НаСервере
Процедура ПеренестиВходящиеВДругойВидДокументаНаСервере(ВидДокумента, ВыделенныеСтроки = Неопределено)
ТекущаяТаблица = ТекущаяТаблица(ЭтотОбъект);
Для каждого Строка Из ТекущаяТаблица.ВыделенныеСтроки Цикл
ЭлектронныйДокументооборотСКонтролирующимиОрганамиВызовСервера.ИзменитьЗначениеВФорме1СОтчетность(
Строка.Ссылка, "ВидДокумента", ВидДокумента);
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура СоздатьОтветНаТребованиеСФРПредварительное(Результат, ПараметрыОповещения) Экспорт
СоздатьОтветНаТребованиеСФР(
ПараметрыОповещения.Команда
);
КонецПроцедуры
&НаКлиенте
Процедура СоздатьОтветНаТребованиеСФР(Команда = Неопределено)
Если КонтекстЭДОКлиент = Неопределено И КонтекстУжеПодключался <> Истина Тогда
ПараметрыОповещения = Новый Структура;
ПараметрыОповещения.Вставить("Команда", Команда);
Оповещение = Новый ОписаниеОповещения(
"СоздатьОтветНаТребованиеСФРПредварительное",
ЭтотОбъект,
ПараметрыОповещения
);
ИнициализироватьКонтекстЭДО(Оповещение);
Возврат;
КонецЕсли;
Если КонтекстЭДОКлиент = Неопределено Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибкиИнициализацииКонтекстаЭДО);
Возврат;
КонецЕсли;
КонтекстЭДОКлиент.СоздатьОтветНаТребованиеСФРСВыборомТребования(, Организация,);
КонецПроцедуры
&НаСервере
Функция СфомироватьОтветНаСервере(Ссылка)
Результат = Неопределено;
Попытка
Ответ = Документы.ОтветСтрахователяНаТребованиеПроверкиФСС.СоздатьДокумент();
Ответ.Дата = ТекущаяДатаСеанса();
Ответ.Основание = Ссылка;
Ответ.УстановитьВремя();
Ответ.УстановитьНовыйНомер();
Ответ.Заполнить(Ссылка);
Ответ.Записать();
Результат = Ответ.Ссылка;
Исключение
ОбщегоНазначения.СообщитьПользователю(НСтр("ru = 'Невозможно сформировать ответ.'"));
КонецПопытки;
Возврат Результат;
КонецФункции
&НаКлиенте
Процедура ПриИзмененииВидаЕГРЮЛ()
Использование = ЗначениеЗаполнено(ВидЕГРЮЛ);
ТребованияФНСКлиентСервер.ДобавитьЭлементКомпоновкиСУдалением(
ЭтотОбъект.ЕГРЮЛ.Отбор,
"Вид",
ВидСравненияКомпоновкиДанных.Равно,
ВидЕГРЮЛ,
Использование);
КонецПроцедуры
&НаСервере
Функция ПолучитьСписокЕГРЮЛИзРегистраСведений()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ЖурналОтправокВКонтролирующиеОрганы.Ссылка) = ТИП(Документ.УведомлениеОСпецрежимахНалогообложения)
| ТОГДА ВЫРАЗИТЬ(ЖурналОтправокВКонтролирующиеОрганы.Ссылка КАК Документ.УведомлениеОСпецрежимахНалогообложения).ВидУведомления
| ИНАЧЕ ""Выписка из ЕГРЮЛ/ЕГРИП""
| КОНЕЦ КАК Вид
|ИЗ
| РегистрСведений.ЖурналОтправокВКонтролирующиеОрганы КАК ЖурналОтправокВКонтролирующиеОрганы
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.УведомлениеОСпецрежимахНалогообложения КАК УведомлениеОСпецрежимахНалогообложения
| ПО ЖурналОтправокВКонтролирующиеОрганы.Ссылка = УведомлениеОСпецрежимахНалогообложения.Ссылка
|ГДЕ
| ЖурналОтправокВКонтролирующиеОрганы.СтраницаЖурнала = ЗНАЧЕНИЕ(Перечисление.СтраницыЖурналаОтчетность.ЕГРЮЛ)
| И НЕ ЖурналОтправокВКонтролирующиеОрганы.Скрыт";
Результат = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Вид");
Возврат Результат;
КонецФункции
&НаКлиенте
Асинх Процедура ВыбратьОрганизациюИСоздатьУведомление(ВидыУведомления)
ВыбраннаяОрганизация = Организация;
Если Не ЗначениеЗаполнено(Организация) Тогда
ВыбраннаяОрганизация = Ждать ВвестиЗначениеАсинх(ПредопределенноеЗначение("Справочник.Организации.ПустаяСсылка"),
НСтр("ru = 'Выберите организацию'"), Тип("СправочникСсылка.Организации"));
Если Не ЗначениеЗаполнено(ВыбраннаяОрганизация) Тогда
Возврат;
КонецЕсли;
КонецЕсли;
ЭтоЮрЛицо = ЭлектронныйДокументооборотСКонтролирующимиОрганамиВызовСервера.ЭтоЮрЛицо(ВыбраннаяОрганизация);
Если ЭтоЮрЛицо Тогда
ВидУведомления = ВидыУведомления.ООО;
Иначе
ВидУведомления = ВидыУведомления.ИП;
КонецЕсли;
СоздатьУведомлениеЕГРЮЛ(ВидУведомления, ВыбраннаяОрганизация);
КонецПроцедуры
&НаКлиенте
Процедура СоздатьУведомлениеЕГРЮЛ(ВидУведомления, ВыбраннаяОрганизация, Переопределить = Истина)
СтандартнаяОбработка = Истина;
Если Переопределить Тогда
Попытка
РегламентированнаяОтчетностьКлиентПереопределяемый.ПередОткрытиемФормыУведомления(
ВыбраннаяОрганизация,
ВидУведомления,
СтандартнаяОбработка);
Исключение
СтандартнаяОбработка = Истина;
КонецПопытки;
КонецЕсли;
ПараметрыУведомления = Новый Структура;
ПараметрыУведомления.Вставить("Организация", ВыбраннаяОрганизация);
ПараметрыУведомления.Вставить("ВидУведомления", ВидУведомления);
ПараметрыУведомления.Вставить("UIDФорма1СОтчетность", УникальныйИдентификатор);
Если СтандартнаяОбработка Тогда
ОткрытьФорму("Документ.УведомлениеОСпецрежимахНалогообложения.ФормаОбъекта", ПараметрыУведомления, ВладелецФормы);
Иначе
Оповестить("РеализованаНестандартнаяОбработкаОткрытияУведомления", ПараметрыУведомления);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Функция ФормаУведомленияЗаменена(ВидУведомления, ВыбраннаяОрганизация)
СтандартнаяФорма = Истина;
Попытка
РегламентированнаяОтчетностьКлиентПереопределяемый.ПередОткрытиемФормыУведомления(
ВыбраннаяОрганизация,
ВидУведомления,
СтандартнаяФорма);
Исключение
СтандартнаяФорма = Истина;
КонецПопытки;
Возврат НЕ СтандартнаяФорма;
КонецФункции
&НаКлиенте
Функция ОпределитьНаличиеМастераРегистрацииЕГРЮЛ()
Если ЭтоРежимОблачной1СО Тогда
ЕстьМастерРегистрацииЕГРЮЛ = Ложь;
Иначе
ВыбраннаяОрганизация = ПредопределенноеЗначение("Справочник.Организации.ПустаяСсылка");
ФормаРегистрацииИПЗаменена = ФормаУведомленияЗаменена(
ПредопределенноеЗначение("Перечисление.ВидыУведомленийОСпецрежимахНалогообложения.ФормаР21001"),
ВыбраннаяОрганизация);
ФормаРегистрацииЮЛЗаменена = ФормаУведомленияЗаменена(
ПредопределенноеЗначение("Перечисление.ВидыУведомленийОСпецрежимахНалогообложения.ФормаР11001"),
ВыбраннаяОрганизация);
ЕстьМастерРегистрацииЕГРЮЛ = ФормаРегистрацииИПЗаменена И ФормаРегистрацииЮЛЗаменена;
КонецЕсли;
КонецФункции
&НаКлиенте
Процедура УстановитьВидимостьПанелиОтправкиВЕГРЮЛ()
Если ЭтоРежимОблачной1СО Тогда
Элементы.ГруппаОтправкиВЕГРЮЛ.Видимость = Ложь;
Иначе
КлючНастройки = "ДокументооборотСКонтролирующимиОрганами_1СОтчетность_СкрытьПанельВЕГРЮЛ";
СкрытьПанель = ДокументооборотСКОВызовСервера.ЗагрузитьНастройку(КлючНастройки) = Истина;
ЭтоВеб = ДокументооборотСКОКлиентСервер.ЭтоВебКлиент();
Элементы.ГруппаОтправкиВЕГРЮЛ.Видимость =
НЕ СкрытьЗаявленияЕГРЮЛ_ЕГРИПвКонфигурации
И НЕ СкрытьПанель
И (ЕстьМастерРегистрацииЕГРЮЛ ИЛИ НЕ ЭтоВеб);
Элементы.ГруппаЕГРЮЛСоздать.Видимость = НЕ СкрытьЗаявленияЕГРЮЛ_ЕГРИПвКонфигурации;
Если Элементы.ГруппаОтправкиВЕГРЮЛ.Видимость Тогда
Если ЕстьМастерРегистрацииЕГРЮЛ Тогда
Элементы.ПредупреждениеОбОтправкеЕГРЮЛ.Заголовок = НСтр("ru = 'У вас есть возможность зарегистрировать прямо из программы ООО или ИП, внести изменение в ЕГРЮЛ или ЕГРИП, а также отправить заявление на закрытие ИП'");
ИначеЕсли НЕ ЭтоВеб Тогда
Элементы.ПредупреждениеОбОтправкеЕГРЮЛ.Заголовок = Новый ФорматированнаяСтрока(
НСтр("ru = 'У вас есть возможность прямо из программы отправить '"),
Новый ФорматированнаяСтрока("заявление", , , , "заявление"),
НСтр("ru = ' на изменение в ЕГРЮЛ/ЕГРИП'"));
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УстановитьВидимостьКнопокРазделаЕГРЮЛ()
Элементы.ЗарегистрироватьНовуюОрганизацию.Видимость = НЕ ЕстьМастерРегистрацииЕГРЮЛ;
Элементы.ЗарегистрироватьНовуюОрганизациюМастер.Видимость = ЕстьМастерРегистрацииЕГРЮЛ;
КонецПроцедуры
&НаКлиенте
Процедура УправлениеЭУРазделаЕГРЮЛ()
ОпределитьНаличиеМастераРегистрацииЕГРЮЛ();
УстановитьВидимостьКнопокРазделаЕГРЮЛ();
УстановитьВидимостьПанелиОтправкиВЕГРЮЛ();
КонецПроцедуры
&НаСервере
Функция ДанныеДляПечатиУведомления(УведомлениеДляПечати)
РеквизитыКлюча = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(УведомлениеДляПечати, "ИмяОтчета,ИмяФормы,ВидУведомления,Организация");
Результат = Новый Структура;
Результат.Вставить("СтруктураРеквизитовФормы", Новый Структура("ПоследнийЦиклОбмена,мСохраненныйДок", Неопределено, УведомлениеДляПечати));
Результат.Вставить("СписокПечатаемыхЛистов");
КонтролирующийОрган = ?(УведомлениеОСпецрежимахНалогообложенияПовтИсп.ВидыУведомленийВФНС()[РеквизитыКлюча.ВидУведомления] = Истина,
Перечисления.ТипыКонтролирующихОрганов.ФНС, Неопределено);
СтатусОтправки = Неопределено;
СостояниеСдачиОтчетности = Неопределено;
ЭлектронныйДокументооборотСКонтролирующимиОрганами.ОпределитьСтатусИСостояниеСдачиОтчетности(
УведомлениеДляПечати, РеквизитыКлюча.Организация, КонтролирующийОрган, СостояниеСдачиОтчетности, СтатусОтправки);
СтатусОтправкиВЖурнале = УведомлениеОСпецрежимахНалогообложения.СохраненныйСтатусОтправкиУведомления(УведомлениеДляПечати.ПолучитьОбъект());
МожноПечататьСЭЦП = СтрНачинаетсяС(СтатусОтправки, "Сдано")
И СостояниеСдачиОтчетности = Перечисления.СостояниеСдачиОтчетности.ПоложительныйРезультатДокументооборота
И СтрНайти(СтатусОтправки, СтатусОтправкиВЖурнале) = 1;
Если МожноПечататьСЭЦП Тогда
ТекущееСостояние = РегламентированнаяОтчетность.ТекущееСостояниеОтправки(УведомлениеДляПечати, КонтролирующийОрган);
ЦиклОбмена = ДокументооборотСКОВызовСервера.ПолучитьПоследнийЦиклОбмена(УведомлениеДляПечати);
Если ТекущееСостояние <> Неопределено И ЗначениеЗаполнено(ЦиклОбмена) Тогда
Результат["СтруктураРеквизитовФормы"].ПоследнийЦиклОбмена = ЦиклОбмена;
КонецЕсли;
КонецЕсли;
МенеджерУстаревшихУведомлений = ОбщегоНазначения.ОбщийМодуль("Отчеты.ВизуализацияУстаревшихУведомлений");
Если МенеджерУстаревшихУведомлений.РедакцияУдалена(РеквизитыКлюча.ИмяОтчета, РеквизитыКлюча.ИмяФормы) Тогда
ИнформацияДляПечати = МенеджерУстаревшихУведомлений.ИнформацияДляПечатиУведомления(УведомлениеДляПечати);
Результат.Вставить("УдаленныйОбъектМетаданных", Истина);
Результат.Вставить("ПечатьБСП", ИнформацияДляПечати.ПечатьБСП);
Результат.Вставить("МенеджерПечати", ИнформацияДляПечати.МенеджерПечати);
Результат.Вставить("СписокПечатаемыхЛистов", ИнформацияДляПечати.СписокПечатаемыхЛистов);
Результат.Вставить("ЗаголовокФормы", ИнформацияДляПечати.ЗаголовокФормы);
Иначе
Результат.Вставить("ПечатьБСП", Ложь);
Результат.Вставить("УдаленныйОбъектМетаданных", Ложь);
Результат.Вставить("ЗаголовокФормы", "" + РеквизитыКлюча.ВидУведомления + " (" + РеквизитыКлюча.Организация + ")");
Попытка
СсылкаОбъект = УведомлениеДляПечати.ПолучитьОбъект();
СписокПечатаемыхЛистов = ОбщегоНазначения.ОбщийМодуль("Отчеты." + РеквизитыКлюча.ИмяОтчета).СформироватьСписокЛистов(СсылкаОбъект);
УведомлениеОСпецрежимахНалогообложения.ПроставлениеКоличестваСтраниц(СписокПечатаемыхЛистов);
Для Каждого Элт Из СписокПечатаемыхЛистов Цикл
ЗначениеДляМодификации = Элт.Значение;
ТабДок = ПолучитьИзВременногоХранилища(ЗначениеДляМодификации[0]);
УИД = Новый УникальныйИдентификатор;
ЗначениеДляМодификации[0] = ПоместитьВоВременноеХранилище(ТабДок, УИД);
ЗначениеДляМодификации[1] = УИД;
КонецЦикла;
Результат.Вставить("СписокПечатаемыхЛистов", СписокПечатаемыхЛистов);
Результат.Вставить("НеобходимоФормированиеСредствамиБСП", Ложь);
Исключение
Результат.Вставить("НеобходимоФормированиеСредствамиБСП", Истина);
КонецПопытки;
КонецЕсли;
Результат.Вставить("ОшибкаПечати", УведомлениеОСпецрежимахНалогообложенияВызовСервера.ПечатьВБудущихВерсиях(УведомлениеДляПечати));
Возврат Результат;
КонецФункции
&НаКлиенте
Процедура ПечатьУведомленияИзСписка(УведомлениеДляПечати)
ДанныеДляПечатиУведомления = ДанныеДляПечатиУведомления(УведомлениеДляПечати);
Если ДанныеДляПечатиУведомления.УдаленныйОбъектМетаданных Тогда
Попытка
Если ДанныеДляПечатиУведомления.ПечатьБСП Тогда
МассивПечати = Новый Массив;
МассивПечати.Добавить(УведомлениеДляПечати);
УправлениеПечатьюКлиент.ВыполнитьКомандуПечати(ДанныеДляПечатиУведомления.МенеджерПечати, "Уведомление", МассивПечати, Неопределено);
Иначе
СтруктураРеквизитовФормы = ОбщегоНазначенияКлиентСервер.СкопироватьСтруктуру(ДанныеДляПечатиУведомления.СтруктураРеквизитовФормы);
РегламентированнаяОтчетностьКлиент.ОткрытьФормуПредварительногоПросмотра(ЭтотОбъект, , Ложь,
ДанныеДляПечатиУведомления.СписокПечатаемыхЛистов, ДанныеДляПечатиУведомления);
СтруктураРеквизитовФормы = Неопределено;
КонецЕсли;
Исключение
РегламентированнаяОтчетностьКлиент.ОткрытьФормуПредварительногоПросмотра(ЭтотОбъект, , Ложь,
ДанныеДляПечатиУведомления.ОшибкаПечати, ДанныеДляПечатиУведомления);
КонецПопытки;
Иначе
Если ДанныеДляПечатиУведомления.НеобходимоФормированиеСредствамиБСП Тогда
Попытка
МассивПечати = Новый Массив;
МассивПечати.Добавить(УведомлениеДляПечати);
УправлениеПечатьюКлиент.ВыполнитьКомандуПечати(
"Документ.УведомлениеОСпецрежимахНалогообложения",
"Уведомление", МассивПечати, Неопределено);
Исключение
РегламентированнаяОтчетностьКлиент.ОткрытьФормуПредварительногоПросмотра(ЭтотОбъект, , Ложь,
ДанныеДляПечатиУведомления.ОшибкаПечати, ДанныеДляПечатиУведомления);
КонецПопытки;
Иначе
СтруктураРеквизитовФормы = ОбщегоНазначенияКлиентСервер.СкопироватьСтруктуру(ДанныеДляПечатиУведомления.СтруктураРеквизитовФормы);
РегламентированнаяОтчетностьКлиент.ОткрытьФормуПредварительногоПросмотра(ЭтотОбъект, , Ложь,
ДанныеДляПечатиУведомления.СписокПечатаемыхЛистов, ДанныеДляПечатиУведомления);
СтруктураРеквизитовФормы = Неопределено;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Элементы.Отчеты);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
КонецПроцедуры
&НаСервере
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Элементы.Отчеты);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
Если Элементы.Разделы.ТекущаяСтраница.Имя = "СтраницаОтчеты" Тогда
МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Элементы.Отчеты);
ОтчетыПриАктивизацииСтрокиНаСервере();
ИначеЕсли Элементы.Разделы.ТекущаяСтраница.Имя = "СтраницаУведомления" Тогда
МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Элементы.Уведомления);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОтчетыПриАктивизацииСтроки(Элемент)
ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
КонецПроцедуры
&НаСервере
Процедура ОтчетыПриАктивизацииСтрокиНаСервере()
РегламентированнаяОтчетностьПереопределяемый.ОтчетыПриАктивизацииСтрокиНаСервере(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьЖурналОтчетовСтатусы()
Если РезультатПроверкиКоличестваНезаписанныхОбъектов = Неопределено Тогда
РезультатПроверкиКоличестваНезаписанныхОбъектов = ПроверитьКоличествоОбъектовНеЗаписанныхВРегистр();
Если РезультатПроверкиКоличестваНезаписанныхОбъектов <> Неопределено Тогда
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
ПараметрыОжидания.ВыводитьСообщения = Истина;
ПараметрыОжидания.ВыводитьОкноОжидания = Ложь;
ОповещениеПроверитьВыполнение = Новый ОписаниеОповещения(
"ПроверитьВыполнениеПодсчетаКоличестваНезаписанныхОбъектов", ЭтотОбъект);
ДлительныеОперацииКлиент.ОжидатьЗавершение(
РезультатПроверкиКоличестваНезаписанныхОбъектов, ОповещениеПроверитьВыполнение, ПараметрыОжидания);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
#КонецОбласти