&НаСервере
Перем мОбъектОтчета;
&НаКлиенте
Перем ОбработкаКС Экспорт;
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("РегламентированнаяОтчетность.Интерфейс85") Тогда
МодульРегламентированнаяОтчетностьИнтерфейс85 = ОбщегоНазначения.ОбщийМодуль("РегламентированнаяОтчетностьИнтерфейс85");
МодульРегламентированнаяОтчетностьИнтерфейс85.УстановитьНазначениеДействияКомандФормыРеглОтчета(Команды);
КонецЕсли;
ТабличныйДокумент.Очистить();
СформироватьСтруктуруРеквизитовФормы();
СтруктураРеквизитовФормы.СписокПечатаемыхЛистов = Новый СписокЗначений;
СтруктураРеквизитовФормы.мЧтоОчищать = "Расчетную ведомость";
СтруктураРеквизитовФормы.мСоставПоказателей = "СоставПоказателей2012Кв3";
СтруктураРеквизитовФормы.мПоляПоискаПоказателяВТСП = "КодПоказателяПоСоставу, КодПоказателяПоФорме";
СоответствиеЕдиницыИзмеренияДелителю = Новый Структура;
СоответствиеЕдиницыИзмеренияДелителю.Вставить("Окр1", 1);
СоответствиеЕдиницыИзмеренияДелителю.Вставить("Окр1000", 1000);
СоответствиеЕдиницыИзмеренияДелителю.Вставить("Окр1000000", 1000000);
МассивБулево = Новый Массив;
МассивБулево.Добавить(Тип("Булево"));
СтруктураРеквизитовФормы.мОписаниеТиповБулево = Новый ОписаниеТипов(МассивБулево);
СтруктураРеквизитовФормы.мОписаниеТиповЧислоЕ = Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2));
СтруктураРеквизитовФормы.мИдГруппы1 = "П0003100010";
КолИсхСтрокИдГруппы1 = 1;
КолКолонокИдГруппы1 = 8;
СтруктураДанныхТитульный = Новый Структура;
СтруктураДанныхРаздел1_1 = Новый Структура;
СтруктураДанныхРаздел1_2 = Новый Структура;
СтруктураДанныхРаздел1_3 = Новый Структура;
СтруктураДанныхРаздел1_31 = Новый Структура;
СтруктураДанныхРаздел1_4 = Новый Структура;
СтруктураДанныхРаздел1_41 = Новый Структура;
СтруктураДанныхРаздел1_42 = Новый Структура;
СтруктураДанныхРаздел1_43 = Новый Структура;
СтруктураДанныхРаздел1_44 = Новый Структура;
СтруктураДанныхРаздел1_5 = Новый Структура;
СтруктураДанныхРаздел2_6_7 = Новый Структура;
СтруктураДанныхРаздел2_8_9 = Новый Структура;
СтруктураДанныхРаздел2_10 = Новый Структура;
мСтруктураМногострочныхРазделов = Новый Структура;
мСтруктураМногострочныхРазделов.Вставить(СтруктураРеквизитовФормы.мИдГруппы1, СтруктураРеквизитовФормы.мИдГруппы1);
мСтруктураМногостраничныхРазделов = Новый Структура;
мСтруктураИсхКолвоСтрокРазделов = Новый Структура;
мСтруктураИсхКолвоСтрокРазделов.Вставить(СтруктураРеквизитовФормы.мИдГруппы1, КолИсхСтрокИдГруппы1);
мСтруктураКолвоКолонокРазделов = Новый Структура;
мСтруктураКолвоКолонокРазделов.Вставить(СтруктураРеквизитовФормы.мИдГруппы1, КолКолонокИдГруппы1);
ЦветЗаполняетсяТолькоВручную = Новый Цвет(255, 255, 225);
ЦветЗаполняетсяАвтоКорректир = Новый Цвет(255, 240, 200);
ЦветЗаполняетсяАвтоБезКорректир = Новый Цвет(230, 240, 220);
ЦветЗаполняетсяАвтоАрифметика = Новый Цвет(192, 220, 192);
ЦветЗаполняетсяОднозначноВручную = Новый Цвет(255, 255, 192);
ЦветЗаполняетсяАвтоматически = Новый Цвет(255, 255, 255);
СтруктураРеквизитовФормы.ЦветБелый = Новый Цвет(255, 255, 255);
СтруктураРеквизитовФормы.ЦветЖелтый = Новый Цвет(255, 255, 192);
мСтруктураЦветовРаскраски = Новый Структура;
мСтруктураЦветовРаскраски.Вставить("_1", ЦветЗаполняетсяТолькоВручную);
мСтруктураЦветовРаскраски.Вставить("_2", ЦветЗаполняетсяАвтоКорректир);
мСтруктураЦветовРаскраски.Вставить("_3", ЦветЗаполняетсяАвтоБезКорректир);
мСтруктураЦветовРаскраски.Вставить("_4", ЦветЗаполняетсяАвтоАрифметика);
мСтруктураЦветовРаскраски.Вставить("_0", ЦветЗаполняетсяОднозначноВручную);
мСтруктураЦветовРаскраски.Вставить("_5", ЦветЗаполняетсяАвтоматически);
мСтруктураВариантыЗаполнения = Новый Структура;
мСтруктураВариантыЗаполненияЭталон = Новый Структура;
СтруктураРеквизитовФормы.мВерсияФормы = "01/07/2012";
СтруктураРеквизитовФормы.мКодОтчета = "1159999";
СтруктураРеквизитовФормы.мПечатныеФормы = Новый СписокЗначений;
СтруктураРеквизитовФормы.ЕстьРеквизитДополнительныйКодФСС = Метаданные.Справочники.Организации.Реквизиты.Найти("ДополнительныйКодФСС") <> Неопределено;
СтруктураРеквизитовФормы.ЕстьРеквизитКодПодчиненностиФСС = Метаданные.Справочники.Организации.Реквизиты.Найти("КодПодчиненностиФСС") <> Неопределено;
ИмяРаздела = "Титульный";
ЭтаФормаИмя = ЭтаФорма.ИмяФормы;
ИмяМакета = Сред(ЭтаФормаИмя, СтрНайти(ЭтаФормаИмя, "ФормаОтчета")) + "_" + ИмяРаздела;
Попытка
ТабличныйДокумент.Вывести(ОбъектОтчета(ЭтаФормаИмя).ПолучитьМакет(ИмяМакета));
Если ОбщегоНазначения.ПодсистемаСуществует("РегламентированнаяОтчетность.Интерфейс85") Тогда
МодульРегламентированнаяОтчетностьИнтерфейс85 = ОбщегоНазначения.ОбщийМодуль("РегламентированнаяОтчетностьИнтерфейс85");
МодульРегламентированнаяОтчетностьИнтерфейс85.УстановитьТипОтображенияРедактируемойЯчейкиТабличногоДокумента(ТабличныйДокумент);
КонецЕсли;
Исключение
КонецПопытки;
СтруктураРеквизитовФормы.НаимТекущегоРаздела = ИмяРаздела;
СтруктураРеквизитовФормы.мВыбраннаяФорма = Параметры.мВыбраннаяФорма;
СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета = Параметры.мДатаКонцаПериодаОтчета;
СтруктураРеквизитовФормы.мДатаНачалаПериодаОтчета = Параметры.мДатаНачалаПериодаОтчета;
СтруктураРеквизитовФормы.мСкопированаФорма = Параметры.мСкопированаФорма;
СтруктураРеквизитовФормы.мСохраненныйДок = Параметры.мСохраненныйДок;
СтруктураРеквизитовФормы.Организация = Параметры.Организация;
СтруктураРеквизитовФормы.СформироватьФормуОтчетаАвтоматически = Параметры.СформироватьФормуОтчетаАвтоматически;
ДатаПодписи = ТекущаяДатаСеанса();
ПорядкиОкругленияОтчетности = Новый Структура;
ПорядкиОкругленияОтчетности.Вставить("ПеречислениеПорядкиОкругленияОтчетностиОкр1", Перечисления.ПорядкиОкругленияОтчетности.Окр1);
ПорядкиОкругленияОтчетности.Вставить("ПеречислениеПорядкиОкругленияОтчетностиОкр1000", Перечисления.ПорядкиОкругленияОтчетности.Окр1000);
ПорядкиОкругленияОтчетности.Вставить("ПеречислениеПорядкиОкругленияОтчетностиОкр1000000", Перечисления.ПорядкиОкругленияОтчетности.Окр1000000);
Инициализация(Параметры.БезОткрытияФормы);
ИнициализироватьВыводСтатусовИВажныхСообщений_85();
КонецПроцедуры
&НаСервере
Процедура СформироватьСтруктуруРеквизитовФормы()
СтруктураРеквизитовФормы = Новый Структура;
СтруктураРеквизитовФормы.Вставить("ВыводитьСтраницуВТаблДокНаСервере");
СтруктураРеквизитовФормы.Вставить("НаимТекущегоРаздела");
СтруктураРеквизитовФормы.Вставить("Организация");
СтруктураРеквизитовФормы.Вставить("ЕдиницаИзмерения");
СтруктураРеквизитовФормы.Вставить("ТочностьЕдиницыИзмерения");
СтруктураРеквизитовФормы.Вставить("ВидДокумента");
СтруктураРеквизитовФормы.Вставить("ФлажокОтклАвтоРасчет", Ложь);
СтруктураРеквизитовФормы.Вставить("мСчетчикСтраниц");
СтруктураРеквизитовФормы.Вставить("мАвтоВыборКодов");
СтруктураРеквизитовФормы.Вставить("мБезОткрытияФормы");
СтруктураРеквизитовФормы.Вставить("мРежимПечати");
СтруктураРеквизитовФормы.Вставить("мВариант");
СтруктураРеквизитовФормы.Вставить("мКодОтчета");
СтруктураРеквизитовФормы.Вставить("мВерсияФормы");
СтруктураРеквизитовФормы.Вставить("мВПрограммеИзмененаОрганизация");
СтруктураРеквизитовФормы.Вставить("мВыбраннаяФорма");
СтруктураРеквизитовФормы.Вставить("мДатаНачалаПериодаОтчета");
СтруктураРеквизитовФормы.Вставить("мДатаКонцаПериодаОтчета");
СтруктураРеквизитовФормы.Вставить("мДелитель");
СтруктураРеквизитовФормы.Вставить("мДокументВосстановлен");
СтруктураРеквизитовФормы.Вставить("мЗаписываетсяНовыйДокумент");
СтруктураРеквизитовФормы.Вставить("мЗаписьЗапрещена");
СтруктураРеквизитовФормы.Вставить("мИдГруппы1");
СтруктураРеквизитовФормы.Вставить("мИнтервалАвтосохранения");
СтруктураРеквизитовФормы.Вставить("мОписаниеТиповБулево");
СтруктураРеквизитовФормы.Вставить("мОписаниеТиповЧислоЕ");
СтруктураРеквизитовФормы.Вставить("мПериодичность");
СтруктураРеквизитовФормы.Вставить("мПечатныеФормы");
СтруктураРеквизитовФормы.Вставить("мПолноеИмяФайлаВнешнейОбработки");
СтруктураРеквизитовФормы.Вставить("мПоляПоискаПоказателяВТСП");
СтруктураРеквизитовФормы.Вставить("мСкопированаФорма");
СтруктураРеквизитовФормы.Вставить("мСоставПоказателей");
СтруктураРеквизитовФормы.Вставить("мСохраненныйДок");
СтруктураРеквизитовФормы.Вставить("мСтрокаФормата");
СтруктураРеквизитовФормы.Вставить("мЧтоОчищать");
СтруктураРеквизитовФормы.Вставить("НомерГода");
СтруктураРеквизитовФормы.Вставить("ФлагСохранения");
СтруктураРеквизитовФормы.Вставить("ЦветБелый");
СтруктураРеквизитовФормы.Вставить("ЦветЖелтый");
СтруктураРеквизитовФормы.Вставить("СписокПечатаемыхЛистов");
СтруктураРеквизитовФормы.Вставить("ЕстьРеквизитДополнительныйКодФСС");
СтруктураРеквизитовФормы.Вставить("ЕстьРеквизитКодПодчиненностиФСС");
СтруктураРеквизитовФормы.Вставить("ОтображатьКнопкуЗаполнить", Ложь);
СтруктураРеквизитовФормы.Вставить("ОтображатьКнопкуРасшифровать", Ложь);
СтруктураРеквизитовФормы.Вставить("ТекущаяСтрокаРазделовОтчета");
СтруктураРеквизитовФормы.Вставить("мПроверятьСоотношенияПриПечатиИВыгрузки");
СтруктураРеквизитовФормы.Вставить("ТекстДляЗаголовочнойЧасти");
СтруктураРеквизитовФормы.Вставить("СформироватьФормуОтчетаАвтоматически");
СтруктураРеквизитовФормы.Вставить("ОКВЭД", "");
СтруктураРеквизитовФормы.Вставить("ОКВЭД2", "");
СтруктураРеквизитовФормы.Вставить("ПустаяСсылкаНаРегламентированныйОтчет",
Документы.РегламентированныйОтчет.ПустаяСсылка());
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьСтруктуруЗависимыхЯчеекДляАвторасчета()
СтруктураЗависимыхЯчеекДляАвторасчета = Новый Структура;
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000010002201", "П000010002301;П000010002401;П000010002501");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000010003201", "П000010003301;П000010003401;П000010003501");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000010005201", "П000010005301;П000010005401;П000010005501");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000010006201", "П000010006301;П000010006401;П000010006501");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000010015201", "П000010015301;П000010015401;П000010015501");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000010016201", "П000010016301;П000010016401;П000010016501");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000010002003", "П000010002101;П000010002201; П000010002301;П000010002401;П000010002501");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000010003003", "П000010003101;П000010003201; П000010003301;П000010003401;П000010003501");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000010005003", "П000010005101;П000010005201; П000010005301;П000010005401;П000010005501");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000010006003", "П000010006101;П000010006201; П000010006301;П000010006401;П000010006501");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000010015003", "П000010015101;П000010015201; П000010015301;П000010015401;П000010015501");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000010016003", "П000010016101;П000010016201; П000010016301;П000010016401;П000010016501");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000010008003", "П000010001003;П000010002003;П000010003003;П000010004003;П000010005003;"
+ "П000010006003;П000010007003; П000010002101;П000010002201;П000010003101;"
+ "П000010003201;П000010005101;П000010005201;П000010006101;П000010006201; "
+ "П000010002301;П000010002401;П000010002501;П000010003301;П000010003401;"
+ "П000010003501;П000010005301;П000010005401;П000010005501;П000010006301;"
+ "П000010006401;П000010006501");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000010012003", "П000010013003;П000010014003");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000010018003", "П000010012003;П000010015003;П000010016003;П000010017003; П000010013003;"
+ "П000010014003;П000010015101;П000010015201;П000010016101;П000010016201; "
+ "П000010015301;П000010015401;П000010015501;П000010016301;П000010016401;"
+ "П000010016501");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000020007003", "П000020008003;П000020009003");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000020007004", "П000020008004;П000020009004");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000020007005", "П000020008005;П000020009005");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000020010005", "П000020010004");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000020012004", "П000020001004;П000020003004;П000020005004;П000020006004;П000020007004;П000020010004;П000020011004; П000020008004;П000020009004");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000020012005", "П000020001005;П000020003005;П000020007005;П000020010005;П000020011005; П000020008005;П000020009005;П000020010004");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000030004003", "П000030001003;П000030002003;П000030003003");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000030004004", "П000030001004;П000030002004;П000030003004");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000030004005", "П000030001005;П000030002005;П000030003005");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000030004006", "П000030001006;П000030002006;П000030003006");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000310002005", "П000310001005");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000310002006", "П000310001006");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000310002007", "П000310001007");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000310002008", "П000310001008");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000040000303", "П000040000103;П000040000203");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000040000304", "П000040000104;П000040000204");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000040000305", "П000040000105;П000040000205");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000040000306", "П000040000106;П000040000206");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000410000303", "П000410000103;П000410000203");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000410000304", "П000410000104;П000410000204");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000410000305", "П000410000105;П000410000205");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000410000306", "П000410000106;П000410000206");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000410000603", "П000410000403;П000410000503");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000410000604", "П000410000404;П000410000504");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000410000605", "П000410000405;П000410000505");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000410000606", "П000410000406;П000410000506");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000420000403", "П000420000203;П000420000303");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000420000404", "П000420000204;П000420000304");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000430000303", "П000430000103;П000430000203");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000440000503", "П000440000103;П000440000203;П000440000303;П000440000403");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000440000504", "П000440000104;П000440000204;П000440000304;П000440000404");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050003007", "П000050004007;П000050005007");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050003008", "П000050004008;П000050005008");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050003010", "П000050004010;П000050005010");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050003011", "П000050004011;П000050005011");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050003016", "П000050004016;П000050005016");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050003017", "П000050004017;П000050005017");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050001003", "П000050001006;П000050001009;П000050001012;П000050001015;П000050001018");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050002003", "П000050002006;П000050002009;П000050002015;П000050002018");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050003003", "П000050003006;П000050003009;П000050003015");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050004003", "П000050004006;П000050004009;П000050004015");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050005003", "П000050005006;П000050005009;П000050005015");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050006003", "П000050006006;П000050006009;П000050006015");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050001004", "П000050001007;П000050001010;П000050001013;П000050001016;П000050001019");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050002004", "П000050002007;П000050002010;П000050002016;П000050002019");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050003004", "П000050003007;П000050003010;П000050003016; П000050004007;П000050005007;"
+ "П000050004010;П000050005010;П000050004016;П000050005016");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050004004", "П000050004007;П000050004010;П000050004016");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050005004", "П000050005007;П000050005010;П000050005016");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050006004", "П000050006007;П000050006010;П000050006016");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050001005", "П000050001008;П000050001011;П000050001014;П000050001017;П000050001020");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050002005", "П000050002008;П000050002011;П000050002017;П000050002020");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050003005", "П000050003008;П000050003011;П000050003017; П000050004008;П000050005008;"
+ "П000050004011;П000050005011;П000050004017;П000050005017");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050004005", "П000050004008;П000050004011;П000050004017");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050005005", "П000050005008;П000050005011;П000050005017");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050006005", "П000050006008;П000050006011;П000050006017");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050007003", "П000050001003;П000050002003;П000050003003;П000050006003; П000050001006;"
+ "П000050001009;П000050001012;П000050001015;П000050001018;П000050002006;"
+ "П000050002009;П000050002015;П000050002018;П000050003006;П000050003009;"
+ "П000050003015;П000050006006;П000050006009;П000050006015");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050007005", "П000050001005;П000050002005;П000050003005;П000050006005; П000050001008;"
+ "П000050001011;П000050001014;П000050001017;П000050001020;П000050002008;"
+ "П000050002011;П000050002017;П000050002020;П000050003008;П000050003011;"
+ "П000050003017;П000050006008;П000050006011;П000050006017; П000050004008;"
+ "П000050005008;П000050004011;П000050005011;П000050004017;П000050005017");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050007006", "П000050001006;П000050002006;П000050003006;П000050006006");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050007008", "П000050001008;П000050002008;П000050003008;П000050006008; П000050004008;П000050005008");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050007009", "П000050001009;П000050002009;П000050003009;П000050006009");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050007011", "П000050001011;П000050002011;П000050003011;П000050006011; П000050004011;П000050005011");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050007012", "П000050001012");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050007014", "П000050001014");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050007015", "П000050001015;П000050002015;П000050003015;П000050006015");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050007017", "П000050001017;П000050002017;П000050003017;П000050006017; П000050004017;П000050005017");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050007018", "П000050001018;П000050002018");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000050007020", "П000050001020;П000050002020");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000060001203", "П000060001303;П000060001403;П000060001503");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000060001204", "П000060001304;П000060001404;П000060001504");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000060001205", "П000060001305;П000060001405;П000060001505");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000060001010", "П000060001006;П000060001007;П000060001009");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000070002401", "П000070002101;П000070002201;П000070002301");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000070011401", "П000070011101;П000070011201;П000070011301");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000070012401", "П000070012101;П000070012201;П000070012301");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000070002003", "П000070002001;П000070002401; П000070002101;П000070002201;П000070002301");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000070011003", "П000070011001;П000070011401; П000070011101;П000070011201;П000070011301");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000070012003", "П000070012001;П000070012401; П000070012101;П000070012201;П000070012301");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000070008003", "П000070001003;П000070002003;П000070003003;П000070004003;П000070005003;П000070006003;"
+ "П000070007003; П000070002001;П000070002401; П000070002101;П000070002201;П000070002301");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000070014003", "П000070010003;П000070011003;П000070012003;П000070013003; П000070011001;П000070011401;"
+ "П000070012001;П000070012401; П000070011101;П000070011201;П000070011301;П000070012101;П000070012201;П000070012301");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000070009003", "П000070014003;П000070008003; П000070010003;П000070011003;П000070012003;П000070013003;"
+ "П000070001003;П000070002003;П000070003003;П000070004003;П000070005003;П000070006003;П000070007003; П000070011001;"
+ "П000070011401;П000070012001;П000070012401;П000070002001;П000070002401; П000070011101;П000070011201;П000070011301;"
+ "П000070012101;П000070012201;П000070012301;П000070002101;П000070002201;П000070002301");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000070015003", "П000070008003;П000070014003; П000070001003;П000070002003;П000070003003;П000070004003;"
+ "П000070005003;П000070006003;П000070007003;П000070010003;П000070011003;П000070012003;"
+ "П000070013003; П000070002001;П000070002401;П000070011001;П000070011401;П000070012001;"
+ "П000070012401; П000070002101;П000070002201;П000070002301;П000070011101;П000070011201;"
+ "П000070011301;П000070012101;П000070012201;П000070012301");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000080010004", "П000080001004;П000080004004;П000080007004;П000080009004");
СтруктураЗависимыхЯчеекДляАвторасчета.Вставить("П000090004003", "П000090001003;П000090003003");
КонецПроцедуры
&НаСервере
Процедура Инициализация(БезОткрытияФормы = Ложь) Экспорт
СтруктураРеквизитовФормы.мБезОткрытияФормы = БезОткрытияФормы;
ЗаполнитьСтруктуруЗависимыхЯчеекДляАвторасчета();
ЗаполнитьНачальныеНастройки();
ФормироватьСтруктуруСвойствСтраниц();
СформироватьДеревоРазделовОтчетаНаСервере();
Если НЕ БезОткрытияФормы Тогда
СформироватьСпискиВыбора();
КонецЕсли;
СтруктураРеквизитовФормы.ВыводитьСтраницуВТаблДокНаСервере = Ложь;
ЗаполнитьПустыеСтруктурыДанных();
НачальнаяПодготовкаФормы();
Если (СтруктураРеквизитовФормы.мВПрограммеИзмененаОрганизация) ИЛИ (НЕ ЗначениеЗаполнено(СтруктураДанныхРаздел2_6_7.П000060001006)) Тогда
СтруктураДанныхРаздел2_6_7.П000060001006 = ПолучитьРазмерСтраховогоТарифа(ЭтаФорма);
СтруктураДанныхРаздел2_6_7.П000060001010 = СтруктураДанныхРаздел2_6_7.П000060001006;
КонецЕсли;
УстановитьДоступностьОбластей();
РегламентированнаяОтчетность.ДобавитьКнопкуПрисоединенныеФайлы(ЭтаФорма);
РегламентированнаяОтчетностьКлиентСервер.ПриИнициализацииФормыРегламентированногоОтчета(ЭтаФорма, "ФСС");
Если СтруктураРеквизитовФормы.СформироватьФормуОтчетаАвтоматически Тогда
ЗаполнитьАвтоНаСервере();
Если Элементы.Расшифровать.Видимость Тогда
Элементы.Расшифровать.Доступность = Истина;
Элементы.ТабличныйДокументКонтекстноеМенюРасшифровать.Доступность = Истина;
КонецЕсли;
КонецЕсли;
НомерКорректировки = НомерКорректировки * СтруктураРеквизитовФормы.ВидДокумента;
ОтобразитьНомерКорректировки(ЭтаФорма);
ТабличныйДокумент.Области.ДатаПодписи.Значение = ДатаПодписи;
РегламентированнаяОтчетность.ПриИнициализации(ЭтотОбъект,
?(ЗначениеЗаполнено(СтруктураРеквизитовФормы.мСохраненныйДок),
СтруктураРеквизитовФормы.мСохраненныйДок,
СтруктураРеквизитовФормы.ПустаяСсылкаНаРегламентированныйОтчет));
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьНачальныеНастройки() Экспорт
ЭтаФормаИмя = ЭтаФорма.ИмяФормы;
МакетСоставаПоказателей = ОбъектОтчета(ЭтаФормаИмя).ПолучитьМакет(СтруктураРеквизитовФормы.мСоставПоказателей);
Для Инд = 0 По МакетСоставаПоказателей.Области.Количество() - 1 Цикл
ТекОбласть = МакетСоставаПоказателей.Области[Инд];
ИмяСтраницы = ТекОбласть.Имя;
ЭтаФорма["ТаблицаВариантыЗаполнения" + ИмяСтраницы].Добавить();
Для Ном = ТекОбласть.Верх По ТекОбласть.Низ Цикл
КодПоказателя = СокрП(МакетСоставаПоказателей.Область(Ном, 1).Текст);
ИмяПоказателя = КодПоказателя;
Если Лев(КодПоказателя, 2) = "//" Тогда
Продолжить;
КонецЕсли;
КодПоказателяПоФорме = СокрЛП(МакетСоставаПоказателей.Область(Ном, 2).Текст);
ПризнМногострочность = СокрЛП(МакетСоставаПоказателей.Область(Ном, 3).Текст);
ТипДанныхРеквизита = СокрЛП(МакетСоставаПоказателей.Область(Ном, 4).Текст);
стрКолСтрокИсходный = СокрЛП(МакетСоставаПоказателей.Область(Ном, 5).Текст);
стрВариантЗаполнения = РегламентированнаяОтчетность.ПолучитьВариантЗаполненияПоказателяРегОтчета(МакетСоставаПоказателей, Ном);
КодПоказателяПоСтруктуре = СокрЛП(МакетСоставаПоказателей.Область(Ном, 9).Текст);
чКолСтрокИсходный = ? (ПустаяСтрока(стрКолСтрокИсходный), 0, Число(стрКолСтрокИсходный));
чВариантЗаполнения = ? (ПустаяСтрока(стрВариантЗаполнения), 0, Число(стрВариантЗаполнения));
НоваяСтрока = мТаблицаСоставПоказателей.Добавить();
НоваяСтрока.ИмяПоляТаблДокумента = ИмяСтраницы;
НоваяСтрока.КодПоказателяПоСоставу = КодПоказателя;
НоваяСтрока.КодПоказателяПоФорме = КодПоказателяПоФорме;
НоваяСтрока.ПризнМногострочности = ПризнМногострочность;
НоваяСтрока.ТипДанныхПоказателя = ТипДанныхРеквизита;
НоваяСтрока.КодПоказателяПоСтруктуре = КодПоказателяпоСтруктуре;
Если чВариантЗаполнения <> 0 Тогда
НоваяСтрока = ЭтаФорма["ТаблицаВариантыЗаполнения" + ИмяСтраницы][0].ТаблицаВариантовЗаполнения.Добавить();
НоваяСтрока.КодПоказателя = ? (Не ПустаяСтрока(КодПоказателяПоФорме), КодПоказателяПоФорме, КодПоказателя);
НоваяСтрока.ВариантЗаполнения = чВариантЗаполнения;
КонецЕсли;
КонецЦикла;
Если ЭтаФорма["ТаблицаВариантыЗаполнения" + ИмяСтраницы][0].ТаблицаВариантовЗаполнения.Количество() > 0 Тогда
мСтруктураВариантыЗаполнения.Вставить(ИмяСтраницы, ИмяСтраницы);
мСтруктураВариантыЗаполненияЭталон.Вставить(ИмяСтраницы, ИмяСтраницы);
Конецесли;
КонецЦикла;
ФормироватьСтруктуруСтраницОтчета();
КонецПроцедуры
&НаСервере
Процедура ФормироватьСтруктуруСтраницОтчета() Экспорт
мДеревоСтраницОтчета.ПолучитьЭлементы().Очистить();
СтрокаУровня1 = мДеревоСтраницОтчета.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Титульный";
СтрокаУровня1.Представление = "Титульный лист";
СтрокаУровня1.ОриентацияСтраницы = "Портрет";
СтрокаУровня1.ВыводНаПечать = 1;
СтрокаУровня1.ПоказатьСтраницу = 1;
СтрокаУровня1 = мДеревоСтраницОтчета.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Раздел1_1";
СтрокаУровня1.Представление = "Раздел I. Табл. 1";
СтрокаУровня1.ОриентацияСтраницы = "Портрет";
СтрокаУровня1.ВыводНаПечать = 1;
СтрокаУровня1.ПоказатьСтраницу = 1;
СтрокаУровня1 = мДеревоСтраницОтчета.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Раздел1_2";
СтрокаУровня1.Представление = "Раздел I. Табл. 2";
СтрокаУровня1.ОриентацияСтраницы = "Портрет";
СтрокаУровня1.ВыводНаПечать = 0;
СтрокаУровня1.ПоказатьСтраницу = 1;
СтрокаУровня1 = мДеревоСтраницОтчета.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Раздел1_3";
СтрокаУровня1.Представление = "Раздел I. Табл. 3";
СтрокаУровня1.ОриентацияСтраницы = "Портрет";
СтрокаУровня1.ВыводНаПечать = 1;
СтрокаУровня1.ПоказатьСтраницу = 1;
СтрокаУровня1 = мДеревоСтраницОтчета.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Раздел1_31";
СтрокаУровня1.Представление = "Раздел I. Табл. 3.1";
СтрокаУровня1.ОриентацияСтраницы = "Портрет";
СтрокаУровня1.ВыводНаПечать = 0;
СтрокаУровня1.ПоказатьСтраницу = 1;
СтрокаУровня1 = мДеревоСтраницОтчета.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Раздел1_4";
СтрокаУровня1.Представление = "Раздел I. Табл. 4";
СтрокаУровня1.ОриентацияСтраницы = "Портрет";
СтрокаУровня1.ВыводНаПечать = 0;
СтрокаУровня1.ПоказатьСтраницу = 1;
СтрокаУровня1 = мДеревоСтраницОтчета.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Раздел1_41";
СтрокаУровня1.Представление = "Раздел I. Табл. 4.1";
СтрокаУровня1.ОриентацияСтраницы = "Портрет";
СтрокаУровня1.ВыводНаПечать = 0;
СтрокаУровня1.ПоказатьСтраницу = 1;
СтрокаУровня1 = мДеревоСтраницОтчета.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Раздел1_42";
СтрокаУровня1.Представление = "Раздел I. Табл. 4.2";
СтрокаУровня1.ОриентацияСтраницы = "Портрет";
СтрокаУровня1.ВыводНаПечать = 0;
СтрокаУровня1.ПоказатьСтраницу = 1;
СтрокаУровня1 = мДеревоСтраницОтчета.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Раздел1_43";
СтрокаУровня1.Представление = "Раздел I. Табл. 4.3";
СтрокаУровня1.ОриентацияСтраницы = "Портрет";
СтрокаУровня1.ВыводНаПечать = 0;
СтрокаУровня1.ПоказатьСтраницу = 1;
СтрокаУровня1 = мДеревоСтраницОтчета.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Раздел1_44";
СтрокаУровня1.Представление = "Раздел I. Табл. 4.4";
СтрокаУровня1.ОриентацияСтраницы = "Портрет";
СтрокаУровня1.ВыводНаПечать = 0;
СтрокаУровня1.ПоказатьСтраницу = 1;
СтрокаУровня1 = мДеревоСтраницОтчета.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Раздел1_5";
СтрокаУровня1.Представление = "Раздел I. Табл. 5";
СтрокаУровня1.ОриентацияСтраницы = "Ландшафт";
СтрокаУровня1.ВыводНаПечать = 0;
СтрокаУровня1.ПоказатьСтраницу = 1;
СтрокаУровня1 = мДеревоСтраницОтчета.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Раздел2_6_7";
СтрокаУровня1.Представление = "Раздел II. Табл. 6, 7";
СтрокаУровня1.ОриентацияСтраницы = "Портрет";
СтрокаУровня1.ВыводНаПечать = 1;
СтрокаУровня1.ПоказатьСтраницу = 1;
СтрокаУровня1 = мДеревоСтраницОтчета.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Раздел2_8_9";
СтрокаУровня1.Представление = "Раздел II. Табл. 8, 9";
СтрокаУровня1.ОриентацияСтраницы = "Портрет";
СтрокаУровня1.ВыводНаПечать = 0;
СтрокаУровня1.ПоказатьСтраницу = 1;
СтрокаУровня1 = мДеревоСтраницОтчета.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Раздел2_10";
СтрокаУровня1.Представление = "Раздел II. Табл. 10";
СтрокаУровня1.ОриентацияСтраницы = "Ландшафт";
СтрокаУровня1.ВыводНаПечать = 0;
СтрокаУровня1.ПоказатьСтраницу = 1;
КонецПроцедуры
&НаСервере
Процедура ФормироватьСтруктуруСвойствСтраниц() Экспорт
мСвойстваРазделовДекларации.ПолучитьЭлементы().Очистить();
СтрокаУровня1 = мСвойстваРазделовДекларации.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Титульный";
СтрокаУровня1.СохранятьМногострКакТЗ = Неопределено;
СтрокаУровня1.МногостраничностьВРазделе = Ложь;
СтрокаУровня1.ОчищатьРаздел = Ложь;
СтрокаУровня1.ИмяПредставления = "";
СтрокаУровня1.ПредставлениеДанных = Ложь;
СтрокаУровня1.РазделОбязателенДляВыгрузки = Неопределено;
СтрокаУровня1.РазделЯвляетсяАвтозаполняемым = Ложь;
СтрокаУровня1 = мСвойстваРазделовДекларации.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Раздел1_1";
СтрокаУровня1.СохранятьМногострКакТЗ = Неопределено;
СтрокаУровня1.МногостраничностьВРазделе = Ложь;
СтрокаУровня1.ОчищатьРаздел = Истина;
СтрокаУровня1.ИмяПредставления = "";
СтрокаУровня1.ПредставлениеДанных = Ложь;
СтрокаУровня1.РазделОбязателенДляВыгрузки = Неопределено;
СтрокаУровня1.РазделЯвляетсяАвтозаполняемым = Истина;
СтрокаУровня1 = мСвойстваРазделовДекларации.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Раздел1_2";
СтрокаУровня1.СохранятьМногострКакТЗ = Неопределено;
СтрокаУровня1.МногостраничностьВРазделе = Ложь;
СтрокаУровня1.ОчищатьРаздел = Истина;
СтрокаУровня1.ИмяПредставления = "";
СтрокаУровня1.ПредставлениеДанных = Ложь;
СтрокаУровня1.РазделОбязателенДляВыгрузки = Неопределено;
СтрокаУровня1.РазделЯвляетсяАвтозаполняемым = Истина;
СтрокаУровня1 = мСвойстваРазделовДекларации.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Раздел1_3";
СтрокаУровня1.СохранятьМногострКакТЗ = Неопределено;
СтрокаУровня1.МногостраничностьВРазделе = Ложь;
СтрокаУровня1.ОчищатьРаздел = Истина;
СтрокаУровня1.ИмяПредставления = "";
СтрокаУровня1.ПредставлениеДанных = Ложь;
СтрокаУровня1.РазделОбязателенДляВыгрузки = Неопределено;
СтрокаУровня1.РазделЯвляетсяАвтозаполняемым = Истина;
СтрокаУровня1 = мСвойстваРазделовДекларации.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Раздел1_31";
СтрокаУровня1.СохранятьМногострКакТЗ = Истина;
СтрокаУровня1.МногостраничностьВРазделе = Ложь;
СтрокаУровня1.ОчищатьРаздел = Истина;
СтрокаУровня1.ИмяПредставления = "";
СтрокаУровня1.ПредставлениеДанных = Ложь;
СтрокаУровня1.РазделОбязателенДляВыгрузки = Неопределено;
СтрокаУровня1.РазделЯвляетсяАвтозаполняемым = Истина;
НовСтр = СтрокаУровня1.МногострочностьВРазделе.Добавить();
НовСтр.ИдГруппы = СтруктураРеквизитовФормы.мИдГруппы1;
НовСтр.Область = "МногострочнаяЧасть";
НовСтр.ВысотаСтроки = 1;
СтрокаУровня1 = мСвойстваРазделовДекларации.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Раздел1_4";
СтрокаУровня1.СохранятьМногострКакТЗ = Неопределено;
СтрокаУровня1.МногостраничностьВРазделе = Ложь;
СтрокаУровня1.ОчищатьРаздел = Истина;
СтрокаУровня1.ИмяПредставления = "";
СтрокаУровня1.ПредставлениеДанных = Ложь;
СтрокаУровня1.РазделОбязателенДляВыгрузки = Неопределено;
СтрокаУровня1.РазделЯвляетсяАвтозаполняемым = Истина;
СтрокаУровня1 = мСвойстваРазделовДекларации.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Раздел1_41";
СтрокаУровня1.СохранятьМногострКакТЗ = Неопределено;
СтрокаУровня1.МногостраничностьВРазделе = Ложь;
СтрокаУровня1.ОчищатьРаздел = Истина;
СтрокаУровня1.ИмяПредставления = "";
СтрокаУровня1.ПредставлениеДанных = Ложь;
СтрокаУровня1.РазделОбязателенДляВыгрузки = Неопределено;
СтрокаУровня1.РазделЯвляетсяАвтозаполняемым = Истина;
СтрокаУровня1 = мСвойстваРазделовДекларации.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Раздел1_42";
СтрокаУровня1.СохранятьМногострКакТЗ = Неопределено;
СтрокаУровня1.МногостраничностьВРазделе = Ложь;
СтрокаУровня1.ОчищатьРаздел = Истина;
СтрокаУровня1.ИмяПредставления = "";
СтрокаУровня1.ПредставлениеДанных = Ложь;
СтрокаУровня1.РазделОбязателенДляВыгрузки = Неопределено;
СтрокаУровня1.РазделЯвляетсяАвтозаполняемым = Истина;
СтрокаУровня1 = мСвойстваРазделовДекларации.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Раздел1_43";
СтрокаУровня1.СохранятьМногострКакТЗ = Неопределено;
СтрокаУровня1.МногостраничностьВРазделе = Ложь;
СтрокаУровня1.ОчищатьРаздел = Истина;
СтрокаУровня1.ИмяПредставления = "";
СтрокаУровня1.ПредставлениеДанных = Ложь;
СтрокаУровня1.РазделОбязателенДляВыгрузки = Неопределено;
СтрокаУровня1.РазделЯвляетсяАвтозаполняемым = Истина;
СтрокаУровня1 = мСвойстваРазделовДекларации.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Раздел1_44";
СтрокаУровня1.СохранятьМногострКакТЗ = Неопределено;
СтрокаУровня1.МногостраничностьВРазделе = Ложь;
СтрокаУровня1.ОчищатьРаздел = Истина;
СтрокаУровня1.ИмяПредставления = "";
СтрокаУровня1.ПредставлениеДанных = Ложь;
СтрокаУровня1.РазделОбязателенДляВыгрузки = Неопределено;
СтрокаУровня1.РазделЯвляетсяАвтозаполняемым = Истина;
СтрокаУровня1 = мСвойстваРазделовДекларации.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Раздел1_5";
СтрокаУровня1.СохранятьМногострКакТЗ = Неопределено;
СтрокаУровня1.МногостраничностьВРазделе = Ложь;
СтрокаУровня1.ОчищатьРаздел = Истина;
СтрокаУровня1.ИмяПредставления = "";
СтрокаУровня1.ПредставлениеДанных = Ложь;
СтрокаУровня1.РазделОбязателенДляВыгрузки = Неопределено;
СтрокаУровня1.РазделЯвляетсяАвтозаполняемым = Истина;
СтрокаУровня1 = мСвойстваРазделовДекларации.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Раздел2_6_7";
СтрокаУровня1.СохранятьМногострКакТЗ = Неопределено;
СтрокаУровня1.МногостраничностьВРазделе = Ложь;
СтрокаУровня1.ОчищатьРаздел = Истина;
СтрокаУровня1.ИмяПредставления = "";
СтрокаУровня1.ПредставлениеДанных = Ложь;
СтрокаУровня1.РазделОбязателенДляВыгрузки = Неопределено;
СтрокаУровня1.РазделЯвляетсяАвтозаполняемым = Истина;
СтрокаУровня1 = мСвойстваРазделовДекларации.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Раздел2_8_9";
СтрокаУровня1.СохранятьМногострКакТЗ = Неопределено;
СтрокаУровня1.МногостраничностьВРазделе = Ложь;
СтрокаУровня1.ОчищатьРаздел = Истина;
СтрокаУровня1.ИмяПредставления = "";
СтрокаУровня1.ПредставлениеДанных = Ложь;
СтрокаУровня1.РазделОбязателенДляВыгрузки = Неопределено;
СтрокаУровня1.РазделЯвляетсяАвтозаполняемым = Истина;
СтрокаУровня1 = мСвойстваРазделовДекларации.ПолучитьЭлементы().Добавить();
СтрокаУровня1.ИмяСтраницы = "Раздел2_10";
СтрокаУровня1.СохранятьМногострКакТЗ = Неопределено;
СтрокаУровня1.МногостраничностьВРазделе = Ложь;
СтрокаУровня1.ОчищатьРаздел = Истина;
СтрокаУровня1.ИмяПредставления = "";
СтрокаУровня1.ПредставлениеДанных = Ложь;
СтрокаУровня1.РазделОбязателенДляВыгрузки = Неопределено;
СтрокаУровня1.РазделЯвляетсяАвтозаполняемым = Истина;
КонецПроцедуры
&НаСервере
Процедура СформироватьДеревоРазделовОтчетаНаСервере() Экспорт
СформироватьДеревоРазделовОтчета(ЭтаФорма);
КонецПроцедуры
&НаКлиенте
Процедура СформироватьДеревоРазделовОтчетаНаКлиенте() Экспорт
СформироватьДеревоРазделовОтчета(ЭтаФорма);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура СформироватьДеревоРазделовОтчета(Форма)
Форма["РазделыОтчета"].ПолучитьЭлементы().Очистить();
Для Каждого ЭлементДереваСтраницОтчета Из Форма["мДеревоСтраницОтчета"].ПолучитьЭлементы() Цикл
Если ЭлементДереваСтраницОтчета.ПоказатьСтраницу = 1 Тогда
ЭлементРазделовОтчета = Форма["РазделыОтчета"].ПолучитьЭлементы().Добавить();
ЭлементРазделовОтчета.КолонкаРазделыОтчета = ЭлементДереваСтраницОтчета.Представление;
ЭлементРазделовОтчета.КолонкаРазделыОтчетаСокрНаим = ЭлементДереваСтраницОтчета.ИмяСтраницы;
ЭлементРазделовОтчета.ИндексКартинки = 1;
ЭлементРазделовОтчета.РазделМногостраничный = Ложь;
ЭлементРазделовОтчета.РазделМногострочный = РегламентированнаяОтчетностьКлиентСервер.СвойствоОпределено(Форма, "мТаблицаМногострочныхРазделов");
НайденноеЗначение = Неопределено;
Если Форма["мСтруктураМногостраничныхРазделов"].Свойство(ЭлементРазделовОтчета.КолонкаРазделыОтчетаСокрНаим, НайденноеЗначение) Тогда
Если НЕ НайденноеЗначение = Неопределено Тогда
НайденноеЗначение = Форма[НайденноеЗначение];
ЭлементРазделовОтчета.ИндексКартинки = 0;
ЭлементРазделовОтчета.РазделМногостраничный = Истина;
Для НомерСтраницы = 1 По НайденноеЗначение.Количество() Цикл
СтраницаРазделаОтчета = ЭлементРазделовОтчета.ПолучитьЭлементы().Добавить();
СтраницаРазделаОтчета.КолонкаРазделыОтчета = "Стр. " + НомерСтраницы;
СтраницаРазделаОтчета.КолонкаРазделыОтчетаСокрНаим = ЭлементРазделовОтчета.КолонкаРазделыОтчетаСокрНаим;
СтраницаРазделаОтчета.КолонкаНомерСтраницыРазделаОтчета = НомерСтраницы;
СтраницаРазделаОтчета.ИндексКартинки = 1;
СтраницаРазделаОтчета.РазделМногостраничный = ЭлементРазделовОтчета.РазделМногостраничный;
СтраницаРазделаОтчета.РазделМногострочный = ЭлементРазделовОтчета.РазделМногострочный;
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура СформироватьСпискиВыбора()
МакетСоставаПоказателей = ОбъектОтчета(ЭтаФорма.ИмяФормы).ПолучитьМакет("Списки2012Кв3");
КоллекцияСписковВыбора = Новый Соответствие;
Для Каждого Область Из МакетСоставаПоказателей.Области Цикл
Если Область.ТипОбласти = ТипОбластиЯчеекТабличногоДокумента.Строки Тогда
ВерхОбласти = Область.Верх;
НизОбласти = Область.Низ;
ТаблСписка = Новый ТаблицаЗначений;
ТаблСписка.Колонки.Добавить("Код",,, МакетСоставаПоказателей.Область(ВерхОбласти, 1, ВерхОбласти, 1).ШиринаКолонки);
ТаблСписка.Колонки.Добавить("Название",,, МакетСоставаПоказателей.Область(ВерхОбласти, 2, ВерхОбласти, 2).ШиринаКолонки);
Для НомСтр = ВерхОбласти По НизОбласти Цикл
КодПоказателя = СокрП(МакетСоставаПоказателей.Область(НомСтр, 1).Текст);
Если КодПоказателя <> "###" Тогда
НовСтрока = ТаблСписка.Добавить();
НовСтрока.Код = КодПоказателя;
НовСтрока.Название = СокрП(МакетСоставаПоказателей.Область(НомСтр, 2).Текст);
КонецЕсли;
КонецЦикла;
КоллекцияСписковВыбора.Вставить(Область.Имя, ТаблСписка);
КонецЕсли;
КонецЦикла;
СвойстваПоказателей.Очистить();
РегламентированнаяОтчетность.ДобавитьСтрокуОписанияВвода(СвойстваПоказателей, "ПрПодп", 1, , "Выбор подписанта", КоллекцияСписковВыбора["Подписант"]);
РегламентированнаяОтчетность.ДобавитьСтрокуОписанияВвода(СвойстваПоказателей, "ПрекращениеДеятельности", 1, , "Прекращение деятельности", КоллекцияСписковВыбора["ПрекращениеДеятельности"]);
РегламентированнаяОтчетность.ДобавитьСтрокуОписанияВвода(СвойстваПоказателей, "ШифрСтрах1Часть", 3, , "Выбор шифра", КоллекцияСписковВыбора["ШифрыСтрахователя"]);
РегламентированнаяОтчетность.ДобавитьСтрокуОписанияВвода(СвойстваПоказателей, "ШифрСтрах2Часть", 2, , "Выбор расширения шифра", КоллекцияСписковВыбора["РасширенияШифра"]);
РегламентированнаяОтчетность.ДобавитьСтрокуОписанияВвода(СвойстваПоказателей, "ШифрСтрах3Часть", 2, , "Выбор дополнительного шифра", КоллекцияСписковВыбора["ДополнительныеШифры"]);
КонецПроцедуры
&НаКлиенте
Процедура ВвестиПоказатель(Элемент, Область, КодПоказателя, Знач ЭтоСумма, Знач ТекстВыбора, ТаблицаВыбора, СтандартнаяОбработка, КолонкаПоиска = "Код") Экспорт
Если ТаблицаВыбора = Неопределено ИЛИ СтруктураРеквизитовФормы.мАвтоВыборКодов Тогда
Возврат;
КонецЕсли;
СтандартнаяОбработка = Ложь;
Если Область.Имя = КодПоказателя Тогда
ИсходноеЗначение = ?(ТипЗнч(Область.Значение) = Тип("Строка"), СокрЛП(Область.Значение), Область.Значение);
Иначе
Разделитель = ?(Лев(Область.Имя, СтрДлина(КодПоказателя) + 1) = КодПоказателя + "_", "_", "");
ИндексОбласти = 1;
ИсходноеЗначение = "";
Пока ЭтаФорма[ТекущийЭлемент.Имя].Области.Найти(КодПоказателя + Разделитель + Формат(ИндексОбласти, "ЧГ=")) <> Неопределено Цикл
ИсходноеЗначение = ИсходноеЗначение + Строка(ЭтаФорма[ТекущийЭлемент.Имя].Области[КодПоказателя + Разделитель + Формат(ИндексОбласти, "ЧГ=")].Значение);
ИндексОбласти = ИндексОбласти + 1;
КонецЦикла;
ИсходноеЗначение = СокрЛП(ИсходноеЗначение);
КонецЕсли;
ПрПодписанта = ТабличныйДокумент.Области.ПрПодп.Значение;
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Заголовок", ТекстВыбора);
ПараметрыФормы.Вставить("ТаблицаЗначений", ТаблицаВыбора);
ПараметрыФормы.Вставить("СтруктураДляПоиска", Новый Структура(КолонкаПоиска, ИсходноеЗначение));
ДополнительныеПараметры = Новый Структура("ИндексОбласти, КодПоказателя, КолонкаПоиска, Область, ПрПодписанта, Разделитель", ИндексОбласти, КодПоказателя, КолонкаПоиска, Область, ПрПодписанта, Разделитель);
ОписаниеОповещения = Новый ОписаниеОповещения("ВвестиПоказательЗавершение", ЭтотОбъект, ДополнительныеПараметры);
ОткрытьФорму("Обработка.ОбщиеОбъектыРеглОтчетности.Форма.ФормаВыбораЗначенияИзТаблицы", ПараметрыФормы, ЭтаФорма,,,,ОписаниеОповещения, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
&НаКлиенте
Процедура ВвестиПоказательЗавершение(РезультатВыбора, ДополнительныеПараметры) Экспорт
ИндексОбласти = ДополнительныеПараметры.ИндексОбласти;
КодПоказателя = ДополнительныеПараметры.КодПоказателя;
КолонкаПоиска = ДополнительныеПараметры.КолонкаПоиска;
Область = ДополнительныеПараметры.Область;
ПрПодписанта = ДополнительныеПараметры.ПрПодписанта;
Разделитель = ДополнительныеПараметры.Разделитель;
Если РезультатВыбора = Неопределено Тогда
Возврат;
КонецЕсли;
Если Область.Имя = КодПоказателя Тогда
Область.Значение = РезультатВыбора[КолонкаПоиска];
Иначе
СтрокаРезультатВыбора = Строка(РезультатВыбора[КолонкаПоиска]);
Для Инд = СтрДлина(СтрокаРезультатВыбора) + 1 По ИндексОбласти - 1 Цикл
СтрокаРезультатВыбора = " " + РезультатВыбора[КолонкаПоиска];
КонецЦикла;
Для Инд = 1 По ИндексОбласти - 1 Цикл
ЭтаФорма[ТекущийЭлемент.Имя].Области[КодПоказателя + Разделитель + Формат(Инд, "ЧГ=")].Значение = СокрЛП(Сред(РезультатВыбора[КолонкаПоиска], Инд, 1));
КонецЦикла;
КонецЕсли;
Если Область.Имя = "ПрПодп" Тогда
ПрПодписантаНов = ТабличныйДокумент.Области.ПрПодп.Значение;
СменилсяПрПодписанта = ?(ПрПодписанта = ПрПодписантаНов, Ложь, Истина);
Если СменилсяПрПодписанта Тогда
Если ПрПодписантаНов = "1" Тогда
ЗаполнитьСведенияОбОрганизации(Истина);
ИначеЕсли ПрПодписантаНов = "2" ИЛИ ПрПодписантаНов = "3" Тогда
ТабличныйДокумент.Области.ДокУпПред.Защита = Ложь;
ТабличныйДокумент.Области.ДокУпПред.ЦветФона = СтруктураРеквизитовФормы.ЦветЖелтый;
ТабличныйДокумент.Области.ОргПодписантФамилия.Значение = "";
КонецЕсли;
КонецЕсли;
КонецЕсли;
Модифицированность = Истина;
КонецПроцедуры
&НаСервере
Процедура НачальнаяПодготовкаФормы()
Перем ИсходноеКоличествоСтрокГруппы;
Если СтруктураРеквизитовФормы.СформироватьФормуОтчетаАвтоматически Тогда
СтруктураРеквизитовФормы.мВПрограммеИзмененаОрганизация = Истина;
Иначе
СтруктураРеквизитовФормы.мВПрограммеИзмененаОрганизация = Ложь;
КонецЕсли;
СтруктураРеквизитовФормы.мДокументВосстановлен = Ложь;
СтруктураРеквизитовФормы.мАвтоВыборКодов = Ложь;
СтруктураРеквизитовФормы.ФлагСохранения = Ложь;
СтруктураРеквизитовФормы.мРежимПечати = Ложь;
СтруктураРеквизитовФормы.ВидДокумента = 0;
НомерКорректировки = 1;
Если СтруктураРеквизитовФормы.мСохраненныйДок = Неопределено Тогда
НачальныеОперацииСМногострочнымиБлоками();
мСтруктураДокУпПред = Новый Структура;
мСтруктураДокУпПред.Вставить("НаименованиеУдостоверяющего", " ");
мСтруктураДокУпПред.Вставить("СерияРимскиеЦифры", " ");
мСтруктураДокУпПред.Вставить("СерияРусскиеБуквы", " ");
мСтруктураДокУпПред.Вставить("НомерУдостоверяющего", " ");
мСтруктураДокУпПред.Вставить("ДатаВыдачи", "");
мСтруктураДокУпПред.Вставить("КемВыдан", " ");
Если СтруктураРеквизитовФормы.мСкопированаФорма <> Неопределено Тогда
ВосстановитьСохраненныеДанные();
Иначе
Если НЕ СтруктураРеквизитовФормы.мБезОткрытияФормы Тогда
СтруктураРеквизитовФормы.мПроверятьСоотношенияПриПечатиИВыгрузки = Ложь;
КонецЕсли;
СтруктураРеквизитовФормы.ЕдиницаИзмерения = Перечисления.ПорядкиОкругленияОтчетности.Окр1;
СтруктураРеквизитовФормы.мДелитель = 1;
СтруктураРеквизитовФормы.ТочностьЕдиницыИзмерения = 2;
ОтобразитьНомерКорректировки(ЭтаФорма);
КопироватьДанныеФормы(мДеревоСтраницОтчета, мДеревоВыбранныхСтраниц);
КонецЕсли;
Модифицированность = Истина;
Иначе
ВосстановитьСохраненныеДанные();
Если ЗначениеЗаполнено(СтруктураРеквизитовФормы.мСкопированаФорма) Тогда
СтруктураРеквизитовФормы.мСохраненныйДок = Неопределено;
Модифицированность = Истина;
КонецЕсли;
Если НЕ СтруктураРеквизитовФормы.мБезОткрытияФормы
И НЕ СтруктураРеквизитовФормы.мСохраненныйДок = Неопределено Тогда
ЗаблокироватьДанныеДляРедактирования(СтруктураРеквизитовФормы.мСохраненныйДок, , ЭтаФорма.УникальныйИдентификатор);
КонецЕсли;
КонецЕсли;
ПараметрыОтчета = Новый Структура;
ПараметрыОтчета.Вставить("Организация", СтруктураРеквизитовФормы.Организация);
ПараметрыОтчета.Вставить("ДатаНачалаПериодаОтчета", СтруктураРеквизитовФормы.мДатаНачалаПериодаОтчета);
ПараметрыОтчета.Вставить("ДатаКонцаПериодаОтчета", СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета);
РегламентированнаяОтчетность.ПолучитьСведенияОПоказателяхОтчета(ЭтаФорма, ПараметрыОтчета);
Если НЕ СтруктураРеквизитовФормы.ОтображатьКнопкуЗаполнить Тогда
Элементы.Заполнить.Видимость = Ложь;
КонецЕсли;
Если НЕ СтруктураРеквизитовФормы.ОтображатьКнопкуРасшифровать Тогда
Элементы.Расшифровать.Видимость = Ложь;
Элементы.ТабличныйДокументКонтекстноеМенюРасшифровать.Видимость = Ложь;
КонецЕсли;
ПоказатьПериод();
Если СтруктураРеквизитовФормы.мСохраненныйДок = Неопределено
Или СтруктураРеквизитовФормы.мВПрограммеИзмененаОрганизация
ИЛИ СтруктураРеквизитовФормы.СформироватьФормуОтчетаАвтоматически Тогда
ЗаполнитьДатуВЯчейкахНаСервере();
ЗаполнитьСведенияОбОрганизации(, Истина, Истина);
Иначе
РегламентированнаяОтчетность.ПолучитьЗначениеОКВЭД(ДатаПодписи, СтруктураРеквизитовФормы);
КонецЕсли;
Для Каждого СтрокаУровня1 Из мСвойстваРазделовДекларации.ПолучитьЭлементы() Цикл
НазваниеСтраницы = СтрокаУровня1.ИмяСтраницы;
МногостраничностьВРазделе = СтрокаУровня1.МногостраничностьВРазделе;
Если (НазваниеСтраницы = "Титульный") Тогда
Продолжить;
КонецЕсли;
Если (СтруктураРеквизитовФормы.мДокументВосстановлен) И (МногостраничностьВРазделе) Тогда
Продолжить;
КонецЕсли;
УстановитьЦветФонаЯчейкиНаСервере(,, НазваниеСтраницы);
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура УстановитьДоступностьОбластей();
Если ТабличныйДокумент.Области.ПрПодп.Значение = "1" Тогда
ТабличныйДокумент.Области.ДокУпПред.Защита = Истина;
ТабличныйДокумент.Области.ДокУпПред.ЦветФона = СтруктураРеквизитовФормы.ЦветБелый;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура НачальныеОперацииСМногострочнымиБлоками()
Перем ИсходноеКоличествоСтрокГруппы;
Для Каждого ЭлементСтруктуры Из мСтруктураМногострочныхРазделов Цикл
ИмяГруппы = ЭлементСтруктуры.Ключ;
СтруктураГруппы = ЭтаФорма[ЭлементСтруктуры.Значение];
мСтруктураИсхКолвоСтрокРазделов.Свойство(ИмяГруппы, ИсходноеКоличествоСтрокГруппы);
Для НСтр = 1 По ИсходноеКоличествоСтрокГруппы Цикл
СтруктураГруппы.Добавить();
КонецЦикла;
КонецЦикла;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ОтобразитьНомерКорректировки(Форма)
НомерКорр = Форма.СтруктураРеквизитовФормы.ВидДокумента * Форма.НомерКорректировки;
НомерКорректировкиСтрока = Формат(НомерКорр, "ЧН=0; ЧГ=");
СтрДлинаНомерКорректировкиСтрока = СтрДлина(НомерКорректировкиСтрока);
НомерКорректировкиСтрока = РегламентированнаяОтчетностьКлиентСервер.ДополнитьСтроку(НомерКорректировкиСтрока,3,"0",0);
Форма.ТабличныйДокумент.Области.НомерКорректировки.Значение = НомерКорректировкиСтрока;
Конецпроцедуры
&НаСервере
Процедура ПоказатьПериод()
НомерМесяца = Формат(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета, "ДФ=М");
Если НомерМесяца = "12" Тогда
НомерМесяца = "0";
КонецЕсли;
МассивМесяцев = РегламентированнаяОтчетностьКлиентСервер.РазобратьСтрокуВМассивПоРазделителю("1.2.4.5.7.8.10.11");
Если МассивМесяцев.Найти(НомерМесяца) <> Неопределено Тогда
НомерМесяца = "1";
КонецЕсли;
НомерКвартала = Формат(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета, "ДФ=к");
СтруктураРеквизитовФормы.НомерГода = Формат(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета, "ДФ=гггг");
КодПериода = Формат(КонецКвартала(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета), "ДФ=ММ");
КодПериода = РегламентированнаяОтчетностьКлиентСервер.ДополнитьСтроку(КодПериода,2,0);
ЗаполнениеПериодаОтчетаПоПриказу1385н = (КонецДня(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) >= КонецГода('20111231'));
Если ЗаполнениеПериодаОтчетаПоПриказу1385н Тогда
КодПериода = Формат(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета, "ДФ=ММ");
Если КодПериода = "03" ИЛИ КодПериода = "06" ИЛИ КодПериода = "09" ИЛИ КодПериода = "12" Тогда
ТабличныйДокумент.Области.Период.Значение = КодПериода;
КонецЕсли;
Иначе
ТабличныйДокумент.Области.Период.Значение = КодПериода;
КонецЕсли;
ТабличныйДокумент.Области.ОтчетГод.Значение = СтруктураРеквизитовФормы.НомерГода;
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьДатуВЯчейкахНаСервере() Экспорт
ЗаполнитьДатуВЯчейках(ЭтаФорма);
КонецПроцедуры
&НаКлиенте
Процедура ЗаполнитьДатуВЯчейкахНаКлиенте() Экспорт
ЗаполнитьДатуВЯчейках(ЭтаФорма);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ЗаполнитьДатуВЯчейках(Форма)
Форма.ТабличныйДокумент.Области.ДатаПодписи.Значение = Форма.ДатаПодписи;
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьСведенияОбОрганизации(ВПрограммеИзмененаДатаПодписи = Ложь, СменилсяПризнакПодписанта = Ложь, ЭтоНачальноеЗаполнение = Ложь)
Если (СтруктураРеквизитовФормы.Организация = Неопределено) Или (СтруктураРеквизитовФормы.Организация = РегламентированнаяОтчетностьКлиентСервер.ПустоеЗначениеТипа("СправочникСсылка.Организации")) Тогда
Возврат
КонецЕсли;
ПБОЮЛ = НЕ РегламентированнаяОтчетностьВызовСервера.ЭтоЮридическоеЛицо(СтруктураРеквизитовФормы.Организация);
Сведения = Новый СписокЗначений;
Если НЕ ВПрограммеИзмененаДатаПодписи Тогда
Сведения.Добавить("", "ИННЮЛ");
Сведения.Добавить("", "КППЮЛ");
Сведения.Добавить("", "НаимЮЛПол");
Сведения.Добавить("", "ОГРН");
Сведения.Добавить("", "ОКАТО");
Сведения.Добавить("", "РегистрационныйНомерФСС");
Сведения.Добавить("", "КодПодчиненностиФСС");
Сведения.Добавить("", "АдрЮР");
Сведения.Добавить("", "АдрПрописки");
КонецЕсли;
Сведения.Добавить("", "ШифрСтрахователяФСС");
Сведения.Добавить("", "СистемыНалогообложения");
Сведения.Добавить("", "ВидПлательщикаСтраховыхВзносов");
Сведения.Добавить("", "ФИОРук");
Сведения.Добавить("", "ФИО");
Сведения.Добавить("", "ТелОрганизации");
Сведения.Добавить("", "ТелСлуж");
ОргСведения = РегламентированнаяОтчетностьВызовСервера.ПолучитьСведенияОбОрганизации(СтруктураРеквизитовФормы.Организация, ДатаПодписи, Сведения);
Если НЕ ВПрограммеИзмененаДатаПодписи Тогда
ИННЮЛ = "";
КППЮЛ = "";
НаимЮЛПол = "";
ОГРН = "";
ОКАТО = "";
РегистрационныйНомерФСС = "";
КодПодчиненностиФСС = "";
АдрЮР = "";
АдрПрописки = "";
КонецЕсли;
ШифрСтрахователяФСС = "";
СистемыНалогообложения = "";
ВидПлательщикаСтраховыхВзносов = "";
ФИОРук = "";
ФИО = "";
ТелОрганизации = "";
ТелСлуж = "";
Если НЕ ВПрограммеИзмененаДатаПодписи Тогда
ОргСведения.Свойство("ИННЮЛ", ИННЮЛ);
ОргСведения.Свойство("КППЮЛ", КППЮЛ);
ОргСведения.Свойство("НаимЮЛПол", НаимЮЛПол);
ОргСведения.Свойство("ОГРН", ОГРН);
ОргСведения.Свойство("ОКАТО", ОКАТО);
ОргСведения.Свойство("РегистрационныйНомерФСС", РегистрационныйНомерФСС);
ОргСведения.Свойство("КодПодчиненностиФСС", КодПодчиненностиФСС);
ОргСведения.Свойство("АдрЮР", АдрЮР);
ОргСведения.Свойство("АдрПрописки", АдрПрописки);
КонецЕсли;
ОргСведения.Свойство("ШифрСтрахователяФСС", ШифрСтрахователяФСС);
ОргСведения.Свойство("СистемыНалогообложения", СистемыНалогообложения);
ОргСведения.Свойство("ВидПлательщикаСтраховыхВзносов", ВидПлательщикаСтраховыхВзносов);
ОргСведения.Свойство("ФИОРук", ФИОРук);
ОргСведения.Свойство("ФИО", ФИО);
ОргСведения.Свойство("ТелОрганизации", ТелОрганизации);
ОргСведения.Свойство("ТелСлуж", ТелСлуж);
Если ПБОЮЛ Тогда
НаимЮлПол = ФИО;
Адрес = АдрПрописки;
ТелОрганизации = ТелСлуж;
ФИОРук = ФИО;
КонецЕсли;
ОбъектОтчета = ОбъектОтчета(ЭтаФорма.ИмяФормы);
ПолныйШифр = ОбъектОтчета.ПолныйШифрСтрахователяФСС(ШифрСтрахователяФСС, СистемыНалогообложения, ВидПлательщикаСтраховыхВзносов);
Если СтруктураРеквизитовФормы.мВПрограммеИзмененаОрганизация ИЛИ ВПрограммеИзмененаДатаПодписи
ИЛИ НЕ ЗначениеЗаполнено(ТабличныйДокумент.Области.ШифрСтрах1Часть.Значение) Тогда
ТабличныйДокумент.Области.ШифрСтрах1Часть.Значение = ПолныйШифр.Часть1;
КонецЕсли;
Если СтруктураРеквизитовФормы.мВПрограммеИзмененаОрганизация ИЛИ ВПрограммеИзмененаДатаПодписи
ИЛИ НЕ ЗначениеЗаполнено(ТабличныйДокумент.Области.ШифрСтрах2Часть.Значение) Тогда
ТабличныйДокумент.Области.ШифрСтрах2Часть.Значение = ПолныйШифр.Часть2;
КонецЕсли;
Если СтруктураРеквизитовФормы.мВПрограммеИзмененаОрганизация ИЛИ ВПрограммеИзмененаДатаПодписи
ИЛИ НЕ ЗначениеЗаполнено(ТабличныйДокумент.Области.ШифрСтрах3Часть.Значение) Тогда
ТабличныйДокумент.Области.ШифрСтрах3Часть.Значение = ПолныйШифр.Часть3;
КонецЕсли;
РегламентированнаяОтчетность.ПолучитьЗначениеОКВЭД(ДатаПодписи, СтруктураРеквизитовФормы);
РегламентированнаяОтчетностьКлиентСервер.УстановитьЗначениеОКВЭД(ДатаПодписи,
СтруктураРеквизитовФормы,
СтруктураДанныхРаздел2_6_7.ОКВЭД);
РегламентированнаяОтчетностьКлиентСервер.УстановитьЗначениеОКВЭД(ДатаПодписи,
СтруктураРеквизитовФормы,
СтруктураДанныхРаздел1_1.ОКВЭД);
Если ВПрограммеИзмененаДатаПодписи Тогда
ТабличныйДокумент.Области.ПрПодп.Значение = "1";
ТабличныйДокумент.Области.ОргПодписантФамилия.Значение = ФИОРук;
ЗапретитьВводДокументаПредставителя(ЭтаФорма);
Возврат;
КонецЕсли;
Если (СтруктураРеквизитовФормы.мВПрограммеИзмененаОрганизация) Или (НЕ ЗначениеЗаполнено(ТабличныйДокумент.Области.ОргНазв.Значение)) Тогда
ТабличныйДокумент.Области.ОргНазв.Значение = НаимЮЛПол;
КонецЕсли;
Если (СтруктураРеквизитовФормы.мВПрограммеИзмененаОрганизация) Или (НЕ ЗначениеЗаполнено(ТабличныйДокумент.Области.ПрПодп.Значение)) Или (СменилсяПризнакПодписанта) Тогда
ТабличныйДокумент.Области.ПрПодп.Значение = "1";
КонецЕсли;
Если (СтруктураРеквизитовФормы.мВПрограммеИзмененаОрганизация) Или (НЕ ЗначениеЗаполнено(ТабличныйДокумент.Области.ОргПодписантФамилия.Значение)) Или (СменилсяПризнакПодписанта) Тогда
ТабличныйДокумент.Области.ОргПодписантФамилия.Значение = ФИОРук;
КонецЕсли;
Если (СтруктураРеквизитовФормы.мВПрограммеИзмененаОрганизация) Или (НЕ ЗначениеЗаполнено(ТабличныйДокумент.Области.ДокУпПред.Значение)) Или (СменилсяПризнакПодписанта) Тогда
ЗапретитьВводДокументаПредставителя(ЭтаФорма);
КонецЕсли;
ИННЮЛ = РегламентированнаяОтчетностьКлиентСервер.ДополнитьСтроку(ИННЮЛ,12,"0",0);
КППЮЛ = РегламентированнаяОтчетностьКлиентСервер.ДополнитьСтроку(КППЮЛ,9,"-",1);
Если (СтруктураРеквизитовФормы.мВПрограммеИзмененаОрганизация) ИЛИ (НЕ ЗначениеЗаполнено(ТабличныйДокумент.Области.ИНН.Значение)) Тогда
ТабличныйДокумент.Области.ИНН.Значение = ИННЮЛ;
КонецЕсли;
Если (СтруктураРеквизитовФормы.мВПрограммеИзмененаОрганизация) ИЛИ (НЕ ЗначениеЗаполнено(ТабличныйДокумент.Области.КПП.Значение)) Тогда
ТабличныйДокумент.Области.КПП.Значение = КППЮЛ;
КонецЕсли;
ОГРН = РегламентированнаяОтчетностьКлиентСервер.ДополнитьСтроку(СокрЛП(ОГРН),15,"0",0);
Если (СтруктураРеквизитовФормы.мВПрограммеИзмененаОрганизация) ИЛИ (НЕ ЗначениеЗаполнено(ТабличныйДокумент.Области.ОГРН.Значение)) Тогда
ТабличныйДокумент.Области.ОГРН.Значение = ОГРН;
КонецЕсли;
ТелОрганизации = СтрЗаменить(ТелОрганизации, " ", "");
ТелОрганизации = СтрЗаменить(ТелОрганизации, "-", "");
ТелОрганизации = СтрЗаменить(ТелОрганизации, "(", "");
ТелОрганизации = СтрЗаменить(ТелОрганизации, ")", "");
Если (СтруктураРеквизитовФормы.мВПрограммеИзмененаОрганизация) ИЛИ (НЕ ЗначениеЗаполнено(ТабличныйДокумент.Области.ТелОрганизации.Значение)) Тогда
ТабличныйДокумент.Области.ТелОрганизации.Значение = ТелОрганизации;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ТабличныйДокумент.Области.ОКАТО.Значение) Тогда
ТабличныйДокумент.Области.ОКАТО.Значение = ОКАТО;
КонецЕсли;
Если Не ПБОЮЛ Тогда
Адрес = АдрЮр;
КонецЕсли;
СтруктураАдреса = РегламентированнаяОтчетностьКлиентСервер.РазложитьАдрес(Адрес);
Если Не СтруктураАдреса = Неопределено Тогда
ТабличныйДокумент.Области.Адрес1.Значение = СтруктураАдреса.Индекс;
ТабличныйДокумент.Области.Адрес2.Значение = СтруктураАдреса.Регион;
ТабличныйДокумент.Области.Адрес3.Значение = СтруктураАдреса.Район;
ТабличныйДокумент.Области.Адрес4.Значение = СтруктураАдреса.Город;
ТабличныйДокумент.Области.Адрес5.Значение = СтруктураАдреса.НаселенныйПункт;
ТабличныйДокумент.Области.Адрес6.Значение = СтруктураАдреса.Улица;
ТабличныйДокумент.Области.Адрес7.Значение = СтруктураАдреса.Дом;
ТабличныйДокумент.Области.Адрес8.Значение = СтруктураАдреса.Корпус;
ТабличныйДокумент.Области.Адрес9.Значение = СтруктураАдреса.Квартира;
КонецЕсли;
Если (СтруктураРеквизитовФормы.мВПрограммеИзмененаОрганизация) ИЛИ (НЕ ЗначениеЗаполнено(ТабличныйДокумент.Области.ОргФССКод.Значение)) Тогда
ТабличныйДокумент.Области.ОргФССКод.Значение = РегистрационныйНомерФСС;
КонецЕсли;
Если (СтруктураРеквизитовФормы.мВПрограммеИзмененаОрганизация) ИЛИ (НЕ ЗначениеЗаполнено(ТабличныйДокумент.Области.КодПодчиненности.Значение)) Тогда
ТабличныйДокумент.Области.КодПодчиненности.Значение = КодПодчиненностиФСС;
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ЗапретитьВводДокументаПредставителя(Форма)
Форма.ТабличныйДокумент.Области.ДокУпПред.Значение = "";
Форма.мСтруктураДокУпПред.Вставить("НаименованиеУдостоверяющего", " ");
Форма.мСтруктураДокУпПред.Вставить("СерияРимскиеЦифры", " ");
Форма.мСтруктураДокУпПред.Вставить("СерияРусскиеБуквы", " ");
Форма.мСтруктураДокУпПред.Вставить("НомерУдостоверяющего", " ");
Форма.мСтруктураДокУпПред.Вставить("ДатаВыдачи", "");
Форма.мСтруктураДокУпПред.Вставить("КемВыдан", " ");
Форма.ТабличныйДокумент.Области.ДокУпПред.Защита = Истина;
Форма.ТабличныйДокумент.Области.ДокУпПред.ЦветФона = Форма.СтруктураРеквизитовФормы.ЦветБелый;
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьРазмерСтраховогоТарифа(Форма)
Сведения = Новый СписокЗначений;
Сведения.Добавить("", "СтраховойТариф");
СтраховойТариф = Неопределено;
ОргСведения = РегламентированнаяОтчетностьВызовСервера.ПолучитьСведенияОбОрганизации(Форма.СтруктураРеквизитовФормы.Организация, Форма.СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета, Сведения);
ОргСведения.Свойство("СтраховойТариф", СтраховойТариф);
Возврат ?(СтраховойТариф = Неопределено, 0, СтраховойТариф);
КонецФункции
&НаСервере
Процедура ЗаполнитьПустыеСтруктурыДанных()
СохрТабличныйДокумент = Новый ТабличныйДокумент;
СохрТабличныйДокумент.Вывести(ТабличныйДокумент);
Для Каждого Раздел Из мСвойстваРазделовДекларации.ПолучитьЭлементы() Цикл
Если НЕ Раздел.МногостраничностьВРазделе
И (ЭтаФорма["СтруктураДанных" + Раздел.ИмяСтраницы].Количество() = 0) Тогда
ТабличныйДокумент.Очистить();
ТабличныйДокумент.Вывести(ОбъектОтчета(ЭтаФорма.ИмяФормы).ПолучитьМакет(Сред(ЭтаФорма.ИмяФормы, СтрНайти(ЭтаФорма.ИмяФормы, "ФормаОтчета")) + "_" + Раздел.ИмяСтраницы));
СохранитьДанныеРаздела(Раздел.ИмяСтраницы, Ложь);
ИначеЕсли Раздел.МногостраничностьВРазделе
И (ЭтаФорма[мСтруктураМногостраничныхРазделов[Раздел.ИмяСтраницы]][0].Данные.Количество() = 0) Тогда
ТабличныйДокумент.Очистить();
ТабличныйДокумент.Вывести(ОбъектОтчета(ЭтаФорма.ИмяФормы).ПолучитьМакет(Сред(ЭтаФорма.ИмяФормы, СтрНайти(ЭтаФорма.ИмяФормы, "ФормаОтчета")) + "_" + Раздел.ИмяСтраницы));
СохранитьДанныеРаздела(Раздел.ИмяСтраницы, Ложь);
КонецЕсли;
КонецЦикла;
ТабличныйДокумент.Очистить();
ТабличныйДокумент.Вывести(СохрТабличныйДокумент);
КонецПроцедуры
&НаСервере
Процедура СохранитьДанныеРаздела(НаимРаздела, ОчищатьРазделЕслиЕстьМногострочность, ИзменятьАктивнуюСтраницу = Истина)
Если НаимРаздела = "Раздел1_31" Тогда
ЭтаФорма["СтруктураДанных" + НаимРаздела] = СобратьДанныеТекущегоТаблПоля(ЭтаФорма, "ТабличныйДокумент");
ИмяГруппы = ОпределитьИдМногострочногоРазделаПоАктивнойСтраницеНаСервере(НаимРаздела);
ОбновитьСтруктуруМногострочногоРаздела(ЭтаФорма, ИмяГруппы);
Иначе
ЭтаФорма["СтруктураДанных" + НаимРаздела] = СобратьДанныеТекущегоТаблПоля(ЭтаФорма, "ТабличныйДокумент");
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура СохранитьДеревоНастройкиСтраниц(Знач мСохраненныйДок)
Если мСохраненныйДок <> Неопределено Тогда
Если ТипЗнч(мСохраненныйДок) = Тип("ДокументСсылка.РегламентированныйОтчет") Тогда
мСохраненныйДок = мСохраненныйДок.ПолучитьОбъект();
КонецЕсли;
Если Не мСохраненныйДок.ЭтоНовый() Тогда
ХранилищеДанных = Новый ХранилищеЗначения(РеквизитФормыВЗначение("мДеревоСтраницОтчета"));
мСохраненныйДок.ДеревоНастройкиСтраниц = ХранилищеДанных;
Попытка
мСохраненныйДок.Записать();
Исключение
КонецПопытки;
КонецЕсли;
КонецЕсли;
Конецпроцедуры
&НаСервере
Функция СобратьДанныеТекущегоТаблПоляНаСервере(ИмяТабличногоПоля) Экспорт
Возврат СобратьДанныеТекущегоТаблПоля(ЭтаФорма, ИмяТабличногоПоля);
КонецФункции
&НаКлиенте
Функция СобратьДанныеТекущегоТаблПоляНаКлиенте(ИмяТабличногоПоля) Экспорт
Возврат СобратьДанныеТекущегоТаблПоля(ЭтаФорма, ИмяТабличногоПоля);
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция СобратьДанныеТекущегоТаблПоля(Форма, ИмяТабличногоПоля) Экспорт
СтруктураДанныхПоля = Новый Структура;
Для Инд = 0 По Форма[ИмяТабличногоПоля].Области.Количество() - 1 Цикл
ТекущаяОбласть = Форма[ИмяТабличногоПоля].Области[Инд];
Если Не ТекущаяОбласть.ТипОбласти = ТипОбластиЯчеекТабличногоДокумента.Прямоугольник Тогда
Продолжить;
КонецЕсли;
Если ТекущаяОбласть.СодержитЗначение <> Истина Тогда
Продолжить;
КонецЕсли;
ИмяПоказателя = ТекущаяОбласть.Имя;
ЗначениеПоказателя = ТекущаяОбласть.Значение;
СтруктураДанныхПоля.Вставить(ИмяПоказателя, ЗначениеПоказателя);
КонецЦикла;
Возврат СтруктураДанныхПоля;
КонецФункции
&НаКлиенте
Процедура ОчиститьТабличноеПолеНаКлиенте(ВыбТабличноеПолеИмя) Экспорт
ОчиститьТабличноеПоле(ЭтаФорма, ВыбТабличноеПолеИмя);
КонецПроцедуры
&НаСервере
Процедура ОчиститьТабличноеПолеНаСервере(ВыбТабличноеПолеИмя) Экспорт
ОчиститьТабличноеПоле(ЭтаФорма, ВыбТабличноеПолеИмя);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ОчиститьТабличноеПоле(Форма, ВыбТабличноеПолеИмя)
РегламентированнаяОтчетностьКлиентСервер.ОчиститьТабличноеПоле(Форма, ВыбТабличноеПолеИмя);
КонецПроцедуры
&НаКлиенте
Процедура ДатаПодписиПриИзмененииНаКлиенте()
ЗаполнитьСведенияОбОрганизации(Истина);
СтруктураРеквизитовФормы.мВПрограммеИзмененаОрганизация = Истина;
ЗаполнитьДатуВЯчейкахНаКлиенте();
СтруктураРеквизитовФормы.мВПрограммеИзмененаОрганизация = Ложь;
КонецПроцедуры
&НаСервере
Процедура ДатаПодписиПриИзмененииНаСервере()
ЗаполнитьСведенияОбОрганизации(Истина);
СтруктураРеквизитовФормы.мВПрограммеИзмененаОрганизация = Истина;
ЗаполнитьДатуВЯчейкахНаСервере();
СтруктураРеквизитовФормы.мВПрограммеИзмененаОрганизация = Ложь;
КонецПроцедуры
&НаКлиенте
Процедура Обновить(Команда)
СтруктураРеквизитовФормы.мВПрограммеИзмененаОрганизация = Истина;
ОбновитьНаСервере();
СтруктураРеквизитовФормы.мВПрограммеИзмененаОрганизация = Ложь;
Модифицированность = Истина;
КонецПроцедуры
&НаСервере
Процедура ОбновитьНаСервере()
ЗаполнитьСведенияОбОрганизации();
СтруктураДанныхРаздел2_6_7.Вставить("П000060001006", ПолучитьРазмерСтраховогоТарифа(ЭтаФорма));
РасчетВСтруктуре(ЭтаФорма, "Раздел2_6_7");
КонецПроцедуры
&НаКлиенте
Процедура РазделыОтчетаПриАктивизацииСтроки(Элемент)
Если Элемент.ТекущиеДанные = Неопределено
ИЛИ Элемент.ТекущаяСтрока = СтруктураРеквизитовФормы.ТекущаяСтрокаРазделовОтчета Тогда
Возврат;
КонецЕсли;
СтруктураРеквизитовФормы.ТекущаяСтрокаРазделовОтчета = Элемент.ТекущаяСтрока;
Элементы.ОчиститьТекущуюСтраницу.Доступность = Истина;
Если СтруктураРеквизитовФормы.ВыводитьСтраницуВТаблДокНаСервере Тогда
Если Элемент.ТекущиеДанные.РазделМногостраничный Тогда
Элемент.ТекущиеДанные.КолонкаНомерСтраницыРазделаОтчета = ?(Элемент.ТекущиеДанные.КолонкаНомерСтраницыРазделаОтчета = Неопределено
ИЛИ Элемент.ТекущиеДанные.КолонкаНомерСтраницыРазделаОтчета = 0, 1, Элемент.ТекущиеДанные.КолонкаНомерСтраницыРазделаОтчета);
КонецЕсли;
ВывестиМакетСтраницыВТабличныйДокументНаСервере(Элемент.ТекущиеДанные.КолонкаРазделыОтчетаСокрНаим, Элемент.ТекущиеДанные.КолонкаНомерСтраницыРазделаОтчета);
Иначе
СтруктураРеквизитовФормы.ВыводитьСтраницуВТаблДокНаСервере = Истина;
КонецЕсли;
Если Элемент.ТекущиеДанные.КолонкаРазделыОтчетаСокрНаим = "Титульный" Тогда
Элементы.Обновить.Доступность = Истина;
Иначе
Элементы.Обновить.Доступность = Ложь;
КонецЕсли;
КМенюТД = Элементы.ТабличныйДокумент.КонтекстноеМеню;
Если Элемент.ТекущиеДанные.КолонкаРазделыОтчетаСокрНаим = "Раздел1_31" Тогда
КМенюТД.ПодчиненныеЭлементы.ТабличныйДокументКонтекстноеМенюГруппаСтроки.ПодчиненныеЭлементы.ТабличныйДокументКонтекстноеМенюУдалитьСтроку.Видимость = Истина;
КМенюТД.ПодчиненныеЭлементы.ТабличныйДокументКонтекстноеМенюГруппаСтроки.ПодчиненныеЭлементы.ТабличныйДокументКонтекстноеМенюДобавитьСтроку.Видимость = Истина;
Иначе
КМенюТД.ПодчиненныеЭлементы.ТабличныйДокументКонтекстноеМенюГруппаСтроки.ПодчиненныеЭлементы.ТабличныйДокументКонтекстноеМенюУдалитьСтроку.Видимость = Ложь;
КМенюТД.ПодчиненныеЭлементы.ТабличныйДокументКонтекстноеМенюГруппаСтроки.ПодчиненныеЭлементы.ТабличныйДокументКонтекстноеМенюДобавитьСтроку.Видимость = Ложь;
КонецЕсли;
Элементы.ТабличныйДокумент.ТекущаяОбласть = ТабличныйДокумент.Область(1, 1);
КонецПроцедуры
&НаСервере
Процедура ВывестиМакетСтраницыВТабличныйДокументНаСервере(ИмяТекРаздела, НомерСтраницыРазделаОтчета)
СохранитьДанныеРаздела(СтруктураРеквизитовФормы.НаимТекущегоРаздела, Истина);
ВывестиМакетВТаблДокНаСервере(ИмяТекРаздела, НомерСтраницыРазделаОтчета);
СтруктураРеквизитовФормы.НаимТекущегоРаздела = ИмяТекРаздела;
КонецПроцедуры
&НаСервере
Процедура ВывестиМакетВТаблДокНаСервере(ИмяТекРаздела, НомерСтраницыРазделаОтчета)
ТабличныйДокумент.Очистить();
ТабличныйДокумент.Вывести(ОбъектОтчета(ЭтаФорма.ИмяФормы).ПолучитьМакет(Сред(ЭтаФорма.ИмяФормы, СтрНайти(ЭтаФорма.ИмяФормы, "ФормаОтчета")) + "_" + ИмяТекРаздела));
Если ОбщегоНазначения.ПодсистемаСуществует("РегламентированнаяОтчетность.Интерфейс85") Тогда
МодульРегламентированнаяОтчетностьИнтерфейс85 = ОбщегоНазначения.ОбщийМодуль("РегламентированнаяОтчетностьИнтерфейс85");
МодульРегламентированнаяОтчетностьИнтерфейс85.УстановитьТипОтображенияРедактируемойЯчейкиТабличногоДокумента(ТабличныйДокумент);
КонецЕсли;
Если ИмяТекРаздела = "Раздел1_31" Тогда
Для Каждого ЭлСтруктуры Из ЭтаФорма["СтруктураДанных" + ИмяТекРаздела] Цикл
Обл = ТабличныйДокумент.Области.Найти(ЭлСтруктуры.Ключ);
Если Обл <> Неопределено И Обл.СодержитЗначение Тогда
Обл.Значение = ЭлСтруктуры.Значение;
КонецЕсли;
КонецЦикла;
ИмяГруппы = ОпределитьИдМногострочногоРазделаПоАктивнойСтраницеНаСервере(ИмяТекРаздела);
СтруктураГруппы = Неопределено;
мСтруктураМногострочныхРазделов.Свойство(ИмяГруппы, СтруктураГруппы);
СтруктураГруппы = ЭтаФорма[СтруктураГруппы];
ВывестиРазделВТабличныйДокумент(ЭтаФорма, ИмяГруппы, СтруктураГруппы);
РегламентированнаяОтчетностьКлиентСервер.ОтрисоватьЗначкиУдаленияСтрок(ЭтаФорма);
Иначе
Для Каждого ЭлСтруктуры Из ЭтаФорма["СтруктураДанных" + ИмяТекРаздела] Цикл
Обл = ТабличныйДокумент.Области.Найти(ЭлСтруктуры.Ключ);
Если Обл <> Неопределено И Обл.СодержитЗначение Тогда
Обл.Значение = ЭлСтруктуры.Значение;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если ИмяТекРаздела = "Титульный" Тогда
УстановитьДоступностьОбластей();
Иначе
УстановитьФорматВыводаВПоляхВводаНаСервере(ИмяТекРаздела);
УстановитьЦветФонаЯчейкиНаСервере(,, ИмяТекРаздела);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ВывестиРазделВТабличныйДокументНаКлиенте(ИмяГруппы, СтруктураГруппы) Экспорт
ВывестиРазделВТабличныйДокумент(ЭтаФорма, ИмяГруппы, СтруктураГруппы);
КонецПроцедуры
&НаСервере
Процедура ВывестиРазделВТабличныйДокументНаСервере(ИмяГруппы, СтруктураГруппы) Экспорт
ВывестиРазделВТабличныйДокумент(ЭтаФорма, ИмяГруппы, СтруктураГруппы);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ВывестиРазделВТабличныйДокумент(Форма, ИмяГруппы, СтруктураГруппы)
Перем ИсходноеКоличествоСтрокГруппы;
Форма.мСтруктураИсхКолвоСтрокРазделов.Свойство(ИмяГруппы, ИсходноеКоличествоСтрокГруппы);
ТекущееКоличествоСтрокГруппы = СтруктураГруппы.Количество();
ТекТабличноеПолеИмя = "ТабличныйДокумент";
ТекТабличноеПоле = Форма[ТекТабличноеПолеИмя];
Если ТекущееКоличествоСтрокГруппы > ИсходноеКоличествоСтрокГруппы Тогда
Форма.ДобавитьНеобходимоеКоличествоДопСтрокНаСервере(ТекТабличноеПоле, ТекТабличноеПолеИмя, ИсходноеКоличествоСтрокГруппы, ТекущееКоличествоСтрокГруппы, ИмяГруппы, СтруктураГруппы);
Форма[ТекТабличноеПолеИмя] = ТекТабличноеПоле;
КонецЕсли;
Для Каждого СтрокаТаблицы Из СтруктураГруппы Цикл
НомерСтрокиВТаблице = СтруктураГруппы.Индекс(СтрокаТаблицы);
НомерСтрокиВФормеТаблицы = НомерСтрокиВТаблице + 1;
Для НомерГрафы = 1 По Форма.мСтруктураКолвоКолонокРазделов[ИмяГруппы] Цикл
КолонкаТаблицыИмя = ИмяГруппы + Формат(НомерГрафы, "ЧЦ=2; ЧВН=");
Если СтруктураГруппы[0].Свойство(КолонкаТаблицыИмя) Тогда
ИмяЯчейки = КолонкаТаблицыИмя + "_" + НомерСтрокиВФормеТаблицы;
ОбластьЯчейкиТаблицы = ТекТабличноеПоле.Области[ИмяЯчейки];
ЗначениеЯчейки = СтрокаТаблицы[КолонкаТаблицыИмя];
Если ОбластьЯчейкиТаблицы.СодержитЗначение = Истина Тогда
ОбластьЯчейкиТаблицы.Значение = ЗначениеЯчейки;
Иначе
ОбластьЯчейкиТаблицы.Текст = ЗначениеЯчейки;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьПоказателиОтчетаНаСервере(ПоказателиОтчета)
Префикс = "ПолеТабличногоДокумента";
Для Каждого Раздел Из мСвойстваРазделовДекларации.ПолучитьЭлементы() Цикл
Если НЕ Раздел.МногостраничностьВРазделе Тогда
ПоказателиОтчета.Вставить(Префикс + Раздел.ИмяСтраницы, ЭтаФорма["СтруктураДанных" + Раздел.ИмяСтраницы]);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ПроверитьВероятностныеОшибкиЗаполнения()
Если СтруктураРеквизитовФормы.НаимТекущегоРаздела = "Титульный" Тогда
СтруктураДанныхТитульный.Вставить("ИНН", ТабличныйДокумент.Области.ИНН.Значение);
СтруктураДанныхТитульный.Вставить("КПП", ТабличныйДокумент.Области.КПП.Значение);
СтруктураДанныхТитульный.Вставить("ОргФССКод", ТабличныйДокумент.Области.ОргФССКод.Значение);
СтруктураДанныхТитульный.Вставить("ДополнительныйКод", ТабличныйДокумент.Области.ДополнительныйКод.Значение);
КонецЕсли;
ИНН = СокрЛП(СтруктураДанныхТитульный.ИНН);
Если Лев(ИНН, 2) = "00" Тогда
ИНН = Сред(ИНН, 3);
КонецЕсли;
КПП = СокрЛП(СтруктураДанныхТитульный.КПП);
РегистрационныйНомерСтрахователя = СокрЛП(СтруктураДанныхТитульный.ОргФССКод);
ДополнительныйКод = СокрЛП(СтруктураДанныхТитульный.ДополнительныйКод);
Если ЗначениеЗаполнено(РегистрационныйНомерСтрахователя) Тогда
Если РегистрационныйНомерСтрахователя = ИНН ИЛИ РегистрационныйНомерСтрахователя = КПП Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = НСтр("ru='Проверьте правильность указания регистрационного номера страхователя! Возможно, регистрационный номер страхователя указан неверно!'");
Сообщение.Сообщить();
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(ДополнительныйКод) Тогда
Если ДополнительныйКод = ИНН ИЛИ ДополнительныйКод = КПП Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = НСтр("ru='Проверьте правильность указания дополнительного кода! Возможно, дополнительный код указан неверно!'");
Сообщение.Сообщить();
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СохранитьОтчет(Команда)
Если Элементы.РазделыОтчета.ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
ПроверитьВероятностныеОшибкиЗаполнения();
СохранитьНаКлиенте();
КонецПроцедуры
&НаКлиенте
Процедура СохранитьНаКлиенте(Автосохранение = Ложь, ВыполняемоеОповещение = Неопределено) Экспорт
Вариант = СтруктураРеквизитовФормы.ВидДокумента * НомерКорректировки;
Если НЕ РегламентированнаяОтчетностьКлиент.ПриЗаписиРегламентированногоОтчетаНаКлиенте(ЭтаФорма, , Автосохранение, Вариант) Тогда
Возврат;
КонецЕсли;
ПодобныйОтчетСуществует = Ложь;
ОткрытьФормуВопросаПриИзмененииВидаДокументаНомераКорректировки = Ложь;
Если Элементы.РазделыОтчета.ТекущиеДанные = Неопределено Тогда
НаименованиеТекущегоРаздела = СтруктураРеквизитовФормы.НаимТекущегоРаздела;
Иначе
НаименованиеТекущегоРаздела = Элементы.РазделыОтчета.ТекущиеДанные.КолонкаРазделыОтчетаСокрНаим;
КонецЕсли;
РезультатСохранения = ПередСохранением(, ПодобныйОтчетСуществует, Вариант, ОткрытьФормуВопросаПриИзмененииВидаДокументаНомераКорректировки, Автосохранение, НаименованиеТекущегоРаздела);
ВидДокументаНомерКорректировкиИзменен = Неопределено;
Если ПодобныйОтчетСуществует И Автосохранение Тогда
Возврат;
КонецЕсли;
НуженВопросПередСохранением = (ПодобныйОтчетСуществует ИЛИ ОткрытьФормуВопросаПриИзмененииВидаДокументаНомераКорректировки);
Если НуженВопросПередСохранением Тогда
СохранитьНаКлиентеСВопросом(Автосохранение, Вариант, ВыполняемоеОповещение, ОткрытьФормуВопросаПриИзмененииВидаДокументаНомераКорректировки, ПодобныйОтчетСуществует);
Иначе
ПослеСохраненияНаКлиенте(ВыполняемоеОповещение, РезультатСохранения);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СохранитьНаКлиентеСВопросом(Автосохранение, Вариант, ВыполняемоеОповещение, ОткрытьФормуВопросаПриИзмененииВидаДокументаНомераКорректировки, ПодобныйОтчетСуществует)
Если ПодобныйОтчетСуществует Тогда
Кнопки = Новый СписокЗначений;
Кнопки.Добавить(КодВозвратаДиалога.Да, "Сохранить");
Кнопки.Добавить(КодВозвратаДиалога.Нет, "Отмена");
ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='Отчет с видом %1 уже существует.
|Сохранить отчет с таким же видом?'"), ?(Вариант = 0, """Первичный""", """Корректирующий/" + Вариант + """"));
ДополнительныеПараметры = Новый Структура("Автосохранение, Вариант, ВыполняемоеОповещение, ОткрытьФормуВопросаПриИзмененииВидаДокументаНомераКорректировки", Автосохранение, Вариант, ВыполняемоеОповещение, ОткрытьФормуВопросаПриИзмененииВидаДокументаНомераКорректировки);
ОписаниеОповещения = Новый ОписаниеОповещения("ВопросСохранитьОтчетСТакимЖеВидомЗавершение", ЭтотОбъект, ДополнительныеПараметры);
ПоказатьВопрос(ОписаниеОповещения, ТекстВопроса, Кнопки, , Кнопки.Получить(1).Значение);
Иначе
СохранитьНаКлиентеСВопросомПродолжение(Автосохранение, Вариант, ВыполняемоеОповещение, ОткрытьФормуВопросаПриИзмененииВидаДокументаНомераКорректировки);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ВопросСохранитьОтчетСТакимЖеВидомЗавершение(РезультатВопроса, ДополнительныеПараметры) Экспорт
Автосохранение = ДополнительныеПараметры.Автосохранение;
Вариант = ДополнительныеПараметры.Вариант;
ВыполняемоеОповещение = ДополнительныеПараметры.ВыполняемоеОповещение;
ОткрытьФормуВопросаПриИзмененииВидаДокументаНомераКорректировки = ДополнительныеПараметры.ОткрытьФормуВопросаПриИзмененииВидаДокументаНомераКорректировки;
Ответ = РезультатВопроса;
Если Ответ = КодВозвратаДиалога.Нет Тогда
Возврат;
КонецЕсли;
СохранитьНаКлиентеСВопросомПродолжение(Автосохранение, Вариант, ВыполняемоеОповещение, ОткрытьФормуВопросаПриИзмененииВидаДокументаНомераКорректировки);
КонецПроцедуры
&НаКлиенте
Процедура СохранитьНаКлиентеСВопросомПродолжение(Автосохранение, Вариант, ВыполняемоеОповещение, ОткрытьФормуВопросаПриИзмененииВидаДокументаНомераКорректировки)
Если ОткрытьФормуВопросаПриИзмененииВидаДокументаНомераКорректировки Тогда
ПараметрыФормы = Новый Структура();
ПараметрыФормы.Вставить("ВидОтчета", Вариант);
ФормаВопроса = РегламентированнаяОтчетностьКлиент.ПолучитьОбщуюФормуПоИмени("ВопросПриИзмененииВидаДокументаНомераКорректировки", ПараметрыФормы);
ФормаВопроса.РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца;
ДополнительныеПараметры = Новый Структура("Автосохранение, Вариант, ВыполняемоеОповещение", Автосохранение, Вариант, ВыполняемоеОповещение);
ОписаниеОповещения = Новый ОписаниеОповещения("ВопросПриИзмененииВидаДокументаЗавершение", ЭтотОбъект, ДополнительныеПараметры);
ФормаВопроса.ОписаниеОповещенияОЗакрытии = ОписаниеОповещения;
ФормаВопроса.Открыть();
Иначе
Состояние(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='Сохраняется %1...'"), ЭтаФорма.Заголовок), , , БиблиотекаКартинок.Записать);
РезультатСохранения = Сохранить(Автосохранение, , Вариант, Неопределено, Элементы.РазделыОтчета.ТекущиеДанные.КолонкаРазделыОтчетаСокрНаим);
ПослеСохраненияНаКлиенте(ВыполняемоеОповещение, РезультатСохранения);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ВопросПриИзмененииВидаДокументаЗавершение(КодВозврата, ДополнительныеПараметры) Экспорт
Автосохранение = ДополнительныеПараметры.Автосохранение;
Вариант = ДополнительныеПараметры.Вариант;
ВыполняемоеОповещение = ДополнительныеПараметры.ВыполняемоеОповещение;
Если КодВозврата = КодВозвратаДиалога.Да
ИЛИ КодВозврата = КодВозвратаДиалога.Нет Тогда
ВидДокументаНомерКорректировкиИзменен = ?(КодВозврата = КодВозвратаДиалога.Да, Истина, Ложь);
Иначе
Возврат;
КонецЕсли;
Состояние(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='Сохраняется %1...'"), ЭтаФорма.Заголовок), , , БиблиотекаКартинок.Записать);
РезультатСохранения = Сохранить(Автосохранение, , Вариант, ВидДокументаНомерКорректировкиИзменен, Элементы.РазделыОтчета.ТекущиеДанные.КолонкаРазделыОтчетаСокрНаим);
ПослеСохраненияНаКлиенте(ВыполняемоеОповещение, РезультатСохранения);
КонецПроцедуры
&НаКлиенте
Процедура ПослеСохраненияНаКлиенте(ВыполняемоеОповещение, РезультатСохранения)
КлючУникальности = СтруктураРеквизитовФормы.мСохраненныйДок;
Если РезультатСохранения Тогда
РегламентированнаяОтчетностьКлиент.ПослеЗаписиРегламентированногоОтчета(ЭтаФорма);
Если ВыполняемоеОповещение <> Неопределено Тогда
ВыполнитьОбработкуОповещения(ВыполняемоеОповещение);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ПередСохранением(КодИФНС = "не применимо", ПодобныйОтчетСуществует, Вариант, ОткрытьФормуВопросаПриИзмененииВидаДокументаНомераКорректировки, Автосохранение, НаимТекРаздела)
Если РегламентированнаяОтчетность.БылиИзмененыКлючевыеРеквизитыОтчета(ЭтаФорма, КодИФНС)
И РегламентированнаяОтчетность.СуществуетДокументСАналогичнымиРеквизитами(ЭтаФорма, КодИФНС) Тогда
ПодобныйОтчетСуществует = Истина;
КонецЕсли;
СтруктураРеквизитовФормы.мЗаписываетсяНовыйДокумент = (СтруктураРеквизитовФормы.мСохраненныйДок = Неопределено ИЛИ СтруктураРеквизитовФормы.мСкопированаФорма <> Неопределено);
Если Вариант <> Неопределено И ((СтруктураРеквизитовФормы.мСохраненныйДок = Неопределено) ИЛИ (СтруктураРеквизитовФормы.мСкопированаФорма <> Неопределено) ИЛИ (Вариант <> СтруктураРеквизитовФормы.мВариант)) Тогда
Если СтруктураРеквизитовФормы.мСохраненныйДок = Неопределено ИЛИ СтруктураРеквизитовФормы.мСкопированаФорма <> Неопределено Тогда
ИначеЕсли Вариант <> СтруктураРеквизитовФормы.мВариант Тогда
ОткрытьФормуВопросаПриИзмененииВидаДокументаНомераКорректировки = Истина;
КонецЕсли;
КонецЕсли;
Если ПодобныйОтчетСуществует
ИЛИ ОткрытьФормуВопросаПриИзмененииВидаДокументаНомераКорректировки Тогда
Возврат Ложь;
КонецЕсли;
Возврат Сохранить(Автосохранение, , Вариант, , НаимТекРаздела);
КонецФункции
&НаСервере
Функция Сохранить(Автосохранение = Ложь, КодИФНС = "не применимо", Вариант, ВидДокументаНомерКорректировкиИзменен = Неопределено, НаимТекРаздела) Экспорт
ДанныеДляРазблокирования = Неопределено;
Если НЕ СтруктураРеквизитовФормы.мСохраненныйДок = Неопределено Тогда
Если НЕ СтруктураРеквизитовФормы.мБезОткрытияФормы Тогда
ДанныеДляРазблокирования = Новый Структура("Ключ,ИдФормы",
СтруктураРеквизитовФормы.мСохраненныйДок, ЭтаФорма.УникальныйИдентификатор);
КонецЕсли;
СтруктураРеквизитовФормы.мСохраненныйДок = СтруктураРеквизитовФормы.мСохраненныйДок.ПолучитьОбъект();
КонецЕсли;
Если НЕ РегламентированнаяОтчетность.ПриЗаписиРегламентированногоОтчетаНаСервере(ЭтаФорма, КодИФНС, Автосохранение, Вариант, ВидДокументаНомерКорректировкиИзменен, СтруктураРеквизитовФормы.мСохраненныйДок) Тогда
СтруктураРеквизитовФормы.мСохраненныйДок = СтруктураРеквизитовФормы.мСохраненныйДок.Ссылка;
Возврат Ложь;
КонецЕсли;
СтруктураРеквизитовФормы.мСохраненныйДок.ИсточникОтчета = Метаданные.Отчеты[ИмяОтчета(ЭтаФорма.ИмяФормы)].Имя;
СтруктураРеквизитовФормы.мСохраненныйДок.НаименованиеОтчета = Метаданные.Отчеты[ИмяОтчета(ЭтаФорма.ИмяФормы)].ОсновнаяФорма.Синоним;
СтруктураРеквизитовФормы.мСохраненныйДок.ДатаНачала = СтруктураРеквизитовФормы.мДатаНачалаПериодаОтчета;
СтруктураРеквизитовФормы.мСохраненныйДок.ДатаОкончания = СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета;
СтруктураРеквизитовФормы.мСохраненныйДок.ВыбраннаяФорма = СтруктураРеквизитовФормы.мВыбраннаяФорма;
СтруктураРеквизитовФормы.мСохраненныйДок.Организация = СтруктураРеквизитовФормы.Организация;
СтруктураРеквизитовФормы.мСохраненныйДок.ДатаПодписи = ДатаПодписи;
СтруктураРеквизитовФормы.мСохраненныйДок.ЕдиницаИзмерения = СтруктураРеквизитовФормы.ЕдиницаИзмерения;
СтруктураРеквизитовФормы.мСохраненныйДок.ТочностьЕдиницыИзмерения = СтруктураРеквизитовФормы.ТочностьЕдиницыИзмерения;
СтруктураРеквизитовФормы.мСохраненныйДок.ВидОтчетности = Перечисления.ВидыОтчетности.РегламентированнаяОтчетность;
СтруктураРеквизитовФормы.мСохраненныйДок.Комментарий = Комментарий;
СтруктураРеквизитовФормы.мСохраненныйДок.Вид = Вариант;
СтруктураРеквизитовФормы.мСохраненныйДок.ПредставлениеВида = РегламентированнаяОтчетность.ПредставлениеВидаДокумента(СтруктураРеквизитовФормы.мСохраненныйДок.Вид);
СтруктураРеквизитовФормы.мВариант = Вариант;
СтруктураРеквизитовФормы.мСохраненныйДок.ФорматВыгрузки = "Автоматически";
СохранитьДанныеРаздела(НаимТекРаздела, Ложь);
ЗаполнитьПустыеСтруктурыДанных();
ПоказателиОтчета = Новый Структура();
ЗаполнитьПоказателиОтчетаНаСервере(ПоказателиОтчета);
СписокСохранения = Новый Структура();
СписокСохранения.Вставить("ПоказателиОтчета", ПоказателиОтчета);
ДанныеМногострочныхРазделов = Новый Структура;
Для Каждого ЭлементСтруктуры Из мСтруктураМногострочныхРазделов Цикл
ДанныеМногострочныхРазделов.Вставить(ЭлементСтруктуры.Ключ, ДанныеФормыВЗначение(ЭтаФорма[ЭлементСтруктуры.Значение], Тип("ТаблицаЗначений")));
КонецЦикла;
СписокСохранения.Вставить("ДанныеМногострочныхРазделов", ДанныеМногострочныхРазделов);
ДанныеМногостраничныхРазделов = Новый Структура;
МассивТиповНеопределено = Новый Массив;
МассивТиповНеопределено.Добавить(Тип("Неопределено"));
ОписаниеТиповНеопределено = Новый ОписаниеТипов(МассивТиповНеопределено);
Для Каждого ЭлементСтруктуры Из мСтруктураМногостраничныхРазделов Цикл
ДанныеМногостраничныхРазделов.Вставить(ЭлементСтруктуры.Ключ, ДанныеФормыВЗначение(ЭтаФорма[ЭлементСтруктуры.Значение], Тип("ТаблицаЗначений")));
ТаблЗнач = Неопределено;
Если ДанныеМногостраничныхРазделов.Свойство(ЭлементСтруктуры.Ключ, ТаблЗнач) Тогда
Если НЕ ТаблЗнач.Колонки.Найти("Данные") = Неопределено Тогда
ТаблЗнач.Колонки.Удалить("Данные");
ТаблЗнач.Колонки.Добавить("Данные", ОписаниеТиповНеопределено);
Ном = 0;
Для Каждого СтрокаТаблЗнач Из ТаблЗнач Цикл
СтрокаТаблЗнач.Данные = ЭтаФорма[ЭлементСтруктуры.Значение][Ном].Данные[0].Значение;
Ном = Ном + 1;
КонецЦикла;
КонецЕсли;
Если НЕ ТаблЗнач.Колонки.Найти("ДанныеДопСтрок") = Неопределено Тогда
ТаблЗнач.Колонки.Удалить("ДанныеДопСтрок");
ТаблЗнач.Колонки.Добавить("ДанныеДопСтрок", ОписаниеТиповНеопределено);
Ном = 0;
Для Каждого СтрокаТаблЗнач Из ТаблЗнач Цикл
Если (ЭтаФорма[ЭлементСтруктуры.Значение][Ном].ДанныеДопСтрок.Количество() > 0)
И (ЭтаФорма[ЭлементСтруктуры.Значение][Ном].ДанныеДопСтрок[0].Представление = "ДанныеФормыКоллекцияТаблицаДопСтрокРаздела") Тогда
СтрокаТаблЗнач.ДанныеДопСтрок = ДанныеФормыВЗначение(ЭтаФорма[ЭлементСтруктуры.Значение][Ном].ДанныеДопСтрок[0].Значение, Тип("ТаблицаЗначений"));
Ном = Ном + 1;
Продолжить;
КонецЕсли;
СтруктураДанныхДопСтрок = Новый Структура;
Для Каждого ЭлСтруктуры Из ЭтаФорма[ЭлементСтруктуры.Значение][Ном].ДанныеДопСтрок Цикл
СтруктураДанныхДопСтрок.Вставить(ДанныеФормыВЗначение(ЭлСтруктуры.Значение, Тип("ТаблицаЗначений")));
КонецЦикла;
СтрокаТаблЗнач.ДанныеДопСтрок = СтруктураДанныхДопСтрок;
Ном = Ном + 1;
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецЦикла;
СписокСохранения.Вставить("ДанныеМногостраничныхРазделов", ДанныеМногостраничныхРазделов);
ДанныеВариантовАвтоЗаполнения = Новый Структура;
Для Каждого ЭлементСтруктуры Из мСтруктураВариантыЗаполнения Цикл
МассивТаблЗнач = Новый Массив;
ДанныеВариантовАвтоЗаполнения.Вставить(ЭлементСтруктуры.Ключ, МассивТаблЗнач);
Для Каждого ЭлементМассива Из ЭтаФорма["ТаблицаВариантыЗаполнения" + ЭлементСтруктуры.Ключ] Цикл
МассивТаблЗнач.Добавить(ДанныеФормыВЗначение(ЭлементМассива.ТаблицаВариантовЗаполнения, Тип("ТаблицаЗначений")));
КонецЦикла;
КонецЦикла;
СписокСохранения.Вставить("ДанныеВариантовАвтоЗаполнения", ДанныеВариантовАвтоЗаполнения);
СписокСохранения.Вставить("АвторасчетОтключен", СтруктураРеквизитовФормы.ФлажокОтклАвтоРасчет);
СписокСохранения.Вставить("ВерсияФормы", СтруктураРеквизитовФормы.мВерсияФормы);
СписокСохранения.Вставить("ФлПодсчетСтраниц", СтруктураРеквизитовФормы.мСчетчикСтраниц);
СписокСохранения.Вставить("ФлПроверятьСоотношенияПриПечатиИВыгрузки", СтруктураРеквизитовФормы.мПроверятьСоотношенияПриПечатиИВыгрузки);
СписокСохранения.Вставить("ФлОтклВыборЗначений", СтруктураРеквизитовФормы.мАвтоВыборКодов);
СписокСохранения.Вставить("ДокументУпПред", мСтруктураДокУпПред);
ХранилищеДанных = Новый ХранилищеЗначения(СписокСохранения);
СтруктураРеквизитовФормы.мСохраненныйДок.ДанныеОтчета = ХранилищеДанных;
РегламентированнаяОтчетность.ПередЗаписьюНаСервере(ЭтотОбъект,
СтруктураРеквизитовФормы.мСохраненныйДок, Новый Структура);
Попытка
СтруктураРеквизитовФормы.мСохраненныйДок.Записать();
РегламентированнаяОтчетность.СохранитьСтатусОтправкиРеглОтчета(ЭтаФорма);
Исключение
Если НЕ Автосохранение Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='%1'"), РегламентированнаяОтчетностьКлиентСервер.СформироватьТекстСообщения(ОписаниеОшибки()));
Сообщение.Сообщить();
КонецЕсли;
СтруктураРеквизитовФормы.мСохраненныйДок = СтруктураРеквизитовФормы.мСохраненныйДок.Ссылка;
Возврат Ложь;
КонецПопытки;
Модифицированность = Ложь;
СохранитьДеревоНастройкиСтраниц(СтруктураРеквизитовФормы.мСохраненныйДок);
РегламентированнаяОтчетность.ПослеЗаписиНаСервере(ЭтотОбъект,
СтруктураРеквизитовФормы.мСохраненныйДок, Новый Структура);
СтруктураРеквизитовФормы.мСохраненныйДок = СтруктураРеквизитовФормы.мСохраненныйДок.Ссылка;
Если НЕ СтруктураРеквизитовФормы.мБезОткрытияФормы
И НЕ СтруктураРеквизитовФормы.мСохраненныйДок = Неопределено Тогда
ЗаблокироватьДанныеДляРедактирования(СтруктураРеквизитовФормы.мСохраненныйДок, , ЭтаФорма.УникальныйИдентификатор);
КонецЕсли;
Если ДанныеДляРазблокирования <> Неопределено Тогда
РазблокироватьДанныеДляРедактирования(ДанныеДляРазблокирования.Ключ, ДанныеДляРазблокирования.ИдФормы);
КонецЕсли;
Возврат Истина;
КонецФункции
&НаСервере
Процедура ВосстановитьСохраненныеДанные()
Перем ДанныеМногострочныхРазделов;
Перем ДанныеМногостраничныхРазделов;
Перем ДанныеВариановАвтоЗаполнения;
Перем ПоказателиОтчета;
Перем ВерсияФормы;
Перем АвторасчетОтключен;
Перем ТаблицаМногостраничногоДокумента;
Если СтруктураРеквизитовФормы.Организация <> СтруктураРеквизитовФормы.мСохраненныйДок.Организация
И СтруктураРеквизитовФормы.Организация <> РегламентированнаяОтчетностьКлиентСервер.ПустоеЗначениеТипа("СправочникСсылка.Организации")
И СтруктураРеквизитовФормы.Организация <> Неопределено Тогда
СтруктураРеквизитовФормы.мВПрограммеИзмененаОрганизация = Истина;
Иначе
СтруктураРеквизитовФормы.Организация = СтруктураРеквизитовФормы.мСохраненныйДок.Организация;
КонецЕсли;
ДатаПодписи = СтруктураРеквизитовФормы.мСохраненныйДок.ДатаПодписи;
СтруктураРеквизитовФормы.ЕдиницаИзмерения = СтруктураРеквизитовФормы.мСохраненныйДок.ЕдиницаИзмерения;
СтруктураРеквизитовФормы.ТочностьЕдиницыИзмерения = СтруктураРеквизитовФормы.мСохраненныйДок.ТочностьЕдиницыИзмерения;
Комментарий = СтруктураРеквизитовФормы.мСохраненныйДок.Комментарий;
СписокСохранения = СтруктураРеквизитовФормы.мСохраненныйДок.ДанныеОтчета.Получить();
ДеревоНастройкиСтраниц = СтруктураРеквизитовФормы.мСохраненныйДок.ДеревоНастройкиСтраниц.Получить();
ЗначениеВРеквизитФормы(ДеревоНастройкиСтраниц.Скопировать(), "мДеревоСтраницОтчета");
Если СписокСохранения.Свойство( "ДанныеМногострочныхРазделов", ДанныеМногострочныхРазделов) Тогда
Для Каждого ЭлементСтруктуры Из ДанныеМногострочныхРазделов Цикл
НайденноеЗначение = Неопределено;
мСтруктураМногострочныхРазделов.Свойство(ЭлементСтруктуры.Ключ, НайденноеЗначение);
Если НЕ НайденноеЗначение = Неопределено Тогда
ЗначениеВДанныеФормы(ЭлементСтруктуры.Значение, ЭтаФорма[НайденноеЗначение])
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если СписокСохранения.Свойство("ДанныеМногостраничныхРазделов", ДанныеМногостраничныхРазделов) Тогда
Для Каждого ЭлементСтруктуры Из ДанныеМногостраничныхРазделов Цикл
НайденноеЗначение = Неопределено;
мСтруктураМногостраничныхРазделов.Свойство(ЭлементСтруктуры.Ключ, НайденноеЗначение);
Если НЕ НайденноеЗначение = Неопределено Тогда
НайденноеЗначение = ЭтаФорма[НайденноеЗначение];
ЗначениеВДанныеФормы(ЭлементСтруктуры.Значение, НайденноеЗначение);
Если НайденноеЗначение[0].Свойство("Данные") Тогда
Для Каждого СтрокаТаблЗнач Из НайденноеЗначение Цикл
Если ТипЗнч(СтрокаТаблЗнач.Данные) = Тип("СписокЗначений") Тогда
СтрокаТаблЗнач.Данные.Очистить();
СтрокаТаблЗнач.Данные.Добавить(ЭлементСтруктуры.Значение[НайденноеЗначение.Индекс(СтрокаТаблЗнач)].Данные);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если НайденноеЗначение[0].Свойство("ДанныеДопСтрок") Тогда
Ном = 0;
Для Каждого СтрокаТаблЗнач Из ЭлементСтруктуры.Значение Цикл
Если ТипЗнч(СтрокаТаблЗнач.ДанныеДопСтрок) = Тип("Структура") Тогда
Для Каждого ЭлСтруктуры Из СтрокаТаблЗнач.ДанныеДопСтрок Цикл
ТаблЗнач = ЭлСтруктуры.Значение;
ЭлСтруктуры.Значение = ЭтаФорма["Хранилище" + ОпределитьИдМногострочногоРазделаПоАктивнойСтраницеНаСервере(ЭлементСтруктуры.Ключ)].Добавить().Таблица;
ЗначениеВДанныеФормы(ТаблЗнач, ЭлСтруктуры.Значение);
НайденноеЗначение[Ном].ДанныеДопСтрок.Добавить(ЭлСтруктуры.Значение);
КонецЦикла;
ИначеЕсли ТипЗнч(СтрокаТаблЗнач.ДанныеДопСтрок) = Тип("ТаблицаЗначений") Тогда
СтрокаТаблЗначДанныеДопСтрок = ЭтаФорма["Хранилище" + ОпределитьИдМногострочногоРазделаПоАктивнойСтраницеНаСервере(ЭлементСтруктуры.Ключ)].Добавить().Таблица;
ЗначениеВДанныеФормы(СтрокаТаблЗнач.ДанныеДопСтрок, СтрокаТаблЗначДанныеДопСтрок);
НайденноеЗначение[Ном].ДанныеДопСтрок.Добавить(СтрокаТаблЗначДанныеДопСтрок, "ДанныеФормыКоллекцияТаблицаДопСтрокРаздела");
КонецЕсли;
Ном = Ном + 1;
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если СписокСохранения.Свойство("ДанныеВариантовАвтоЗаполнения", ДанныеВариановАвтоЗаполнения) Тогда
Если НЕ ДанныеВариановАвтоЗаполнения = Неопределено Тогда
мСтруктураВариантыЗаполнения.Очистить();
Для Каждого ЭлементСтруктуры Из ДанныеВариановАвтоЗаполнения Цикл
мСтруктураВариантыЗаполнения.Вставить(ЭлементСтруктуры.Ключ, ЭлементСтруктуры.Ключ);
ЭтаФорма["ТаблицаВариантыЗаполнения" + ЭлементСтруктуры.Ключ].Очистить();
Для Каждого ЭлементМассива Из ЭлементСтруктуры.Значение Цикл
ТаблВарЗаполнения = ЭтаФорма["ТаблицаВариантыЗаполнения" + ЭлементСтруктуры.Ключ].Добавить().ТаблицаВариантовЗаполнения;
ЗначениеВДанныеФормы(ЭлементМассива, ТаблВарЗаполнения);
КонецЦикла;
КонецЦикла;
КонецЕсли;
КонецЕсли;
СписокСохранения.Свойство("ФлПодсчетСтраниц", СтруктураРеквизитовФормы.мСчетчикСтраниц);
СписокСохранения.Свойство("ФлПроверятьСоотношенияПриПечатиИВыгрузки", СтруктураРеквизитовФормы.мПроверятьСоотношенияПриПечатиИВыгрузки);
СтруктураРеквизитовФормы.мПроверятьСоотношенияПриПечатиИВыгрузки = ?(СтруктураРеквизитовФормы.мПроверятьСоотношенияПриПечатиИВыгрузки = Неопределено, Ложь, СтруктураРеквизитовФормы.мПроверятьСоотношенияПриПечатиИВыгрузки);
СписокСохранения.Свойство("ФлОтклВыборЗначений", СтруктураРеквизитовФормы.мАвтоВыборКодов);
Если СтруктураРеквизитовФормы.мАвтоВыборКодов = Неопределено Тогда
СтруктураРеквизитовФормы.мАвтоВыборКодов = Ложь;
КонецЕсли;
СписокСохранения.Свойство("АвторасчетОтключен", АвторасчетОтключен);
Если АвторасчетОтключен = Неопределено Тогда
СписокСохранения.Свойство("Автозаполнение", АвторасчетОтключен);
КонецЕсли;
Если НЕ АвторасчетОтключен = Неопределено Тогда
СтруктураРеквизитовФормы.ФлажокОтклАвтоРасчет = АвторасчетОтключен;
КонецЕсли;
СписокСохранения.Свойство("ДокументУпПред", мСтруктураДокУпПред);
Если мСтруктураДокУпПред = Неопределено Тогда
мСтруктураДокУпПред = Новый Структура;
мСтруктураДокУпПред.Вставить("НаименованиеУдостоверяющего", " ");
мСтруктураДокУпПред.Вставить("СерияРимскиеЦифры", " ");
мСтруктураДокУпПред.Вставить("СерияРусскиеБуквы", " ");
мСтруктураДокУпПред.Вставить("НомерУдостоверяющего", " ");
мСтруктураДокУпПред.Вставить("ДатаВыдачи", "");
мСтруктураДокУпПред.Вставить("КемВыдан", " ");
КонецЕсли;
Если СписокСохранения.Свойство("ВерсияФормы", ВерсияФормы) Тогда
Если ВерсияФормы <> СтруктураРеквизитовФормы.мВерсияФормы Тогда
СтруктураРеквизитовФормы.ФлагСохранения = Истина;
ОбновитьПользовательскиеНастройки();
КонецЕсли;
КонецЕсли;
СписокСохранения.Свойство( "ПоказателиОтчета", ПоказателиОтчета );
СформироватьДеревоРазделовОтчетаНаСервере();
Префикс = "ПолеТабличногоДокумента";
Для Каждого Раздел Из мСвойстваРазделовДекларации.ПолучитьЭлементы() Цикл
Если НЕ Раздел.МногостраничностьВРазделе Тогда
ЭтаФорма["СтруктураДанных" + Раздел.ИмяСтраницы] = ПоказателиОтчета[Префикс + Раздел.ИмяСтраницы];
КонецЕсли;
КонецЦикла;
ВосстановитьСведенияОбОрганизацииИзТитульногоЛистаСтарогоОбразца(ПоказателиОтчета);
ВосстановитьСведенияИзРаздела1_1СтарогоОбразца(ПоказателиОтчета);
ВосстановитьСведенияИзРаздела2_6_7СтарогоОбразца(ПоказателиОтчета);
ИмяТекРаздела = "Титульный";
Для Каждого ЭлСтруктуры Из ЭтаФорма["СтруктураДанных" + ИмяТекРаздела] Цикл
Попытка
ТабличныйДокумент.Области[ЭлСтруктуры.Ключ].Значение = ЭлСтруктуры.Значение;
Исключение
КонецПопытки;
КонецЦикла;
РегламентированнаяОтчетность.ОперацииПриВосстановленииРегламентированногоОтчета(ЭтаФорма);
СтруктураРеквизитовФормы.мДелитель = 1;
КопироватьДанныеФормы(мДеревоСтраницОтчета, мДеревоВыбранныхСтраниц);
ПривестиВСоответствиеЗначенияИзДопСтрокСтруктурамДанныхРазделов();
Модифицированность = Ложь;
СтруктураРеквизитовФормы.мДокументВосстановлен = Истина;
КонецПроцедуры
&НаСервере
Процедура ВосстановитьСведенияОбОрганизацииИзТитульногоЛистаСтарогоОбразца(ПоказателиОтчета)
ПоказателиТаблПоле = ПоказателиОтчета["ПолеТабличногоДокументаТитульный"];
Для Каждого Показатель Из ПоказателиТаблПоле Цикл
ИмяПоказателя = Показатель.Ключ;
Если ИмяПоказателя = "ОргФССКод_1" Тогда
СтруктураДанныхТитульный.Вставить("ОргФССКод");
Для Ном = 1 По 10 Цикл
СтруктураДанныхТитульный.ОргФССКод = СокрЛП(СтруктураДанныхТитульный.ОргФССКод) + ПоказателиТаблПоле["ОргФССКод_" + Ном];
СтруктураДанныхТитульный.Удалить("ОргФССКод_" + Ном);
КонецЦикла;
ИначеЕсли ИмяПоказателя = "ДополнительныйКод_1" Тогда
СтруктураДанныхТитульный.Вставить("ДополнительныйКод");
Для Ном = 1 По 10 Цикл
СтруктураДанныхТитульный.ДополнительныйКод = СокрЛП(СтруктураДанныхТитульный.ДополнительныйКод) + ПоказателиТаблПоле["ДополнительныйКод_" + Ном];
СтруктураДанныхТитульный.Удалить("ДополнительныйКод_" + Ном);
КонецЦикла;
ИначеЕсли ИмяПоказателя = "КодПодчиненности_1" Тогда
СтруктураДанныхТитульный.Вставить("КодПодчиненности");
Для Ном = 1 По 5 Цикл
СтруктураДанныхТитульный.КодПодчиненности = СокрЛП(СтруктураДанныхТитульный.КодПодчиненности) + ПоказателиТаблПоле["КодПодчиненности_" + Ном];
СтруктураДанныхТитульный.Удалить("КодПодчиненности_" + Ном);
КонецЦикла;
ИначеЕсли ИмяПоказателя = "ИНН1" Тогда
СтруктураДанныхТитульный.Вставить("ИНН");
Для Ном = 1 По 12 Цикл
СтруктураДанныхТитульный.ИНН = СокрЛП(СтруктураДанныхТитульный.ИНН) + ПоказателиТаблПоле["ИНН" + Ном];
СтруктураДанныхТитульный.Удалить("ИНН" + Ном);
КонецЦикла;
Если Лев(СтруктураДанныхТитульный.ИНН, 2) = "00" Тогда
СтруктураДанныхТитульный.ИНН = Сред(СтруктураДанныхТитульный.ИНН, 3);
КонецЕсли;
ИначеЕсли ИмяПоказателя = "КПП1" Тогда
СтруктураДанныхТитульный.Вставить("КПП");
Для Ном = 1 По 9 Цикл
СтруктураДанныхТитульный.КПП = СокрЛП(СтруктураДанныхТитульный.КПП) + ПоказателиТаблПоле["КПП" + Ном];
СтруктураДанныхТитульный.Удалить("КПП" + Ном);
КонецЦикла;
ИначеЕсли ИмяПоказателя = "ОГРН1" Тогда
СтруктураДанныхТитульный.Вставить("ОГРН");
Для Ном = 1 По 15 Цикл
СтруктураДанныхТитульный.ОГРН = СокрЛП(СтруктураДанныхТитульный.ОГРН) + ПоказателиТаблПоле["ОГРН" + Ном];
СтруктураДанныхТитульный.Удалить("ОГРН" + Ном);
КонецЦикла;
ИначеЕсли ИмяПоказателя = "ТелОрганизации1" Тогда
СтруктураДанныхТитульный.Вставить("ТелОрганизации");
Для Ном = 1 По 15 Цикл
СтруктураДанныхТитульный.ТелОрганизации = СокрЛП(СтруктураДанныхТитульный.ТелОрганизации) + ПоказателиТаблПоле["ТелОрганизации" + Ном];
СтруктураДанныхТитульный.Удалить("ТелОрганизации" + Ном);
КонецЦикла;
ИначеЕсли ИмяПоказателя = "ОКАТО1" Тогда
СтруктураДанныхТитульный.Вставить("ОКАТО");
Для Ном = 1 По 11 Цикл
СтруктураДанныхТитульный.ОКАТО = СокрЛП(СтруктураДанныхТитульный.ОКАТО) + ПоказателиТаблПоле["ОКАТО" + Ном];
СтруктураДанныхТитульный.Удалить("ОКАТО" + Ном);
КонецЦикла;
ИначеЕсли ИмяПоказателя = "ШифрСтрах1Часть_1" Тогда
СтруктураДанныхТитульный.Вставить("ШифрСтрах1Часть");
Для Ном = 1 По 3 Цикл
СтруктураДанныхТитульный.ШифрСтрах1Часть = СокрЛП(СтруктураДанныхТитульный.ШифрСтрах1Часть) + ПоказателиТаблПоле["ШифрСтрах1Часть_" + Ном];
СтруктураДанныхТитульный.Удалить("ШифрСтрах1Часть_" + Ном);
КонецЦикла;
ИначеЕсли ИмяПоказателя = "ШифрСтрах2Часть_1" Тогда
СтруктураДанныхТитульный.Вставить("ШифрСтрах2Часть");
Для Ном = 1 По 2 Цикл
СтруктураДанныхТитульный.ШифрСтрах2Часть = СокрЛП(СтруктураДанныхТитульный.ШифрСтрах2Часть) + ПоказателиТаблПоле["ШифрСтрах2Часть_" + Ном];
СтруктураДанныхТитульный.Удалить("ШифрСтрах2Часть_" + Ном);
КонецЦикла;
ИначеЕсли ИмяПоказателя = "ШифрСтрах3Часть_1" Тогда
СтруктураДанныхТитульный.Вставить("ШифрСтрах3Часть");
Для Ном = 1 По 2 Цикл
СтруктураДанныхТитульный.ШифрСтрах3Часть = СокрЛП(СтруктураДанныхТитульный.ШифрСтрах3Часть) + ПоказателиТаблПоле["ШифрСтрах3Часть_" + Ном];
СтруктураДанныхТитульный.Удалить("ШифрСтрах3Часть_" + Ном);
КонецЦикла;
ИначеЕсли ИмяПоказателя = "НомерКорректировки1" Тогда
СтруктураДанныхТитульный.Вставить("НомерКорректировки");
Для Ном = 1 По 3 Цикл
СтруктураДанныхТитульный.НомерКорректировки = СокрЛП(СтруктураДанныхТитульный.НомерКорректировки) + ПоказателиТаблПоле["НомерКорректировки" + Ном];
СтруктураДанныхТитульный.Удалить("НомерКорректировки" + Ном);
КонецЦикла;
ИначеЕсли ИмяПоказателя = "Период_1" Тогда
СтруктураДанныхТитульный.Вставить("Период");
Для Ном = 1 По 2 Цикл
СтруктураДанныхТитульный.Период = СокрЛП(СтруктураДанныхТитульный.Период) + ПоказателиТаблПоле["Период_" + Ном];
СтруктураДанныхТитульный.Удалить("Период_" + Ном);
КонецЦикла;
ИначеЕсли ИмяПоказателя = "НомДопРасчета_1" Тогда
СтруктураДанныхТитульный.Вставить("НомДопРасчета");
Для Ном = 1 По 2 Цикл
СтруктураДанныхТитульный.НомДопРасчета = СокрЛП(СтруктураДанныхТитульный.НомДопРасчета) + ПоказателиТаблПоле["НомДопРасчета_" + Ном];
СтруктураДанныхТитульный.Удалить("НомДопРасчета_" + Ном);
КонецЦикла;
ИначеЕсли ИмяПоказателя = "ОтчетГод1" Тогда
СтруктураДанныхТитульный.Вставить("ОтчетГод");
Для Ном = 1 По 4 Цикл
СтруктураДанныхТитульный.ОтчетГод = СокрЛП(СтруктураДанныхТитульный.ОтчетГод) + ПоказателиТаблПоле["ОтчетГод" + Ном];
СтруктураДанныхТитульный.Удалить("ОтчетГод" + Ном);
КонецЦикла;
ИначеЕсли ИмяПоказателя = "ЧислРаботников_1" Тогда
СтруктураДанныхТитульный.Вставить("ЧислРаботников");
Для Ном = 1 По 6 Цикл
СтруктураДанныхТитульный.ЧислРаботников = СокрЛП(СтруктураДанныхТитульный.ЧислРаботников) + ПоказателиТаблПоле["ЧислРаботников_" + Ном];
СтруктураДанныхТитульный.Удалить("ЧислРаботников_" + Ном);
КонецЦикла;
ИначеЕсли ИмяПоказателя = "ЧислЖенщин_1" Тогда
СтруктураДанныхТитульный.Вставить("ЧислЖенщин");
Для Ном = 1 По 6 Цикл
СтруктураДанныхТитульный.ЧислЖенщин = СокрЛП(СтруктураДанныхТитульный.ЧислЖенщин) + ПоказателиТаблПоле["ЧислЖенщин_" + Ном];
СтруктураДанныхТитульный.Удалить("ЧислЖенщин_" + Ном);
КонецЦикла;
ИначеЕсли ИмяПоказателя = "ЧислИнвалидов_1" Тогда
СтруктураДанныхТитульный.Вставить("ЧислИнвалидов");
Для Ном = 1 По 6 Цикл
СтруктураДанныхТитульный.ЧислИнвалидов = СокрЛП(СтруктураДанныхТитульный.ЧислИнвалидов) + ПоказателиТаблПоле["ЧислИнвалидов_" + Ном];
СтруктураДанныхТитульный.Удалить("ЧислИнвалидов_" + Ном);
КонецЦикла;
ИначеЕсли ИмяПоказателя = "ЧислВред_1" Тогда
СтруктураДанныхТитульный.Вставить("ЧислВред");
Для Ном = 1 По 6 Цикл
СтруктураДанныхТитульный.ЧислВред = СокрЛП(СтруктураДанныхТитульный.ЧислВред) + ПоказателиТаблПоле["ЧислВред_" + Ном];
СтруктураДанныхТитульный.Удалить("ЧислВред_" + Ном);
КонецЦикла;
ИначеЕсли ИмяПоказателя = "СПриложением1" Тогда
СтруктураДанныхТитульный.Вставить("СПриложением");
Для Ном = 1 По 3 Цикл
СтруктураДанныхТитульный.СПриложением = СокрЛП(СтруктураДанныхТитульный.СПриложением) + ПоказателиТаблПоле["СПриложением" + Ном];
СтруктураДанныхТитульный.Удалить("СПриложением" + Ном);
КонецЦикла;
КонецЕсли;
КонецЦикла;
ЗаполнитьДатуВЯчейкахНаСервере();
КонецПроцедуры
&НаСервере
Процедура ВосстановитьСведенияИзРаздела1_1СтарогоОбразца(ПоказателиОтчета)
ПоказателиТаблПоле = ПоказателиОтчета["ПолеТабличногоДокументаРаздел1_1"];
Для Каждого Показатель Из ПоказателиТаблПоле Цикл
ИмяПоказателя = Показатель.Ключ;
Если ИмяПоказателя = "ОКВЭД1" Тогда
СтруктураДанныхРаздел1_1.Вставить("ОКВЭД");
ПерваяЧасть = СокрЛП(СтруктураДанныхРаздел1_1.ОКВЭД1) + СокрЛП(СтруктураДанныхРаздел1_1.ОКВЭД2);
ВтораяЧасть = СокрЛП(СтруктураДанныхРаздел1_1.ОКВЭД4) + СокрЛП(СтруктураДанныхРаздел1_1.ОКВЭД5);
ТретьяЧасть = СокрЛП(СтруктураДанныхРаздел1_1.ОКВЭД7) + СокрЛП(СтруктураДанныхРаздел1_1.ОКВЭД8);
СтруктураДанныхРаздел1_1.ОКВЭД = ПерваяЧасть
+ ?(ПустаяСтрока(ВтораяЧасть), "", ".") + ВтораяЧасть
+ ?(ПустаяСтрока(ТретьяЧасть), "", ".") + ТретьяЧасть;
СтруктураДанныхРаздел1_1.Удалить("ОКВЭД1");
СтруктураДанныхРаздел1_1.Удалить("ОКВЭД2");
СтруктураДанныхРаздел1_1.Удалить("ОКВЭД4");
СтруктураДанныхРаздел1_1.Удалить("ОКВЭД5");
СтруктураДанныхРаздел1_1.Удалить("ОКВЭД7");
СтруктураДанныхРаздел1_1.Удалить("ОКВЭД8");
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура ВосстановитьСведенияИзРаздела2_6_7СтарогоОбразца(ПоказателиОтчета)
ПоказателиТаблПоле = ПоказателиОтчета["ПолеТабличногоДокументаРаздел2_6_7"];
Для Каждого Показатель Из ПоказателиТаблПоле Цикл
ИмяПоказателя = Показатель.Ключ;
Если ИмяПоказателя = "ОКВЭД1" Тогда
СтруктураДанныхРаздел2_6_7.Вставить("ОКВЭД");
ПерваяЧасть = СокрЛП(СтруктураДанныхРаздел2_6_7.ОКВЭД1) + СокрЛП(СтруктураДанныхРаздел2_6_7.ОКВЭД2);
ВтораяЧасть = СокрЛП(СтруктураДанныхРаздел2_6_7.ОКВЭД4) + СокрЛП(СтруктураДанныхРаздел2_6_7.ОКВЭД5);
ТретьяЧасть = СокрЛП(СтруктураДанныхРаздел2_6_7.ОКВЭД7) + СокрЛП(СтруктураДанныхРаздел2_6_7.ОКВЭД8);
СтруктураДанныхРаздел2_6_7.ОКВЭД = ПерваяЧасть
+ ?(ПустаяСтрока(ВтораяЧасть), "", ".") + ВтораяЧасть
+ ?(ПустаяСтрока(ТретьяЧасть), "", ".") + ТретьяЧасть;
СтруктураДанныхРаздел2_6_7.Удалить("ОКВЭД1");
СтруктураДанныхРаздел2_6_7.Удалить("ОКВЭД2");
СтруктураДанныхРаздел2_6_7.Удалить("ОКВЭД4");
СтруктураДанныхРаздел2_6_7.Удалить("ОКВЭД5");
СтруктураДанныхРаздел2_6_7.Удалить("ОКВЭД7");
СтруктураДанныхРаздел2_6_7.Удалить("ОКВЭД8");
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура ПривестиВСоответствиеЗначенияИзДопСтрокСтруктурамДанныхРазделов()
СохранитьОтчет = Ложь;
Если НЕ РегламентированнаяОтчетность.ЗначенияИзДопСтрокСоответствуютСтруктуреДанныхРаздела(
СтруктураДанныхРаздел1_31, П0003100010) Тогда
РегламентированнаяОтчетность.ЗаполнитьСтруктуруДанныхРазделаЗначениямиИзДопСтрок(
СтруктураДанныхРаздел1_31, П0003100010);
СохранитьОтчет = Истина;
КонецЕсли;
Если СохранитьОтчет Тогда
Сохранить( , , СтруктураРеквизитовФормы.ВидДокумента * НомерКорректировки, , "Титульный");
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ОпределитьИдМногострочногоРазделаПоАктивнойСтраницеНаСервере(ИмяЛиста = Неопределено) Экспорт
ИдГрупп = Новый Структура;
ИдГрупп.Вставить("мИдГруппы1", СтруктураРеквизитовФормы.мИдГруппы1);
Возврат ОпределитьИдМногострочногоРазделаПоАктивнойСтранице(ИмяЛиста, , ИдГрупп);
КонецФункции
&НаКлиенте
Функция ОпределитьИдМногострочногоРазделаПоАктивнойСтраницеНаКлиенте(ИмяЛиста = Неопределено) Экспорт
ИдГрупп = Новый Структура;
ИдГрупп.Вставить("мИдГруппы1", СтруктураРеквизитовФормы.мИдГруппы1);
Возврат ОпределитьИдМногострочногоРазделаПоАктивнойСтранице(ИмяЛиста, , ИдГрупп);
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция ОпределитьИдМногострочногоРазделаПоАктивнойСтранице(ИмяЛиста = Неопределено, ТекущаяСтраница = Неопределено, ИдГрупп)
Перем ИмяГруппы;
Если ИмяЛиста = Неопределено Тогда
ИмяТекущейСтраницыПанели = ТекущаяСтраница.Имя;
Иначе
ИмяТекущейСтраницыПанели = ИмяЛиста;
КонецЕсли;
Если ИмяТекущейСтраницыПанели = "Раздел1_31" Тогда
ИмяГруппы = ИдГрупп.мИдГруппы1;
КонецЕсли;
Возврат ИмяГруппы;
КонецФункции
&НаСервере
Функция ОпределитьТабличноеПолеПоИдМногострочногоРазделаНаСервере(ИдГруппы) Экспорт
ИдГрупп = Новый Структура;
ИдГрупп.Вставить("мИдГруппы1", СтруктураРеквизитовФормы.мИдГруппы1);
Возврат ОпределитьТабличноеПолеПоИдМногострочногоРаздела(ИдГруппы, ИдГрупп);
КонецФункции
&НаКлиенте
Функция ОпределитьТабличноеПолеПоИдМногострочногоРазделаНаКлиенте(ИдГруппы) Экспорт
ИдГрупп = Новый Структура;
ИдГрупп.Вставить("мИдГруппы1", СтруктураРеквизитовФормы.мИдГруппы1);
Возврат ОпределитьТабличноеПолеПоИдМногострочногоРаздела(ИдГруппы, ИдГрупп);
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция ОпределитьТабличноеПолеПоИдМногострочногоРаздела(ИдГруппы, ИдГрупп) Экспорт
Перем ТекТабличноеПоле;
Если ИдГруппы = ИдГрупп.мИдГруппы1 Тогда
ТекТабличноеПоле = "Раздел1_31";
КонецЕсли;
Возврат ТекТабличноеПоле;
КонецФункции
&НаСервере
Процедура ОбновитьСтруктуруМногострочногоРазделаНаСервере(ИмяГруппы) Экспорт
ОбновитьСтруктуруМногострочногоРаздела(ЭтаФорма, ИмяГруппы);
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьСтруктуруМногострочногоРазделаНаКлиенте(ИмяГруппы) Экспорт
ОбновитьСтруктуруМногострочногоРаздела(ЭтаФорма, ИмяГруппы);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ОбновитьСтруктуруМногострочногоРаздела(Форма, ИмяГруппы)
Перем СтруктураГруппы;
Форма.мСтруктураМногострочныхРазделов.Свойство(ИмяГруппы, СтруктураГруппы);
СтруктураГруппы = Форма[СтруктураГруппы];
ТекТабличноеПолеИмя = "ТабличныйДокумент";
ТекТабличноеПоле = Форма[ТекТабличноеПолеИмя];
Для НСтр = 1 По СтруктураГруппы.Количество() Цикл
ТекСтрокаТаблицы = СтруктураГруппы[НСтр - 1];
Для НомерГрафы = 1 По Форма.мСтруктураКолвоКолонокРазделов[ИмяГруппы] Цикл
ИмяКолонки = ИмяГруппы + Формат(НомерГрафы, "ЧЦ=2; ЧВН=");
Если СтруктураГруппы[0].Свойство(ИмяКолонки) Тогда
ИмяЯчейки = ИмяКолонки + "_" + НСтр;
ОбластьЯчейки = ТекТабличноеПоле.Области[ИмяЯчейки];
Если ОбластьЯчейки.СодержитЗначение = Истина Тогда
ЗначениеЯчейки = ОбластьЯчейки.Значение;
Иначе
ЗначениеЯчейки = ОбластьЯчейки.Текст;
КонецЕсли;
ТекСтрокаТаблицы[ИмяКолонки] = ЗначениеЯчейки;
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура ОбновитьПользовательскиеНастройки()
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='Изменилась версия формы отчета.%1Выполняется обновление пользовательских настроек.'"), Символы.ПС);
Сообщение.Сообщить();
ЕстьИзмененияВариантыЗаполнения = ОбновитьВариантыЗаполнения();
ЕстьИзмененияНастройкаСтраниц = ОбновитьНастройкиСтраниц();
Если ЕстьИзмененияВариантыЗаполнения ИЛИ ЕстьИзмененияНастройкаСтраниц Тогда
Модифицированность = Истина;
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = НСтр("ru='Обновление пользовательских настроек успешно завершено!'");
Сообщение.Сообщить();
Иначе
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = НСтр("ru='Изменения в структуре пользовательских настроек не обнаружены!'");
Сообщение.Сообщить();
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ВыходЗаГраницыДопуска(Сумма1, Сумма2)
Возврат (Сумма1 < Сумма2-1) ИЛИ (Сумма1 > Сумма2+1);
КонецФункции
&НаСервере
Функция ОбновитьВариантыЗаполнения()
Перем МассивВариантовЗаполненияСтраниц;
ЕстьИзменения = Ложь;
МакетСоставаПоказателей = ОбъектОтчета(ЭтаФорма.ИмяФормы).ПолучитьМакет(СтруктураРеквизитовФормы.мСоставПоказателей);
ОписаниеТиповСтрока15 = Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(15));
ОписаниеТиповСтрока100 = Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(100));
ОписаниеТиповСтрока50 = Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(50));
ОписаниеТиповЧисло1 = Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(1));
ОписаниеТиповЧисло15 = Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2));
ЕстьИзменения = Ложь;
Для Инд = 0 По МакетСоставаПоказателей.Области.Количество() - 1 Цикл
ТекОбласть = МакетСоставаПоказателей.Области[Инд];
ИмяСтраницы = ТекОбласть.Имя;
ТаблицаВариантыЗаполнения = Новый ТаблицаЗначений;
ТаблицаВариантыЗаполнения.Колонки.Добавить( "КодПоказателя", ОписаниеТиповСтрока15 );
ТаблицаВариантыЗаполнения.Колонки.Добавить( "ВариантЗаполнения", ОписаниеТиповЧисло1 );
ТаблицаВариантыЗаполнения.Колонки.Добавить( "ЗначениеАвто", ОписаниеТиповЧисло15 );
ТаблицаВариантыЗаполнения.Колонки.Добавить( "Дельта", ОписаниеТиповЧисло15 );
ТаблицаВариантыЗаполнения.Колонки.Добавить( "Комментарий", ОписаниеТиповСтрока100 );
ТаблицаВариантыЗаполнения.Колонки.Добавить( "КодПоказателяПоСтруктуре", ОписаниеТиповСтрока50 );
Для Ном = ТекОбласть.Верх По ТекОбласть.Низ Цикл
КодПоказателя = СокрП(МакетСоставаПоказателей.Область(Ном, 1).Текст);
ИмяПоказателя = КодПоказателя;
Если КодПоказателя = "===" Тогда
Прервать;
КонецЕсли;
Если Лев(КодПоказателя, 2) = "//" Тогда
Продолжить;
КонецЕсли;
КодПоказателяПоФорме = СокрЛП(МакетСоставаПоказателей.Область(Ном, 2).Текст);
стрВариантЗаполнения = РегламентированнаяОтчетность.ПолучитьВариантЗаполненияПоказателяРегОтчета(МакетСоставаПоказателей, Ном);
чВариантЗаполнения = ? (ПустаяСтрока(стрВариантЗаполнения), 0, Число(стрВариантЗаполнения));
Если чВариантЗаполнения <> 0 Тогда
НоваяСтрока = ТаблицаВариантыЗаполнения.Добавить();
НоваяСтрока.КодПоказателя = ? (Не ПустаяСтрока(КодПоказателяПоФорме), КодПоказателяПоФорме, КодПоказателя);
НоваяСтрока.ВариантЗаполнения = чВариантЗаполнения;
КонецЕсли;
КонецЦикла;
Если Не мСтруктураВариантыЗаполнения.Свойство(ИмяСтраницы, МассивВариантовЗаполненияСтраниц) Тогда
МассивВариантовЗаполненияСтраниц = ЭтаФорма["ТаблицаВариантыЗаполнения" + ИмяСтраницы];
Если ТаблицаВариантыЗаполнения.Количество() > 0 Тогда
МассивВариантовЗаполненияСтраниц.Очистить();
МассивВариантовЗаполненияСтраниц.Добавить(ТаблицаВариантыЗаполнения);
мСтруктураВариантыЗаполнения.Вставить(ИмяСтраницы, ИмяСтраницы);
ЕстьИзменения = Истина;
КонецЕсли;
Иначе
МассивВариантовЗаполненияСтраниц = ЭтаФорма["ТаблицаВариантыЗаполнения" + ИмяСтраницы];
Если ТаблицаВариантыЗаполнения.Количество() = 0 Тогда
мСтруктураВариантыЗаполнения.Удалить(ИмяСтраницы);
ЕстьИзменения = Истина;
Иначе
Для каждого ЭлементМассива Из МассивВариантовЗаполненияСтраниц Цикл
ЭлементМассива = ЭлементМассива.ТаблицаВариантовЗаполнения;
Для каждого СтрокаТаблицы Из ТаблицаВариантыЗаполнения Цикл
КодПоказателя = СтрокаТаблицы.КодПоказателя;
ВариантЗаполнения = СтрокаТаблицы.ВариантЗаполнения;
Если ЭлементМассива.НайтиСтроки(Новый Структура("КодПоказателя", КодПоказателя)).Количество() = 0 Тогда
НоваяСтрока = ЭлементМассива.Добавить();
НоваяСтрока.КодПоказателя = КодПоказателя;
НоваяСтрока.ВариантЗаполнения = ВариантЗаполнения;
ЕстьИзменения = Истина;
КонецЕсли;
КонецЦикла;
ТаблДляЦикла = ЭлементМассива.Выгрузить();
Для каждого СтрокаТаблицы Из ТаблДляЦикла Цикл
КодПоказателя = СтрокаТаблицы.КодПоказателя;
Если ТаблицаВариантыЗаполнения.Найти(КодПоказателя, "КодПоказателя") = Неопределено Тогда
СтрокиВЭлементеМассива = ЭлементМассива.НайтиСтроки(Новый Структура("КодПоказателя", КодПоказателя));
Если СтрокиВЭлементеМассива.Количество() > 0 Тогда
ЭлементМассива.Удалить(СтрокиВЭлементеМассива[0]);
ЕстьИзменения = Истина;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Возврат ЕстьИзменения;
КонецФункции
&НаСервере
Функция ОбновитьНастройкиСтраниц()
ЕстьИзменения = Ложь;
мПользовательскиеНастройкиСтраниц = РеквизитФормыВЗначение("мДеревоСтраницОтчета").Скопировать();
ФормироватьСтруктуруСтраницОтчета();
Для каждого ИсхКолонка Из РеквизитФормыВЗначение("мДеревоСтраницОтчета").Колонки Цикл
Если мПользовательскиеНастройкиСтраниц.Колонки.Найти(ИсхКолонка.Имя) = Неопределено Тогда
мПользовательскиеНастройкиСтраниц.Колонки.Добавить(ИсхКолонка.Имя, ИсхКолонка.ТипЗначения, ИсхКолонка.Заголовок, ИсхКолонка.Ширина);
мПользовательскиеНастройкиСтраниц.ЗагрузитьКолонку(РеквизитФормыВЗначение("мДеревоСтраницОтчета").ВыгрузитьКолонку(ИсхКолонка.Имя), ИсхКолонка.Имя);
ЕстьИзменения = Истина;
КонецЕсли;
КонецЦикла;
Для каждого ТекКолонка Из мПользовательскиеНастройкиСтраниц.Колонки Цикл
Если РеквизитФормыВЗначение("мДеревоСтраницОтчета").Колонки.Найти(ТекКолонка.Имя) = Неопределено Тогда
мПользовательскиеНастройкиСтраниц.Колонки.Удалить(мПользовательскиеНастройкиСтраниц.Колонки.Индекс(ТекКолонка));
ЕстьИзменения = Истина;
КонецЕсли;
КонецЦикла;
Если мДеревоСтраницОтчета.ПолучитьЭлементы().Количество() <> мПользовательскиеНастройкиСтраниц.Строки.Количество() Тогда
КолвоКолонок = РеквизитФормыВЗначение("мДеревоСтраницОтчета").Колонки.Количество();
Для каждого Строка Из мДеревоСтраницОтчета.ПолучитьЭлементы() Цикл
Если мПользовательскиеНастройкиСтраниц.Найти(Строка.ИмяСтраницы, "ИмяСтраницы") = Неопределено Тогда
НоваяСтрока = мПользовательскиеНастройкиСтраниц.Строки.Добавить();
Для НомКолонки = 0 По (КолвоКолонок - 1) Цикл
НоваяСтрока[НомКолонки] = Строка[НомКолонки];
КонецЦикла;
КонецЕсли;
Если Строка.Строки.Количество() > 0 Тогда
Для каждого Строка2 Из Строка.Строки Цикл
Если мПользовательскиеНастройкиСтраниц.Найти(Строка2.ИмяСтраницы, "ИмяСтраницы") = Неопределено Тогда
НоваяСтрока2 = НоваяСтрока.Строки.Добавить();
Для НомКолонки = 0 По (КолвоКолонок - 1) Цикл
НоваяСтрока2[НомКолонки] = Строка2[НомКолонки];
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
Для каждого Строка Из мПользовательскиеНастройкиСтраниц Цикл
Если РеквизитФормыВЗначение("мДеревоСтраницОтчета").Найти(Строка.ИмяСтраницы, "ИмяСтраницы") = Неопределено Тогда
мПользовательскиеНастройкиСтраниц.Строки.Удалить(мПользовательскиеНастройкиСтраниц.Строки.Индекс(Строка));
КонецЕсли;
КонецЦикла;
ЕстьИзменения = Истина;
КонецЕсли;
Для каждого ТекСтрока Из мДеревоСтраницОтчета.ПолучитьЭлементы() Цикл
НомСтр = мДеревоСтраницОтчета.ПолучитьЭлементы().Индекс(ТекСтрока);
Если ТекСтрока.Представление <> мПользовательскиеНастройкиСтраниц.Строки[НомСтр].Представление Тогда
мПользовательскиеНастройкиСтраниц.Строки[НомСтр].Представление = ТекСтрока.Представление;
ЕстьИзменения = Истина;
КонецЕсли;
Если ТекСтрока.ИмяПоляТабличногоДокум <> мПользовательскиеНастройкиСтраниц.Строки[НомСтр].ИмяПоляТабличногоДокум Тогда
мПользовательскиеНастройкиСтраниц.Строки[НомСтр].ИмяПоляТабличногоДокум = ТекСтрока.ИмяПоляТабличногоДокум;
ЕстьИзменения = Истина;
КонецЕсли;
КонецЦикла;
ЗначениеВРеквизитФормы(мПользовательскиеНастройкиСтраниц.Скопировать(), "мДеревоСтраницОтчета");
Возврат ЕстьИзменения;
КонецФункции
&НаКлиенте
Функция ЗаголовокРегламентированногоОтчета(ДатаНач, ДатаКон, Периодичность = Неопределено) Экспорт
СтрПериодОтчета = ПредставлениеПериода( НачалоДня(СтруктураРеквизитовФормы.мДатаНачалаПериодаОтчета), КонецДня(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета), "ФП = Истина" );
Если СтрНайти(ЭтаФорма.Заголовок, СтрПериодОтчета) = 0 Тогда
Возврат ЭтаФорма.Заголовок + " за " + СтрПериодОтчета;
Иначе
Возврат ЭтаФорма.Заголовок;
КонецЕсли;
КонецФункции
&НаКлиенте
Процедура УстановитьЦветФонаЯчейкиНаКлиенте(ИмяЯчейки = Неопределено, ВариантЗаполнения = Неопределено, ИмяТекущейСтраницыПанели = "") Экспорт
УстановитьЦветФонаЯчейки(ЭтаФорма, ИмяЯчейки, ВариантЗаполнения, ИмяТекущейСтраницыПанели);
КонецПроцедуры
&НаСервере
Процедура УстановитьЦветФонаЯчейкиНаСервере(ИмяЯчейки = Неопределено, ВариантЗаполнения = Неопределено, ИмяТекущейСтраницыПанели = "") Экспорт
УстановитьЦветФонаЯчейки(ЭтаФорма, ИмяЯчейки, ВариантЗаполнения, ИмяТекущейСтраницыПанели);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьЦветФонаЯчейки(Форма, ИмяЯчейки = Неопределено, ВариантЗаполнения = Неопределено, ИмяТекущейСтраницыПанели = "")
Перем ЦветФона;
Перем Комментарий;
Если Форма.СтруктураРеквизитовФормы.мБезОткрытияФормы Или Форма.СтруктураРеквизитовФормы.мРежимПечати Тогда
Возврат;
КонецЕсли;
Если Не ИмяЯчейки = Неопределено Тогда
#Если НаКлиенте Тогда
ИмяСтраницыПанели = РегламентированнаяОтчетностьКлиент.ОпределитьСтраницуПанелиПоКодуПоказателяНаКлиенте(Форма, ИмяЯчейки);
#Иначе
ИмяСтраницыПанели = РегламентированнаяОтчетностьВызовСервера.ОпределитьСтраницуПанелиПоКодуПоказателяНаСервере(Форма, ИмяЯчейки);
#КонецЕсли
Если ИмяСтраницыПанели = Неопределено Тогда
Возврат;
КонецЕсли;
ИмяПоляТаблДокумента = "ТабличныйДокумент";
Ключ = "_" + ВариантЗаполнения;
Форма.мСтруктураЦветовРаскраски.Свойство(Ключ, ЦветФона);
Если ВариантЗаполнения = 4 Тогда
Форма[ИмяПоляТаблДокумента].Области[ИмяЯчейки].Защита = Истина;
Иначе
Форма[ИмяПоляТаблДокумента].Области[ИмяЯчейки].Защита = Ложь;
КонецЕсли;
Форма[ИмяПоляТаблДокумента].Области[ИмяЯчейки].ЦветФона = ЦветФона;
Иначе
ТаблицаВариантыЗаполнения = ПолучитьТаблицуВариантовЗаполнения(Форма, ИмяТекущейСтраницыПанели);
Если ТаблицаВариантыЗаполнения = Неопределено Тогда
Возврат;
КонецЕсли;
Для Каждого Строка Из ТаблицаВариантыЗаполнения Цикл
ИмяПоказателя = Строка.КодПоказателя;
ВариантЗаполнения = Строка.ВариантЗаполнения;
Комментарий = Строка.Комментарий;
КодПоказателяПоСтруктуре = Строка.КодПоказателяПоСтруктуре;
КолвоСтрокВМногострочнойЧасти = ПоказательВходитВМногострочнуюЧасть(Форма, ИмяПоказателя);
Если КолвоСтрокВМногострочнойЧасти > 0 Тогда
Многострочность = Истина;
БазоваяЧасть = ИмяПоказателя;
Иначе
Многострочность = Ложь;
КолвоСтрокВМногострочнойЧасти = 1;
КонецЕсли;
Для Инд = 1 по КолвоСтрокВМногострочнойЧасти Цикл
Если Многострочность Тогда
ИмяПоказателя = БазоваяЧасть + "_" + Строка(Инд);
КонецЕсли;
Попытка
ТекОбластьЯчеек = Форма.ТабличныйДокумент.Области[ИмяПоказателя];
Если (Не ПустаяСтрока(Комментарий)) ИЛИ (Не ПустаяСтрока(ТекОбластьЯчеек.Примечание.Текст)) Тогда
ТекОбластьЯчеек.Примечание.Текст = Комментарий;
КонецЕсли;
Ключ = "_" + ВариантЗаполнения;
Форма.мСтруктураЦветовРаскраски.Свойство(Ключ, ЦветФона);
Если ВариантЗаполнения = 4 Тогда
Форма.ТабличныйДокумент.Области[ИмяПоказателя].Защита = Истина;
Иначе
Форма.ТабличныйДокумент.Области[ИмяПоказателя].Защита = Ложь;
КонецЕсли;
Форма.ТабличныйДокумент.Области[ИмяПоказателя].ЦветФона = ЦветФона;
Исключение КонецПопытки;
КонецЦикла;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Функция ПоказательВходитВМногострочнуюЧасть(Форма, ИмяПоказателя)
ИмяГруппы = Лев(ИмяПоказателя, 11);
СтруктураГруппы = Неопределено;
Если НЕ Форма.мСтруктураМногострочныхРазделов.Свойство(ИмяГруппы, СтруктураГруппы) Тогда
Возврат 0;
Иначе
СтруктураГруппы = Форма[СтруктураГруппы];
Возврат СтруктураГруппы.Количество();
КонецЕсли;
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция ПолучитьТаблицуВариантовЗаполнения(Форма, ИмяСтраницыПанели, ПолучитьЭталонную = Ложь)
#Если НаКлиенте Тогда
Возврат РегламентированнаяОтчетностьКлиент.ПолучитьТаблицуВариантовЗаполненияНаКлиенте(Форма, ИмяСтраницыПанели, ПолучитьЭталонную);
#Иначе
Возврат РегламентированнаяОтчетностьВызовСервера.ПолучитьТаблицуВариантовЗаполненияНаСервере(Форма, ИмяСтраницыПанели, ПолучитьЭталонную);
#КонецЕсли
КонецФункции
&НаКлиенте
Процедура РасчетНаКлиенте(ИмяТекущегоРаздела = "", ОбластьИмя = "") Экспорт
Расчет(ЭтаФорма, ИмяТекущегоРаздела, ОбластьИмя);
КонецПроцедуры
&НаСервере
Процедура РасчетНаСервере(ИмяТекущегоРаздела = "", ОбластьИмя = "") Экспорт
Расчет(ЭтаФорма, ИмяТекущегоРаздела, ОбластьИмя);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура Расчет(Форма, ИмяТекущегоРаздела = "", ОбластьИмя = "")
Перем ТаблицаБлока;
Если Форма.СтруктураРеквизитовФормы.ФлажокОтклАвтоРасчет Тогда
Возврат;
КонецЕсли;
Если ИмяТекущегоРаздела = "Раздел1_1" Тогда
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000010002201, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000010002201.Значение = Форма.ТабличныйДокумент.Области.П000010002301.Значение
+ Форма.ТабличныйДокумент.Области.П000010002401.Значение
+ Форма.ТабличныйДокумент.Области.П000010002501.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000010003201, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000010003201.Значение = Форма.ТабличныйДокумент.Области.П000010003301.Значение
+ Форма.ТабличныйДокумент.Области.П000010003401.Значение
+ Форма.ТабличныйДокумент.Области.П000010003501.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000010005201, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000010005201.Значение = Форма.ТабличныйДокумент.Области.П000010005301.Значение
+ Форма.ТабличныйДокумент.Области.П000010005401.Значение
+ Форма.ТабличныйДокумент.Области.П000010005501.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000010006201, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000010006201.Значение = Форма.ТабличныйДокумент.Области.П000010006301.Значение
+ Форма.ТабличныйДокумент.Области.П000010006401.Значение
+ Форма.ТабличныйДокумент.Области.П000010006501.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000010015201, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000010015201.Значение = Форма.ТабличныйДокумент.Области.П000010015301.Значение
+ Форма.ТабличныйДокумент.Области.П000010015401.Значение
+ Форма.ТабличныйДокумент.Области.П000010015501.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000010016201, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000010016201.Значение = Форма.ТабличныйДокумент.Области.П000010016301.Значение
+ Форма.ТабличныйДокумент.Области.П000010016401.Значение
+ Форма.ТабличныйДокумент.Области.П000010016501.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000010002003, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000010002003.Значение = Форма.ТабличныйДокумент.Области.П000010002101.Значение
+ Форма.ТабличныйДокумент.Области.П000010002201.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000010003003, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000010003003.Значение = Форма.ТабличныйДокумент.Области.П000010003101.Значение
+ Форма.ТабличныйДокумент.Области.П000010003201.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000010005003, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000010005003.Значение = Форма.ТабличныйДокумент.Области.П000010005101.Значение
+ Форма.ТабличныйДокумент.Области.П000010005201.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000010006003, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000010006003.Значение = Форма.ТабличныйДокумент.Области.П000010006101.Значение
+ Форма.ТабличныйДокумент.Области.П000010006201.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000010015003, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000010015003.Значение = Форма.ТабличныйДокумент.Области.П000010015101.Значение
+ Форма.ТабличныйДокумент.Области.П000010015201.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000010016003, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000010016003.Значение = Форма.ТабличныйДокумент.Области.П000010016101.Значение
+ Форма.ТабличныйДокумент.Области.П000010016201.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000010008003, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000010008003.Значение = Форма.ТабличныйДокумент.Области.П000010001003.Значение
+ Форма.ТабличныйДокумент.Области.П000010002003.Значение
+ Форма.ТабличныйДокумент.Области.П000010003003.Значение
+ Форма.ТабличныйДокумент.Области.П000010004003.Значение
+ Форма.ТабличныйДокумент.Области.П000010005003.Значение
+ Форма.ТабличныйДокумент.Области.П000010006003.Значение
+ Форма.ТабличныйДокумент.Области.П000010007003.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000010012003, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000010012003.Значение = Форма.ТабличныйДокумент.Области.П000010013003.Значение
+ Форма.ТабличныйДокумент.Области.П000010014003.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000010018003, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000010018003.Значение = Форма.ТабличныйДокумент.Области.П000010012003.Значение
+ Форма.ТабличныйДокумент.Области.П000010015003.Значение
+ Форма.ТабличныйДокумент.Области.П000010016003.Значение
+ Форма.ТабличныйДокумент.Области.П000010017003.Значение;
КонецЕсли;
Если Форма.ТабличныйДокумент.Области.П000010018003.Значение > Форма.ТабличныйДокумент.Области.П000010008003.Значение Тогда
ЗадолженностьЗаФондомВсего = Форма.ТабличныйДокумент.Области.П000010018003.Значение
- Форма.ТабличныйДокумент.Области.П000010008003.Значение;
Форма.ТабличныйДокумент.Области.П000010019003.Значение = 0;
Иначе
Форма.ТабличныйДокумент.Области.П000010019003.Значение = Форма.ТабличныйДокумент.Области.П000010008003.Значение
- Форма.ТабличныйДокумент.Области.П000010018003.Значение;
ЗадолженностьЗаФондомВсего = 0;
КонецЕсли;
Форма.ТабличныйДокумент.Области.П000010010003.Значение = ЗадолженностьЗаФондомВсего
- Форма.ТабличныйДокумент.Области.П000010011003.Значение;
Форма.ТабличныйДокумент.Области.П000010009003.Значение = Форма.ТабличныйДокумент.Области.П000010010003.Значение
+ Форма.ТабличныйДокумент.Области.П000010011003.Значение;
ИначеЕсли ИмяТекущегоРаздела = "Раздел1_2" Тогда
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000020007003, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000020007003.Значение = Форма.ТабличныйДокумент.Области.П000020008003.Значение
+ Форма.ТабличныйДокумент.Области.П000020009003.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000020007004, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000020007004.Значение = Форма.ТабличныйДокумент.Области.П000020008004.Значение
+ Форма.ТабличныйДокумент.Области.П000020009004.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000020007005, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000020007005.Значение = Форма.ТабличныйДокумент.Области.П000020008005.Значение
+ Форма.ТабличныйДокумент.Области.П000020009005.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000020010005, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000020010005.Значение = Форма.ТабличныйДокумент.Области.П000020010004.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000020012004, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000020012004.Значение = Форма.ТабличныйДокумент.Области.П000020001004.Значение
+ Форма.ТабличныйДокумент.Области.П000020003004.Значение
+ Форма.ТабличныйДокумент.Области.П000020005004.Значение
+ Форма.ТабличныйДокумент.Области.П000020006004.Значение
+ Форма.ТабличныйДокумент.Области.П000020007004.Значение
+ Форма.ТабличныйДокумент.Области.П000020010004.Значение
+ Форма.ТабличныйДокумент.Области.П000020011004.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000020012005, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000020012005.Значение = Форма.ТабличныйДокумент.Области.П000020001005.Значение
+ Форма.ТабличныйДокумент.Области.П000020003005.Значение
+ Форма.ТабличныйДокумент.Области.П000020007005.Значение
+ Форма.ТабличныйДокумент.Области.П000020010005.Значение
+ Форма.ТабличныйДокумент.Области.П000020011005.Значение;
КонецЕсли;
ИначеЕсли ИмяТекущегоРаздела = "Раздел1_3" Тогда
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000030004003, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000030004003.Значение = Форма.ТабличныйДокумент.Области.П000030001003.Значение
- Форма.ТабличныйДокумент.Области.П000030002003.Значение
- Форма.ТабличныйДокумент.Области.П000030003003.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000030004004, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000030004004.Значение = Форма.ТабличныйДокумент.Области.П000030001004.Значение
- Форма.ТабличныйДокумент.Области.П000030002004.Значение
- Форма.ТабличныйДокумент.Области.П000030003004.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000030004005, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000030004005.Значение = Форма.ТабличныйДокумент.Области.П000030001005.Значение
- Форма.ТабличныйДокумент.Области.П000030002005.Значение
- Форма.ТабличныйДокумент.Области.П000030003005.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000030004006, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000030004006.Значение = Форма.ТабличныйДокумент.Области.П000030001006.Значение
- Форма.ТабличныйДокумент.Области.П000030002006.Значение
- Форма.ТабличныйДокумент.Области.П000030003006.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) Тогда
Форма.ТабличныйДокумент.Области.П000030005003.Значение = Форма.СтруктураДанныхРаздел1_31.П000310002005;
Форма.ТабличныйДокумент.Области.П000030005004.Значение = Форма.СтруктураДанныхРаздел1_31.П000310002006;
Форма.ТабличныйДокумент.Области.П000030005005.Значение = Форма.СтруктураДанныхРаздел1_31.П000310002007;
Форма.ТабличныйДокумент.Области.П000030005006.Значение = Форма.СтруктураДанныхРаздел1_31.П000310002008;
КонецЕсли;
ИначеЕсли ИмяТекущегоРаздела = "Раздел1_31" Тогда
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000310002005, ОбластьИмя) > 0 Тогда
Форма.мСтруктураМногострочныхРазделов.Свойство(Форма.СтруктураРеквизитовФормы.мИдГруппы1, ТаблицаБлока);
ТаблицаБлока = Форма[ТаблицаБлока];
Колонка5 = 0;
Для Ном = 1 По ТаблицаБлока.Количество() Цикл
Колонка5 = Колонка5 + Форма.ТабличныйДокумент.Области["П000310001005_" + Ном].Значение;
КонецЦикла;
Форма.ТабличныйДокумент.Области.П000310002005.Значение = Колонка5;
Форма.СтруктураДанныхРаздел1_3.П000030005003 = Колонка5;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000310002006, ОбластьИмя) > 0 Тогда
Форма.мСтруктураМногострочныхРазделов.Свойство(Форма.СтруктураРеквизитовФормы.мИдГруппы1, ТаблицаБлока);
ТаблицаБлока = Форма[ТаблицаБлока];
Колонка6 = 0;
Для Ном = 1 По ТаблицаБлока.Количество() Цикл
Колонка6 = Колонка6 + Форма.ТабличныйДокумент.Области["П000310001006_" + Ном].Значение;
КонецЦикла;
Форма.ТабличныйДокумент.Области.П000310002006.Значение = Колонка6;
Форма.СтруктураДанныхРаздел1_3.П000030005004 = Колонка6;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000310002007, ОбластьИмя) > 0 Тогда
Форма.мСтруктураМногострочныхРазделов.Свойство(Форма.СтруктураРеквизитовФормы.мИдГруппы1, ТаблицаБлока);
ТаблицаБлока = Форма[ТаблицаБлока];
Колонка7 = 0;
Для Ном = 1 По ТаблицаБлока.Количество() Цикл
Колонка7 = Колонка7 + Форма.ТабличныйДокумент.Области["П000310001007_" + Ном].Значение;
КонецЦикла;
Форма.ТабличныйДокумент.Области.П000310002007.Значение = Колонка7;
Форма.СтруктураДанныхРаздел1_3.П000030005005 = Колонка7;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000310002008, ОбластьИмя) > 0 Тогда
Форма.мСтруктураМногострочныхРазделов.Свойство(Форма.СтруктураРеквизитовФормы.мИдГруппы1, ТаблицаБлока);
ТаблицаБлока = Форма[ТаблицаБлока];
Колонка8 = 0;
Для Ном = 1 По ТаблицаБлока.Количество() Цикл
Колонка8 = Колонка8 + Форма.ТабличныйДокумент.Области["П000310001008_" + Ном].Значение;
КонецЦикла;
Форма.ТабличныйДокумент.Области.П000310002008.Значение = Колонка8;
Форма.СтруктураДанныхРаздел1_3.П000030005006 = Колонка8;
КонецЕсли;
ИначеЕсли ИмяТекущегоРаздела = "Раздел1_4" Тогда
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000040000303, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000040000303.Значение = ? (Форма.ТабличныйДокумент.Области.П000040000103.Значение <> 0,
(Форма.ТабличныйДокумент.Области.П000040000203.Значение
/ Форма.ТабличныйДокумент.Области.П000040000103.Значение) * 100, 0);
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000040000304, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000040000304.Значение = ? (Форма.ТабличныйДокумент.Области.П000040000104.Значение <> 0,
(Форма.ТабличныйДокумент.Области.П000040000204.Значение
/ Форма.ТабличныйДокумент.Области.П000040000104.Значение) * 100, 0);
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000040000305, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000040000305.Значение = ? (Форма.ТабличныйДокумент.Области.П000040000105.Значение <> 0,
(Форма.ТабличныйДокумент.Области.П000040000205.Значение
/ Форма.ТабличныйДокумент.Области.П000040000105.Значение) * 100, 0);
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000040000306, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000040000306.Значение = ? (Форма.ТабличныйДокумент.Области.П000040000106.Значение <> 0,
(Форма.ТабличныйДокумент.Области.П000040000206.Значение
/ Форма.ТабличныйДокумент.Области.П000040000106.Значение) * 100, 0);
КонецЕсли;
ИначеЕсли ИмяТекущегоРаздела = "Раздел1_41" Тогда
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000410000303, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000410000303.Значение = ? (Форма.ТабличныйДокумент.Области.П000410000103.Значение <> 0,
(Форма.ТабличныйДокумент.Области.П000410000203.Значение
/ Форма.ТабличныйДокумент.Области.П000410000103.Значение) * 100, 0);
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000410000304, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000410000304.Значение = ? (Форма.ТабличныйДокумент.Области.П000410000104.Значение <> 0,
(Форма.ТабличныйДокумент.Области.П000410000204.Значение
/ Форма.ТабличныйДокумент.Области.П000410000104.Значение) * 100, 0);
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000410000305, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000410000305.Значение = ? (Форма.ТабличныйДокумент.Области.П000410000105.Значение <> 0,
(Форма.ТабличныйДокумент.Области.П000410000205.Значение
/ Форма.ТабличныйДокумент.Области.П000410000105.Значение) * 100, 0);
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000410000306, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000410000306.Значение = ? (Форма.ТабличныйДокумент.Области.П000410000106.Значение <> 0,
(Форма.ТабличныйДокумент.Области.П000410000206.Значение
/ Форма.ТабличныйДокумент.Области.П000410000106.Значение) * 100, 0);
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000410000603, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000410000603.Значение = ? (Форма.ТабличныйДокумент.Области.П000410000403.Значение <> 0,
(Форма.ТабличныйДокумент.Области.П000410000503.Значение
/ Форма.ТабличныйДокумент.Области.П000410000403.Значение) * 100, 0);
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000410000604, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000410000604.Значение = ? (Форма.ТабличныйДокумент.Области.П000410000404.Значение <> 0,
(Форма.ТабличныйДокумент.Области.П000410000504.Значение
/ Форма.ТабличныйДокумент.Области.П000410000404.Значение) * 100, 0);
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000410000605, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000410000605.Значение = ? (Форма.ТабличныйДокумент.Области.П000410000405.Значение <> 0,
(Форма.ТабличныйДокумент.Области.П000410000505.Значение
/ Форма.ТабличныйДокумент.Области.П000410000405.Значение) * 100, 0);
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000410000606, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000410000606.Значение = ? (Форма.ТабличныйДокумент.Области.П000410000406.Значение <> 0,
(Форма.ТабличныйДокумент.Области.П000410000506.Значение
/ Форма.ТабличныйДокумент.Области.П000410000406.Значение) * 100, 0);
КонецЕсли;
ИначеЕсли ИмяТекущегоРаздела = "Раздел1_42" Тогда
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000420000403, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000420000403.Значение = ? (Форма.ТабличныйДокумент.Области.П000420000203.Значение <> 0,
(Форма.ТабличныйДокумент.Области.П000420000303.Значение
/ Форма.ТабличныйДокумент.Области.П000420000203.Значение) * 100, 0);
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000420000404, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000420000404.Значение = ? (Форма.ТабличныйДокумент.Области.П000420000204.Значение <> 0,
(Форма.ТабличныйДокумент.Области.П000420000304.Значение
/ Форма.ТабличныйДокумент.Области.П000420000204.Значение) * 100, 0);
КонецЕсли;
ИначеЕсли ИмяТекущегоРаздела = "Раздел1_43" Тогда
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000430000303, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000430000303.Значение = ? (Форма.ТабличныйДокумент.Области.П000430000103.Значение <> 0,
(Форма.ТабличныйДокумент.Области.П000430000203.Значение
/ Форма.ТабличныйДокумент.Области.П000430000103.Значение) * 100, 0);
КонецЕсли;
ИначеЕсли ИмяТекущегоРаздела = "Раздел1_44" Тогда
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000440000503, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000440000503.Значение = ? (Форма.ТабличныйДокумент.Области.П000440000103.Значение <> 0,
((Форма.ТабличныйДокумент.Области.П000440000203.Значение +
Форма.ТабличныйДокумент.Области.П000440000303.Значение +
Форма.ТабличныйДокумент.Области.П000440000403.Значение)
/ Форма.ТабличныйДокумент.Области.П000440000103.Значение) * 100, 0);
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000440000504, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000440000504.Значение = ? (Форма.ТабличныйДокумент.Области.П000440000104.Значение <> 0,
((Форма.ТабличныйДокумент.Области.П000440000204.Значение +
Форма.ТабличныйДокумент.Области.П000440000304.Значение +
Форма.ТабличныйДокумент.Области.П000440000404.Значение)
/ Форма.ТабличныйДокумент.Области.П000440000104.Значение) * 100, 0);
КонецЕсли;
ИначеЕсли ИмяТекущегоРаздела = "Раздел1_5" Тогда
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050003007, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050003007.Значение = Форма.ТабличныйДокумент.Области.П000050004007.Значение
+ Форма.ТабличныйДокумент.Области.П000050005007.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050003008, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050003008.Значение = Форма.ТабличныйДокумент.Области.П000050004008.Значение
+ Форма.ТабличныйДокумент.Области.П000050005008.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050003010, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050003010.Значение = Форма.ТабличныйДокумент.Области.П000050004010.Значение
+ Форма.ТабличныйДокумент.Области.П000050005010.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050003011, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050003011.Значение = Форма.ТабличныйДокумент.Области.П000050004011.Значение
+ Форма.ТабличныйДокумент.Области.П000050005011.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050003016, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050003016.Значение = Форма.ТабличныйДокумент.Области.П000050004016.Значение
+ Форма.ТабличныйДокумент.Области.П000050005016.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050003017, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050003017.Значение = Форма.ТабличныйДокумент.Области.П000050004017.Значение
+ Форма.ТабличныйДокумент.Области.П000050005017.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050001003, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050001003.Значение = Форма.ТабличныйДокумент.Области.П000050001006.Значение
+ Форма.ТабличныйДокумент.Области.П000050001009.Значение
+ Форма.ТабличныйДокумент.Области.П000050001012.Значение
+ Форма.ТабличныйДокумент.Области.П000050001015.Значение
+ Форма.ТабличныйДокумент.Области.П000050001018.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050002003, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050002003.Значение = Форма.ТабличныйДокумент.Области.П000050002006.Значение
+ Форма.ТабличныйДокумент.Области.П000050002009.Значение
+ Форма.ТабличныйДокумент.Области.П000050002015.Значение
+ Форма.ТабличныйДокумент.Области.П000050002018.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050003003, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050003003.Значение = Форма.ТабличныйДокумент.Области.П000050003006.Значение
+ Форма.ТабличныйДокумент.Области.П000050003009.Значение
+ Форма.ТабличныйДокумент.Области.П000050003015.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050004003, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050004003.Значение = Форма.ТабличныйДокумент.Области.П000050004006.Значение
+ Форма.ТабличныйДокумент.Области.П000050004009.Значение
+ Форма.ТабличныйДокумент.Области.П000050004015.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050005003, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050005003.Значение = Форма.ТабличныйДокумент.Области.П000050005006.Значение
+ Форма.ТабличныйДокумент.Области.П000050005009.Значение
+ Форма.ТабличныйДокумент.Области.П000050005015.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050006003, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050006003.Значение = Форма.ТабличныйДокумент.Области.П000050006006.Значение
+ Форма.ТабличныйДокумент.Области.П000050006009.Значение
+ Форма.ТабличныйДокумент.Области.П000050006015.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050001004, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050001004.Значение = Форма.ТабличныйДокумент.Области.П000050001007.Значение
+ Форма.ТабличныйДокумент.Области.П000050001010.Значение
+ Форма.ТабличныйДокумент.Области.П000050001013.Значение
+ Форма.ТабличныйДокумент.Области.П000050001016.Значение
+ Форма.ТабличныйДокумент.Области.П000050001019.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050002004, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050002004.Значение = Форма.ТабличныйДокумент.Области.П000050002007.Значение
+ Форма.ТабличныйДокумент.Области.П000050002010.Значение
+ Форма.ТабличныйДокумент.Области.П000050002016.Значение
+ Форма.ТабличныйДокумент.Области.П000050002019.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050003004, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050003004.Значение = Форма.ТабличныйДокумент.Области.П000050003007.Значение
+ Форма.ТабличныйДокумент.Области.П000050003010.Значение
+ Форма.ТабличныйДокумент.Области.П000050003016.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050004004, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050004004.Значение = Форма.ТабличныйДокумент.Области.П000050004007.Значение
+ Форма.ТабличныйДокумент.Области.П000050004010.Значение
+ Форма.ТабличныйДокумент.Области.П000050004016.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050005004, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050005004.Значение = Форма.ТабличныйДокумент.Области.П000050005007.Значение
+ Форма.ТабличныйДокумент.Области.П000050005010.Значение
+ Форма.ТабличныйДокумент.Области.П000050005016.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050006004, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050006004.Значение = Форма.ТабличныйДокумент.Области.П000050006007.Значение
+ Форма.ТабличныйДокумент.Области.П000050006010.Значение
+ Форма.ТабличныйДокумент.Области.П000050006016.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050001005, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050001005.Значение = Форма.ТабличныйДокумент.Области.П000050001008.Значение
+ Форма.ТабличныйДокумент.Области.П000050001011.Значение
+ Форма.ТабличныйДокумент.Области.П000050001014.Значение
+ Форма.ТабличныйДокумент.Области.П000050001017.Значение
+ Форма.ТабличныйДокумент.Области.П000050001020.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050002005, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050002005.Значение = Форма.ТабличныйДокумент.Области.П000050002008.Значение
+ Форма.ТабличныйДокумент.Области.П000050002011.Значение
+ Форма.ТабличныйДокумент.Области.П000050002017.Значение
+ Форма.ТабличныйДокумент.Области.П000050002020.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050003005, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050003005.Значение = Форма.ТабличныйДокумент.Области.П000050003008.Значение
+ Форма.ТабличныйДокумент.Области.П000050003011.Значение
+ Форма.ТабличныйДокумент.Области.П000050003017.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050004005, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050004005.Значение = Форма.ТабличныйДокумент.Области.П000050004008.Значение
+ Форма.ТабличныйДокумент.Области.П000050004011.Значение
+ Форма.ТабличныйДокумент.Области.П000050004017.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050005005, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050005005.Значение = Форма.ТабличныйДокумент.Области.П000050005008.Значение
+ Форма.ТабличныйДокумент.Области.П000050005011.Значение
+ Форма.ТабличныйДокумент.Области.П000050005017.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050006005, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050006005.Значение = Форма.ТабличныйДокумент.Области.П000050006008.Значение
+ Форма.ТабличныйДокумент.Области.П000050006011.Значение
+ Форма.ТабличныйДокумент.Области.П000050006017.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050007003, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050007003.Значение = Форма.ТабличныйДокумент.Области.П000050001003.Значение
+ Форма.ТабличныйДокумент.Области.П000050002003.Значение
+ Форма.ТабличныйДокумент.Области.П000050003003.Значение
+ Форма.ТабличныйДокумент.Области.П000050006003.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050007005, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050007005.Значение = Форма.ТабличныйДокумент.Области.П000050001005.Значение
+ Форма.ТабличныйДокумент.Области.П000050002005.Значение
+ Форма.ТабличныйДокумент.Области.П000050003005.Значение
+ Форма.ТабличныйДокумент.Области.П000050006005.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050007006, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050007006.Значение = Форма.ТабличныйДокумент.Области.П000050001006.Значение
+ Форма.ТабличныйДокумент.Области.П000050002006.Значение
+ Форма.ТабличныйДокумент.Области.П000050003006.Значение
+ Форма.ТабличныйДокумент.Области.П000050006006.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050007008, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050007008.Значение = Форма.ТабличныйДокумент.Области.П000050001008.Значение
+ Форма.ТабличныйДокумент.Области.П000050002008.Значение
+ Форма.ТабличныйДокумент.Области.П000050003008.Значение
+ Форма.ТабличныйДокумент.Области.П000050006008.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050007009, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050007009.Значение = Форма.ТабличныйДокумент.Области.П000050001009.Значение
+ Форма.ТабличныйДокумент.Области.П000050002009.Значение
+ Форма.ТабличныйДокумент.Области.П000050003009.Значение
+ Форма.ТабличныйДокумент.Области.П000050006009.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050007011, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050007011.Значение = Форма.ТабличныйДокумент.Области.П000050001011.Значение
+ Форма.ТабличныйДокумент.Области.П000050002011.Значение
+ Форма.ТабличныйДокумент.Области.П000050003011.Значение
+ Форма.ТабличныйДокумент.Области.П000050006011.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050007012, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050007012.Значение = Форма.ТабличныйДокумент.Области.П000050001012.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050007014, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050007014.Значение = Форма.ТабличныйДокумент.Области.П000050001014.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050007015, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050007015.Значение = Форма.ТабличныйДокумент.Области.П000050001015.Значение
+ Форма.ТабличныйДокумент.Области.П000050002015.Значение
+ Форма.ТабличныйДокумент.Области.П000050003015.Значение
+ Форма.ТабличныйДокумент.Области.П000050006015.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050007017, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050007017.Значение = Форма.ТабличныйДокумент.Области.П000050001017.Значение
+ Форма.ТабличныйДокумент.Области.П000050002017.Значение
+ Форма.ТабличныйДокумент.Области.П000050003017.Значение
+ Форма.ТабличныйДокумент.Области.П000050006017.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050007018, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050007018.Значение = Форма.ТабличныйДокумент.Области.П000050001018.Значение
+ Форма.ТабличныйДокумент.Области.П000050002018.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000050007020, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000050007020.Значение = Форма.ТабличныйДокумент.Области.П000050001020.Значение
+ Форма.ТабличныйДокумент.Области.П000050002020.Значение;
КонецЕсли;
ИначеЕсли ИмяТекущегоРаздела = "Раздел2_6_7" Тогда
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000060001203, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000060001203.Значение = Форма.ТабличныйДокумент.Области.П000060001303.Значение
+ Форма.ТабличныйДокумент.Области.П000060001403.Значение
+ Форма.ТабличныйДокумент.Области.П000060001503.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000060001204, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000060001204.Значение = Форма.ТабличныйДокумент.Области.П000060001304.Значение
+ Форма.ТабличныйДокумент.Области.П000060001404.Значение
+ Форма.ТабличныйДокумент.Области.П000060001504.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000060001205, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000060001205.Значение = Форма.ТабличныйДокумент.Области.П000060001305.Значение
+ Форма.ТабличныйДокумент.Области.П000060001405.Значение
+ Форма.ТабличныйДокумент.Области.П000060001505.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000060001010, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000060001010.Значение = Форма.ТабличныйДокумент.Области.П000060001006.Значение
* (1 - Форма.ТабличныйДокумент.Области.П000060001007.Значение / 100
+ Форма.ТабличныйДокумент.Области.П000060001009.Значение / 100);
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000070002401, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000070002401.Значение = Форма.ТабличныйДокумент.Области.П000070002101.Значение
+ Форма.ТабличныйДокумент.Области.П000070002201.Значение
+ Форма.ТабличныйДокумент.Области.П000070002301.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000070011401, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000070011401.Значение = Форма.ТабличныйДокумент.Области.П000070011101.Значение
+ Форма.ТабличныйДокумент.Области.П000070011201.Значение
+ Форма.ТабличныйДокумент.Области.П000070011301.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000070012401, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000070012401.Значение = Форма.ТабличныйДокумент.Области.П000070012101.Значение
+ Форма.ТабличныйДокумент.Области.П000070012201.Значение
+ Форма.ТабличныйДокумент.Области.П000070012301.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000070002003, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000070002003.Значение = Форма.ТабличныйДокумент.Области.П000070002001.Значение
+ Форма.ТабличныйДокумент.Области.П000070002401.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000070011003, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000070011003.Значение = Форма.ТабличныйДокумент.Области.П000070011001.Значение
+ Форма.ТабличныйДокумент.Области.П000070011401.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000070012003, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000070012003.Значение = Форма.ТабличныйДокумент.Области.П000070012001.Значение
+ Форма.ТабличныйДокумент.Области.П000070012401.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000070008003, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000070008003.Значение = Форма.ТабличныйДокумент.Области.П000070001003.Значение
+ Форма.ТабличныйДокумент.Области.П000070002003.Значение
+ Форма.ТабличныйДокумент.Области.П000070003003.Значение
+ Форма.ТабличныйДокумент.Области.П000070004003.Значение
+ Форма.ТабличныйДокумент.Области.П000070005003.Значение
+ Форма.ТабличныйДокумент.Области.П000070006003.Значение
+ Форма.ТабличныйДокумент.Области.П000070007003.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000070014003, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000070014003.Значение = Форма.ТабличныйДокумент.Области.П000070010003.Значение
+ Форма.ТабличныйДокумент.Области.П000070011003.Значение
+ Форма.ТабличныйДокумент.Области.П000070012003.Значение
+ Форма.ТабличныйДокумент.Области.П000070013003.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000070009003, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000070009003.Значение = ?(Форма.ТабличныйДокумент.Области.П000070014003.Значение > Форма.ТабличныйДокумент.Области.П000070008003.Значение
, Форма.ТабличныйДокумент.Области.П000070014003.Значение - Форма.ТабличныйДокумент.Области.П000070008003.Значение, 0);
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000070015003, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000070015003.Значение = ?(Форма.ТабличныйДокумент.Области.П000070008003.Значение > Форма.ТабличныйДокумент.Области.П000070014003.Значение
, Форма.ТабличныйДокумент.Области.П000070008003.Значение - Форма.ТабличныйДокумент.Области.П000070014003.Значение, 0);
КонецЕсли;
ИначеЕсли ИмяТекущегоРаздела = "Раздел2_8_9" Тогда
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000080010004, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000080010004.Значение = Форма.ТабличныйДокумент.Области.П000080001004.Значение
+ Форма.ТабличныйДокумент.Области.П000080004004.Значение
+ Форма.ТабличныйДокумент.Области.П000080007004.Значение
+ Форма.ТабличныйДокумент.Области.П000080009004.Значение;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьИмя) ИЛИ СтрЧислоВхождений(Форма.СтруктураЗависимыхЯчеекДляАвторасчета.П000090004003, ОбластьИмя) > 0 Тогда
Форма.ТабличныйДокумент.Области.П000090004003.Значение = Форма.ТабличныйДокумент.Области.П000090001003.Значение
+ Форма.ТабличныйДокумент.Области.П000090003003.Значение;
КонецЕсли;
ИначеЕсли ИмяТекущегоРаздела = "" Тогда
РасчетВСтруктуре(Форма, "Раздел1_1");
РасчетВСтруктуре(Форма, "Раздел1_2");
РасчетВСтруктуре(Форма, "Раздел1_31");
РасчетВСтруктуре(Форма, "Раздел1_3");
РасчетВСтруктуре(Форма, "Раздел1_4");
РасчетВСтруктуре(Форма, "Раздел1_41");
РасчетВСтруктуре(Форма, "Раздел1_42");
РасчетВСтруктуре(Форма, "Раздел1_43");
РасчетВСтруктуре(Форма, "Раздел1_44");
РасчетВСтруктуре(Форма, "Раздел1_5");
РасчетВСтруктуре(Форма, "Раздел2_6_7");
РасчетВСтруктуре(Форма, "Раздел2_8_9");
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура РасчетВСтруктуре(Форма, ИмяТекущегоРаздела)
Перем ТаблицаБлока;
Если Форма.СтруктураРеквизитовФормы.ФлажокОтклАвтоРасчет Тогда
Возврат;
КонецЕсли;
Если ИмяТекущегоРаздела = "Раздел1_1" Тогда
СтруктураДанныхРаздела = Форма["СтруктураДанных" + ИмяТекущегоРаздела];
СтруктураДанныхРаздела.П000010002201 = СтруктураДанныхРаздела.П000010002301
+ СтруктураДанныхРаздела.П000010002401
+ СтруктураДанныхРаздела.П000010002501;
СтруктураДанныхРаздела.П000010003201 = СтруктураДанныхРаздела.П000010003301
+ СтруктураДанныхРаздела.П000010003401
+ СтруктураДанныхРаздела.П000010003501;
СтруктураДанныхРаздела.П000010005201 = СтруктураДанныхРаздела.П000010005301
+ СтруктураДанныхРаздела.П000010005401
+ СтруктураДанныхРаздела.П000010005501;
СтруктураДанныхРаздела.П000010006201 = СтруктураДанныхРаздела.П000010006301
+ СтруктураДанныхРаздела.П000010006401
+ СтруктураДанныхРаздела.П000010006501;
СтруктураДанныхРаздела.П000010015201 = СтруктураДанныхРаздела.П000010015301
+ СтруктураДанныхРаздела.П000010015401
+ СтруктураДанныхРаздела.П000010015501;
СтруктураДанныхРаздела.П000010016201 = СтруктураДанныхРаздела.П000010016301
+ СтруктураДанныхРаздела.П000010016401
+ СтруктураДанныхРаздела.П000010016501;
СтруктураДанныхРаздела.П000010002003 = СтруктураДанныхРаздела.П000010002101
+ СтруктураДанныхРаздела.П000010002201;
СтруктураДанныхРаздела.П000010003003 = СтруктураДанныхРаздела.П000010003101
+ СтруктураДанныхРаздела.П000010003201;
СтруктураДанныхРаздела.П000010005003 = СтруктураДанныхРаздела.П000010005101
+ СтруктураДанныхРаздела.П000010005201;
СтруктураДанныхРаздела.П000010006003 = СтруктураДанныхРаздела.П000010006101
+ СтруктураДанныхРаздела.П000010006201;
СтруктураДанныхРаздела.П000010015003 = СтруктураДанныхРаздела.П000010015101
+ СтруктураДанныхРаздела.П000010015201;
СтруктураДанныхРаздела.П000010016003 = СтруктураДанныхРаздела.П000010016101
+ СтруктураДанныхРаздела.П000010016201;
СтруктураДанныхРаздела.П000010008003 = СтруктураДанныхРаздела.П000010001003
+ СтруктураДанныхРаздела.П000010002003
+ СтруктураДанныхРаздела.П000010003003
+ СтруктураДанныхРаздела.П000010004003
+ СтруктураДанныхРаздела.П000010005003
+ СтруктураДанныхРаздела.П000010006003
+ СтруктураДанныхРаздела.П000010007003;
СтруктураДанныхРаздела.П000010012003 = СтруктураДанныхРаздела.П000010013003
+ СтруктураДанныхРаздела.П000010014003;
СтруктураДанныхРаздела.П000010018003 = СтруктураДанныхРаздела.П000010012003
+ СтруктураДанныхРаздела.П000010015003
+ СтруктураДанныхРаздела.П000010016003
+ СтруктураДанныхРаздела.П000010017003;
Если СтруктураДанныхРаздела.П000010018003 > СтруктураДанныхРаздела.П000010008003 Тогда
ЗадолженностьЗаФондомВсего = СтруктураДанныхРаздела.П000010018003
- СтруктураДанныхРаздела.П000010008003;
СтруктураДанныхРаздела.П000010019003 = 0;
Иначе
СтруктураДанныхРаздела.П000010019003 = СтруктураДанныхРаздела.П000010008003
- СтруктураДанныхРаздела.П000010018003;
ЗадолженностьЗаФондомВсего = 0;
КонецЕсли;
СтруктураДанныхРаздела.П000010010003 = ЗадолженностьЗаФондомВсего
- СтруктураДанныхРаздела.П000010011003;
СтруктураДанныхРаздела.П000010009003 = СтруктураДанныхРаздела.П000010010003
+ СтруктураДанныхРаздела.П000010011003;
Если Форма.СтруктураРеквизитовФормы.НаимТекущегоРаздела = ИмяТекущегоРаздела Тогда
Форма.ТабличныйДокумент.Области.П000010002201.Значение = СтруктураДанныхРаздела.П000010002201;
Форма.ТабличныйДокумент.Области.П000010003201.Значение = СтруктураДанныхРаздела.П000010003201;
Форма.ТабличныйДокумент.Области.П000010005201.Значение = СтруктураДанныхРаздела.П000010005201;
Форма.ТабличныйДокумент.Области.П000010006201.Значение = СтруктураДанныхРаздела.П000010006201;
Форма.ТабличныйДокумент.Области.П000010015201.Значение = СтруктураДанныхРаздела.П000010015201;
Форма.ТабличныйДокумент.Области.П000010016201.Значение = СтруктураДанныхРаздела.П000010016201;
Форма.ТабличныйДокумент.Области.П000010002003.Значение = СтруктураДанныхРаздела.П000010002003;
Форма.ТабличныйДокумент.Области.П000010003003.Значение = СтруктураДанныхРаздела.П000010003003;
Форма.ТабличныйДокумент.Области.П000010005003.Значение = СтруктураДанныхРаздела.П000010005003;
Форма.ТабличныйДокумент.Области.П000010006003.Значение = СтруктураДанныхРаздела.П000010006003;
Форма.ТабличныйДокумент.Области.П000010015003.Значение = СтруктураДанныхРаздела.П000010015003;
Форма.ТабличныйДокумент.Области.П000010016003.Значение = СтруктураДанныхРаздела.П000010016003;
Форма.ТабличныйДокумент.Области.П000010008003.Значение = СтруктураДанныхРаздела.П000010008003;
Форма.ТабличныйДокумент.Области.П000010012003.Значение = СтруктураДанныхРаздела.П000010012003;
Форма.ТабличныйДокумент.Области.П000010018003.Значение = СтруктураДанныхРаздела.П000010018003;
Форма.ТабличныйДокумент.Области.П000010019003.Значение = СтруктураДанныхРаздела.П000010019003;
Форма.ТабличныйДокумент.Области.П000010009003.Значение = СтруктураДанныхРаздела.П000010009003;
Форма.ТабличныйДокумент.Области.П000010010003.Значение = СтруктураДанныхРаздела.П000010010003;
КонецЕсли;
ИначеЕсли ИмяТекущегоРаздела = "Раздел1_2" Тогда
СтруктураДанныхРаздела = Форма["СтруктураДанных" + ИмяТекущегоРаздела];
СтруктураДанныхРаздела.П000020007003 = СтруктураДанныхРаздела.П000020008003
+ СтруктураДанныхРаздела.П000020009003;
СтруктураДанныхРаздела.П000020007004 = СтруктураДанныхРаздела.П000020008004
+ СтруктураДанныхРаздела.П000020009004;
СтруктураДанныхРаздела.П000020007005 = СтруктураДанныхРаздела.П000020008005
+ СтруктураДанныхРаздела.П000020009005;
СтруктураДанныхРаздела.П000020010005 = СтруктураДанныхРаздела.П000020010004;
СтруктураДанныхРаздела.П000020012004 = СтруктураДанныхРаздела.П000020001004
+ СтруктураДанныхРаздела.П000020003004
+ СтруктураДанныхРаздела.П000020005004
+ СтруктураДанныхРаздела.П000020006004
+ СтруктураДанныхРаздела.П000020007004
+ СтруктураДанныхРаздела.П000020010004
+ СтруктураДанныхРаздела.П000020011004;
СтруктураДанныхРаздела.П000020012005 = СтруктураДанныхРаздела.П000020001005
+ СтруктураДанныхРаздела.П000020003005
+ СтруктураДанныхРаздела.П000020007005
+ СтруктураДанныхРаздела.П000020010005
+ СтруктураДанныхРаздела.П000020011005;
Если Форма.СтруктураРеквизитовФормы.НаимТекущегоРаздела = ИмяТекущегоРаздела Тогда
Форма.ТабличныйДокумент.Области.П000020007003.Значение = СтруктураДанныхРаздела.П000020007003;
Форма.ТабличныйДокумент.Области.П000020007004.Значение = СтруктураДанныхРаздела.П000020007004;
Форма.ТабличныйДокумент.Области.П000020007005.Значение = СтруктураДанныхРаздела.П000020007005;
Форма.ТабличныйДокумент.Области.П000020010005.Значение = СтруктураДанныхРаздела.П000020010005;
Форма.ТабличныйДокумент.Области.П000020012004.Значение = СтруктураДанныхРаздела.П000020012004;
Форма.ТабличныйДокумент.Области.П000020012005.Значение = СтруктураДанныхРаздела.П000020012005;
КонецЕсли;
ИначеЕсли ИмяТекущегоРаздела = "Раздел1_3" Тогда
СтруктураДанныхРаздела = Форма["СтруктураДанных" + ИмяТекущегоРаздела];
СтруктураДанныхРаздела.П000030004003 = СтруктураДанныхРаздела.П000030001003
- СтруктураДанныхРаздела.П000030002003
- СтруктураДанныхРаздела.П000030003003;
СтруктураДанныхРаздела.П000030004004 = СтруктураДанныхРаздела.П000030001004
- СтруктураДанныхРаздела.П000030002004
- СтруктураДанныхРаздела.П000030003004;
СтруктураДанныхРаздела.П000030004005 = СтруктураДанныхРаздела.П000030001005
- СтруктураДанныхРаздела.П000030002005
- СтруктураДанныхРаздела.П000030003005;
СтруктураДанныхРаздела.П000030004006 = СтруктураДанныхРаздела.П000030001006
- СтруктураДанныхРаздела.П000030002006
- СтруктураДанныхРаздела.П000030003006;
СтруктураДанныхРаздела.П000030005003 = Форма.СтруктураДанныхРаздел1_31.П000310002005;
СтруктураДанныхРаздела.П000030005004 = Форма.СтруктураДанныхРаздел1_31.П000310002006;
СтруктураДанныхРаздела.П000030005005 = Форма.СтруктураДанныхРаздел1_31.П000310002007;
СтруктураДанныхРаздела.П000030005006 = Форма.СтруктураДанныхРаздел1_31.П000310002008;
Если Форма.СтруктураРеквизитовФормы.НаимТекущегоРаздела = ИмяТекущегоРаздела Тогда
Форма.ТабличныйДокумент.Области.П000030004003.Значение = СтруктураДанныхРаздела.П000030004003;
Форма.ТабличныйДокумент.Области.П000030004004.Значение = СтруктураДанныхРаздела.П000030004004;
Форма.ТабличныйДокумент.Области.П000030004005.Значение = СтруктураДанныхРаздела.П000030004005;
Форма.ТабличныйДокумент.Области.П000030004006.Значение = СтруктураДанныхРаздела.П000030004006;
Форма.ТабличныйДокумент.Области.П000030005003.Значение = СтруктураДанныхРаздела.П000030005003;
Форма.ТабличныйДокумент.Области.П000030005004.Значение = СтруктураДанныхРаздела.П000030005004;
Форма.ТабличныйДокумент.Области.П000030005005.Значение = СтруктураДанныхРаздела.П000030005005;
Форма.ТабличныйДокумент.Области.П000030005006.Значение = СтруктураДанныхРаздела.П000030005006;
КонецЕсли;
ИначеЕсли ИмяТекущегоРаздела = "Раздел1_31" Тогда
СтруктураДанныхРаздела = Форма["СтруктураДанных" + ИмяТекущегоРаздела];
Форма.мСтруктураМногострочныхРазделов.Свойство(Форма.СтруктураРеквизитовФормы.мИдГруппы1, ТаблицаБлока);
ТаблицаБлока = Форма[ТаблицаБлока];
Форма.мСтруктураМногострочныхРазделов.Свойство(Форма.СтруктураРеквизитовФормы.мИдГруппы1, ТаблицаБлока);
ТаблицаБлока = Форма[ТаблицаБлока];
Колонка5 = 0;
Колонка6 = 0;
Колонка7 = 0;
Колонка8 = 0;
Для Ном = 1 По ТаблицаБлока.Количество() Цикл
Колонка5 = Колонка5 + ТаблицаБлока[Ном-1]["П000310001005"];
Колонка6 = Колонка6 + ТаблицаБлока[Ном-1]["П000310001006"];
Колонка7 = Колонка7 + ТаблицаБлока[Ном-1]["П000310001007"];
Колонка8 = Колонка8 + ТаблицаБлока[Ном-1]["П000310001008"];
КонецЦикла;
СтруктураДанныхРаздела.П000310002005 = Колонка5;
Форма.СтруктураДанныхРаздел1_3.П000030005003 = Колонка5;
СтруктураДанныхРаздела.П000310002006 = Колонка6;
Форма.СтруктураДанныхРаздел1_3.П000030005004 = Колонка6;
СтруктураДанныхРаздела.П000310002007 = Колонка7;
Форма.СтруктураДанныхРаздел1_3.П000030005005 = Колонка7;
СтруктураДанныхРаздела.П000310002008 = Колонка8;
Форма.СтруктураДанныхРаздел1_3.П000030005006 = Колонка8;
Если Форма.СтруктураРеквизитовФормы.НаимТекущегоРаздела = ИмяТекущегоРаздела Тогда
Форма.ТабличныйДокумент.Области.П000310002005.Значение = Колонка5;
Форма.ТабличныйДокумент.Области.П000310002006.Значение = Колонка6;
Форма.ТабличныйДокумент.Области.П000310002007.Значение = Колонка7;
Форма.ТабличныйДокумент.Области.П000310002008.Значение = Колонка8;
КонецЕсли;
ИначеЕсли ИмяТекущегоРаздела = "Раздел1_4" Тогда
СтруктураДанныхРаздела = Форма["СтруктураДанных" + ИмяТекущегоРаздела];
СтруктураДанныхРаздела.П000040000303 = ? (СтруктураДанныхРаздела.П000040000103 <> 0,
(СтруктураДанныхРаздела.П000040000203
/ СтруктураДанныхРаздела.П000040000103) * 100, 0);
СтруктураДанныхРаздела.П000040000304 = ? (СтруктураДанныхРаздела.П000040000104 <> 0,
(СтруктураДанныхРаздела.П000040000204
/ СтруктураДанныхРаздела.П000040000104) * 100, 0);
СтруктураДанныхРаздела.П000040000305 = ? (СтруктураДанныхРаздела.П000040000105 <> 0,
(СтруктураДанныхРаздела.П000040000205
/ СтруктураДанныхРаздела.П000040000105) * 100, 0);
СтруктураДанныхРаздела.П000040000306 = ? (СтруктураДанныхРаздела.П000040000106 <> 0,
(СтруктураДанныхРаздела.П000040000206
/ СтруктураДанныхРаздела.П000040000106) * 100, 0);
Если Форма.СтруктураРеквизитовФормы.НаимТекущегоРаздела = ИмяТекущегоРаздела Тогда
Форма.ТабличныйДокумент.Области.П000040000303.Значение = СтруктураДанныхРаздела.П000040000303;
Форма.ТабличныйДокумент.Области.П000040000304.Значение = СтруктураДанныхРаздела.П000040000304;
Форма.ТабличныйДокумент.Области.П000040000305.Значение = СтруктураДанныхРаздела.П000040000305;
Форма.ТабличныйДокумент.Области.П000040000306.Значение = СтруктураДанныхРаздела.П000040000306;
КонецЕсли;
ИначеЕсли ИмяТекущегоРаздела = "Раздел1_41" Тогда
СтруктураДанныхРаздела = Форма["СтруктураДанных" + ИмяТекущегоРаздела];
СтруктураДанныхРаздела.П000410000303 = ? (СтруктураДанныхРаздела.П000410000103 <> 0,
(СтруктураДанныхРаздела.П000410000203
/ СтруктураДанныхРаздела.П000410000103) * 100, 0);
СтруктураДанныхРаздела.П000410000304 = ? (СтруктураДанныхРаздела.П000410000104 <> 0,
(СтруктураДанныхРаздела.П000410000204
/ СтруктураДанныхРаздела.П000410000104) * 100, 0);
СтруктураДанныхРаздела.П000410000305 = ? (СтруктураДанныхРаздела.П000410000105 <> 0,
(СтруктураДанныхРаздела.П000410000205
/ СтруктураДанныхРаздела.П000410000105) * 100, 0);
СтруктураДанныхРаздела.П000410000306 = ? (СтруктураДанныхРаздела.П000410000106 <> 0,
(СтруктураДанныхРаздела.П000410000206
/ СтруктураДанныхРаздела.П000410000106) * 100, 0);
СтруктураДанныхРаздела.П000410000603 = ? (СтруктураДанныхРаздела.П000410000403 <> 0,
(СтруктураДанныхРаздела.П000410000503
/ СтруктураДанныхРаздела.П000410000403) * 100, 0);
СтруктураДанныхРаздела.П000410000604 = ? (СтруктураДанныхРаздела.П000410000404 <> 0,
(СтруктураДанныхРаздела.П000410000504
/ СтруктураДанныхРаздела.П000410000404) * 100, 0);
СтруктураДанныхРаздела.П000410000605 = ? (СтруктураДанныхРаздела.П000410000405 <> 0,
(СтруктураДанныхРаздела.П000410000505
/ СтруктураДанныхРаздела.П000410000405) * 100, 0);
СтруктураДанныхРаздела.П000410000606 = ? (СтруктураДанныхРаздела.П000410000406 <> 0,
(СтруктураДанныхРаздела.П000410000506
/ СтруктураДанныхРаздела.П000410000406) * 100, 0);
Если Форма.СтруктураРеквизитовФормы.НаимТекущегоРаздела = ИмяТекущегоРаздела Тогда
Форма.ТабличныйДокумент.Области.П000410000303.Значение = СтруктураДанныхРаздела.П000410000303;
Форма.ТабличныйДокумент.Области.П000410000304.Значение = СтруктураДанныхРаздела.П000410000304;
Форма.ТабличныйДокумент.Области.П000410000305.Значение = СтруктураДанныхРаздела.П000410000305;
Форма.ТабличныйДокумент.Области.П000410000306.Значение = СтруктураДанныхРаздела.П000410000306;
Форма.ТабличныйДокумент.Области.П000410000603.Значение = СтруктураДанныхРаздела.П000410000603;
Форма.ТабличныйДокумент.Области.П000410000604.Значение = СтруктураДанныхРаздела.П000410000604;
Форма.ТабличныйДокумент.Области.П000410000605.Значение = СтруктураДанныхРаздела.П000410000605;
Форма.ТабличныйДокумент.Области.П000410000606.Значение = СтруктураДанныхРаздела.П000410000606;
КонецЕсли;
ИначеЕсли ИмяТекущегоРаздела = "Раздел1_42" Тогда
СтруктураДанныхРаздела = Форма["СтруктураДанных" + ИмяТекущегоРаздела];
СтруктураДанныхРаздела.П000420000403 = ? (СтруктураДанныхРаздела.П000420000203 <> 0,
(СтруктураДанныхРаздела.П000420000303
/ СтруктураДанныхРаздела.П000420000203) * 100, 0);
Если Форма.СтруктураРеквизитовФормы.НаимТекущегоРаздела = ИмяТекущегоРаздела Тогда
Форма.ТабличныйДокумент.Области.П000420000403.Значение = СтруктураДанныхРаздела.П000420000403;
КонецЕсли;
СтруктураДанныхРаздела.П000420000404 = ? (СтруктураДанныхРаздела.П000420000204 <> 0,
(СтруктураДанныхРаздела.П000420000304
/ СтруктураДанныхРаздела.П000420000204) * 100, 0);
Если Форма.СтруктураРеквизитовФормы.НаимТекущегоРаздела = ИмяТекущегоРаздела Тогда
Форма.ТабличныйДокумент.Области.П000420000404.Значение = СтруктураДанныхРаздела.П000420000404;
КонецЕсли;
ИначеЕсли ИмяТекущегоРаздела = "Раздел1_43" Тогда
СтруктураДанныхРаздела = Форма["СтруктураДанных" + ИмяТекущегоРаздела];
СтруктураДанныхРаздела.П000430000303 = ? (СтруктураДанныхРаздела.П000430000103 <> 0,
(СтруктураДанныхРаздела.П000430000203
/ СтруктураДанныхРаздела.П000430000103) * 100, 0);
Если Форма.СтруктураРеквизитовФормы.НаимТекущегоРаздела = ИмяТекущегоРаздела Тогда
Форма.ТабличныйДокумент.Области.П000430000303.Значение = СтруктураДанныхРаздела.П000430000303;
КонецЕсли;
ИначеЕсли ИмяТекущегоРаздела = "Раздел1_44" Тогда
СтруктураДанныхРаздела = Форма["СтруктураДанных" + ИмяТекущегоРаздела];
СтруктураДанныхРаздела.П000440000503 = ? (СтруктураДанныхРаздела.П000440000103 <> 0,
((СтруктураДанныхРаздела.П000440000203 +
СтруктураДанныхРаздела.П000440000303 +
СтруктураДанныхРаздела.П000440000403)
/ СтруктураДанныхРаздела.П000440000103) * 100, 0);
Если Форма.СтруктураРеквизитовФормы.НаимТекущегоРаздела = ИмяТекущегоРаздела Тогда
Форма.ТабличныйДокумент.Области.П000440000503.Значение = СтруктураДанныхРаздела.П000440000503;
КонецЕсли;
СтруктураДанныхРаздела.П000440000504 = ? (СтруктураДанныхРаздела.П000440000104 <> 0,
((СтруктураДанныхРаздела.П000440000204 +
СтруктураДанныхРаздела.П000440000304 +
СтруктураДанныхРаздела.П000440000404)
/ СтруктураДанныхРаздела.П000440000104) * 100, 0);
Если Форма.СтруктураРеквизитовФормы.НаимТекущегоРаздела = ИмяТекущегоРаздела Тогда
Форма.ТабличныйДокумент.Области.П000440000504.Значение = СтруктураДанныхРаздела.П000440000504;
КонецЕсли;
ИначеЕсли ИмяТекущегоРаздела = "Раздел1_5" Тогда
СтруктураДанныхРаздела = Форма["СтруктураДанных" + ИмяТекущегоРаздела];
СтруктураДанныхРаздела.П000050003007 = СтруктураДанныхРаздела.П000050004007
+ СтруктураДанныхРаздела.П000050005007;
СтруктураДанныхРаздела.П000050003008 = СтруктураДанныхРаздела.П000050004008
+ СтруктураДанныхРаздела.П000050005008;
СтруктураДанныхРаздела.П000050003010 = СтруктураДанныхРаздела.П000050004010
+ СтруктураДанныхРаздела.П000050005010;
СтруктураДанныхРаздела.П000050003011 = СтруктураДанныхРаздела.П000050004011
+ СтруктураДанныхРаздела.П000050005011;
СтруктураДанныхРаздела.П000050003016 = СтруктураДанныхРаздела.П000050004016
+ СтруктураДанныхРаздела.П000050005016;
СтруктураДанныхРаздела.П000050003017 = СтруктураДанныхРаздела.П000050004017
+ СтруктураДанныхРаздела.П000050005017;
СтруктураДанныхРаздела.П000050001003 = СтруктураДанныхРаздела.П000050001006
+ СтруктураДанныхРаздела.П000050001009
+ СтруктураДанныхРаздела.П000050001012
+ СтруктураДанныхРаздела.П000050001015
+ СтруктураДанныхРаздела.П000050001018;
СтруктураДанныхРаздела.П000050002003 = СтруктураДанныхРаздела.П000050002006
+ СтруктураДанныхРаздела.П000050002009
+ СтруктураДанныхРаздела.П000050002015
+ СтруктураДанныхРаздела.П000050002018;
СтруктураДанныхРаздела.П000050003003 = СтруктураДанныхРаздела.П000050003006
+ СтруктураДанныхРаздела.П000050003009
+ СтруктураДанныхРаздела.П000050003015;
СтруктураДанныхРаздела.П000050004003 = СтруктураДанныхРаздела.П000050004006
+ СтруктураДанныхРаздела.П000050004009
+ СтруктураДанныхРаздела.П000050004015;
СтруктураДанныхРаздела.П000050005003 = СтруктураДанныхРаздела.П000050005006
+ СтруктураДанныхРаздела.П000050005009
+ СтруктураДанныхРаздела.П000050005015;
СтруктураДанныхРаздела.П000050006003 = СтруктураДанныхРаздела.П000050006006
+ СтруктураДанныхРаздела.П000050006009
+ СтруктураДанныхРаздела.П000050006015;
СтруктураДанныхРаздела.П000050001004 = СтруктураДанныхРаздела.П000050001007
+ СтруктураДанныхРаздела.П000050001010
+ СтруктураДанныхРаздела.П000050001013
+ СтруктураДанныхРаздела.П000050001016
+ СтруктураДанныхРаздела.П000050001019;
СтруктураДанныхРаздела.П000050002004 = СтруктураДанныхРаздела.П000050002007
+ СтруктураДанныхРаздела.П000050002010
+ СтруктураДанныхРаздела.П000050002016
+ СтруктураДанныхРаздела.П000050002019;
СтруктураДанныхРаздела.П000050003004 = СтруктураДанныхРаздела.П000050003007
+ СтруктураДанныхРаздела.П000050003010
+ СтруктураДанныхРаздела.П000050003016;
СтруктураДанныхРаздела.П000050004004 = СтруктураДанныхРаздела.П000050004007
+ СтруктураДанныхРаздела.П000050004010
+ СтруктураДанныхРаздела.П000050004016;
СтруктураДанныхРаздела.П000050005004 = СтруктураДанныхРаздела.П000050005007
+ СтруктураДанныхРаздела.П000050005010
+ СтруктураДанныхРаздела.П000050005016;
СтруктураДанныхРаздела.П000050006004 = СтруктураДанныхРаздела.П000050006007
+ СтруктураДанныхРаздела.П000050006010
+ СтруктураДанныхРаздела.П000050006016;
СтруктураДанныхРаздела.П000050001005 = СтруктураДанныхРаздела.П000050001008
+ СтруктураДанныхРаздела.П000050001011
+ СтруктураДанныхРаздела.П000050001014
+ СтруктураДанныхРаздела.П000050001017
+ СтруктураДанныхРаздела.П000050001020;
СтруктураДанныхРаздела.П000050002005 = СтруктураДанныхРаздела.П000050002008
+ СтруктураДанныхРаздела.П000050002011
+ СтруктураДанныхРаздела.П000050002017
+ СтруктураДанныхРаздела.П000050002020;
СтруктураДанныхРаздела.П000050003005 = СтруктураДанныхРаздела.П000050003008
+ СтруктураДанныхРаздела.П000050003011
+ СтруктураДанныхРаздела.П000050003017;
СтруктураДанныхРаздела.П000050004005 = СтруктураДанныхРаздела.П000050004008
+ СтруктураДанныхРаздела.П000050004011
+ СтруктураДанныхРаздела.П000050004017;
СтруктураДанныхРаздела.П000050005005 = СтруктураДанныхРаздела.П000050005008
+ СтруктураДанныхРаздела.П000050005011
+ СтруктураДанныхРаздела.П000050005017;
СтруктураДанныхРаздела.П000050006005 = СтруктураДанныхРаздела.П000050006008
+ СтруктураДанныхРаздела.П000050006011
+ СтруктураДанныхРаздела.П000050006017;
СтруктураДанныхРаздела.П000050007003 = СтруктураДанныхРаздела.П000050001003
+ СтруктураДанныхРаздела.П000050002003
+ СтруктураДанныхРаздела.П000050003003
+ СтруктураДанныхРаздела.П000050006003;
СтруктураДанныхРаздела.П000050007005 = СтруктураДанныхРаздела.П000050001005
+ СтруктураДанныхРаздела.П000050002005
+ СтруктураДанныхРаздела.П000050003005
+ СтруктураДанныхРаздела.П000050006005;
СтруктураДанныхРаздела.П000050007006 = СтруктураДанныхРаздела.П000050001006
+ СтруктураДанныхРаздела.П000050002006
+ СтруктураДанныхРаздела.П000050003006
+ СтруктураДанныхРаздела.П000050006006;
СтруктураДанныхРаздела.П000050007008 = СтруктураДанныхРаздела.П000050001008
+ СтруктураДанныхРаздела.П000050002008
+ СтруктураДанныхРаздела.П000050003008
+ СтруктураДанныхРаздела.П000050006008;
СтруктураДанныхРаздела.П000050007009 = СтруктураДанныхРаздела.П000050001009
+ СтруктураДанныхРаздела.П000050002009
+ СтруктураДанныхРаздела.П000050003009
+ СтруктураДанныхРаздела.П000050006009;
СтруктураДанныхРаздела.П000050007011 = СтруктураДанныхРаздела.П000050001011
+ СтруктураДанныхРаздела.П000050002011
+ СтруктураДанныхРаздела.П000050003011
+ СтруктураДанныхРаздела.П000050006011;
СтруктураДанныхРаздела.П000050007012 = СтруктураДанныхРаздела.П000050001012;
СтруктураДанныхРаздела.П000050007014 = СтруктураДанныхРаздела.П000050001014;
СтруктураДанныхРаздела.П000050007015 = СтруктураДанныхРаздела.П000050001015
+ СтруктураДанныхРаздела.П000050002015
+ СтруктураДанныхРаздела.П000050003015
+ СтруктураДанныхРаздела.П000050006015;
СтруктураДанныхРаздела.П000050007017 = СтруктураДанныхРаздела.П000050001017
+ СтруктураДанныхРаздела.П000050002017
+ СтруктураДанныхРаздела.П000050003017
+ СтруктураДанныхРаздела.П000050006017;
СтруктураДанныхРаздела.П000050007018 = СтруктураДанныхРаздела.П000050001018
+ СтруктураДанныхРаздела.П000050002018;
СтруктураДанныхРаздела.П000050007020 = СтруктураДанныхРаздела.П000050001020
+ СтруктураДанныхРаздела.П000050002020;
Если Форма.СтруктураРеквизитовФормы.НаимТекущегоРаздела = ИмяТекущегоРаздела Тогда
Форма.ТабличныйДокумент.Области.П000050003007.Значение = СтруктураДанныхРаздела.П000050003007;
Форма.ТабличныйДокумент.Области.П000050003008.Значение = СтруктураДанныхРаздела.П000050003008;
Форма.ТабличныйДокумент.Области.П000050003010.Значение = СтруктураДанныхРаздела.П000050003010;
Форма.ТабличныйДокумент.Области.П000050003011.Значение = СтруктураДанныхРаздела.П000050003011;
Форма.ТабличныйДокумент.Области.П000050003016.Значение = СтруктураДанныхРаздела.П000050003016;
Форма.ТабличныйДокумент.Области.П000050003017.Значение = СтруктураДанныхРаздела.П000050003017;
Форма.ТабличныйДокумент.Области.П000050001003.Значение = СтруктураДанныхРаздела.П000050001003;
Форма.ТабличныйДокумент.Области.П000050002003.Значение = СтруктураДанныхРаздела.П000050002003;
Форма.ТабличныйДокумент.Области.П000050003003.Значение = СтруктураДанныхРаздела.П000050003003;
Форма.ТабличныйДокумент.Области.П000050004003.Значение = СтруктураДанныхРаздела.П000050004003;
Форма.ТабличныйДокумент.Области.П000050005003.Значение = СтруктураДанныхРаздела.П000050005003;
Форма.ТабличныйДокумент.Области.П000050006003.Значение = СтруктураДанныхРаздела.П000050006003;
Форма.ТабличныйДокумент.Области.П000050001004.Значение = СтруктураДанныхРаздела.П000050001004;
Форма.ТабличныйДокумент.Области.П000050002004.Значение = СтруктураДанныхРаздела.П000050002004;
Форма.ТабличныйДокумент.Области.П000050003004.Значение = СтруктураДанныхРаздела.П000050003004;
Форма.ТабличныйДокумент.Области.П000050004004.Значение = СтруктураДанныхРаздела.П000050004004;
Форма.ТабличныйДокумент.Области.П000050005004.Значение = СтруктураДанныхРаздела.П000050005004;
Форма.ТабличныйДокумент.Области.П000050006004.Значение = СтруктураДанныхРаздела.П000050006004;
Форма.ТабличныйДокумент.Области.П000050001005.Значение = СтруктураДанныхРаздела.П000050001005;
Форма.ТабличныйДокумент.Области.П000050002005.Значение = СтруктураДанныхРаздела.П000050002005;
Форма.ТабличныйДокумент.Области.П000050003005.Значение = СтруктураДанныхРаздела.П000050003005;
Форма.ТабличныйДокумент.Области.П000050004005.Значение = СтруктураДанныхРаздела.П000050004005;
Форма.ТабличныйДокумент.Области.П000050005005.Значение = СтруктураДанныхРаздела.П000050005005;
Форма.ТабличныйДокумент.Области.П000050006005.Значение = СтруктураДанныхРаздела.П000050006005;
Форма.ТабличныйДокумент.Области.П000050007003.Значение = СтруктураДанныхРаздела.П000050007003;
Форма.ТабличныйДокумент.Области.П000050007005.Значение = СтруктураДанныхРаздела.П000050007005;
Форма.ТабличныйДокумент.Области.П000050007006.Значение = СтруктураДанныхРаздела.П000050007006;
Форма.ТабличныйДокумент.Области.П000050007008.Значение = СтруктураДанныхРаздела.П000050007008;
Форма.ТабличныйДокумент.Области.П000050007009.Значение = СтруктураДанныхРаздела.П000050007009;
Форма.ТабличныйДокумент.Области.П000050007011.Значение = СтруктураДанныхРаздела.П000050007011;
Форма.ТабличныйДокумент.Области.П000050007012.Значение = СтруктураДанныхРаздела.П000050007012;
Форма.ТабличныйДокумент.Области.П000050007014.Значение = СтруктураДанныхРаздела.П000050007014;
Форма.ТабличныйДокумент.Области.П000050007015.Значение = СтруктураДанныхРаздела.П000050007015;
Форма.ТабличныйДокумент.Области.П000050007017.Значение = СтруктураДанныхРаздела.П000050007017;
Форма.ТабличныйДокумент.Области.П000050007018.Значение = СтруктураДанныхРаздела.П000050007018;
Форма.ТабличныйДокумент.Области.П000050007020.Значение = СтруктураДанныхРаздела.П000050007020;
КонецЕсли;
ИначеЕсли ИмяТекущегоРаздела = "Раздел2_6_7" Тогда
СтруктураДанныхРаздела = Форма["СтруктураДанных" + ИмяТекущегоРаздела];
СтруктураДанныхРаздела.П000060001203 = СтруктураДанныхРаздела.П000060001303
+ СтруктураДанныхРаздела.П000060001403
+ СтруктураДанныхРаздела.П000060001503;
СтруктураДанныхРаздела.П000060001204 = СтруктураДанныхРаздела.П000060001304
+ СтруктураДанныхРаздела.П000060001404
+ СтруктураДанныхРаздела.П000060001504;
СтруктураДанныхРаздела.П000060001205 = СтруктураДанныхРаздела.П000060001305
+ СтруктураДанныхРаздела.П000060001405
+ СтруктураДанныхРаздела.П000060001505;
СтруктураДанныхРаздела.П000060001010 = СтруктураДанныхРаздела.П000060001006
* (1 - СтруктураДанныхРаздела.П000060001007 / 100
+ СтруктураДанныхРаздела.П000060001009 / 100);
СтруктураДанныхРаздела.П000070002401 = СтруктураДанныхРаздела.П000070002101
+ СтруктураДанныхРаздела.П000070002201
+ СтруктураДанныхРаздела.П000070002301;
СтруктураДанныхРаздела.П000070011401 = СтруктураДанныхРаздела.П000070011101
+ СтруктураДанныхРаздела.П000070011201
+ СтруктураДанныхРаздела.П000070011301;
СтруктураДанныхРаздела.П000070012401 = СтруктураДанныхРаздела.П000070012101
+ СтруктураДанныхРаздела.П000070012201
+ СтруктураДанныхРаздела.П000070012301;
СтруктураДанныхРаздела.П000070002003 = СтруктураДанныхРаздела.П000070002001
+ СтруктураДанныхРаздела.П000070002401;
СтруктураДанныхРаздела.П000070011003 = СтруктураДанныхРаздела.П000070011001
+ СтруктураДанныхРаздела.П000070011401;
СтруктураДанныхРаздела.П000070012003 = СтруктураДанныхРаздела.П000070012001
+ СтруктураДанныхРаздела.П000070012401;
СтруктураДанныхРаздела.П000070008003 = СтруктураДанныхРаздела.П000070001003
+ СтруктураДанныхРаздела.П000070002003
+ СтруктураДанныхРаздела.П000070003003
+ СтруктураДанныхРаздела.П000070004003
+ СтруктураДанныхРаздела.П000070005003
+ СтруктураДанныхРаздела.П000070006003
+ СтруктураДанныхРаздела.П000070007003;
СтруктураДанныхРаздела.П000070014003 = СтруктураДанныхРаздела.П000070010003
+ СтруктураДанныхРаздела.П000070011003
+ СтруктураДанныхРаздела.П000070012003
+ СтруктураДанныхРаздела.П000070013003;
СтруктураДанныхРаздела.П000070009003 = ?(СтруктураДанныхРаздела.П000070014003 > СтруктураДанныхРаздела.П000070008003
, СтруктураДанныхРаздела.П000070014003 - СтруктураДанныхРаздела.П000070008003, 0);
СтруктураДанныхРаздела.П000070015003 = ?(СтруктураДанныхРаздела.П000070008003 > СтруктураДанныхРаздела.П000070014003
, СтруктураДанныхРаздела.П000070008003 - СтруктураДанныхРаздела.П000070014003, 0);
Если Форма.СтруктураРеквизитовФормы.НаимТекущегоРаздела = ИмяТекущегоРаздела Тогда
Форма.ТабличныйДокумент.Области.П000060001203.Значение = СтруктураДанныхРаздела.П000060001203;
Форма.ТабличныйДокумент.Области.П000060001204.Значение = СтруктураДанныхРаздела.П000060001204;
Форма.ТабличныйДокумент.Области.П000060001205.Значение = СтруктураДанныхРаздела.П000060001205;
Форма.ТабличныйДокумент.Области.П000060001010.Значение = СтруктураДанныхРаздела.П000060001010;
Форма.ТабличныйДокумент.Области.П000070002401.Значение = СтруктураДанныхРаздела.П000070002401;
Форма.ТабличныйДокумент.Области.П000070011401.Значение = СтруктураДанныхРаздела.П000070011401;
Форма.ТабличныйДокумент.Области.П000070012401.Значение = СтруктураДанныхРаздела.П000070012401;
Форма.ТабличныйДокумент.Области.П000070002003.Значение = СтруктураДанныхРаздела.П000070002003;
Форма.ТабличныйДокумент.Области.П000070011003.Значение = СтруктураДанныхРаздела.П000070011003;
Форма.ТабличныйДокумент.Области.П000070012003.Значение = СтруктураДанныхРаздела.П000070012003;
Форма.ТабличныйДокумент.Области.П000070008003.Значение = СтруктураДанныхРаздела.П000070008003;
Форма.ТабличныйДокумент.Области.П000070014003.Значение = СтруктураДанныхРаздела.П000070014003;
Форма.ТабличныйДокумент.Области.П000070009003.Значение = СтруктураДанныхРаздела.П000070009003;
Форма.ТабличныйДокумент.Области.П000070015003.Значение = СтруктураДанныхРаздела.П000070015003;
КонецЕсли;
ИначеЕсли ИмяТекущегоРаздела = "Раздел2_8_9" Тогда
СтруктураДанныхРаздела = Форма["СтруктураДанных" + ИмяТекущегоРаздела];
СтруктураДанныхРаздела.П000080010004 = СтруктураДанныхРаздела.П000080001004
+ СтруктураДанныхРаздела.П000080004004
+ СтруктураДанныхРаздела.П000080007004
+ СтруктураДанныхРаздела.П000080009004;
СтруктураДанныхРаздела.П000090004003 = СтруктураДанныхРаздела.П000090001003
+ СтруктураДанныхРаздела.П000090003003;
Если Форма.СтруктураРеквизитовФормы.НаимТекущегоРаздела = ИмяТекущегоРаздела Тогда
Форма.ТабличныйДокумент.Области.П000080010004.Значение = СтруктураДанныхРаздела.П000080010004;
Форма.ТабличныйДокумент.Области.П000090004003.Значение = СтруктураДанныхРаздела.П000090004003;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ДобавитьСтроку(Команда)
#Если ВебКлиент Тогда
ДобавитьСтрокуНаСервере(Элементы.РазделыОтчета.ТекущиеДанные.КолонкаРазделыОтчетаСокрНаим);
#Иначе
ДобавитьСтрокуНаКлиенте(Элементы.РазделыОтчета.ТекущиеДанные.КолонкаРазделыОтчетаСокрНаим);
#КонецЕсли
КонецПроцедуры
&НаСервере
Процедура ДобавитьСтрокуНаСервере(КолонкаРазделыОтчетаСокрНаим)
ВставитьДополнительнуюСтроку(ЭтаФорма, КолонкаРазделыОтчетаСокрНаим);
КонецПроцедуры
&НаКлиенте
Процедура ДобавитьСтрокуНаКлиенте(КолонкаРазделыОтчетаСокрНаим)
ВставитьДополнительнуюСтроку(ЭтаФорма, КолонкаРазделыОтчетаСокрНаим);
КонецПроцедуры
&НаКлиенте
Процедура УдалитьСтроку(Команда)
ТекТабличноеПоле = ЭтаФорма["ТабличныйДокумент"];
ТекущаяОбласть = ТекТабличноеПоле.ТекущаяОбласть;
ИмяГруппы = РегламентированнаяОтчетностьКлиент.РазделТекущейОбласти(ЭтаФорма, ТекущаяОбласть);
Если ИмяГруппы = Неопределено Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = НСтр("ru='Не выбрана удаляемая строка многострочного раздела.'");
Сообщение.Сообщить();
Возврат;
КонецЕсли;
ТекстВопроса = НСтр("ru='Удалить выбранную строку?'");
ОписаниеОповещения = Новый ОписаниеОповещения("УдалитьСтрокуЗавершение", ЭтотОбъект);
ПоказатьВопрос(ОписаниеОповещения, ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Да);
КонецПроцедуры
&НаКлиенте
Процедура УдалитьСтрокуЗавершение(Ответ, ДополнительныеПараметры) Экспорт
Если Ответ <> КодВозвратаДиалога.Да Тогда
Возврат;
КонецЕсли;
#Если ВебКлиент Тогда
УдалитьДополнительнуюСтрокуНаСервере();
#Иначе
УдалитьДополнительнуюСтрокуНаКлиенте();
#КонецЕсли
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ВставитьДополнительнуюСтроку(Форма, ТекущаяСтраница)
Перем СтруктураГруппы;
Перем МаксимальноеКоличествоСтрокГруппы;
#Если НаКлиенте Тогда
ИмяГруппы = Форма.ОпределитьИдМногострочногоРазделаПоАктивнойСтраницеНаКлиенте(ТекущаяСтраница);
#Иначе
ИмяГруппы = Форма.ОпределитьИдМногострочногоРазделаПоАктивнойСтраницеНаСервере(ТекущаяСтраница);
#КонецЕсли
Если ИмяГруппы = Неопределено Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = НСтр("ru='Не выбран многострочный раздел, в который необходимо добавить строку.'");
Сообщение.Сообщить();
Возврат;
КонецЕсли;
Форма.мСтруктураИсхКолвоСтрокРазделов.Свойство(ИмяГруппы, МаксимальноеКоличествоСтрокГруппы);
ТекТабличноеПолеИмя = "ТабличныйДокумент";
ТекТабличноеПоле = Форма[ТекТабличноеПолеИмя];
Форма.мСтруктураМногострочныхРазделов.Свойство(ИмяГруппы, СтруктураГруппы);
СтруктураГруппы = Форма[СтруктураГруппы];
КолСтрок = СтруктураГруппы.Количество();
КолСтрокСтр = Формат(КолСтрок, "ЧГ=0");
КолСтрокСтр1 = Формат(КолСтрок + 1, "ЧГ=0");
ИмяПервойЯчейкиПоследнейСтроки = "УдалитьСтроку" + ИмяГруппы + "01_" + КолСтрокСтр;
ОбластьЯчейки = ТекТабличноеПоле.Области[ИмяПервойЯчейкиПоследнейСтроки];
НомерВерхЯчейкиОбласти = ОбластьЯчейки.Верх;
НомерНижнЯчейкиОбласти = ОбластьЯчейки.Низ;
СдвигСтрок = НомерНижнЯчейкиОбласти - НомерВерхЯчейкиОбласти + 1;
НомерВерхЯчейкиНовойОбласти = НомерВерхЯчейкиОбласти + СдвигСтрок;
НомерНижнЯчейкиНовойОбласти = НомерНижнЯчейкиОбласти + СдвигСтрок;
РегламентированнаяОтчетностьВызовСервера.СпециальногоДобавленияСтроки(ТекТабличноеПоле, ТекТабличноеПолеИмя, ИмяГруппы, НомерВерхЯчейкиОбласти, НомерНижнЯчейкиОбласти);
Форма[ТекТабличноеПолеИмя] = ТекТабличноеПоле;
Для НомерГрафы = 1 По Форма.мСтруктураКолвоКолонокРазделов[ИмяГруппы] Цикл
ИмяКолонки = ИмяГруппы + Формат(НомерГрафы, "ЧЦ=2; ЧВН=");
Если СтруктураГруппы[0].Свойство(ИмяКолонки) Тогда
ИмяОбластиЯчейки = ИмяКолонки + "_" + КолСтрокСтр;
ИмяНовОбластиЯчейки = ИмяКолонки + "_" + КолСтрокСтр1;
ОбластьЯчейки = ТекТабличноеПоле.Области[ИмяОбластиЯчейки];
ОбластьЯчейки.Имя = ИмяНовОбластиЯчейки;
НомерВерхСтрокиЯчейки = ОбластьЯчейки.Верх - СдвигСтрок;
НомерНижнСтрокиЯчейки = ОбластьЯчейки.Низ - СдвигСтрок;
НомерЛевоКолонкиЯчейки = ОбластьЯчейки.Лево;
НомерПравКолонкиЯчейки = ОбластьЯчейки.Право;
ОбластьЯчейкиИсходнойОбласти = ТекТабличноеПоле.Область(НомерВерхСтрокиЯчейки, НомерЛевоКолонкиЯчейки, НомерНижнСтрокиЯчейки, НомерПравКолонкиЯчейки);
ОбластьЯчейкиИсходнойОбласти.Имя = ИмяОбластиЯчейки;
Если НомерГрафы = 1 Тогда
НовОбластьЯчейкиУдалитьСтроку = ТекТабличноеПоле.Область(ОбластьЯчейки.Верх, 2, ОбластьЯчейки.Верх, 2);
НовОбластьЯчейкиУдалитьСтроку.Имя = "УдалитьСтроку" + ИмяНовОбластиЯчейки;
ИсхОбластьЯчейкиУдалитьСтроку = ТекТабличноеПоле.Область(ОбластьЯчейкиИсходнойОбласти.Верх, 2, ОбластьЯчейкиИсходнойОбласти.Верх, 2);
ИсхОбластьЯчейкиУдалитьСтроку.Имя = "УдалитьСтроку" + ИмяОбластиЯчейки;
КонецЕсли;
Если ОбластьЯчейки.СодержитЗначение = Истина Тогда
ОбластьЯчейки.Очистить();
Иначе
ИсходныйНомер = Число("0" + ОбластьЯчейки.Текст);
НовыйПорядковыйНомер = ИсходныйНомер + 1;
ОбластьЯчейки.Текст = ? (НЕ НовыйПорядковыйНомер > МаксимальноеКоличествоСтрокГруппы, Строка(НовыйПорядковыйНомер), "");
КонецЕсли;
КонецЕсли;
КонецЦикла;
ИмяТекущейОбласти = ИмяГруппы + "01_" + КолСтрокСтр1;
Форма.Элементы[ТекТабличноеПолеИмя].ТекущаяОбласть = ТекТабличноеПоле.Области[ИмяТекущейОбласти];
Форма.ТекущийЭлемент = Форма.Элементы[ТекТабличноеПолеИмя];
СтруктураГруппы.Добавить();
РегламентированнаяОтчетностьКлиентСервер.ОтрисоватьЗначкиУдаленияСтрок(Форма);
Форма.Модифицированность = Истина;
КонецПроцедуры
&НаСервере
Процедура УдалитьДополнительнуюСтрокуНаСервере()
УдалитьДополнительнуюСтроку(ЭтаФорма);
КонецПроцедуры
&НаКлиенте
Процедура УдалитьДополнительнуюСтрокуНаКлиенте()
УдалитьДополнительнуюСтроку(ЭтаФорма);
КонецПроцедуры
&НаСервере
Процедура ДобавитьНеобходимоеКоличествоДопСтрокНаСервере(ТекТабличноеПоле, ТекТабличноеПолеИмя, ИсходноеКоличествоСтрокГруппы, ТекущееКоличествоСтрокГруппы, ИмяГруппы, СтруктураГруппы) Экспорт
ОбластьДопСтроки = ТекТабличноеПоле.ПолучитьОбласть("МногострочнаяЧасть");
МногострочнаяЧастьВерх = ТекТабличноеПоле.Области.МногострочнаяЧасть.Верх;
ТекТабличноеПоле.ВставитьОбласть(ОбластьДопСтроки.Область(), ТекТабличноеПоле.Область(МногострочнаяЧастьВерх + 1, , МногострочнаяЧастьВерх + ТекущееКоличествоСтрокГруппы - 1), ТипСмещенияТабличногоДокумента.ПоВертикали);
Для НомНовойСтроки = ИсходноеКоличествоСтрокГруппы По ТекущееКоличествоСтрокГруппы Цикл
Для Каждого Область Из ОбластьДопСтроки.Области Цикл
ОбластьТаблДок = ТекТабличноеПоле.Область(МногострочнаяЧастьВерх + ТекущееКоличествоСтрокГруппы - НомНовойСтроки, Область.Лево, МногострочнаяЧастьВерх + ТекущееКоличествоСтрокГруппы - НомНовойСтроки, Область.Право);
Если ОбластьТаблДок.ТипОбласти = ТипОбластиЯчеекТабличногоДокумента.Прямоугольник Тогда
Если ОбластьТаблДок.СодержитЗначение Тогда
ОбластьТаблДок.Очистить();
КонецЕсли;
ОбластьТаблДок.Имя = Лев(Область.Имя, СтрНайти(Область.Имя, "_")) + Строка(ТекущееКоличествоСтрокГруппы - НомНовойСтроки + 1);
КонецЕсли;
КонецЦикла;
КонецЦикла;
ТекТабличноеПоле.Область(ТекТабличноеПоле.Области.МногострочнаяЧасть.Верх, , ТекТабличноеПоле.Области.МногострочнаяЧасть.Верх).Имя = "";
ТекТабличноеПоле.Область(МногострочнаяЧастьВерх, , МногострочнаяЧастьВерх).Имя = "МногострочнаяЧасть";
КонецПроцедуры
&НаСервере
Процедура УдалитьНеобходимоеКоличествоДопСтрокНаСервере(ВыбТабличноеПоле, ВыбТабличноеПолеИмя, ИмяГруппыДопСтрок) Экспорт
ПромТаблицаДопСтрокРаздела = Неопределено;
мСтруктураМногострочныхРазделов.Свойство(ИмяГруппыДопСтрок, ПромТаблицаДопСтрокРаздела);
ПромТаблицаДопСтрокРаздела = ЭтаФорма[ПромТаблицаДопСтрокРаздела];
ИсходноеКоличествоСтрокГруппы = 0;
мСтруктураИсхКолвоСтрокРазделов.Свойство(ИмяГруппыДопСтрок, ИсходноеКоличествоСтрокГруппы);
ТекущееКоличествоСтрок = ПромТаблицаДопСтрокРаздела.Количество();
Если ТекущееКоличествоСтрок > ИсходноеКоличествоСтрокГруппы Тогда
НСтр = ПромТаблицаДопСтрокРаздела.Количество();
Пока НСтр > ИсходноеКоличествоСтрокГруппы Цикл
ТекСтрокаТаблицы = ПромТаблицаДопСтрокРаздела[НСтр - 1];
ИмяПервойКолонки = ИмяГруппыДопСтрок + "01_";
ИмяПервойЯчейкиУдаляемойСтроки = ИмяПервойКолонки + НСтр;
ОбластьЯчейки = ВыбТабличноеПоле.Области[ИмяПервойЯчейкиУдаляемойСтроки];
НомерВерхЯчейкиОбласти = ОбластьЯчейки.Верх;
НомерНижнЯчейкиОбласти = ОбластьЯчейки.Низ;
РегламентированнаяОтчетностьВызовСервера.СпециальногоУдаленияСтроки(ВыбТабличноеПоле, ВыбТабличноеПолеИмя, ИмяГруппыДопСтрок, НомерВерхЯчейкиОбласти, НомерНижнЯчейкиОбласти);
ПромТаблицаДопСтрокРаздела.Удалить(ТекСтрокаТаблицы);
НСтр = НСтр - 1;
КонецЦикла;
Если ВыбТабличноеПоле.Области.Найти("МногострочнаяЧасть") = Неопределено Тогда
ВыбТабличноеПоле.Область(НомерВерхЯчейкиОбласти - 1, , НомерНижнЯчейкиОбласти - 1).Имя = "МногострочнаяЧасть";
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура УдалитьДополнительнуюСтроку(Форма, СпециальноеДобавление = Ложь, ИмяКолонкиНомера = Неопределено) Экспорт
Перем ИсходноеКоличествоСтрокГруппы;
Перем СтруктураГруппы;
ТекущаяСтраница = Форма.СтруктураРеквизитовФормы.НаимТекущегоРаздела;
ТекТабличноеПоле = Форма.ТабличныйДокумент;
ТекущаяОбласть = Форма.Элементы["ТабличныйДокумент"].ТекущаяОбласть;
#Если НаКлиенте ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда
ИмяГруппы = РегламентированнаяОтчетностьКлиент.РазделТекущейОбласти(Форма, ТекущаяОбласть);
#Иначе
ИмяГруппы = РегламентированнаяОтчетностьВызовСервера.РазделТекущейОбластиНаСервере(Форма, ТекущаяОбласть);
#КонецЕсли
Форма.мСтруктураИсхКолвоСтрокРазделов.Свойство(ИмяГруппы, ИсходноеКоличествоСтрокГруппы);
ТекТабличноеПолеИмя = "ТабличныйДокумент";
ТекТабличноеПоле = Форма[ТекТабличноеПолеИмя];
Форма.мСтруктураМногострочныхРазделов.Свойство(ИмяГруппы, СтруктураГруппы);
СтруктураГруппы = Форма[СтруктураГруппы];
ТекущаяОбласть = Форма.Элементы["ТабличныйДокумент"].ТекущаяОбласть;
ИмяЯчейки = ТекущаяОбласть.Имя;
НомУдаляемойСтроки = Число(Сред(ИмяЯчейки, СтрНайти(ИмяЯчейки, "_") + 1));
НомерСтрокиТаблицы = НомУдаляемойСтроки - 1;
Если СтруктураГруппы.Количество() > ИсходноеКоличествоСтрокГруппы Тогда
ИмяПервойЯчейкиУдаляемойСтроки = ИмяГруппы + "01_" + Формат(НомУдаляемойСтроки, "ЧГ=0");
ОбластьЯчейки = ТекТабличноеПоле.Области[ИмяПервойЯчейкиУдаляемойСтроки];
НастройкиМнгЧ = РегламентированнаяОтчетностьКлиентСервер.ПолучитьСвойствоРаздела(Форма, ТекущаяСтраница, "МногострочностьВРазделе").НайтиСтроки(Новый Структура("ИдГруппы", ИмяГруппы))[0];
ВысотаСтроки = НастройкиМнгЧ.ВысотаСтроки;
НомерВерхЯчейкиОбласти = ОбластьЯчейки.Верх;
НомерНижнЯчейкиОбласти = ОбластьЯчейки.Верх + ВысотаСтроки - 1;
МногострочностьВРазделе = РегламентированнаяОтчетностьКлиентСервер.ПолучитьСвойствоРаздела(Форма, ТекущаяСтраница, "МногострочностьВРазделе");
МногострочностьВРазделеТип = ТипЗнч(МногострочностьВРазделе);
Если МногострочностьВРазделеТип = Тип("Число") Тогда
ИмяОбластиМнгЧ = "МногострочнаяЧасть";
ИначеЕсли МногострочностьВРазделеТип = Тип("ДанныеФормыКоллекция") Тогда
ИмяОбластиМнгЧ = МногострочностьВРазделе.НайтиСтроки(Новый Структура("ИдГруппы", ИмяГруппы))[0].Область;
КонецЕсли;
Если ТекТабличноеПоле.Области.Найти(ИмяОбластиМнгЧ) <> Неопределено Тогда
ОбластьВерх = ТекТабличноеПоле.Области[ИмяОбластиМнгЧ].Верх;
ОбластьНиз = ТекТабличноеПоле.Области[ИмяОбластиМнгЧ].Низ;
КонецЕсли;
Если СпециальноеДобавление Тогда
Иначе
РегламентированнаяОтчетностьВызовСервера.УдалитьОбластьИзТабличногоДокумента(ТекТабличноеПоле, НомерВерхЯчейкиОбласти, НомерНижнЯчейкиОбласти);
Форма[ТекТабличноеПолеИмя] = ТекТабличноеПоле;
КонецЕсли;
ТекТабличноеПоле.Область(ОбластьВерх, 0, ОбластьНиз, 0).Имя = ИмяОбластиМнгЧ;
КолвоСдвигаемыхСтрок = СтруктураГруппы.Количество() - НомУдаляемойСтроки;
Если КолвоСдвигаемыхСтрок > 0 Тогда
Для НСтр = НомУдаляемойСтроки + 1 По СтруктураГруппы.Количество() Цикл
ТекСтрока = СтруктураГруппы[НСтр - 1];
НСтрСтр = Формат(НСтр, "ЧГ=0");
НСтрСтр1 = Формат(НСтр - 1, "ЧГ=0");
Для НомерГрафы = 1 По Форма.мСтруктураКолвоКолонокРазделов[ИмяГруппы] Цикл
КолонкаИмя = ИмяГруппы + Формат(НомерГрафы, "ЧЦ=2; ЧВН=");
Если СтруктураГруппы[0].Свойство(КолонкаИмя) Тогда
ИмяСдвинутойЯчейки = КолонкаИмя + "_" + НСтрСтр;
НовоеИмяСдвинутойЯчейки = КолонкаИмя + "_" + НСтрСтр1;
ОбластьСдвинутойЯчейки = ТекТабличноеПоле.Области[ИмяСдвинутойЯчейки];
ОбластьСдвинутойЯчейки.Имя = НовоеИмяСдвинутойЯчейки;
Если НомерГрафы = 1 Тогда
ОбластьЯчейкиУдалитьСтроку = ТекТабличноеПоле.Область(ОбластьСдвинутойЯчейки.Верх, 2, ОбластьСдвинутойЯчейки.Верх, 2);
ОбластьЯчейкиУдалитьСтроку.Имя = "УдалитьСтроку" + НовоеИмяСдвинутойЯчейки;
КонецЕсли;
Если ИмяКолонкиНомера <> Неопределено Тогда
Если ИмяКолонкиНомера = КолонкаИмя Тогда
СтарыйНомер = Число(ТекСтрока[КолонкаИмя]);
НовыйПорядковыйНомер = Строка(Макс(СтарыйНомер - 1, 0));
ОбластьСдвинутойЯчейки.Текст = НовыйПорядковыйНомер;
ТекСтрока[КолонкаИмя] = НовыйПорядковыйНомер;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЕсли;
СтруктураГруппы.Удалить(НомерСтрокиТаблицы);
Иначе
СтруктураГруппы.Удалить(НомерСтрокиТаблицы);
ДобавляемаяСтрока = СтруктураГруппы.Добавить();
Для Каждого СтрокаТаблицы Из СтруктураГруппы Цикл
НомерСтрокиВТаблице = СтруктураГруппы.Индекс(СтрокаТаблицы);
НомерСтрокиВФормеТаблицы = Формат(НомерСтрокиВТаблице + 1, "ЧГ=0");
Для НомерГрафы = 1 По Форма.мСтруктураКолвоКолонокРазделов[ИмяГруппы] Цикл
КолонкаТаблицыИмя = ИмяГруппы + Формат(НомерГрафы, "ЧЦ=2; ЧВН=");
Если СтруктураГруппы[0].Свойство(КолонкаТаблицыИмя) Тогда
Если ИмяКолонкиНомера <> Неопределено Тогда
Если ИмяКолонкиНомера = КолонкаТаблицыИмя Тогда
СтрокаТаблицы[КолонкаТаблицыИмя] = НомерСтрокиВФормеТаблицы;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
#Если НаКлиенте Тогда
Форма.ВывестиРазделВТабличныйДокументНаКлиенте(ИмяГруппы, СтруктураГруппы);
#Иначе
Форма.ВывестиРазделВТабличныйДокументНаСервере(ИмяГруппы, СтруктураГруппы);
#КонецЕсли
КонецЕсли;
НомТекущейСтроки = Мин(НомУдаляемойСтроки, СтруктураГруппы.Количество());
ИмяТекущейОбласти = ИмяГруппы + "01_" + Формат(НомТекущейСтроки, "ЧГ=0");
Форма.Элементы[ТекТабличноеПолеИмя].ТекущаяОбласть = ТекТабличноеПоле.Области[ИмяТекущейОбласти];
ТекущийЭлемент = Форма.Элементы[ТекТабличноеПолеИмя];
РегламентированнаяОтчетностьКлиентСервер.ОтрисоватьЗначкиУдаленияСтрок(Форма);
Форма.Модифицированность = Истина;
#Если НаКлиенте Тогда
Форма.РасчетНаКлиенте("Раздел1_31");
#Иначе
Форма.РасчетНаСервере("Раздел1_31");
#КонецЕсли
КонецПроцедуры
&НаСервере
Функция ПроверитьКонтрольныеСуммы(ПараметрыВыгрузки, ДеревоВыгрузки)
СтатусПроверки = Истина;
ДанныеРаздела1_1 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_1;
ДанныеРаздела1_2 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_2;
ДанныеРаздела1_3 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_3;
ДанныеРаздела1_31 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_31;
ДанныеРаздела1_5 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_5;
ДанныеРаздела2_6_7 = мДанныеОтчета.ПолеТабличногоДокументаРаздел2_6_7;
ДанныеРаздела2_8_9 = мДанныеОтчета.ПолеТабличногоДокументаРаздел2_8_9;
ДанныеРаздела2_10 = мДанныеОтчета.ПолеТабличногоДокументаРаздел2_10;
ТекстОписанияОшибки = "Значение показателя ""из них: женщин"" превышает значение показателя ""численность работников""!";
Если ПараметрыВыгрузки.ЧислРаботников < ПараметрыВыгрузки.ЧислЖенщин Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Титульный", "ЧислЖенщин");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя ""из них: работающих инвалидов"" превышает значение показателя ""численность работников""!";
Если ПараметрыВыгрузки.ЧислРаботников < ПараметрыВыгрузки.ЧислИнвалидов Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Титульный", "ЧислИнвалидов");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя ""из них: работающих, занятых на работах с вредными и (или) опасными производственными факторами"" превышает значение показателя ""численность работников""!";
Если ПараметрыВыгрузки.ЧислРаботников < ПараметрыВыгрузки.ЧислВред Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Титульный", "ЧислВред");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Не задан показатель ""из них: женщин"", при заполненной строке 3 таблицы 2!";
ЗаполненаСтрока3Таблицы2 = ДанныеРаздела1_2.П000020003001 <> 0
ИЛИ ДанныеРаздела1_2.П000020003003 <> 0
ИЛИ ДанныеРаздела1_2.П000020003004 <> 0
ИЛИ ДанныеРаздела1_2.П000020003005 <> 0;
Если ЗаполненаСтрока3Таблицы2 И ПараметрыВыгрузки.ЧислЖенщин < 1 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Титульный", "ЧислЖенщин");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Не задан показатель ""из них: женщин"", при заполненной строке 5 таблицы 2!";
ЗаполненаСтрока5Таблицы2 = (ДанныеРаздела1_2.П000020005003 > 0 ИЛИ ДанныеРаздела1_2.П000020005004 > 0);
Если ЗаполненаСтрока5Таблицы2 И ПараметрыВыгрузки.ЧислЖенщин < 1 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Титульный", "ЧислЖенщин");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Не задан показатель ""из них: работающих инвалидов"", при заполненной графе 4 строки 1 таблицы 6!";
ЗаполненаГрафа4Строки1Таблицы6 = (ДанныеРаздела2_6_7.П000060001104 > 0);
Если ЗаполненаГрафа4Строки1Таблицы6 И ПараметрыВыгрузки.ЧислИнвалидов < 1 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Титульный", "ЧислИнвалидов");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 1 строки 2 таблицы 1 ""на начало отчетного периода"" не равно нулю (расчет за 1-й квартал!)";
Если ПараметрыВыгрузки.ОтчПериод = "03" И ДанныеРаздела1_1.П000010002101 <> 0 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_1", "П000010002101");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 2 таблицы 1 не равно сумме сумме значений показателей в графе 1!";
Если ДанныеРаздела1_1.П000010002003 <> ДанныеРаздела1_1.П000010002101 + ДанныеРаздела1_1.П000010002301 + ДанныеРаздела1_1.П000010002401 + ДанныеРаздела1_1.П000010002501 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_1", "П000010002003");
СтатусПроверки = Ложь;
КонецЕсли;
Шифр = ПараметрыВыгрузки.ШифрСтрах1Часть;
Для Счетчик = 3 по 5 Цикл
ИмяЛевойЧасти = "П000010002" + Строка(Счетчик) + "01";
ПоказательЛевойЧасти = ДанныеРаздела1_1[ИмяЛевойЧасти];
ТекстОписанияОшибкиЛеваяЧасть = "Значение показателя """ + (Счетчик - 2) + " месяц"" графы 1 строки 2 таблицы 1 не равно ";
Если (Шифр = "032" ИЛИ Шифр = "041" ИЛИ Шифр = "042" ИЛИ Шифр = "043" ИЛИ Шифр = "061") Тогда
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ТекстОписанияОшибкиПраваяЧасть = "1,9% значения показателя в графе " + (Счетчик + 1) + " строки 4 таблицы 3 плюс/минус 1 рубль при шифре страхователя 032, 041, 042, 043, 061!";
ИмяПравойЧасти = "П00003000400" + Строка(Счетчик + 1);
Если ВыходЗаГраницыДопуска(ПоказательЛевойЧасти, 0.019 * ДанныеРаздела1_3[ИмяПравойЧасти]) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибкиЛеваяЧасть + ТекстОписанияОшибкиПраваяЧасть, "Раздел1_1", ИмяЛевойЧасти);
СтатусПроверки = Ложь;
КонецЕсли;
Иначе
ТекстОписанияОшибкиПраваяЧасть = "2,4% значения показателя в графе " + (Счетчик + 1) + " строки 4 таблицы 3 плюс/минус 1 рубль при шифре страхователя 032, 041, 042, 043, 061!";
ИмяПравойЧасти = "П00003000400" + Строка(Счетчик + 1);
Если ВыходЗаГраницыДопуска(ПоказательЛевойЧасти, 0.024 * ДанныеРаздела1_3[ИмяПравойЧасти]) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибкиЛеваяЧасть + ТекстОписанияОшибкиПраваяЧасть, "Раздел1_1", ИмяЛевойЧасти);
СтатусПроверки = Ложь;
КонецЕсли;
КонецЕсли;
ИначеЕсли (Шифр = "051" ИЛИ Шифр = "101") Тогда
ТекстОписанияОшибкиПраваяЧасть = "2,0% значения показателя в графе " + (Счетчик + 1) + " строки 4 таблицы 3 плюс/минус 1 рубль при шифре 051, 101!";
ИмяПравойЧасти = "П00003000400" + Строка(Счетчик + 1);
Если ВыходЗаГраницыДопуска(ПоказательЛевойЧасти, 0.02 * ДанныеРаздела1_3[ИмяПравойЧасти]) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибкиЛеваяЧасть + ТекстОписанияОшибкиПраваяЧасть, "Раздел1_1", ИмяЛевойЧасти);
СтатусПроверки = Ложь;
КонецЕсли;
ИначеЕсли Шифр = "071" Тогда
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ТекстОписанияОшибкиПраваяЧасть = "2,9% от разности значений показателей в графе " + (Счетчик + 1) + " строки 4 таблицы 3 и графе " + (Счетчик + 1) + " строки 5 таблицы 3 плюс 1,9% значения показателя в графе " + (Счетчик + 1) + " строки 5 таблицы 3 плюс/минус 1 рубль при шифре 071!";
ИмяПравойЧасти1 = "П00003000400" + Строка(Счетчик + 1);
ИмяПравойЧасти2 = "П00003000500" + Строка(Счетчик + 1);
Если ВыходЗаГраницыДопуска(ПоказательЛевойЧасти,
0.029*(ДанныеРаздела1_3[ИмяПравойЧасти1] - ДанныеРаздела1_3[ИмяПравойЧасти2]) + 0.019 * ДанныеРаздела1_3[ИмяПравойЧасти2]) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибкиЛеваяЧасть + ТекстОписанияОшибкиПраваяЧасть, "Раздел1_1", ИмяЛевойЧасти);
СтатусПроверки = Ложь;
КонецЕсли;
Иначе
ТекстОписанияОшибкиПраваяЧасть = "2,9% от разности значений показателей в графе " + (Счетчик + 1) + " строки 4 таблицы 3 и графе " + (Счетчик + 1) + " строки 5 таблицы 3 плюс 2,4% значения показателя в графе " + (Счетчик + 1) + " строки 5 таблицы 3 плюс/минус 1 рубль при шифре 071!";
ИмяПравойЧасти1 = "П00003000400" + Строка(Счетчик + 1);
ИмяПравойЧасти2 = "П00003000500" + Строка(Счетчик + 1);
Если ВыходЗаГраницыДопуска(ПоказательЛевойЧасти,
0.029*(ДанныеРаздела1_3[ИмяПравойЧасти1] - ДанныеРаздела1_3[ИмяПравойЧасти2]) + 0.024 * ДанныеРаздела1_3[ИмяПравойЧасти2]) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибкиЛеваяЧасть + ТекстОписанияОшибкиПраваяЧасть, "Раздел1_1", ИмяЛевойЧасти);
СтатусПроверки = Ложь;
КонецЕсли;
КонецЕсли;
ИначеЕсли Шифр = "081" ИЛИ Шифр = "121" ИЛИ Шифр = "151" ИЛИ Шифр = "161" Тогда
ТекстОписанияОшибкиПраваяЧасть = "0 при шифре 081, 121, 151, 161!";
Если ПоказательЛевойЧасти <> 0 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибкиЛеваяЧасть + ТекстОписанияОшибкиПраваяЧасть, "Раздел1_1", ИмяЛевойЧасти);
СтатусПроверки = Ложь;
КонецЕсли;
ИначеЕсли Шифр = "131" Тогда
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ТекстОписанияОшибкиПраваяЧасть = "2,9% от разности значений показателей в графе " + (Счетчик + 1) + " строки 4 таблицы 3 и графе " + (Счетчик + 1) + " строки 5 таблицы 3 и графе " + (Счетчик + 1) + " строки 7 таблицы 3 плюс 1,9% значения показателя в графе " + (Счетчик + 1) + " строки 5 таблицы 3 плюс/минус 1 рубль при шифре 131!";
ИмяПравойЧасти4 = "П00003000400" + Строка(Счетчик + 1);
ИмяПравойЧасти5 = "П00003000500" + Строка(Счетчик + 1);
ИмяПравойЧасти7 = "П00003000700" + Строка(Счетчик + 1);
Если ВыходЗаГраницыДопуска(ПоказательЛевойЧасти,
0.029*(ДанныеРаздела1_3[ИмяПравойЧасти4] - ДанныеРаздела1_3[ИмяПравойЧасти5] - ДанныеРаздела1_3[ИмяПравойЧасти7]) + 0.019 * ДанныеРаздела1_3[ИмяПравойЧасти5]) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибкиЛеваяЧасть + ТекстОписанияОшибкиПраваяЧасть, "Раздел1_1", ИмяЛевойЧасти);
СтатусПроверки = Ложь;
КонецЕсли;
Иначе
ТекстОписанияОшибкиПраваяЧасть = "2,9% от разности значений показателей в графе " + (Счетчик + 1) + " строки 4 таблицы 3 и графе " + (Счетчик + 1) + " строки 5 таблицы 3 и графе " + (Счетчик + 1) + " строки 7 таблицы 3 плюс 2,4% значения показателя в графе " + (Счетчик + 1) + " строки 5 таблицы 3 плюс/минус 1 рубль при шифре 131!";
ИмяПравойЧасти4 = "П00003000400" + Строка(Счетчик + 1);
ИмяПравойЧасти5 = "П00003000500" + Строка(Счетчик + 1);
ИмяПравойЧасти7 = "П00003000700" + Строка(Счетчик + 1);
Если ВыходЗаГраницыДопуска(ПоказательЛевойЧасти,
0.029*(ДанныеРаздела1_3[ИмяПравойЧасти4] - ДанныеРаздела1_3[ИмяПравойЧасти5] - ДанныеРаздела1_3[ИмяПравойЧасти7]) + 0.024 * ДанныеРаздела1_3[ИмяПравойЧасти5]) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибкиЛеваяЧасть + ТекстОписанияОшибкиПраваяЧасть, "Раздел1_1", ИмяЛевойЧасти);
СтатусПроверки = Ложь;
КонецЕсли;
КонецЕсли;
ИначеЕсли Шифр = "141" Тогда
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ТекстОписанияОшибкиПраваяЧасть = "2,9% от разности значений показателей в графе " + (Счетчик + 1) + " строки 4 таблицы 3 и графе " + (Счетчик + 1) + " строки 5 таблицы 3 и графе " + (Счетчик + 1) + " строки 6 таблицы 3 плюс 1,9% значения показателя в графе " + (Счетчик + 1) + " строки 5 таблицы 3 плюс/минус 1 рубль при шифре 141!";
ИмяПравойЧасти4 = "П00003000400" + Строка(Счетчик + 1);
ИмяПравойЧасти5 = "П00003000500" + Строка(Счетчик + 1);
ИмяПравойЧасти6 = "П00003000600" + Строка(Счетчик + 1);
Если ВыходЗаГраницыДопуска(ПоказательЛевойЧасти,
0.029*(ДанныеРаздела1_3[ИмяПравойЧасти4] - ДанныеРаздела1_3[ИмяПравойЧасти5] - ДанныеРаздела1_3[ИмяПравойЧасти6]) + 0.019 * ДанныеРаздела1_3[ИмяПравойЧасти5]) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибкиЛеваяЧасть + ТекстОписанияОшибкиПраваяЧасть, "Раздел1_1", ИмяЛевойЧасти);
СтатусПроверки = Ложь;
КонецЕсли;
Иначе
ТекстОписанияОшибкиПраваяЧасть = "2,9% от разности значений показателей в графе " + (Счетчик + 1) + " строки 4 таблицы 3 и графе " + (Счетчик + 1) + " строки 5 таблицы 3 и графе " + (Счетчик + 1) + " строки 6 таблицы 3 плюс 2,4% значения показателя в графе " + (Счетчик + 1) + " строки 5 таблицы 3 плюс/минус 1 рубль при шифре 141!";
ИмяПравойЧасти4 = "П00003000400" + Строка(Счетчик + 1);
ИмяПравойЧасти5 = "П00003000500" + Строка(Счетчик + 1);
ИмяПравойЧасти6 = "П00003000600" + Строка(Счетчик + 1);
Если ВыходЗаГраницыДопуска(ПоказательЛевойЧасти,
0.029*(ДанныеРаздела1_3[ИмяПравойЧасти4] - ДанныеРаздела1_3[ИмяПравойЧасти5] - ДанныеРаздела1_3[ИмяПравойЧасти6]) + 0.024 * ДанныеРаздела1_3[ИмяПравойЧасти5]) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибкиЛеваяЧасть + ТекстОписанияОшибкиПраваяЧасть, "Раздел1_1", ИмяЛевойЧасти);
СтатусПроверки = Ложь;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
ТекстОписанияОшибки = "Значение показателя графы 1 строки 3 таблицы 1 ""на начало отчетного периода"" не равно нулю (расчет за 1-й квартал)!";
Если ПараметрыВыгрузки.ОтчПериод = "03" И ДанныеРаздела1_1.П000010003101 <> 0 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_1", "П000010003101");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя графы 3 строки 3 таблицы 1 не равно сумме значений показателей в графе 1!";
Если ДанныеРаздела1_1.П000010003003 <> ДанныеРаздела1_1.П000010003101 + ДанныеРаздела1_1.П000010003301 + ДанныеРаздела1_1.П000010003401 + ДанныеРаздела1_1.П000010003501 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_1", "П000010003003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя графы 1 строки 5 таблицы 1 ""на начало отчетного периода"" не равно нулю (расчет за 1-й квартал)!";
Если (ПараметрыВыгрузки.ОтчПериод = "03" И ДанныеРаздела1_1.П000010005101 <> 0) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_1", "П000010005101");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя графы 3 строки 5 таблицы 1 не равно сумме значений показателей в графе 1!";
Если ДанныеРаздела1_1.П000010005003 <> ДанныеРаздела1_1.П000010005101 + ДанныеРаздела1_1.П000010005301 + ДанныеРаздела1_1.П000010005401 + ДанныеРаздела1_1.П000010005501 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_1", "П000010005003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя графы 1 строки 6 таблицы 1 ""на начало отчетного периода"" не равно нулю (расчет за 1-й квартал)!";
Если (ПараметрыВыгрузки.ОтчПериод = "03" И ДанныеРаздела1_1.П000010006101 <> 0) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_1", "П000010006101");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя графы 3 строки 6 таблицы 1 не равно сумме значений показателей в графе 1!";
Если ДанныеРаздела1_1.П000010006003 <> ДанныеРаздела1_1.П000010006101 + ДанныеРаздела1_1.П000010006301 + ДанныеРаздела1_1.П000010006401 + ДанныеРаздела1_1.П000010006501 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_1", "П000010006003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 8 таблицы 1 не равно сумме значений показателей в графе 3 по строкам 1 - 7!";
Если ДанныеРаздела1_1.П000010008003 <> ДанныеРаздела1_1.П000010001003 + ДанныеРаздела1_1.П000010002003 + ДанныеРаздела1_1.П000010003003 + ДанныеРаздела1_1.П000010004003 + ДанныеРаздела1_1.П000010005003 + ДанныеРаздела1_1.П000010006003 + ДанныеРаздела1_1.П000010007003 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_1", "П000010008003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 9 таблицы 1 не равно разнице значений показателей в графе 3 строк 18 и 8, когда значение показателя в графе 3 строки 18 превышает значение показателя в графе 3 строки 8!";
Если ДанныеРаздела1_1.П000010009003 <> Макс(ДанныеРаздела1_1.П000010018003 - ДанныеРаздела1_1.П000010008003, 0) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_1", "П000010009003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя графы 1 строки 15 таблицы 1 ""на начало отчетного периода"" не равно нулю (расчет за 1-й квартал)!";
Если ПараметрыВыгрузки.ОтчПериод = "03" И ДанныеРаздела1_1.П000010015101 <> 0 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_1", "П000010015101");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя графы 3 строки 15 таблицы 1 не равно сумме значений показателей в графе 1!";
Если ДанныеРаздела1_1.П000010015003 <> ДанныеРаздела1_1.П000010015101 + ДанныеРаздела1_1.П000010015301 + ДанныеРаздела1_1.П000010015401 + ДанныеРаздела1_1.П000010015501 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_1", "П000010015003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя графы 1 строки 16 таблицы 1 ""на начало отчетного периода"" не равно нулю (расчет за 1-й квартал)!";
Если ПараметрыВыгрузки.ОтчПериод = "03" И ДанныеРаздела1_1.П000010016101 <> 0 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_1", "П000010016101");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя графы 3 строки 16 таблицы 1 не равно сумме значений показателей в графе 1!";
Если ДанныеРаздела1_1.П000010016003 <> ДанныеРаздела1_1.П000010016101 + ДанныеРаздела1_1.П000010016301 + ДанныеРаздела1_1.П000010016401 + ДанныеРаздела1_1.П000010016501 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_1", "П000010016003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 19 таблицы 1 не равно разнице значений показателей в графе 3 строк 8 и 18, когда значение показателя в графе 3 строки 8 превышает значение показателя в графе 3 строки 18!";
Если ДанныеРаздела1_1.П000010019003 <> Макс(ДанныеРаздела1_1.П000010008003 - ДанныеРаздела1_1.П000010018003,0) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_1", "П000010019003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 20 превышает значение показателя в графе 3 строки 19!";
Если ДанныеРаздела1_1.П000010020003 > ДанныеРаздела1_1.П000010019003 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_1", "П000010020003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Сумма значений показателя в графе 3 строк 8 и 9 таблицы 1 не равна сумме значений показателей в графе 3 строк 18 и 19!";
Если ДанныеРаздела1_1.П000010008003 + ДанныеРаздела1_1.П000010009003 <> ДанныеРаздела1_1.П000010018003 + ДанныеРаздела1_1.П000010019003 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_1", "П000010008003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 5 строки 1 таблицы 2 не равно значению показателя в графе 5 строки 1 таблицы 5!";
Если ДанныеРаздела1_2.П000020001005 <> ДанныеРаздела1_5.П000050001005 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_2", "П000020001005");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя ""число случаев"" в графе 1 строки 2 таблицы 2 превышает значение показателя ""число случаев"" в графе 1 строки 1 таблицы 2!";
Если ДанныеРаздела1_2.П000020002001 > ДанныеРаздела1_2.П000020001001 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_2", "П000020002001");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 2 таблицы 2 превышает значение показателя в графе 3 строки 1 таблицы 2!";
Если ДанныеРаздела1_2.П000020002003 > ДанныеРаздела1_2.П000020001003 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_2", "П000020002003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 4 строки 2 таблицы 2 превышает значение показателя в графе 4 строки 1 таблицы 2!";
Если ДанныеРаздела1_2.П000020002004 > ДанныеРаздела1_2.П000020001004 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_2", "П000020002004");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 5 строки 2 таблицы 2 превышает значение показателя в графе 5 строки 1 таблицы 2!";
Если ДанныеРаздела1_2.П000020002005 > ДанныеРаздела1_2.П000020001005 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_2", "П000020002005");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя ""число случаев"" в графе 1 строки 3 таблицы 2 не равно нулю при нулевом значении показателя ""из них: женщин"" титульного листа!";
Если ПараметрыВыгрузки.ЧислЖенщин = 0 И ДанныеРаздела1_2.П000020003001 <> 0 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_2", "П000020003001");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 3 таблицы 2 не равно нулю при нулевом значении показателя ""из них: женщин"" титульного листа!";
Если (ПараметрыВыгрузки.ЧислЖенщин = 0 И ДанныеРаздела1_2.П000020003003 <> 0) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_2", "П000020003003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 5 строки 3 таблицы 2 не равно значению показателя в графе 5 строки 2 таблицы 5!";
Если ДанныеРаздела1_2.П000020003005 <> ДанныеРаздела1_5.П000050002005 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_2", "П000020003005");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя ""число случаев"" в графе 1 строки 4 таблицы 2 превышает значение показателя ""число случаев"" в графе 1 строки 3 таблицы 2!";
Если ДанныеРаздела1_2.П000020004001 > ДанныеРаздела1_2.П000020003001 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_2", "П000020004001");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 4 таблицы 2 превышает значение показателя в графе 3 строки 3 таблицы 2!";
Если ДанныеРаздела1_2.П000020004003 > ДанныеРаздела1_2.П000020003003 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_2", "П000020004003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 4 строки 4 таблицы 2 превышает значение показателя в графе 4 строки 3 таблицы 2!";
Если ДанныеРаздела1_2.П000020004004 > ДанныеРаздела1_2.П000020003004 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_2", "П000020004004");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 5 строки 4 таблицы 2 превышает значение показателя в графе 5 строки 3 таблицы 2!";
Если ДанныеРаздела1_2.П000020004005 > ДанныеРаздела1_2.П000020003005 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_2", "П000020004005");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 5 таблицы 2 не равно нулю при нулевом значении показателя ""из них: женщин"" титульного листа!";
Если (ПараметрыВыгрузки.ЧислЖенщин = 0 И ДанныеРаздела1_2.П000020005003 <> 0) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_2", "П000020005003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя ""количество получателей"" в графе 1 строки 7 таблицы 2 превышает сумму показателей ""количество получателей"" в графе 1 строк 8 и 9 таблицы 2!";
Если ДанныеРаздела1_2.П000020007001 > ДанныеРаздела1_2.П000020008001 + ДанныеРаздела1_2.П000020009001 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_2", "П000020007001");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя ""количество получателей"" в графе 1 строки 7 таблицы 2 меньше значения показателя ""количество получателей"" в графе 1 строки 8 таблицы 2!";
Если ДанныеРаздела1_2.П000020007001 < ДанныеРаздела1_2.П000020008001 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_2", "П000020007001");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя ""количество получателей"" в графе 1 строки 7 таблицы 2 меньше значения показателя ""количество получателей"" в графе 1 строки 9 таблицы 2!";
Если ДанныеРаздела1_2.П000020007001 < ДанныеРаздела1_2.П000020009001 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_2", "П000020007001");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 5 строки 7 таблицы 2 не равно значению показателя в графе 5 строки 3 таблицы 5!";
Если ДанныеРаздела1_2.П000020007005 <> ДанныеРаздела1_5.П000050003005 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_2", "П000020007005");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 5 строки 8 таблицы 2 не равно значению показателя в графе 5 строки 4 таблицы 5!";
Если ДанныеРаздела1_2.П000020008005 <> ДанныеРаздела1_5.П000050004005 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_2", "П000020008005");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 5 строки 9 таблицы 2 не равно значению показателя в графе 5 строки 5 таблицы 5!";
Если ДанныеРаздела1_2.П000020009005 <> ДанныеРаздела1_5.П000050005005 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_2", "П000020009005");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 5 строки 11 таблицы 2 не равно значению показателя в графе 5 строки 6 таблицы 5!";
Если ДанныеРаздела1_2.П000020011005 <> ДанныеРаздела1_5.П000050006005 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_2", "П000020011005");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 1 таблицы 3 меньше нуля!";
Если ДанныеРаздела1_3.П000030001003 < 0 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_3", "П000030001003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 1 таблицы 3 не равно сумме показателей в графах 4, 5, 6 по строке 1 таблицы 3 (расчет за 1-й квартал)!";
Если (ПараметрыВыгрузки.ОтчПериод = "03" И ДанныеРаздела1_3.П000030001003 <> ДанныеРаздела1_3.П000030001004 + ДанныеРаздела1_3.П000030001005 + ДанныеРаздела1_3.П000030001006) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_3", "П000030001003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 2 таблицы 3 меньше нуля!";
Если (ДанныеРаздела1_3.П000030002003 < 0) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_3", "П000030002003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 2 таблицы 3 не равно сумме показателей в графах 4, 5, 6 по строке 2 таблицы 3 (расчет за 1-й квартал)!";
Если (ПараметрыВыгрузки.ОтчПериод = "03" И ДанныеРаздела1_3.П000030002003 <> ДанныеРаздела1_3.П000030002004 + ДанныеРаздела1_3.П000030002005 + ДанныеРаздела1_3.П000030002006) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_3", "П000030002003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 3 таблицы 3 меньше нуля!";
Если (ДанныеРаздела1_3.П000030003003 < 0) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_3", "П000030003003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 3 таблицы 3 не равно сумме показателей в графах 4, 5, 6 по строке 3 таблицы 3 (расчет за 1-й квартал)!";
Если (ПараметрыВыгрузки.ОтчПериод = "03" И ДанныеРаздела1_3.П000030003003 <> ДанныеРаздела1_3.П000030003004 + ДанныеРаздела1_3.П000030003005 + ДанныеРаздела1_3.П000030003006) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_3", "П000030003003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 4 таблицы 3 меньше нуля!";
Если (ДанныеРаздела1_3.П000030004003 < 0) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_3", "П000030004003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 4 таблицы 3 не равно сумме показателей в графах 4, 5, 6 по строке 4 таблицы 3 (расчет за 1-й квартал)!";
Если (ПараметрыВыгрузки.ОтчПериод = "03" И ДанныеРаздела1_3.П000030004003 <> ДанныеРаздела1_3.П000030004004 + ДанныеРаздела1_3.П000030004005 + ДанныеРаздела1_3.П000030004006) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_3", "П000030004003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 5 таблицы 3 меньше нуля!";
Если (ДанныеРаздела1_3.П000030005003 < 0) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_3", "П000030005003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 5 таблицы 3 не равно сумме показателей в графах 4, 5, 6 по строке 5 таблицы 3 (расчет за 1-й квартал)!";
Если (ПараметрыВыгрузки.ОтчПериод = "03" И ДанныеРаздела1_3.П000030005003 <> ДанныеРаздела1_3.П000030005004 + ДанныеРаздела1_3.П000030005005 + ДанныеРаздела1_3.П000030005006) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_3", "П000030005003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 5 таблицы 3 превышает значение показателя в графе 3 строки 4 таблицы 3!";
Если (ДанныеРаздела1_3.П000030005003 > ДанныеРаздела1_3.П000030004003) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_3", "П000030005003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 5 таблицы 3 не равно нулю при нулевом значении показателя ""из них: работающих инвалидов"" титульного листа!";
Если (ПараметрыВыгрузки.ЧислИнвалидов = 0 И ДанныеРаздела1_3.П000030005003 <> 0) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_3", "П000030005003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 5 таблицы 3 не равно нулю при первой части шифра не равной 071, 131 или 141!";
Если НЕ (Шифр = "071" ИЛИ Шифр = "131" ИЛИ Шифр = "141") И ДанныеРаздела1_3.П000030005003 <> 0 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_3", "П000030005003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 6 таблицы 3 меньше нуля!";
Если ДанныеРаздела1_3.П000030006003 < 0 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_3", "П000030006003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 6 таблицы 3 не равно нулю при первой части шифра не равной 141!";
Если Шифр <> "141" И ДанныеРаздела1_3.П000030006003 <> 0 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_3", "П000030006003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 6 таблицы 3 не равно сумме показателей в графах 4, 5, 6 по строке 6 таблицы 3 (расчет за 1-й квартал)!";
Если ПараметрыВыгрузки.ОтчПериод = "03" И ДанныеРаздела1_3.П000030006003 <> ДанныеРаздела1_3.П000030006004 + ДанныеРаздела1_3.П000030006005 + ДанныеРаздела1_3.П000030006006 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_3", "П000030006003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 6 таблицы 3 превышает значение показателя в графе 3 строки 4 таблицы 3!";
Если ДанныеРаздела1_3.П000030006003 > ДанныеРаздела1_3.П000030004003 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_3", "П000030006003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 7 таблицы 3 меньше нуля!";
Если ДанныеРаздела1_3.П000030007003 < 0 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_3", "П000030007003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 7 таблицы 3 не равно нулю при первой части шифра не равной 131!";
Если (НЕ Шифр = "131" И НЕ ДанныеРаздела1_3.П000030007003 = 0) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_3", "П000030007003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 7 таблицы 3 не равно сумме показателей в графах 4, 5, 6 по строке 7 таблицы 3 (расчет за 1-й квартал)!";
Если ПараметрыВыгрузки.ОтчПериод = "03" И ДанныеРаздела1_3.П000030007003 <> ДанныеРаздела1_3.П000030007004+ДанныеРаздела1_3.П000030007005+ДанныеРаздела1_3.П000030007006 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_3", "П000030007003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 7 таблицы 3 превышает значение показателя в графе 3 строки 4 таблицы 3!";
Если ДанныеРаздела1_3.П000030007003 > ДанныеРаздела1_3.П000030004003 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_3", "П000030007003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя ""Итого выплат"" в графе 5 таблицы 3.1 не равно значению показателя в графе 3 строки 5 таблицы 3!";
Если ДанныеРаздела1_31.П000310002005 <> ДанныеРаздела1_3.П000030005003 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_31", "П000310002005");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 3 таблицы 5 превышает сумму значений показателей в графе 3 строк 4 и 5 таблицы 5!";
Если (ДанныеРаздела1_5.П000050003003 > ДанныеРаздела1_5.П000050004003 + ДанныеРаздела1_5.П000050005003) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_5", "П000050003003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 3 таблицы 5 меньше значения показателя в графе 3 строки 4 таблицы 5!";
Если (ДанныеРаздела1_5.П000050003003 < ДанныеРаздела1_5.П000050004003) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_5", "П000050003003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 3 таблицы 5 меньше значения показателя в графе 3 строки 5 таблицы 5!";
Если (ДанныеРаздела1_5.П000050003003 < ДанныеРаздела1_5.П000050005003) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел1_5", "П000050003003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 1 таблицы 6 меньше нуля!";
Если (ДанныеРаздела2_6_7.П000060001103 < 0) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел2_6_7", "П000060001103");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 1 таблицы 6 не равно значению показателя в графе 3 по строке 2 таблицы 6 (расчет за 1-й квартал)!";
Если (ПараметрыВыгрузки.ОтчПериод = "03" И ДанныеРаздела2_6_7.П000060001103 <> ДанныеРаздела2_6_7.П000060001203) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел2_6_7", "П000060001103");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 4 строки 1 таблицы 6 меньше нуля!";
Если ДанныеРаздела2_6_7.П000060001104 < 0 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел2_6_7", "П000060001104");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 4 строки 1 таблицы 6 не равно значению показателя в графе 4 по строке 2 таблицы 6 (расчет за 1-й квартал)!";
Если ПараметрыВыгрузки.ОтчПериод = "03" И ДанныеРаздела2_6_7.П000060001104 <> ДанныеРаздела2_6_7.П000060001204 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел2_6_7", "П000060001104");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 4 строки 1 таблицы 6 превышает значение показателя в графе 3 строки 1 таблицы 6!";
Если ДанныеРаздела2_6_7.П000060001104 > ДанныеРаздела2_6_7.П000060001103 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел2_6_7", "П000060001104");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 4 строки 1 таблицы 6 не равно нулю при нулевом значении показателя ""из них: работающих инвалидов"" титульного листа!";
Если ПараметрыВыгрузки.ЧислИнвалидов = 0 И ДанныеРаздела2_6_7.П000060001104 <> 0 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел2_6_7", "П000060001104");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 5 строки 1 таблицы 6 меньше нуля!";
Если ДанныеРаздела2_6_7.П000060001105 < 0 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел2_6_7", "П000060001105");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 5 строки 1 таблицы 6 не равно значению показателя в графе 5 строки 2 таблицы 6 (расчет за 1-й квартал)!";
Если ПараметрыВыгрузки.ОтчПериод = "03" И ДанныеРаздела2_6_7.П000060001105 <> ДанныеРаздела2_6_7.П000060001205 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел2_6_7", "П000060001105");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя ""на начало отчетного периода"" в графе 1 строки 2 таблицы 7 не равно нулю (расчет за 1-й квартал)!";
Если ПараметрыВыгрузки.ОтчПериод = "03" И ДанныеРаздела2_6_7.П000070002001 <> 0 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел2_6_7", "П000070002001");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя ""на начало отчетного периода"" в графе 1 строки 11 таблицы 7 не равно нулю (расчет за 1-й квартал)!";
Если ПараметрыВыгрузки.ОтчПериод = "03" И ДанныеРаздела2_6_7.П000070011001 <> 0 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел2_6_7", "П000070011001");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 11 таблицы 7 не равно значению показателя в графе 4 строки 10 таблицы 8!";
Если ДанныеРаздела2_6_7.П000070011003 <> ДанныеРаздела2_8_9.П000080010004 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел2_6_7", "П000070011001");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя ""на начало отчетного периода"" в графе 1 строки 12 таблицы 7 не равно нулю (расчет за 1-й квартал)!";
Если ПараметрыВыгрузки.ОтчПериод = "03" И ДанныеРаздела2_6_7.П000070012001 <> 0 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел2_6_7", "П000070012001");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 15 таблицы 7 не равно разности показателей в графе 3 строк 8 и 14 таблицы 7, при значении показателя в графе 3 строки 8 превышающем значение показателя в графе 3 строки 14!";
Если ДанныеРаздела2_6_7.П000070015003 <> Макс(ДанныеРаздела2_6_7.П000070008003 - ДанныеРаздела2_6_7.П000070014003, 0) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел2_6_7", "П000070008003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 16 таблицы 7 превышает значение показателя в графе 3 строки 15 таблицы 7!";
Если (ДанныеРаздела2_6_7.П000070016003 > ДанныеРаздела2_6_7.П000070015003) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел2_6_7", "П000070016003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Сумма значений показателей в графе 3 строк 8 и 9 таблицы 7 не равна сумме значений показателей в графе 3 строк 14 и 15 таблицы 7!";
Если ДанныеРаздела2_6_7.П000070008003 + ДанныеРаздела2_6_7.П000070009003 <> ДанныеРаздела2_6_7.П000070014003 + ДанныеРаздела2_6_7.П000070015003 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел2_6_7", "П000070008003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 7 таблицы 8 меньше значения показателя в графе 3 строки 8 таблицы 8!";
Если ДанныеРаздела2_8_9.П000080007003 < ДанныеРаздела2_8_9.П000080008003 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел2_8_9", "П000080007003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 4 строки 7 таблицы 8 меньше значения показателя в графе 4 строки 8 таблицы 8!";
Если ДанныеРаздела2_8_9.П000080007004 < ДанныеРаздела2_8_9.П000080008004 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел2_8_9", "П000080007004");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 2 таблицы 9 превышает значение показателя в графе 3 строки 1 таблицы 9!";
Если ДанныеРаздела2_8_9.П000090002003 > ДанныеРаздела2_8_9.П000090001003 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел2_8_9", "П000090002003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 5 таблицы 9 превышает значение показателя в графе 3 строки 4 таблицы 9!";
Если ДанныеРаздела2_8_9.П000090005003 > ДанныеРаздела2_8_9.П000090004003 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел2_8_9", "П000090005003");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 3 строки 1 таблицы 10 меньше значения показателя в графе 4 строки 1 таблицы 10!";
Если ДанныеРаздела2_10.П000100000103 < ДанныеРаздела2_10.П000100000104 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел2_10", "П000100000103");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 4 строки 1 таблицы 10 меньше суммы значений показателей в графах 5 и 6 строки 1 таблицы 10!";
Если ДанныеРаздела2_10.П000100000104 < (ДанныеРаздела2_10.П000100000105 + ДанныеРаздела2_10.П000100000106) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел2_10", "П000100000104");
СтатусПроверки = Ложь;
КонецЕсли;
ТекстОписанияОшибки = "Значение показателя в графе 7 строки 2 таблицы 10 меньше значения показателя в графе 8 строки 2 таблицы 10!";
Если ДанныеРаздела2_10.П000100000207 < ДанныеРаздела2_10.П000100000208 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, ТекстОписанияОшибки, "Раздел2_10", "П000100000207");
СтатусПроверки = Ложь;
КонецЕсли;
Возврат СтатусПроверки;
КонецФункции
&НаКлиенте
Процедура Очистить(ВыполняемоеОповещение) Экспорт
РегламентированнаяОтчетностьКлиент.Очистить(ЭтаФорма, ВыполняемоеОповещение);
КонецПроцедуры
&НаКлиенте
Процедура ОчиститьОтчет(Команда)
РегламентированнаяОтчетностьКлиент.МеханизмыОчисткиРегламентированныхОтчетов(ЭтаФорма, "ОчиститьВесьОтчет");
КонецПроцедуры
&НаСервере
Процедура ОчиститьНаСервере() Экспорт
СтруктураДанныхРаздел1_1.Очистить();
СтруктураДанныхРаздел1_2.Очистить();
СтруктураДанныхРаздел1_3.Очистить();
СтруктураДанныхРаздел1_31.Очистить();
СтруктураДанныхРаздел1_4.Очистить();
СтруктураДанныхРаздел1_41.Очистить();
СтруктураДанныхРаздел1_42.Очистить();
СтруктураДанныхРаздел1_43.Очистить();
СтруктураДанныхРаздел1_44.Очистить();
СтруктураДанныхРаздел1_5.Очистить();
СтруктураДанныхРаздел2_6_7.Очистить();
СтруктураДанныхРаздел2_8_9.Очистить();
СтруктураДанныхРаздел2_10.Очистить();
Для Каждого мнгРаздел Из мСтруктураМногострочныхРазделов Цикл
ЭтаФорма[мнгРаздел.Ключ].Очистить();
КонецЦикла;
НачальныеОперацииСМногострочнымиБлоками();
ЗаполнитьПустыеСтруктурыДанных();
Если НЕ СтруктураРеквизитовФормы.НаимТекущегоРаздела = "Титульный" Тогда
ОчиститьТабличноеПолеНаСервере(СтруктураРеквизитовФормы.НаимТекущегоРаздела);
КонецЕсли;
ВывестиМакетСтраницыВТабличныйДокументНаСервере(СтруктураРеквизитовФормы.НаимТекущегоРаздела, 1);
РасчетНаСервере(СтруктураРеквизитовФормы.НаимТекущегоРаздела);
РегламентированнаяОтчетностьКлиентСервер.ОчиститьВариантыЗаполнения(ЭтаФорма);
ПараметрыОтчета = Новый Структура;
ПараметрыОтчета.Вставить("Организация", СтруктураРеквизитовФормы.Организация);
ПараметрыОтчета.Вставить("ДатаНачалаПериодаОтчета", СтруктураРеквизитовФормы.мДатаНачалаПериодаОтчета);
ПараметрыОтчета.Вставить("ДатаКонцаПериодаОтчета", СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета);
РегламентированнаяОтчетность.ПолучитьСведенияОПоказателяхОтчета(ЭтаФорма, ПараметрыОтчета);
КонецПроцедуры
&НаКлиенте
Процедура ОчиститьТекущуюСтраницу(Команда)
ОписаниеОповещения = Новый ОписаниеОповещения("ОчиститьТекущуюСтраницуЗавершение", ЭтотОбъект);
РегламентированнаяОтчетностьКлиент.МеханизмыОчисткиРегламентированныхОтчетов(
ЭтаФорма, "ОчиститьТекущийЭкземплярМногостраничногоРаздела"
+ Элементы.РазделыОтчета.ТекущиеДанные.КолонкаРазделыОтчетаСокрНаим,
ОписаниеОповещения);
КонецПроцедуры
&НаКлиенте
Процедура ОчиститьТекущуюСтраницуЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если СтруктураРеквизитовФормы.НаимТекущегоРаздела = "Титульный" Тогда
НомерКорректировки = 0;
СтруктураРеквизитовФормы.ВидДокумента = 0;
ДатаПодписи = Неопределено;
ОтобразитьНомерКорректировки(ЭтаФорма);
ТабличныйДокумент.Области.ДатаПодписи.Значение = ДатаПодписи;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ОчисткаРегламентированногоОтчетаНаСервере(ИмяСтраницы, ЗапускатьОтдельнуюОбработкуПослеОчисткиЛиста, РежимОчистки, Многостраничность, КолВоСтраницВРазделе) Экспорт
УдалятьсяВсеДопЭкземпляры = Ложь;
Если СтрНайти(РежимОчистки, "ОчиститьТекущийРаздел") > 0 Тогда
Если (Многостраничность) И (КолВоСтраницВРазделе > 1) Тогда
ОчиститьПоказателиОтчетаЗаполняемыеИзИБНаСервере(ИмяСтраницы);
ПараметрыОтчета = Новый Структура;
ПараметрыОтчета.Вставить("Организация", СтруктураРеквизитовФормы.Организация);
ПараметрыОтчета.Вставить("ДатаНачалаПериодаОтчета", СтруктураРеквизитовФормы.мДатаНачалаПериодаОтчета);
ПараметрыОтчета.Вставить("ДатаКонцаПериодаОтчета", СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета);
РегламентированнаяОтчетность.ПолучитьСведенияОПоказателяхОтчета(ЭтаФорма, ПараметрыОтчета);
УдалятьсяВсеДопЭкземпляры = Истина;
Иначе
ОчиститьТабличноеПолеНаСервере(ИмяСтраницы);
КонецЕсли;
СформироватьДеревоРазделовОтчетаНаСервере();
СтруктураРеквизитовФормы.ВыводитьСтраницуВТаблДокНаСервере = Ложь;
ИначеЕсли СтрНайти(РежимОчистки, "ОчиститьТекущийЭкземплярМногостраничногоРаздела") > 0 Тогда
ОчиститьТабличноеПолеНаСервере(ИмяСтраницы);
КонецЕсли;
Если ИмяСтраницы = "Титульный" Тогда
Если Элементы.Найти("ДатаПодписи") = Неопределено Тогда
Область = ТабличныйДокумент.Области.Найти("ДатаПодписи");
Если НЕ Область = Неопределено Тогда
Если ТипЗнч(Область.Значение) = Тип("Строка") Тогда
ДатаПодписи = Лев(СтрЗаменить(Область.Значение, ".", ""), 8);
ИначеЕсли ТипЗнч(Область.Значение) = Тип("Дата") Тогда
Если ЗначениеЗаполнено(Область.Значение) Тогда
ДатаПодписи = Лев(СтрЗаменить(Формат(Область.Значение, "ДФ = ""дд.ММ.гггг 'г.'"""), ".", ""), 8);
Иначе
ДатаПодписи = " ";
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
РегламентированнаяОтчетностьКлиентСервер.ПослеОчисткиРегламентированногоОтчета(ЭтаФорма, ИмяСтраницы, ЗапускатьОтдельнуюОбработкуПослеОчисткиЛиста);
КонецПроцедуры
&НаКлиенте
Процедура ОчисткаРегламентированногоОтчетаНаКлиенте(ИмяСтраницы, ЗапускатьОтдельнуюОбработкуПослеОчисткиЛиста, РежимОчистки, Многостраничность, КолВоСтраницВРазделе) Экспорт
УдалятьсяВсеДопЭкземпляры = Ложь;
Если СтрНайти(РежимОчистки, "ОчиститьТекущийРаздел") > 0 Тогда
Если (Многостраничность) И (КолВоСтраницВРазделе > 1) Тогда
РегламентированнаяОтчетностьКлиентСервер.ОчиститьПоказателиОтчетаЗаполняемыеИзИБ(ЭтаФорма, ИмяСтраницы);
УдалятьсяВсеДопЭкземпляры = Истина;
Иначе
ОчиститьТабличноеПолеНаКлиенте(ИмяСтраницы);
КонецЕсли;
СформироватьДеревоРазделовОтчетаНаКлиенте();
ИначеЕсли СтрНайти(РежимОчистки, "ОчиститьТекущийЭкземплярМногостраничногоРаздела") > 0 Тогда
ОчиститьТабличноеПолеНаКлиенте(ИмяСтраницы);
КонецЕсли;
РегламентированнаяОтчетностьКлиентСервер.ПослеОчисткиРегламентированногоОтчета(ЭтаФорма, ИмяСтраницы, ЗапускатьОтдельнуюОбработкуПослеОчисткиЛиста);
КонецПроцедуры
&НаСервере
Процедура ОчиститьПоказателиОтчетаЗаполняемыеИзИБНаСервере(НазванияМногостраничныхРазделовДляУдаления = "")
РегламентированнаяОтчетностьКлиентСервер.ОчиститьПоказателиОтчетаЗаполняемыеИзИБ(ЭтаФорма, НазванияМногостраничныхРазделовДляУдаления);
КонецПроцедуры
&НаСервере
Процедура УстановитьФорматВыводаВПоляхВводаНаСервере(НаимРаздела)
УстановитьФорматВыводаВПоляхВвода(ЭтаФорма, НаимРаздела);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьФорматВыводаВПоляхВвода(Форма, НаимРаздела) Экспорт
Перем СтруктураГруппы;
Если Форма.СтруктураРеквизитовФормы.ЕдиницаИзмерения = Форма.ПорядкиОкругленияОтчетности.ПеречислениеПорядкиОкругленияОтчетностиОкр1 Тогда
Форма.СтруктураРеквизитовФормы.мСтрокаФормата = "ЧЦ = 17; ЧДЦ = " + Форма.СтруктураРеквизитовФормы.ТочностьЕдиницыИзмерения + "; ЧРД=,; ЧН=-; ЧС = 0";
ИначеЕсли Форма.СтруктураРеквизитовФормы.ЕдиницаИзмерения = Форма.ПорядкиОкругленияОтчетности.ПеречислениеПорядкиОкругленияОтчетностиОкр1000 Тогда
Форма.СтруктураРеквизитовФормы.мСтрокаФормата = "ЧЦ = 17; ЧДЦ = " + Форма.СтруктураРеквизитовФормы.ТочностьЕдиницыИзмерения + "; ЧРД=,; ЧН=-; ЧС = 3";
ИначеЕсли Форма.СтруктураРеквизитовФормы.ЕдиницаИзмерения = Форма.ПорядкиОкругленияОтчетности.ПеречислениеПорядкиОкругленияОтчетностиОкр1000000 Тогда
Форма.СтруктураРеквизитовФормы.мСтрокаФормата = "ЧЦ = 17; ЧДЦ = " + Форма.СтруктураРеквизитовФормы.ТочностьЕдиницыИзмерения + "; ЧРД=,; ЧН=-; ЧС = 6";
КонецЕсли;
ИмяПоляТаблДокументаСтароеЗначение = "";
Для Каждого СтрПоказатели Из Форма.мТаблицаСоставПоказателей Цикл
ИмяПоляТаблДокумента = СокрП(СтрПоказатели.ИмяПоляТаблДокумента);
КодПоказателя = СокрП(СтрПоказатели.КодПоказателяПоСоставу);
ПризнМногострочность = СокрП(СтрПоказатели.ПризнМногострочности);
КодПоказателяПоСтруктуре = СокрП(СтрПоказатели.КодПоказателяПоСтруктуре);
КодПоказателяПоФорме = СокрП(СтрПоказатели.КодПоказателяПоФорме);
ТипДанныхПоказателя = СокрП(СтрПоказатели.ТипДанныхПоказателя);
ИмяПоказателя = ?(ПустаяСтрока(СтрПоказатели.КодПоказателяПоФорме), КодПоказателя, КодПоказателяПоФорме);
Если НаимРаздела <> ИмяПоляТаблДокумента Тогда
Продолжить;
КонецЕсли;
Если ПустаяСтрока(КодПоказателя) ИЛИ КодПоказателя = "===" ИЛИ КодПоказателя = "###" ИЛИ Лев(КодПоказателя, 2) = "//" Тогда
Продолжить;
КонецЕсли;
Если ТипДанныхПоказателя = "Е" И ПустаяСтрока(КодПоказателяПоСтруктуре) Тогда
ТекТабличноеПоле = Форма["ТабличныйДокумент"];
Если ПризнМногострочность <> "/" Тогда
ФорматируемаяОбласть = ТекТабличноеПоле.Области[ИмяПоказателя];
ДопустимыйЗнакПоказателя = ФорматируемаяОбласть.ТипЗначения.КвалификаторыЧисла.ДопустимыйЗнак;
ЧислоЕЗнак = Форма.СтруктураРеквизитовФормы.мОписаниеТиповЧислоЕ;
Если ДопустимыйЗнакПоказателя = ДопустимыйЗнак.Неотрицательный Тогда
ЧислоЕЗнак = Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(ЧислоЕЗнак.КвалификаторыЧисла.Разрядность,ЧислоЕЗнак.КвалификаторыЧисла.РазрядностьДробнойЧасти, ДопустимыйЗнакПоказателя));
КонецЕсли;
ФорматируемаяОбласть.ТипЗначения = ЧислоЕЗнак;
ФорматируемаяОбласть.Формат = Форма.СтруктураРеквизитовФормы.мСтрокаФормата;
Иначе
НСтр = 1;
Пока ТекТабличноеПоле.Области.Найти(ИмяПоказателя + "_" + Формат(НСтр, "ЧГ=0")) <> Неопределено Цикл
ФорматируемаяОбласть = ТекТабличноеПоле.Области[ИмяПоказателя + "_" + Формат(НСтр, "ЧГ=0")];
ДопустимыйЗнакПоказателя = ФорматируемаяОбласть.ТипЗначения.КвалификаторыЧисла.ДопустимыйЗнак;
ЧислоЕЗнак = Форма.СтруктураРеквизитовФормы.мОписаниеТиповЧислоЕ;
Если ДопустимыйЗнакПоказателя = ДопустимыйЗнак.Неотрицательный Тогда
ЧислоЕЗнак = Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(ЧислоЕЗнак.КвалификаторыЧисла.Разрядность,ЧислоЕЗнак.КвалификаторыЧисла.РазрядностьДробнойЧасти, ДопустимыйЗнакПоказателя));
КонецЕсли;
ФорматируемаяОбласть.ТипЗначения = ЧислоЕЗнак;
ФорматируемаяОбласть.Формат = Форма.СтруктураРеквизитовФормы.мСтрокаФормата;
НСтр = НСтр + 1;
КонецЦикла;
КонецЕсли;
КонецЕсли;
ИмяПоляТаблДокументаСтароеЗначение = ИмяПоляТаблДокумента;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьФормуНастроек(Команда)
ОткрытьФормуВыбораСтраниц("ВыбратьДляНастройки");
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьФормуВыбораСтраниц(ВариантВыбора)
Перем ТекущийРазделОтчетаСокрНаим;
Перем НомерСтраницыРазделаОтчета;
Если НЕ Элементы.РазделыОтчета.ТекущиеДанные = Неопределено Тогда
ТекущийРазделОтчетаСокрНаим = Элементы.РазделыОтчета.ТекущиеДанные.КолонкаРазделыОтчетаСокрНаим;
НомерСтраницыРазделаОтчета = Элементы.РазделыОтчета.ТекущиеДанные.КолонкаНомерСтраницыРазделаОтчета;
КонецЕсли;
мПараметры = Новый Структура;
мПараметры.Вставить("ПроверкаСоотношений", Истина);
мПараметры.Вставить("РазрешитьВстроеннуюПечать", Ложь);
мПараметры.Вставить("Автосохранение", Ложь);
мПараметры.Вставить("СчетчикСтраниц", Истина);
мПараметры.Вставить("Выгрузка", Ложь);
мПараметры.Вставить("ИмеетсяРеквизитДеревоВыбранныхСтраниц", Истина);
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ФлажокОтклАвтоРасчет", СтруктураРеквизитовФормы.ФлажокОтклАвтоРасчет);
ПараметрыФормы.Вставить("мСчетчикСтраниц", СтруктураРеквизитовФормы.мСчетчикСтраниц);
ПараметрыФормы.Вставить("мАвтоВыборКодов", СтруктураРеквизитовФормы.мАвтоВыборКодов);
ПараметрыФормы.Вставить("мИнтервалАвтосохранения", СтруктураРеквизитовФормы.мИнтервалАвтосохранения);
ПараметрыФормы.Вставить("мПроверятьСоотношенияПриПечатиИВыгрузки", СтруктураРеквизитовФормы.мПроверятьСоотношенияПриПечатиИВыгрузки);
ПараметрыФормы.Вставить("мПараметры", мПараметры);
ФормаНастройкиОтчета = РегламентированнаяОтчетностьКлиент.ПолучитьОбщуюФормуПоИмени("НастройкиОтчета", ПараметрыФормы, ЭтаФорма);
мДеревоВыбранныхСтраниц.ПолучитьЭлементы().Очистить();
КопироватьДанныеФормы(мДеревоСтраницОтчета, ФормаНастройкиОтчета.Дерево);
ЗначениеАвторасчета = СтруктураРеквизитовФормы.ФлажокОтклАвтоРасчет;
ЗначениеЕдИзм = СтруктураРеквизитовФормы.ЕдиницаИзмерения;
ЗначениеЗпт = СтруктураРеквизитовФормы.ТочностьЕдиницыИзмерения;
РезультатВыбора = Неопределено;
ДополнительныеПараметры = Новый Структура("ЗначениеАвторасчета, ЗначениеЕдИзм, ЗначениеЗпт, НомерСтраницыРазделаОтчета, ТекущийРазделОтчетаСокрНаим", ЗначениеАвторасчета, ЗначениеЕдИзм, ЗначениеЗпт, НомерСтраницыРазделаОтчета, ТекущийРазделОтчетаСокрНаим);
ОписаниеОповещения = Новый ОписаниеОповещения("ОткрытьФормуВыбораСтраницЗавершение", ЭтотОбъект, ДополнительныеПараметры);
ФормаНастройкиОтчета.РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца;
ФормаНастройкиОтчета.ОписаниеОповещенияОЗакрытии = ОписаниеОповещения;
ФормаНастройкиОтчета.Открыть();
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьФормуВыбораСтраницЗавершение(РезультатВыбора, ДополнительныеПараметры) Экспорт
ЗначениеАвторасчета = ДополнительныеПараметры.ЗначениеАвторасчета;
ЗначениеЕдИзм = ДополнительныеПараметры.ЗначениеЕдИзм;
ЗначениеЗпт = ДополнительныеПараметры.ЗначениеЗпт;
НомерСтраницыРазделаОтчета = ДополнительныеПараметры.НомерСтраницыРазделаОтчета;
ТекущийРазделОтчетаСокрНаим = ДополнительныеПараметры.ТекущийРазделОтчетаСокрНаим;
Модифицированность = Истина;
флЗначенияИдентичны = Истина;
Для Индекс = 0 По мДеревоСтраницОтчета.ПолучитьЭлементы().Количество() - 1 Цикл
Если НЕ мДеревоСтраницОтчета.ПолучитьЭлементы()[Индекс].ПоказатьСтраницу = мДеревоВыбранныхСтраниц.ПолучитьЭлементы()[Индекс].ПоказатьСтраницу Тогда
флЗначенияИдентичны = Ложь;
Прервать;
КонецЕсли;
КонецЦикла;
Если ЗначениеАвторасчета <> СтруктураРеквизитовФормы.ФлажокОтклАвтоРасчет Тогда
#Если ВебКлиент Тогда
ИзменитьТаблицуВариантовЗаполненияНаСервере();
#Иначе
РегламентированнаяОтчетностьКлиентСервер.ИзменитьТаблицуВариантовЗаполнения(ЭтаФорма, НЕ СтруктураРеквизитовФормы.ФлажокОтклАвтоРасчет);
#КонецЕсли
КонецЕсли;
РегламентированнаяОтчетностьКлиент.ПоказатьСтраницыОтчетаНаКлиенте(ЭтаФорма);
Если НЕ флЗначенияИдентичны Тогда
СформироватьДеревоРазделовОтчетаНаКлиенте();
Если НЕ ТекущийРазделОтчетаСокрНаим = Неопределено Тогда
НайденнаяСтрока = РегламентированнаяОтчетностьКлиентСервер.НайтиЭлементВДанныхФормыДерево(РазделыОтчета.ПолучитьЭлементы(), "КолонкаРазделыОтчетаСокрНаим", ТекущийРазделОтчетаСокрНаим);
Если НЕ НайденнаяСтрока = Неопределено
И НЕ НомерСтраницыРазделаОтчета = Неопределено
И НайденнаяСтрока.ПолучитьЭлементы().Количество() > 0 Тогда
НайденнаяСтрока = РегламентированнаяОтчетностьКлиентСервер.НайтиЭлементВДанныхФормыДерево(НайденнаяСтрока.ПолучитьЭлементы(), "КолонкаНомерСтраницыРазделаОтчета", НомерСтраницыРазделаОтчета);
КонецЕсли;
Если НЕ НайденнаяСтрока = Неопределено Тогда
Элементы.РазделыОтчета.ТекущаяСтрока = НайденнаяСтрока.ПолучитьИдентификатор();
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ИзменитьТаблицуВариантовЗаполненияНаСервере()
ИмяТекущегоРаздела = СтруктураРеквизитовФормы.НаимТекущегоРаздела;
РегламентированнаяОтчетностьКлиентСервер.ИзменитьТаблицуВариантовЗаполнения(ЭтаФорма, НЕ СтруктураРеквизитовФормы.ФлажокОтклАвтоРасчет);
ПараметрыОтчета = Новый Структура;
ПараметрыОтчета.Вставить("Организация", СтруктураРеквизитовФормы.Организация);
ПараметрыОтчета.Вставить("ДатаНачалаПериодаОтчета", СтруктураРеквизитовФормы.мДатаНачалаПериодаОтчета);
ПараметрыОтчета.Вставить("ДатаКонцаПериодаОтчета", СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета);
РегламентированнаяОтчетность.ПолучитьСведенияОПоказателяхОтчета(ЭтаФорма, ПараметрыОтчета);
КонецПроцедуры
&НаКлиенте
Процедура АктивизироватьЯчейку(Ячейка) Экспорт
РегламентированнаяОтчетностьКлиент.АктивизироватьЯчейку(ЭтаФорма, Ячейка);
КонецПроцедуры
&НаКлиенте
Процедура ПоказатьБланк(Команда)
Отказ = Ложь;
ДополнительныеПараметры = Новый Структура();
ДополнительныеПараметры.Вставить("Команда", Команда);
ОписаниеОповещения = Новый ОписаниеОповещения("ПоказатьБланкЗавершение", ЭтотОбъект, ДополнительныеПараметры);
ОнлайнСервисыРегламентированнойОтчетностиКлиент.ПередПечатьюРегламентированногоОтчета(ОписаниеОповещения, ЭтотОбъект, Отказ);
КонецПроцедуры
&НаКлиенте
Процедура ПоказатьБланкЗавершение(Отказ, ДополнительныеПараметры) Экспорт
Если Отказ Тогда
Возврат;
КонецЕсли;
Команда = ДополнительныеПараметры.Команда;
Печать(Команда.Имя);
КонецПроцедуры
&НаКлиенте
Процедура Печать(ВидПечати, НеИзФормыОтчета = Ложь) Экспорт
Состояние(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='%1. Формируется печатная форма...'"), ЭтаФорма.Заголовок), , , БиблиотекаКартинок.Печать);
Если СтруктураРеквизитовФормы.мПроверятьСоотношенияПриПечатиИВыгрузки <> Неопределено И СтруктураРеквизитовФормы.мПроверятьСоотношенияПриПечатиИВыгрузки Тогда
РегламентированнаяОтчетностьКлиент.ПроверитьКонтрольныеСоотношения(ЭтаФорма, ОбработкаКС);
КонецЕсли;
Если НЕ ПечатьНаСервере(ВидПечати) Тогда
Возврат;
КонецЕсли;
РегламентированнаяОтчетностьКлиент.ОткрытьФормуПредварительногоПросмотра(ЭтаФорма, ВидПечати, , СтруктураРеквизитовФормы.СписокПечатаемыхЛистов);
СтруктураРеквизитовФормы.мРежимПечати = Ложь;
КонецПроцедуры
&НаСервере
Функция ПечатьНаСервере(ВидПечати)
Если НЕ РегламентированнаяОтчетность.ПринтерДоступен() Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = НСтр("ru='Перед формированием печатных форм необходимо определить в системе принтер и задать его в качестве используемого по умолчанию!'");
Сообщение.Сообщить();
Возврат Ложь;
КонецЕсли;
Если ТипЗнч(мДеревоВыбранныхСтраниц) <> Тип("ДанныеФормыДерево") Тогда
Возврат Ложь;
КонецЕсли;
СтруктураРеквизитовФормы.мПечатныеФормы.Очистить();
СтруктураРеквизитовФормы.мРежимПечати = Истина;
СохранитьДанныеРаздела(СтруктураРеквизитовФормы.НаимТекущегоРаздела, Ложь);
сохрТаблДок = ТабличныйДокумент.ПолучитьОбласть();
СтрПоля = "ПолеСверху, ПолеСправа, ПолеСнизу, ПолеСлева";
ВремПоля = Новый Структура(СтрПоля);
ЗаполнитьЗначенияСвойств(ВремПоля, ТабличныйДокумент, СтрПоля);
ВывестиМакетВТаблДокНаСервере("Титульный", 0);
ОбщиеРеквизитыРазделов = ПолучитьОбщиеРеквизитыСТитульногоЛиста();
Для Каждого СтрокаУровня1 Из мДеревоВыбранныхСтраниц.ПолучитьЭлементы() Цикл
Если СтрокаУровня1.ВыводНаПечать = 0 Тогда
Продолжить;
КонецЕсли;
СтруктураПараметров = Новый Структура;
СтруктураПараметров.Вставить("НаименованиеЛиста", СтрокаУровня1.Представление);
СтруктураПараметров.Вставить("ОриентацияЛиста", СтрокаУровня1.ОриентацияСтраницы);
СтруктураПараметров.Вставить("ИмяСтраницы", СтрокаУровня1.ИмяСтраницы);
Структурапараметров.Вставить("ИмяОбластиТаблПоля", СтрокаУровня1.ИмяОбластиТабличногоПоля);
СтруктураПараметров.Вставить("ВидПечати", ВидПечати);
Если НЕ мСтруктураМногостраничныхРазделов.Свойство(СтрокаУровня1.ИмяСтраницы) Тогда
ВывестиМакетВТаблДокНаСервере(СтрокаУровня1.ИмяСтраницы, 0);
ВывестиНаПечатьЛист(СтруктураПараметров, ОбщиеРеквизитыРазделов, СтрПоля);
Иначе
СтруктураПараметров.Вставить("ИмяСтраницыПанели", СтрокаУровня1.ИмяСтраницы);
ВывестиНаПечатьДополнительныеСтраницы(СтруктураПараметров, ОбщиеРеквизитыРазделов, СтрокаУровня1);
КонецЕсли;
КонецЦикла;
ТабличныйДокумент.Очистить();
ТабличныйДокумент.Вывести(сохрТаблДок);
ЗаполнитьЗначенияСвойств(ТабличныйДокумент, ВремПоля, СтрПоля);
РегламентированнаяОтчетностьКлиентСервер.ПроставлениеНомеровЛистов(ЭтаФорма, , СтруктураРеквизитовФормы.СписокПечатаемыхЛистов);
КопироватьДанныеФормы(мДеревоВыбранныхСтраниц, мДеревоСтраницОтчета);
Возврат Истина;
КонецФункции
&НаСервере
Процедура ВывестиНаПечатьЛист(Парам1, ОбщиеРеквизитыРазделов, СтрПоля = Неопределено)
СоответствиеРазделовМакетам = Новый Соответствие;
СоответствиеРазделовМакетам.Вставить("Титульный", "ПечатнаяФормаОтчета2012Кв3_Титульный");
СоответствиеРазделовМакетам.Вставить("Раздел1_1", "ПечатнаяФормаОтчета2012Кв3_Раздел1_1");
СоответствиеРазделовМакетам.Вставить("Раздел1_2", "ПечатнаяФормаОтчета2012Кв3_Раздел1_2");
СоответствиеРазделовМакетам.Вставить("Раздел1_3", "ПечатнаяФормаОтчета2012Кв3_Раздел1_3");
СоответствиеРазделовМакетам.Вставить("Раздел1_31", "ПечатнаяФормаОтчета2012Кв3_Раздел1_31");
СоответствиеРазделовМакетам.Вставить("Раздел1_4", "ПечатнаяФормаОтчета2012Кв3_Раздел1_4");
СоответствиеРазделовМакетам.Вставить("Раздел1_41", "ПечатнаяФормаОтчета2012Кв3_Раздел1_41");
СоответствиеРазделовМакетам.Вставить("Раздел1_42", "ПечатнаяФормаОтчета2012Кв3_Раздел1_42");
СоответствиеРазделовМакетам.Вставить("Раздел1_43", "ПечатнаяФормаОтчета2012Кв3_Раздел1_43");
СоответствиеРазделовМакетам.Вставить("Раздел1_44", "ПечатнаяФормаОтчета2012Кв3_Раздел1_44");
СоответствиеРазделовМакетам.Вставить("Раздел1_5", "ПечатнаяФормаОтчета2012Кв3_Раздел1_5");
СоответствиеРазделовМакетам.Вставить("Раздел2_6_7", "ПечатнаяФормаОтчета2012Кв3_Раздел2_6_7");
СоответствиеРазделовМакетам.Вставить("Раздел2_8_9", "ПечатнаяФормаОтчета2012Кв3_Раздел2_8_9");
СоответствиеРазделовМакетам.Вставить("Раздел2_10", "ПечатнаяФормаОтчета2012Кв3_Раздел2_10");
ПечатнаяФормаРаздела = СоответствиеРазделовМакетам[Парам1.ИмяСтраницы];
МакетПечатнойФормы = ОбъектОтчета(ЭтаФорма.ИмяФормы).ПолучитьМакет(ПечатнаяФормаРаздела);
МакетПечатнойФормы.ПолеСверху = 5;
МакетПечатнойФормы.ПолеСправа = 5;
МакетПечатнойФормы.ПолеСнизу = 5;
МакетПечатнойФормы.ПолеСлева = 5;
ИдГруппы = ОпределитьИдМногострочногоРазделаПоАктивнойСтраницеНаСервере(Парам1.ИмяСтраницы);
Если ИдГруппы <> Неопределено Тогда
КолвоСтрокВТаблДок = ЭтаФорма[ИдГруппы].Количество();
ОбластьМнгЧасти = МакетПечатнойФормы.ПолучитьОбласть("МногострочнаяЧасть");
ВысотаОбластиМнгЧасти = МакетПечатнойФормы.ПолучитьОбласть("МногострочнаяЧасть").ВысотаТаблицы;
ИмяОбластиПоследнейДопСтроки = ОбластьМнгЧасти.ПолучитьОбласть(ВысотаОбластиМнгЧасти, , ВысотаОбластиМнгЧасти).Области[0].Имя;
КолвоСтрокВПечатнойФорме = Число(Сред(ИмяОбластиПоследнейДопСтроки, СтрНайти(ИмяОбластиПоследнейДопСтроки, "_") + 1));
Если КолвоСтрокВТаблДок > КолвоСтрокВПечатнойФорме Тогда
НомерВерхЯчейкиОбласти = МакетПечатнойФормы.Область(ИдГруппы + "01_" + КолвоСтрокВПечатнойФорме).Верх;
НомерНижнЯчейкиОбласти = МакетПечатнойФормы.Область(ИдГруппы + Формат(мСтруктураКолвоКолонокРазделов[ИдГруппы], "ЧЦ=2; ЧВН=") + "_" + КолвоСтрокВПечатнойФорме).Низ;
ВставляемаяОбласть = МакетПечатнойФормы.Область(НомерВерхЯчейкиОбласти, , НомерНижнЯчейкиОбласти);
КолвоДопСтрок = КолвоСтрокВТаблДок - КолвоСтрокВПечатнойФорме;
Для Ном = 1 По КолвоДопСтрок Цикл
МакетПечатнойФормы.ВставитьОбласть(ВставляемаяОбласть, , ТипСмещенияТабличногоДокумента.ПоВертикали);
КонецЦикла;
Для Каждого Область Из МакетПечатнойФормы.ПолучитьОбласть(НомерВерхЯчейкиОбласти + КолвоДопСтрок, , НомерНижнЯчейкиОбласти + КолвоДопСтрок).Области Цикл
НайденнаяОбласть = МакетПечатнойФормы.Области.Найти(Область.Имя);
Если НЕ НайденнаяОбласть = Неопределено Тогда
НайденнаяОбласть.Имя = Лев(НайденнаяОбласть.Имя, СтрНайти(НайденнаяОбласть.Имя, "_") - 1) + "_" + Формат(КолвоСтрокВТаблДок, "ЧЦ=3");
КонецЕсли;
КонецЦикла;
Для Ном = 0 По КолвоДопСтрок - 1 Цикл
Для Каждого Область Из МакетПечатнойФормы.ПолучитьОбласть(НомерВерхЯчейкиОбласти + КолвоДопСтрок, , НомерНижнЯчейкиОбласти + КолвоДопСтрок).Области Цикл
НайденнаяОбласть = МакетПечатнойФормы.Область(НомерВерхЯчейкиОбласти + Ном, Область.Лево, НомерВерхЯчейкиОбласти + Ном, Область.Право);
Если НЕ НайденнаяОбласть = Неопределено Тогда
НайденнаяОбласть.Имя = Лев(Область.Имя, СтрНайти(Область.Имя, "_") - 1) + "_" + Формат(КолвоСтрокВПечатнойФорме + Ном, "ЧЦ=3");
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЕсли;
КонецЕсли;
ЗаполнитьПечатнуюФорму(Парам1, МакетПечатнойФормы, ОбщиеРеквизитыРазделов);
ТабличныйДокумент.Очистить();
ТабличныйДокумент.Вывести(МакетПечатнойФормы);
ЗаполнитьЗначенияСвойств(ТабличныйДокумент, МакетПечатнойФормы, СтрПоля, "Макет");
РегламентированнаяОтчетность.ВывестиНаПечатьЛистОбщая(ЭтаФорма.Заголовок, Парам1, ТабличныйДокумент, СтруктураРеквизитовФормы.мПечатныеФормы);
КонецПроцедуры
&НаСервере
Функция ПолучитьОбщиеРеквизитыСТитульногоЛиста()
МассивОргФССКод = Новый Массив(10);
МассивДополнительныйКод = Новый Массив(10);
МассивКодПодчиненности = Новый Массив(5);
МассивНомСтр = Новый Массив(3);
МассивДатаПодписи = Новый Массив(8);
ИсходныйМакет = ТабличныйДокумент;
Область = ИсходныйМакет.Области.Найти("ОргФССКод");
Если НЕ Область = Неопределено Тогда
ОргФССКод = Область.Значение;
Для Ном = 1 По СтрДлина(ОргФССКод) Цикл
МассивОргФССКод[Ном - 1] = Сред(ОргФССКод, Ном, 1);
КонецЦикла;
КонецЕсли;
Область = ИсходныйМакет.Области.Найти("ДополнительныйКод");
Если НЕ Область = Неопределено Тогда
ДополнительныйКод = Область.Значение;
Для Ном = 1 По СтрДлина(ДополнительныйКод) Цикл
МассивДополнительныйКод[Ном - 1] = Сред(ДополнительныйКод, Ном, 1);
КонецЦикла;
КонецЕсли;
Область = ИсходныйМакет.Области.Найти("КодПодчиненности");
Если НЕ Область = Неопределено Тогда
КодПодчиненности = Область.Значение;
Для Ном = 1 По СтрДлина(КодПодчиненности) Цикл
МассивКодПодчиненности[Ном - 1] = Сред(КодПодчиненности, Ном, 1);
КонецЦикла;
КонецЕсли;
Область = ИсходныйМакет.Области.Найти("НомСтр");
Если НЕ Область = Неопределено Тогда
Для Ном = 1 По СтрДлина(Область.Значение) Цикл
МассивНомСтр[Ном - 1] = Сред(Область.Значение, Ном, 1);
КонецЦикла;
КонецЕсли;
Область = ИсходныйМакет.Области.Найти("ДатаПодписи");
Если НЕ Область = Неопределено Тогда
Если ТипЗнч(Область.Значение) = Тип("Строка") Тогда
СтрДатаПодписи = Лев(СтрЗаменить(Область.Значение, ".", ""), 8);
ИначеЕсли ТипЗнч(Область.Значение) = Тип("Дата") Тогда
Если ЗначениеЗаполнено(Область.Значение) Тогда
СтрДатаПодписи = Лев(СтрЗаменить(Формат(Область.Значение, "ДФ = ""дд.ММ.гггг 'г.'"""), ".", ""), 8);
Иначе
СтрДатаПодписи = " ";
КонецЕсли;
КонецЕсли;
Для Ном = 1 По СтрДлина(СтрДатаПодписи) Цикл
Если ЗначениеЗаполнено(ИсходныйМакет.Области.ДатаПодписи.Значение) Тогда
МассивДатаПодписи[Ном - 1] = Сред(СтрДатаПодписи, Ном, 1);
КонецЕсли;
КонецЦикла;
КонецЕсли;
ОбщиеРеквизитыРазделов = Новый Структура;
ОбщиеРеквизитыРазделов.Вставить("ОргФССКод", МассивОргФССКод);
ОбщиеРеквизитыРазделов.Вставить("ДополнительныйКод", МассивДополнительныйКод);
ОбщиеРеквизитыРазделов.Вставить("КодПодчиненности", МассивКодПодчиненности);
ОбщиеРеквизитыРазделов.Вставить("НомСтр", МассивНомСтр);
ОбщиеРеквизитыРазделов.Вставить("ДатаПодписи", МассивДатаПодписи);
Возврат ОбщиеРеквизитыРазделов;
КонецФункции
&НаСервере
Процедура ВывестиНаПечатьДополнительныеСтраницы(СтруктураПараметровСтраницы, ОбщиеРеквизитыРазделов, СтрокаУровня1)
Перем ИмяСтраницы;
Перем ТаблицаСтраницРаздела;
СтруктураПараметровСтраницы.Свойство("ИмяСтраницыПанели", ИмяСтраницы);
Если Не мСтруктураМногостраничныхРазделов.Свойство(ИмяСтраницы, ТаблицаСтраницРаздела) Тогда
Возврат;
КонецЕсли;
ТаблицаСтраницРаздела = ЭтаФорма[ТаблицаСтраницРаздела];
Для Каждого Страница Из ТаблицаСтраницРаздела Цикл
ТекущийИндекс = ТаблицаСтраницРаздела.Индекс(Страница);
СохрАктивнаяСтраница = ТаблицаСтраницРаздела[ТекущийИндекс].АктивнаяСтраница;
ВывестиМакетВТаблДокНаСервере(ИмяСтраницы, ТекущийИндекс + 1);
ТаблицаСтраницРаздела[ТекущийИндекс].АктивнаяСтраница = СохрАктивнаяСтраница;
ВывестиНаПечатьЛист(СтруктураПараметровСтраницы, ОбщиеРеквизитыРазделов);
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьПечатнуюФорму(ПараметрыПечати, МакетПечатнойФормы, ОбщиеРеквизитыРазделов)
ИсходныйМакет = ТабличныйДокумент;
Для Каждого Область Из ИсходныйМакет.Области Цикл
Если Область.ТипОбласти = ТипОбластиЯчеекТабличногоДокумента.Прямоугольник И Область.СодержитЗначение Тогда
Если ПараметрыПечати.ИмяСтраницы = "Титульный" Тогда
Если СтрЧислоВхождений(Область.Имя, "ОргФССКод") > 0
ИЛИ СтрЧислоВхождений(Область.Имя, "ДополнительныйКод") > 0
ИЛИ СтрЧислоВхождений(Область.Имя, "КодПодчиненности") > 0
ИЛИ СтрЧислоВхождений(Область.Имя, "НомСтр") > 0
ИЛИ СтрЧислоВхождений(Область.Имя, "ДатаПодписи") > 0 Тогда
Продолжить;
ИначеЕсли СтрЧислоВхождений(Область.Имя, "ИНН") > 0 Тогда
СтрИНН = Область.Значение;
Если СтрДлина(СтрИНН) = 10 Тогда
СтрИНН = "00" + СтрИНН;
КонецЕсли;
Для Ном = 1 По СтрДлина(СтрИНН) Цикл
МакетПечатнойФормы.Области[Область.Имя + Ном].Значение = Сред(СтрИНН, Ном, 1);
КонецЦикла;
Продолжить;
ИначеЕсли СтрЧислоВхождений(Область.Имя, "Период") > 0 Тогда
СтрПериод = Область.Значение;
Для Ном = 1 По СтрДлина(СтрПериод) Цикл
МакетПечатнойФормы.Области[Область.Имя + "_" + Ном].Значение = Сред(СтрПериод, Ном, 1);
КонецЦикла;
Продолжить;
ИначеЕсли СтрЧислоВхождений(Область.Имя, "НомДопРасчета") > 0 Тогда
СтрНомДопРасчета = Область.Значение;
Если ЗначениеЗаполнено(СтрНомДопРасчета) Тогда
СтрНомДопРасчета = Прав("00" + СтрНомДопРасчета, 2);
КонецЕсли;
Для Ном = 1 По СтрДлина(СтрНомДопРасчета) Цикл
МакетПечатнойФормы.Области[Область.Имя + "_" + Ном].Значение = Сред(СтрНомДопРасчета, Ном, 1);
КонецЦикла;
Продолжить;
ИначеЕсли СтрЧислоВхождений(Область.Имя, "ШифрСтрах1Часть") > 0
ИЛИ СтрЧислоВхождений(Область.Имя, "ШифрСтрах2Часть") > 0
ИЛИ СтрЧислоВхождений(Область.Имя, "ШифрСтрах3Часть") > 0
ИЛИ СтрЧислоВхождений(Область.Имя, "ЧислРаботников") > 0
ИЛИ СтрЧислоВхождений(Область.Имя, "ЧислЖенщин") > 0
ИЛИ СтрЧислоВхождений(Область.Имя, "ЧислИнвалидов") > 0
ИЛИ СтрЧислоВхождений(Область.Имя, "ЧислВред") > 0 Тогда
Для Ном = 1 По СтрДлина(Область.Значение) Цикл
МакетПечатнойФормы.Области[Область.Имя + "_" + Ном].Значение = Сред(Область.Значение, Ном, 1);
КонецЦикла;
Продолжить;
ИначеЕсли СтрЧислоВхождений(Область.Имя, "НомерКорректировки") > 0
ИЛИ СтрЧислоВхождений(Область.Имя, "ОтчетГод") > 0
ИЛИ СтрЧислоВхождений(Область.Имя, "КПП") > 0
ИЛИ СтрЧислоВхождений(Область.Имя, "ОГРН") > 0
ИЛИ СтрЧислоВхождений(Область.Имя, "ОКАТО") > 0
ИЛИ СтрЧислоВхождений(Область.Имя, "ТелОрганизации") > 0
ИЛИ СтрЧислоВхождений(Область.Имя, "СПриложением") > 0 Тогда
Для Ном = 1 По СтрДлина(Область.Значение) Цикл
МакетПечатнойФормы.Области[Область.Имя + Ном].Значение = Сред(Область.Значение, Ном, 1);
КонецЦикла;
Продолжить;
КонецЕсли;
ИначеЕсли ПараметрыПечати.ИмяСтраницы = "Раздел1_31" Тогда
Если СтрЧислоВхождений(Область.Имя, "ИтоговыеПоказатели") > 0 Тогда
Продолжить;
КонецЕсли;
ИначеЕсли ПараметрыПечати.ИмяСтраницы = "Раздел1_1" Тогда
Если СтрЧислоВхождений(Область.Имя, "ОКВЭД") > 0 Тогда
Для Ном = 1 По СтрДлина(Область.Значение) Цикл
МакетПечатнойФормы.Области[Область.Имя + Ном].Значение = Сред(Область.Значение, Ном, 1);
КонецЦикла;
Продолжить;
КонецЕсли;
ИначеЕсли ПараметрыПечати.ИмяСтраницы = "Раздел2_6_7" Тогда
Если СтрЧислоВхождений(Область.Имя, "ОКВЭД") > 0 Тогда
Для Ном = 1 По СтрДлина(Область.Значение) Цикл
МакетПечатнойФормы.Области[Область.Имя + Ном].Значение = Сред(Область.Значение, Ном, 1);
КонецЦикла;
Продолжить;
КонецЕсли;
КонецЕсли;
МакетПечатнойФормы.Области[Область.Имя].Значение = Область.Значение;
КонецЕсли;
КонецЦикла;
Для Каждого Реквизит Из ОбщиеРеквизитыРазделов Цикл
Постфикс = 1;
Разделитель = Истина;
Если Реквизит.Ключ = "ОргФССКод" Тогда
НаименованиеОбласти = "ОргФССКод";
ИначеЕсли Реквизит.Ключ = "ДополнительныйКод" Тогда
НаименованиеОбласти = "ДополнительныйКод";
ИначеЕсли Реквизит.Ключ = "КодПодчиненности" Тогда
НаименованиеОбласти = "КодПодчиненности";
ИначеЕсли Реквизит.Ключ = "НомСтр" Тогда
НаименованиеОбласти = "НомСтр";
Разделитель = Ложь;
ИначеЕсли Реквизит.Ключ = "ДатаПодписи" Тогда
НаименованиеОбласти = "ДатаПодписи";
Разделитель = Ложь;
Иначе
НаименованиеОбласти = Реквизит.Ключ;
КонецЕсли;
Если НЕ МакетПечатнойФормы.Области.Найти(НаименованиеОбласти + ?(Разделитель, "_", "") + Постфикс) = Неопределено Тогда
Для Ном = 1 По Реквизит.Значение.Количество() Цикл
МакетПечатнойФормы.Области[НаименованиеОбласти + ?(Разделитель, "_", "") + Ном].Значение = Реквизит.Значение[Ном - 1];
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
Заголовок = ЗаголовокРегламентированногоОтчета(СтруктураРеквизитовФормы.мДатаНачалаПериодаОтчета, СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета);
ОргСтр = " (" + СтруктураРеквизитовФормы.Организация + ")";
Если СтрНайти(Заголовок, ОргСтр) = 0 Тогда
Заголовок = Заголовок + ОргСтр;
КонецЕсли;
Заголовок = Заголовок + ?(СтрНайти(ЭтаФорма.ИмяФормы, "Внешний") > 0, " - внешний отчет", "");
ПодключитьОбработчикОжидания("ВыполнитьПроверкуПередОткрытием", 0.1, Истина);
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("РегламентированнаяОтчетность.Интерфейс85") Тогда
Если РазделыОтчета.ПолучитьЭлементы().Количество() > 0 Тогда
Элементы.РазделыОтчета.ТекущаяСтрока = РазделыОтчета.ПолучитьЭлементы()[0].ПолучитьИдентификатор();
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ВыполнитьПроверкуПередОткрытием()
ОписаниеОповещения = Новый ОписаниеОповещения("ПриОткрытииЗавершение", ЭтотОбъект);
Отказ = Ложь;
ОнлайнСервисыРегламентированнойОтчетностиКлиент.ПередОткрытиемФормыРегламентированногоОтчета(ОписаниеОповещения, ЭтотОбъект, Отказ);
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытииЗавершение(Отказ, ДополнительныеПараметры) Экспорт
Если Отказ Тогда
Модифицированность = Ложь;
Закрыть();
Возврат;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
РегламентированнаяОтчетностьКлиент.ПередЗакрытиемРегламентированногоОтчета(ЭтаФорма, Отказ, СтандартнаяОбработка, ЗавершениеРаботы, ТекстПредупреждения);
КонецПроцедуры
&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
Если ЗавершениеРаботы Тогда
Возврат;
КонецЕсли;
ПриЗакрытииНаСервере();
КонецПроцедуры
&НаСервере
Процедура ПриЗакрытииНаСервере()
РегламентированнаяОтчетность.ПриЗакрытииРегламентированногоОтчета(ЭтаФорма);
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьИзФайла(Команда)
ОписаниеОповещения = Новый ОписаниеОповещения("ЗагрузитьИзФайлаЗавершение", ЭтотОбъект);
Отказ = Ложь;
ОнлайнСервисыРегламентированнойОтчетностиКлиент.ПередЗагрузкойРегламентированногоОтчета(ОписаниеОповещения, ЭтотОбъект, Отказ);
КонецПроцедуры
&НаКлиенте
Процедура Выгрузить(Команда)
ОписаниеОповещения = Новый ОписаниеОповещения("ВыгрузитьЗавершение", ЭтотОбъект);
Отказ = Ложь;
ОнлайнСервисыРегламентированнойОтчетностиКлиент.ПередВыгрузкойРегламентированногоОтчета(ОписаниеОповещения, ЭтотОбъект, Отказ);
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьИзФайлаЗавершение(Отказ, ДополнительныеПараметры) Экспорт
Если Отказ Тогда
Возврат;
КонецЕсли;
ЗагрузитьИзФайлаОтчет();
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьИзФайлаОтчет() Экспорт
ОписаниеОповещения = Новый ОписаниеОповещения("ЗагрузитьИзФайлаОтчетЗавершение", ЭтотОбъект);
Если Модифицированность Тогда
СохранитьНаКлиенте(,ОписаниеОповещения);
Иначе
ВыполнитьОбработкуОповещения(ОписаниеОповещения);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьИзФайлаОтчетЗавершение(Результат, ДополнительныеПараметры) Экспорт
РегламентированнаяОтчетностьЗагрузкаКлиент.ЗагрузитьИзФайлаОтчет(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Функция ЗагрузкаОтчетаИзФайла(ДанныеДляЗагрузки) Экспорт
Если Модифицированность Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = СтрШаблон(НСтр("ru='Отчет ""%1"" не сохранен.'"), ЭтотОбъект.Заголовок);
Сообщение.Сообщить();
Возврат Ложь;
КонецЕсли;
Если НЕ ЗагрузкаОтчетаИзФайлаНаСервере(ДанныеДляЗагрузки) Тогда
Возврат Ложь;
КонецЕсли;
Возврат Истина;
КонецФункции
&НаСервере
Функция ЗагрузкаОтчетаИзФайлаНаСервере(ДанныеДляЗагрузки)
СформироватьСтруктуруПоказателей();
ПараметрыОтчета = СформироватьСтруктуруПараметров();
ДеревоДляЗагрузки = ИзвлечьСтруктуруXML();
Если НЕ РегламентированнаяОтчетностьЗагрузка.ЗагрузкаОтчетаИзФайла(
ЭтотОбъект, ПараметрыОтчета, ДанныеДляЗагрузки, ДеревоДляЗагрузки) Тогда
Возврат Ложь;
КонецЕсли;
Возврат Истина;
КонецФункции
&НаКлиенте
Процедура ВыгрузитьЗавершение(Отказ, ДополнительныеПараметры) Экспорт
Если Отказ Тогда
Возврат;
КонецЕсли;
ВыгрузитьОтчет();
КонецПроцедуры
&НаКлиенте
Процедура ВыгрузитьОтчет() Экспорт
ОписаниеОповещения = Новый ОписаниеОповещения("ВыгрузитьОтчетЗавершение", ЭтотОбъект);
Если Модифицированность Тогда
СохранитьНаКлиенте(,ОписаниеОповещения);
Иначе
ВыполнитьОбработкуОповещения(ОписаниеОповещения);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ВыгрузитьОтчетЗавершение(Результат, ДополнительныеПараметры) Экспорт
ФормаВыгрузкиРеглОтчета = ПолучитьФорму("Документ.ВыгрузкаРегламентированныхОтчетов.Форма.ФормаДокумента", , ЭтаФорма);
СпДокОсн = Новый СписокЗначений;
СпДокОсн.Добавить(СтруктураРеквизитовФормы.мСохраненныйДок);
ФормаВыгрузкиРеглОтчета.СформироватьИЗаписать(СпДокОсн);
КонецПроцедуры
&НаКлиенте
Функция УниверсальнаяВыгрузка(ТекстВыгрузки = Неопределено, ПроверятьБлокировки = Истина) Экспорт
Перем ПараметрыВыгрузки;
Если Модифицированность Тогда
ТекстЗаголовка = ЗаголовокРегламентированногоОтчета(СтруктураРеквизитовФормы.мДатаНачалаПериодаОтчета, СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета);
ОргСтр = " (" + СтруктураРеквизитовФормы.Организация + ")";
Если СтрНайти(ТекстЗаголовка, ОргСтр) = 0 Тогда
ТекстЗаголовка = ТекстЗаголовка + ОргСтр;
КонецЕсли;
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Отчет """ + ТекстЗаголовка + """ не сохранен.";
Сообщение.Сообщить();
Возврат Ложь;
КонецЕсли;
Если Открыта() Тогда
Если СтруктураРеквизитовФормы.ЕдиницаИзмерения <> ПорядкиОкругленияОтчетности.ПеречислениеПорядкиОкругленияОтчетностиОкр1 Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = НСтр("ru='Перед выгрузкой необходимо установить единицу измерения ""в рублях"".'");
Сообщение.Сообщить();
Возврат Ложь;
КонецЕсли;
Если СтруктураРеквизитовФормы.ТочностьЕдиницыИзмерения <> 2 Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = НСтр("ru='Перед выгрузкой необходимо установить точность ""2"".'");
Сообщение.Сообщить();
Возврат Ложь;
КонецЕсли;
КонецЕсли;
Если СтруктураРеквизитовФормы.мПроверятьСоотношенияПриПечатиИВыгрузки <> Неопределено И СтруктураРеквизитовФормы.мПроверятьСоотношенияПриПечатиИВыгрузки Тогда
РегламентированнаяОтчетностьКлиент.ПроверитьКонтрольныеСоотношения(ЭтаФорма, ОбработкаКС);
КонецЕсли;
Если НЕ УниверсальнаяВыгрузкаНаСервере(ТекстВыгрузки, ПараметрыВыгрузки) Тогда
Возврат Ложь;
КонецЕсли;
Возврат Истина;
КонецФункции
&НаСервере
Функция УниверсальнаяВыгрузкаНаСервере(ТекстВыгрузки, ПараметрыВыгрузки)
СформироватьСтруктуруПоказателей();
ПараметрыВыгрузки = СформироватьСтруктуруПараметров();
ДеревоВыгрузки = ИзвлечьСтруктуруXML();
Если НЕ ПроверитьВозможностьВыгрузки(ПараметрыВыгрузки, ДеревоВыгрузки) Тогда
Возврат Ложь;
КонецЕсли;
ЗаполнитьДанными(ДеревоВыгрузки, ПараметрыВыгрузки);
Если НЕ РегламентированнаяОтчетность.ПроверитьДанные(ЭтаФорма, ДеревоВыгрузки) Тогда
Возврат Ложь;
КонецЕсли;
ТекстВыгрузки = ВыгрузитьДеревоВXML(ДеревоВыгрузки, ПараметрыВыгрузки);
Возврат Истина;
КонецФункции
&НаСервере
Функция СформироватьСтруктуруПоказателей()
мДанныеОтчета = Новый Структура;
СохрСтруктура = СтруктураРеквизитовФормы.мСохраненныйДок.ДанныеОтчета.Получить();
ПоказателиОтчета = СохрСтруктура.ПоказателиОтчета;
Для Каждого Раздел Из ПоказателиОтчета Цикл
мДанныеОтчета.Вставить(Раздел.Ключ, РегламентированнаяОтчетность.СвернутьДанныеТабличногоПоля(Раздел.Значение));
КонецЦикла;
Для Каждого ЭлементСтруктуры Из СохрСтруктура.ДанныеМногостраничныхРазделов Цикл
НайденноеЗначение = Неопределено;
мСтруктураМногостраничныхРазделов.Свойство(ЭлементСтруктуры.Ключ, НайденноеЗначение);
Если НЕ НайденноеЗначение = Неопределено Тогда
НайденноеЗначение = ЭтаФорма[НайденноеЗначение];
ЗначениеВДанныеФормы(ЭлементСтруктуры.Значение, НайденноеЗначение);
Если НайденноеЗначение[0].Свойство("Данные") Тогда
Для Каждого СтрокаТаблЗнач Из НайденноеЗначение Цикл
Если ТипЗнч(СтрокаТаблЗнач.Данные) = Тип("СписокЗначений") Тогда
СтрокаТаблЗнач.Данные.Очистить();
СтрокаТаблЗнач.Данные.Добавить(ЭлементСтруктуры.Значение[НайденноеЗначение.Индекс(СтрокаТаблЗнач)].Данные);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если НайденноеЗначение[0].Свойство("ДанныеДопСтрок") Тогда
Ном = 0;
Для Каждого СтрокаТаблЗнач Из ЭлементСтруктуры.Значение Цикл
Если ТипЗнч(СтрокаТаблЗнач.ДанныеДопСтрок) = Тип("Структура") Тогда
Для Каждого ЭлСтруктуры Из СтрокаТаблЗнач.ДанныеДопСтрок Цикл
ТаблЗнач = ЭлСтруктуры.Значение;
ЭлСтруктуры.Значение = ЭтаФорма["Хранилище" + ОпределитьИдМногострочногоРазделаПоАктивнойСтраницеНаСервере(ЭлементСтруктуры.Ключ)].Добавить().Таблица;
ЗначениеВДанныеФормы(ТаблЗнач, ЭлСтруктуры.Значение);
НайденноеЗначение[Ном].ДанныеДопСтрок.Добавить(ЭлСтруктуры.Значение);
КонецЦикла;
ИначеЕсли ТипЗнч(СтрокаТаблЗнач.ДанныеДопСтрок) = Тип("ТаблицаЗначений") Тогда
СтрокаТаблЗначДанныеДопСтрок = ЭтаФорма["Хранилище" + ОпределитьИдМногострочногоРазделаПоАктивнойСтраницеНаСервере(ЭлементСтруктуры.Ключ)].Добавить().Таблица;
ЗначениеВДанныеФормы(СтрокаТаблЗнач.ДанныеДопСтрок, СтрокаТаблЗначДанныеДопСтрок);
НайденноеЗначение[Ном].ДанныеДопСтрок.Добавить(СтрокаТаблЗначДанныеДопСтрок, "ДанныеФормыКоллекцияТаблицаДопСтрокРаздела");
КонецЕсли;
Ном = Ном + 1;
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Для Каждого Раздел Из мСтруктураМногостраничныхРазделов Цикл
ТаблицаЛистовРаздела = ЭтаФорма[Раздел.Значение];
Для Каждого Лист Из ТаблицаЛистовРаздела Цикл
Лист.Данные[0].Значение = РегламентированнаяОтчетность.СвернутьДанныеТабличногоПоля(Лист.Данные[0].Значение);
КонецЦикла;
мДанныеОтчета.Вставить(Раздел.Ключ, ЭтаФорма[Раздел.Значение]);
КонецЦикла;
СохрСтруктура.Свойство("ДокументУпПред", мСтруктураДокУпПред);
КонецФункции
&НаСервере
Функция СформироватьСтруктуруПараметров()
Титульный = мДанныеОтчета.ПолеТабличногоДокументаТитульный;
ПараметрыВыгрузки = Новый Структура;
ПараметрыВыгрузки.Вставить("НомерСтрахователя", СокрЛП(Титульный.ОргФССКод));
ПараметрыВыгрузки.Вставить("ДополнительныйКод", СокрЛП(Титульный.ДополнительныйКод));
ПараметрыВыгрузки.Вставить("КодПодчиненности", СокрЛП(Титульный.КодПодчиненности));
ПараметрыВыгрузки.Вставить("РасчПериод", СокрЛП(Титульный.ОтчетГод));
ПараметрыВыгрузки.Вставить("ОтчПериод", СокрЛП(Титульный.Период));
Если ПустаяСтрока(ПараметрыВыгрузки.ОтчПериод) Тогда
ПараметрыВыгрузки.ОтчПериод = Формат(КонецКвартала(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета), "ДФ=ММ");
КонецЕсли;
ПараметрыВыгрузки.Вставить("НомерКорректировки", СтрокаВЧисло(Титульный.НомерКорректировки));
ПараметрыВыгрузки.Вставить("НомДопРасчета", СтрокаВЧисло(Титульный.НомДопРасчета));
ПараметрыВыгрузки.Вставить("ПрекращениеДеятельности", ?(ПустаяСтрока(Титульный.ПрекращениеДеятельности), 0, 1));
ПараметрыВыгрузки.Вставить("ОргНазв", СокрЛП(Титульный.ОргНазв));
ПараметрыВыгрузки.Вставить("ИНН", СокрЛП(Титульный.ИНН));
ПараметрыВыгрузки.Вставить("КПП", СтрокаВЧисло(Титульный.КПП));
ПараметрыВыгрузки.Вставить("ОГРН", СокрЛП(Титульный.ОГРН));
ПараметрыВыгрузки.Вставить("ОКАТО", СокрЛП(Титульный.ОКАТО));
ПараметрыВыгрузки.Вставить("Телефон", СокрЛП(Титульный.ТелОрганизации));
АдресРегистрации = СокрЛП(Титульный.Адрес1) + "," +
СокрЛП(Титульный.Адрес2) + "," +
СокрЛП(Титульный.Адрес3) + "," +
СокрЛП(Титульный.Адрес4) + "," +
СокрЛП(Титульный.Адрес5) + "," +
СокрЛП(Титульный.Адрес6) + "," +
СокрЛП(Титульный.Адрес7) + "," +
СокрЛП(Титульный.Адрес8) + "," +
СокрЛП(Титульный.Адрес9);
ПараметрыВыгрузки.Вставить("АдресРегистрации", АдресРегистрации);
СведенияОбОрганизации = РегламентированнаяОтчетностьВызовСервера.ПолучитьСведенияОбОрганизации(СтруктураРеквизитовФормы.Организация, ТекущаяДатаСеанса(), "АдресЭлектроннойПочтыОрганизации");
ПараметрыВыгрузки.Вставить("ЭлектроннаяПочта", СведенияОбОрганизации.АдресЭлектроннойПочтыОрганизации);
ПараметрыВыгрузки.Вставить("ШифрСтрах1Часть", СокрЛП(Титульный.ШифрСтрах1Часть));
ПараметрыВыгрузки.Вставить("ШифрСтрах2Часть", СокрЛП(Титульный.ШифрСтрах2Часть));
ПараметрыВыгрузки.Вставить("ШифрСтрах3Часть", СокрЛП(Титульный.ШифрСтрах3Часть));
ПараметрыВыгрузки.Вставить("ЧислРаботников", СтрокаВЧисло(Титульный.ЧислРаботников));
ПараметрыВыгрузки.Вставить("ЧислЖенщин", СтрокаВЧисло(Титульный.ЧислЖенщин));
ПараметрыВыгрузки.Вставить("ЧислИнвалидов", СтрокаВЧисло(Титульный.ЧислИнвалидов));
ПараметрыВыгрузки.Вставить("ЧислВред", СтрокаВЧисло(Титульный.ЧислВред));
ПараметрыВыгрузки.Вставить("ПризнакПодписанта", Титульный.ПрПодп);
ПараметрыВыгрузки.Вставить("ОргДиректор", СокрЛП(Титульный.ОргПодписантФамилия));
ПараметрыВыгрузки.Вставить("ДатаПредставления", ТекущаяДатаСеанса());
ПараметрыВыгрузки.Вставить("ДокументПредставителя", СокрЛП(Титульный.ДокУпПред));
ПараметрыВыгрузки.Вставить("ИмяФайла", СформироватьИмяФайла(ПараметрыВыгрузки));
ПараметрыВыгрузки.Вставить("КодФонда", Лев(Титульный.КодПодчиненности, 4));
ПараметрыВыгрузки.Вставить("ОКВЭДРаздел1", СтруктураДанныхРаздел1_1.ОКВЭД);
ПараметрыВыгрузки.Вставить("ОКВЭДРаздел2", СтруктураДанныхРаздел2_6_7.ОКВЭД);
Возврат ПараметрыВыгрузки;
КонецФункции
&НаСервере
Функция СформироватьИмяФайла(ПараметрыВыгрузки)
КодСтрахователя = ?(ЗначениеЗаполнено(ПараметрыВыгрузки.ДополнительныйКод), ПараметрыВыгрузки.ДополнительныйКод, ПараметрыВыгрузки.НомерСтрахователя);
РасчетныйГод = ПараметрыВыгрузки.РасчПериод;
ОтчетныйКвартал = ПараметрыВыгрузки.ОтчПериод;
Возврат КодСтрахователя + "_" + РасчетныйГод + "_" + ОтчетныйКвартал + ".xml";
КонецФункции
&НаСервере
Функция СтрокаВЧисло(Знач Стр)
Стр = СокрЛП(Стр);
Возврат ?(ЗначениеЗаполнено(Стр) И СтроковыеФункцииКлиентСервер.ТолькоЦифрыВСтроке(Стр, , Ложь), Число(Стр), 0);
КонецФункции
&НаСервере
Функция ИзвлечьСтруктуруXML()
ДеревоСтруктуры = Новый ДеревоЗначений;
ДеревоСтруктуры.Колонки.Добавить("Код");
ДеревоСтруктуры.Колонки.Добавить("Тип");
ДеревоСтруктуры.Колонки.Добавить("Формат");
ДеревоСтруктуры.Колонки.Добавить("МинРазмерность");
ДеревоСтруктуры.Колонки.Добавить("МаксРазмерность");
ДеревоСтруктуры.Колонки.Добавить("Обязательность");
ДеревоСтруктуры.Колонки.Добавить("Многостраничность");
ДеревоСтруктуры.Колонки.Добавить("Многострочность");
ДеревоСтруктуры.Колонки.Добавить("Раздел");
ДеревоСтруктуры.Колонки.Добавить("Ключ");
ДеревоСтруктуры.Колонки.Добавить("Условие");
ДеревоСтруктуры.Колонки.Добавить("ЗначениеПоУмолчанию");
ДеревоСтруктуры.Колонки.Добавить("Значение");
ДеревоСтруктуры.Колонки.Добавить("Представление");
ДеревоСтруктуры.Колонки.Добавить("Показатели");
Макет = ОбъектОтчета(ЭтаФорма.ИмяФормы).ПолучитьМакет("СхемаВыгрузкиXML05");
ВысотаТаблицы = Макет.ВысотаТаблицы;
УчтенныеГруппы = Новый Соответствие;
Для НомерСтроки = 2 По ВысотаТаблицы Цикл
НомСтр = ВысотаТаблицы - НомерСтроки + 2;
Если Макет.Область(НомерСтроки, 0, НомерСтроки, 0).Видимость = Неопределено Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='%1'"), НомерСтроки);
Сообщение.Сообщить();
КонецЕсли;
КонецЦикла;
Для Уровень = 0 По Макет.КоличествоУровнейГруппировокСтрок() - 1 Цикл
Макет.ПоказатьУровеньГруппировокСтрок(Уровень);
Для НомерСтроки = 2 По ВысотаТаблицы Цикл
НомСтр = ВысотаТаблицы - НомерСтроки + 2;
Если Макет.Область(НомСтр, 0, НомСтр, 0).Видимость И УчтенныеГруппы.Получить(НомСтр) = Неопределено Тогда
РодительскийУзел = ДеревоСтруктуры;
Если Уровень <> 0 Тогда
Для Инд = 1 По НомСтр - 2 Цикл
Узел = УчтенныеГруппы.Получить(НомСтр - Инд);
Если Узел <> Неопределено Тогда
РодительскийУзел = Узел;
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
НовСтр = РодительскийУзел.Строки.Вставить(0);
НовСтр.Код = СокрЛП(Макет.Область(НомСтр, 1, НомСтр, 1).Текст);
НовСтр.Раздел = СокрЛП(Макет.Область(НомСтр, 2, НомСтр, 2).Текст);
НовСтр.Ключ = СокрЛП(Макет.Область(НомСтр, 3, НомСтр, 3).Текст);
НовСтр.Тип = СокрЛП(Макет.Область(НомСтр, 4, НомСтр, 4).Текст);
НовСтр.Формат = СокрЛП(Макет.Область(НомСтр, 5, НомСтр, 5).Текст);
МинРазмерность = СокрЛП(Макет.Область(НомСтр, 6, НомСтр, 6).Текст);
НовСтр.МинРазмерность = ?(ПустаяСтрока(МинРазмерность), ?(НовСтр.Формат = "N", 99999, 0), Число(МинРазмерность));
МаксРазмерность = СокрЛП(Макет.Область(НомСтр, 7, НомСтр, 7).Текст);
НовСтр.МаксРазмерность = ?(ПустаяСтрока(МаксРазмерность), 99999, Число(МаксРазмерность));
НовСтр.Обязательность = СокрЛП(Макет.Область(НомСтр, 8, НомСтр, 8).Текст);
НовСтр.Многостраничность = НЕ ПустаяСтрока(Макет.Область(НомСтр, 9, НомСтр, 9).Текст);
НовСтр.Многострочность = НЕ ПустаяСтрока(Макет.Область(НомСтр, 10, НомСтр, 10).Текст);
НовСтр.Условие = СокрЛП(Макет.Область(НомСтр, 11, НомСтр, 11).Текст);
НовСтр.ЗначениеПоУмолчанию = СокрЛП(Макет.Область(НомСтр, 12, НомСтр, 12).Текст);
НовСтр.Представление = СокрЛП(Макет.Область(НомСтр, 13, НомСтр, 13).Текст);
УчтенныеГруппы.Вставить(НомСтр, НовСтр);
КонецЕсли;
КонецЦикла;
КонецЦикла;
Возврат ДеревоСтруктуры;
КонецФункции
&НаСервере
Функция ПроверитьВозможностьВыгрузки(ПараметрыВыгрузки, ДеревоВыгрузки)
СтатусПроверки = Истина;
Если ПустаяСтрока(ПараметрыВыгрузки.ИНН) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, "Не задан ИНН организации!", "Титульный", "ИНН");
СтатусПроверки = Ложь;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ПараметрыВыгрузки.НомерСтрахователя) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, "Не задан номер страхователя!", "Титульный", "ОргФССКод");
СтатусПроверки = Ложь;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ПараметрыВыгрузки.КодПодчиненности) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, "Не задан код подчиненности!", "Титульный", "КодПодчиненности");
СтатусПроверки = Ложь;
Иначе
ПоследнийСимвол = Прав(ПараметрыВыгрузки.КодПодчиненности, 1);
Если НЕ (ПоследнийСимвол = "1" ИЛИ ПоследнийСимвол = "2" ИЛИ ПоследнийСимвол = "3") Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, "Код подчиненности должен заканчиваться на цифру 1, 2 или 3!", "Титульный", "КодПодчиненности");
СтатусПроверки = Ложь;
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(ПараметрыВыгрузки.ОКВЭДРаздел1) И (ПараметрыВыгрузки.ОКВЭДРаздел1 <> ПараметрыВыгрузки.ОКВЭДРаздел2) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, "Значения кодов по ОКВЭД раздела I и раздела II!", "Раздел1_1", "ОКВЭД1");
СтатусПроверки = Ложь;
КонецЕсли;
ВозможныеЗначенияШифра1 = Новый Массив;
ВозможныеЗначенияШифра1.Добавить("071");
ВозможныеЗначенияШифра1.Добавить("032");
ВозможныеЗначенияШифра1.Добавить("041");
ВозможныеЗначенияШифра1.Добавить("042");
ВозможныеЗначенияШифра1.Добавить("043");
ВозможныеЗначенияШифра1.Добавить("061");
ВозможныеЗначенияШифра1.Добавить("051");
ВозможныеЗначенияШифра1.Добавить("081");
ВозможныеЗначенияШифра1.Добавить("091");
ВозможныеЗначенияШифра1.Добавить("101");
ВозможныеЗначенияШифра1.Добавить("121");
ВозможныеЗначенияШифра1.Добавить("131");
ВозможныеЗначенияШифра1.Добавить("141");
ВозможныеЗначенияШифра1.Добавить("151");
ВозможныеЗначенияШифра1.Добавить("161");
ВозможныеЗначенияШифра2 = Новый Массив;
ВозможныеЗначенияШифра2.Добавить("00");
ВозможныеЗначенияШифра2.Добавить("01");
ВозможныеЗначенияШифра2.Добавить("02");
ВозможныеЗначенияШифра2.Добавить("03");
ВозможныеЗначенияШифра3 = Новый Массив;
ВозможныеЗначенияШифра3.Добавить("00");
ВозможныеЗначенияШифра3.Добавить("01");
Если ЗначениеЗаполнено(ПараметрыВыгрузки.ШифрСтрах1Часть) Тогда
Если ВозможныеЗначенияШифра1.Найти(ПараметрыВыгрузки.ШифрСтрах1Часть) = Неопределено Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, "Неверно задана первая часть шифра страхователя!", "Титульный", "ШифрСтрах1Часть");
СтатусПроверки = Ложь;
КонецЕсли;
Иначе
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, "Не задано значение первой части шифра страхователя!", "Титульный", "ШифрСтрах1Часть");
СтатусПроверки = Ложь;
КонецЕсли;
Если ЗначениеЗаполнено(ПараметрыВыгрузки.ШифрСтрах2Часть) Тогда
Если ВозможныеЗначенияШифра2.Найти(ПараметрыВыгрузки.ШифрСтрах2Часть) = Неопределено Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, "Неверно задана вторая часть шифра страхователя!", "Титульный", "ШифрСтрах2Часть");
СтатусПроверки = Ложь;
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(ПараметрыВыгрузки.ШифрСтрах3Часть) Тогда
Если ВозможныеЗначенияШифра3.Найти(ПараметрыВыгрузки.ШифрСтрах3Часть) = Неопределено Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, "Неверно задана третья часть шифра страхователя!", "Титульный", "ШифрСтрах3Часть");
СтатусПроверки = Ложь;
КонецЕсли;
КонецЕсли;
Если ПараметрыВыгрузки.НомерКорректировки <> 0 Тогда
Если ПараметрыВыгрузки.НомДопРасчета <> 0 Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, "При номере корректировки, отличном от 000 вторая часть кода ""Отчетный период"" не должна заполняться!", "Титульный", "НомДопРасчета");
СтатусПроверки = Ложь;
КонецЕсли;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ПараметрыВыгрузки.ОргДиректор) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, "На титульном листе не заданы Ф.И.О. руководителя организации (индивидуального предпринимателя, физического лица, представителя страхователя)!", "Титульный", "ОргПодписантФамилия");
СтатусПроверки = Ложь;
КонецЕсли;
ДанныеРаздела1_1 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_1;
ДанныеРаздела2_6_7 = мДанныеОтчета.ПолеТабличногоДокументаРаздел2_6_7;
Если НЕ ПроверкаПлатежныхПоручений(ДанныеРаздела1_1.П000010016311, ДанныеРаздела1_1.П000010016321, ДанныеРаздела1_1.П000010016301,"первый", "Раздел1_1", "П000010016311") Тогда
СтатусПроверки = Ложь;
КонецЕсли;
Если НЕ ПроверкаПлатежныхПоручений(ДанныеРаздела1_1.П000010016411, ДанныеРаздела1_1.П000010016421, ДанныеРаздела1_1.П000010016401,"второй", "Раздел1_1", "П000010016411") Тогда
СтатусПроверки = Ложь;
КонецЕсли;
Если НЕ ПроверкаПлатежныхПоручений(ДанныеРаздела1_1.П000010016511, ДанныеРаздела1_1.П000010016521, ДанныеРаздела1_1.П000010016501,"третий", "Раздел1_1", "П000010016511") Тогда
СтатусПроверки = Ложь;
КонецЕсли;
Если НЕ ПроверкаПлатежныхПоручений(ДанныеРаздела2_6_7.П000070012104, ДанныеРаздела2_6_7.П000070012105, ДанныеРаздела2_6_7.П000070012101,"первый", "Раздел2_6_7", "П000070012104") Тогда
СтатусПроверки = Ложь;
КонецЕсли;
Если НЕ ПроверкаПлатежныхПоручений(ДанныеРаздела2_6_7.П000070012204, ДанныеРаздела2_6_7.П000070012205, ДанныеРаздела2_6_7.П000070012201,"второй", "Раздел2_6_7", "П000070012204") Тогда
СтатусПроверки = Ложь;
КонецЕсли;
Если НЕ ПроверкаПлатежныхПоручений(ДанныеРаздела2_6_7.П000070012304, ДанныеРаздела2_6_7.П000070012305, ДанныеРаздела2_6_7.П000070012301,"третий", "Раздел2_6_7", "П000070012304") Тогда
СтатусПроверки = Ложь;
КонецЕсли;
ДанныеРаздела1_31 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_31;
НомСтроки = 1;
ФИОСотрудника = Неопределено;
ДатаВыдачи = Неопределено;
ДатаОкончания = Неопределено;
СуммаВсего = Неопределено;
Сумма1Месяц = Неопределено;
Сумма2Месяц = Неопределено;
Сумма3Месяц = Неопределено;
Пока ДанныеРаздела1_31.Свойство("П000310001002_" + Формат(НомСтроки, "ЧГ="), ФИОСотрудника) Цикл
НомерСтроки = Формат(НомСтроки, "ЧГ=");
СтрокаЗаполнена = Ложь;
ДанныеРаздела1_31.Свойство("П000310001003_" + НомерСтроки, ДатаВыдачи);
ДанныеРаздела1_31.Свойство("П000310001004_" + НомерСтроки, ДатаОкончания);
ДанныеРаздела1_31.Свойство("П000310001005_" + НомерСтроки, СуммаВсего);
ДанныеРаздела1_31.Свойство("П000310001006_" + НомерСтроки, Сумма1Месяц);
ДанныеРаздела1_31.Свойство("П000310001007_" + НомерСтроки, Сумма2Месяц);
ДанныеРаздела1_31.Свойство("П000310001008_" + НомерСтроки, Сумма3Месяц);
Если ЗначениеЗаполнено(ФИОСотрудника) ИЛИ ЗначениеЗаполнено(ДатаВыдачи) ИЛИ ЗначениеЗаполнено(ДатаОкончания) ИЛИ ЗначениеЗаполнено(СуммаВсего)
ИЛИ ЗначениеЗаполнено(Сумма1Месяц) ИЛИ ЗначениеЗаполнено(Сумма2Месяц) ИЛИ ЗначениеЗаполнено(Сумма3Месяц) Тогда
СтрокаЗаполнена = Истина;
КонецЕсли;
Если СтрокаЗаполнена Тогда
ФИО = РегламентированнаяОтчетность.РазложитьФИО(ФИОСотрудника);
Если НЕ ЗначениеЗаполнено(ФИО.Фамилия) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, "В таблице 3.1, в строке " + НомерСтроки + " не указана фамилия сотрудника!", "Раздел1_31", "П000310001002_" + НомерСтроки);
СтатусПроверки = Ложь;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ФИО.Имя) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, "В таблице 3.1, в строке " + НомерСтроки + " не указано имя сотрудника!", "Раздел1_31", "П000310001002_" + НомерСтроки);
СтатусПроверки = Ложь;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ДатаВыдачи) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, "В таблице 3.1, строке " + НомерСтроки + " не указана дата выдачи справки!", "Раздел1_31", "П000310001003_" + НомерСтроки);
СтатусПроверки = Ложь;
КонецЕсли;
КонецЕсли;
НомСтроки = НомСтроки +1;
КонецЦикла;
Возврат СтатусПроверки;
КонецФункции
&НаСервере
Процедура ЗаполнитьДанными(ДеревоВыгрузки, ПараметрыВыгрузки)
ЗаполнитьСодержательнуюЧасть(ПараметрыВыгрузки, ДеревоВыгрузки);
ОтсечьНезаполненныеНеобязательныеУзлы(ДеревоВыгрузки);
КонецПроцедуры
&НаСервере
Процедура ЗадатьЗначениеЭлемента(Узел, КодЭлемента, Значение)
ВывестиПоказательВXML(ПолучитьПодчиненныйЭлемент(Узел, КодЭлемента), Значение);
КонецПроцедуры
&НаСервере
Функция ВыгрузитьДеревоВXML(ДеревоВыгрузки, ПараметрыВыгрузки)
ПотокXML = СоздатьНовыйПотокXML();
ЗаписатьУзелДереваВXML(ДеревоВыгрузки, ПотокXML, ПараметрыВыгрузки);
ТекстДляЗаписи = ПотокXML.Закрыть();
Возврат ТекстДляЗаписи;
КонецФункции
&НаСервере
Функция СоздатьНовыйПотокXML() Экспорт
ПотокXML = Новый ЗаписьXML();
ПотокXML.УстановитьСтроку("windows-1251");
ПотокXML.ЗаписатьОбъявлениеXML();
ПотокXML.Отступ = Истина;
ПотокXML.ЗаписатьБезОбработки(Символы.ПС + "<?F4FORM version=""0.5""?>");
Возврат ПотокXML;
КонецФункции
&НаСервере
Функция ЗаписатьУзелДереваВXML(СтрокаДерева, ПотокXML, ПараметрыВыгрузки) Экспорт
Если ТипЗнч(СтрокаДерева) = Тип("ДеревоЗначений") Тогда
ПотокXML.ЗаписатьНачалоЭлемента("F4REPORT");
Для каждого Стр Из СтрокаДерева.Строки Цикл
ЗаписатьУзелДереваВXML(Стр, ПотокXML, ПараметрыВыгрузки);
КонецЦикла;
ПотокXML.ЗаписатьКонецЭлемента();
Иначе
Если СтрокаДерева.Тип = "А" ИЛИ СтрокаДерева.Тип = "A" Тогда
ПотокXML.ЗаписатьАтрибут(СтрокаДерева.Код, Строка(СтрокаДерева.Значение));
Иначе
ПотокXML.ЗаписатьНачалоЭлемента(СтрокаДерева.Код);
Для каждого Лист из СтрокаДерева.Строки Цикл
ЗаписатьУзелДереваВXML(Лист, ПотокXML, ПараметрыВыгрузки);
КонецЦикла;
ПотокXML.ЗаписатьТекст(Строка(СтрокаДерева.Значение));
ПотокXML.ЗаписатьКонецЭлемента();
КонецЕсли;
КонецЕсли;
КонецФункции
&НаСервере
Процедура ЗаполнитьСодержательнуюЧасть(ПараметрыВыгрузки, УзелРодитель)
УзелTITLE = ПолучитьПодчиненныйЭлемент(УзелРодитель, "TITLE");
ЗаполнитьДаннымиУзел(ПараметрыВыгрузки, УзелTITLE);
Раздел1_1 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_1;
Раздел1_1.Вставить("ОКВЭДРаздел1", ПараметрыВыгрузки.ОКВЭДРаздел1);
Раздел1_2 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_2;
Раздел1_3 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_3;
Раздел1_31 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_31;
Раздел1_4 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_4;
Раздел1_41 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_41;
Раздел1_42 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_42;
Раздел1_43 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_43;
Раздел1_44 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_44;
Раздел1_5 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_5;
Раздел2_6_7 = мДанныеОтчета.ПолеТабличногоДокументаРаздел2_6_7;
Раздел2_6_7.Вставить("ОКВЭДРаздел2", ПараметрыВыгрузки.ОКВЭДРаздел2);
Раздел2_8_9 = мДанныеОтчета.ПолеТабличногоДокументаРаздел2_8_9;
Раздел2_10 = мДанныеОтчета.ПолеТабличногоДокументаРаздел2_10;
УзелF4INF1 = ПолучитьПодчиненныйЭлемент(УзелРодитель, "F4INF1");
ЗаполнитьДаннымиУзел(Раздел1_1, УзелF4INF1);
ЗаполнитьДаннымиУзел(Раздел1_2, УзелF4INF1);
ЗаполнитьДаннымиУзел(Раздел1_3, УзелF4INF1);
ЗаполнитьДаннымиУзел(Раздел1_4, УзелF4INF1);
ЗаполнитьДаннымиУзел(Раздел1_41, УзелF4INF1);
ЗаполнитьДаннымиУзел(Раздел1_42, УзелF4INF1);
ЗаполнитьДаннымиУзел(Раздел1_43, УзелF4INF1);
ЗаполнитьДаннымиУзел(Раздел1_44, УзелF4INF1);
УзелF4INVALШаблон = ПолучитьПодчиненныйЭлемент(УзелF4INF1, "F4INVAL");
НомСтр = 1;
Пока РегламентированнаяОтчетностьКлиентСервер.СвойствоОпределено(Раздел1_31, "П000310001001_" + Формат(НомСтр, "ЧГ=")) Цикл
ФИОИнвалидаЗаполнено = ЗначениеЗаполнено(Раздел1_31["П000310001002_" + Формат(НомСтр, "ЧГ=")]);
Если ФИОИнвалидаЗаполнено Тогда
УзелF4INVAL = СкопироватьУзел(УзелF4INF1, УзелF4INVALШаблон);
ВыгрузитьСтрокуМногострочнойЧасти(Раздел1_31, УзелF4INVAL, НомСтр);
ФИО = РегламентированнаяОтчетность.РазложитьФИО(ВРЕГ(Раздел1_31["П000310001002_" + Формат(НомСтр, "ЧГ=")]));
ЗадатьЗначениеЭлемента(УзелF4INVAL, "LNAME", ФИО.Фамилия);
ЗадатьЗначениеЭлемента(УзелF4INVAL, "FNAME", ФИО.Имя);
ЗадатьЗначениеЭлемента(УзелF4INVAL, "MNAME", ФИО.Отчество);
КонецЕсли;
НомСтр = НомСтр + 1;
КонецЦикла;
УзелF4INFO = ПолучитьПодчиненныйЭлемент(УзелРодитель, "F4INFO");
ЗаполнитьДаннымиУзел(Раздел1_5, УзелF4INFO);
ЗаполнитьДаннымиУзел(Раздел2_6_7, УзелF4INFO);
ЗаполнитьДаннымиУзел(Раздел2_8_9, УзелF4INFO);
ЗаполнитьДаннымиУзел(Раздел2_10, УзелF4INFO);
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьДаннымиУзел(ПараметрыВыгрузки, Узел)
Для Каждого Стр из Узел.Строки Цикл
Если Стр.Тип = "С" ИЛИ Стр.Тип = "C" Тогда
ЗаполнитьДаннымиУзел(ПараметрыВыгрузки, Стр);
Иначе
Если ПустаяСтрока(Стр.ЗначениеПоУмолчанию) Тогда
Если НЕ ПустаяСтрока(Стр.Ключ) И РегламентированнаяОтчетностьКлиентСервер.СвойствоОпределено(ПараметрыВыгрузки, Стр.Ключ) Тогда
ВывестиПоказательВXML(Стр, ПараметрыВыгрузки[Стр.Ключ]);
КонецЕсли;
ИначеЕсли Лев(Стр.ЗначениеПоУмолчанию, 1) = "&" Тогда
Ключ = Сред(Стр.ЗначениеПоУмолчанию, 2);
Если РегламентированнаяОтчетностьКлиентСервер.СвойствоОпределено(ПараметрыВыгрузки, Ключ) Тогда
ВывестиПоказательВXML(Стр, ПараметрыВыгрузки[Ключ]);
КонецЕсли;
Иначе
Стр.Значение = Стр.ЗначениеПоУмолчанию;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаСервере
Функция ПолучитьПодчиненныйЭлемент(Узел, КодЭлемента)
Для Каждого Стр Из Узел.Строки Цикл
Если Стр.Код = КодЭлемента Тогда
Возврат Стр;
КонецЕсли;
КонецЦикла;
КонецФункции
&НаСервере
Функция СкопироватьУзел(Родитель, Узел)
РодительСтрока = ?(Родитель = Неопределено, Узел.Владелец(), Родитель);
СтрокиСТемЖеКодом = РодительСтрока.Строки.НайтиСтроки(Новый Структура("Код", Узел.Код), Ложь);
МаксИндекс = -1;
Для Каждого СтрокаСТемЖеКодом Из СтрокиСТемЖеКодом Цикл
ТекИндекс = РодительСтрока.Строки.Индекс(СтрокаСТемЖеКодом);
Если ТекИндекс > МаксИндекс Тогда
МаксИндекс = ТекИндекс;
КонецЕсли;
КонецЦикла;
ИндексСоздаваемогоУзла = МаксИндекс + 1;
Если ИндексСоздаваемогоУзла >= РодительСтрока.Строки.Количество() ИЛИ ИндексСоздаваемогоУзла = 0 Тогда
НовыйУзел = РодительСтрока.Строки.Добавить();
Иначе
НовыйУзел = РодительСтрока.Строки.Вставить(ИндексСоздаваемогоУзла);
КонецЕсли;
ЗаполнитьЗначенияСвойств(НовыйУзел, Узел, , "Родитель, Строки");
Для Каждого Стр из Узел.Строки Цикл
СкопироватьУзел(НовыйУзел, Стр);
КонецЦикла;
Возврат НовыйУзел;
КонецФункции
&НаСервере
Процедура ОтсечьНезаполненныеНеобязательныеУзлы(Узел)
КоличествоСтрок = Узел.Строки.Количество();
Для Инд = 1 По КоличествоСтрок Цикл
Стр = Узел.Строки.Получить(КоличествоСтрок - Инд);
ОтсечьНезаполненныеНеобязательныеУзлы(Стр);
КонецЦикла;
Если ТипЗнч(Узел) <> Тип("ДеревоЗначений") Тогда
Если (СтрНайти(Узел.Обязательность, "Н") <> 0 ИЛИ СтрНайти(Узел.Обязательность, "H") <> 0) И УзелПуст(Узел) Тогда
РегламентированнаяОтчетность.УдалитьУзел(Узел);
ИначеЕсли (СтрНайти(Узел.Обязательность, "М") <> 0 ИЛИ СтрНайти(Узел.Обязательность, "M") <> 0)
И УзелПуст(Узел)
И ?(СтрНайти(Узел.Обязательность, "О") <> 0 ИЛИ СтрНайти(Узел.Обязательность, "O") <> 0, ИмеютсяАналогичныеСоседниеУзлы(Узел), Истина) Тогда
РегламентированнаяОтчетность.УдалитьУзел(Узел);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция УзелПуст(Узел)
Для Каждого Стр из Узел.Строки Цикл
Если НЕ УзелПуст(Стр) Тогда
Возврат Ложь;
КонецЕсли;
КонецЦикла;
Если НЕ ЗначениеЗаполнено(Узел.Значение) Тогда
Возврат Истина;
КонецЕсли;
Если Узел.Формат = "N" Тогда
Возврат Узел.Значение = "0";
ИначеЕсли Узел.Формат = "D" Тогда
Возврат Узел.Значение = "0001-01-01";
КонецЕсли;
Возврат Ложь;
КонецФункции
&НаСервере
Функция ИмеютсяАналогичныеСоседниеУзлы(Стр)
РодительСтроки = ?(Стр.Родитель = Неопределено, Стр.Владелец(), Стр.Родитель);
Возврат (РодительСтроки.Строки.НайтиСтроки(Новый Структура("Ключ", Стр.Ключ), Ложь).Количество() > 1);
КонецФункции
&НаСервере
Процедура ВыгрузитьСтрокуМногострочнойЧасти(Данные, Узел, НомерСтроки, ПоказателиИсключения = Неопределено, ВыгружатьПустую = Ложь)
Если ПоказателиИсключения = Неопределено Тогда
СтрИсключения = Новый Структура;
Иначе
СтрИсключения = Новый Структура(ПоказателиИсключения);
КонецЕсли;
СуффиксТекущейСтроки = "_" + Формат(НомерСтроки, "ЧГ=");
СтрокаПустая = Истина;
Для Каждого Стр Из Узел.Строки Цикл
Если НЕ ЗначениеЗаполнено(Стр.Ключ) Тогда
Продолжить;
КонецЕсли;
Если НЕ СтрИсключения.Свойство(Стр.Ключ) И ЗначениеПоказателяЗаполнено(Данные[Стр.Ключ + СуффиксТекущейСтроки], Стр) Тогда
СтрокаПустая = Ложь;
Прервать;
КонецЕсли;
КонецЦикла;
Если НЕ СтрокаПустая ИЛИ ВыгружатьПустую Тогда
Для Каждого Стр Из Узел.Строки Цикл
Если ЗначениеЗаполнено(Стр.Ключ) Тогда
ВывестиПоказательВXML(Стр, Данные[Стр.Ключ + СуффиксТекущейСтроки]);
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ЗначениеСуммыЗаполнено(ЗначениеСуммы)
Возврат (Окр(ЗначениеСуммы) <> 0)
КонецФункции
&НаСервере
Функция ЗначениеПоказателяЗаполнено(ЗначениеПоказателя, ЯвляетсяСуммой)
Если ТипЗнч(ЯвляетсяСуммой) = Тип("Булево") Тогда
ПоказательЯвляетсяСуммой = ЯвляетсяСуммой;
Иначе
ПоказательЯвляетсяСуммой = (ЯвляетсяСуммой.Формат = "N" И ЯвляетсяСуммой.МаксРазмерность >= 10 И ЯвляетсяСуммой.МинРазмерность = 99999);
КонецЕсли;
Возврат ?(ПоказательЯвляетсяСуммой, ЗначениеСуммыЗаполнено(ЗначениеПоказателя), ЗначениеЗаполнено(ЗначениеПоказателя));
КонецФункции
&НаСервере
Функция ВывестиПоказательВXML(Узел, ЗначениеПоказателя)
МинШирина = Узел.МинРазмерность;
МаксШирина = Узел.МаксРазмерность;
Если Узел.Формат = "T" ИЛИ Узел.Формат = "Т" Тогда
Если ТипЗнч(ЗначениеПоказателя) = Тип("Дата") Тогда
ЗначениеПоказателяСтр = Формат(ЗначениеПоказателя, "ДФ=yyyy-MM-dd");
Иначе
ЗначениеПоказателяСтр = СокрЛП(ЗначениеПоказателя);
КонецЕсли;
Узел.Значение = ?(МаксШирина < СтрДлина(ЗначениеПоказателяСтр), СокрЛП(Лев(ЗначениеПоказателяСтр, МаксШирина)), ЗначениеПоказателяСтр);
ИначеЕсли Узел.Формат = "N" Тогда
СтрокаФормата = "ЧРД=.;ЧН=0;ЧГ=;";
Если Узел.МаксРазмерность <> 0 И Узел.МаксРазмерность <> 99999 Тогда
СтрокаФормата = СтрокаФормата + "ЧЦ=" + Формат(Узел.МаксРазмерность, "ЧГ=") + ";";
КонецЕсли;
Если Узел.МинРазмерность <> 99999 Тогда
СтрокаФормата = СтрокаФормата + "ЧДЦ=" + Формат(Узел.МинРазмерность, "ЧГ=") + ";";
КонецЕсли;
Узел.Значение = СокрЛП(Формат(ЗначениеПоказателя, СтрокаФормата));
ИначеЕсли Узел.Формат = "D" Тогда
Если ЗначениеЗаполнено(ЗначениеПоказателя) Тогда
Узел.Значение = СокрЛП(Формат(ЗначениеПоказателя, "ДФ=yyyy-MM-dd"));
Иначе
Узел.Значение = "0001-01-01";
КонецЕсли;
ИначеЕсли Узел.Формат = "gYear" Тогда
Если ТипЗнч(ЗначениеПоказателя) = Тип("Дата") Тогда
Узел.Значение = СокрЛП(Формат(ЗначениеПоказателя, "ДФ=гггг"));
Иначе
Узел.Значение = Прав(СокрЛП(ЗначениеПоказателя), 4);
КонецЕсли;
КонецЕсли;
КонецФункции
&НаСервере
Функция ПроверитьПоказатели() Экспорт
СформироватьСтруктуруПоказателей();
ПараметрыВыгрузки = СформироватьСтруктуруПараметров();
ДеревоВыгрузки = ИзвлечьСтруктуруXML();
ВыгрузкаВозможна = Истина;
Если НЕ ПроверитьВозможностьВыгрузки(ПараметрыВыгрузки, ДеревоВыгрузки) Тогда
ВыгрузкаВозможна = Ложь;
КонецЕсли;
Если НЕ ПроверитьКонтрольныеСуммы(ПараметрыВыгрузки, ДеревоВыгрузки) Тогда
ВыгрузкаВозможна = Ложь;
КонецЕсли;
Если НЕ ВыгрузкаВозможна Тогда
Возврат Ложь;
КонецЕсли;
ЗаполнитьДанными(ДеревоВыгрузки, ПараметрыВыгрузки);
Если НЕ РегламентированнаяОтчетность.ПроверитьДанные(ЭтаФорма, ДеревоВыгрузки) Тогда
Возврат Ложь;
КонецЕсли;
Возврат Истина;
КонецФункции
&НаСервере
Функция ПроверкаПлатежныхПоручений(Знач Стр1, Знач Стр2, Знач Стр3, Знач Номер, Знач Раздел, Знач Область)
СтатусПроверки = Истина;
СтрокаЗаполнена = (ЗначениеЗаполнено(Стр1) ИЛИ ЗначениеЗаполнено(Стр2) ИЛИ ЗначениеЗаполнено(Стр3));
Если СтрокаЗаполнена И НЕ (ЗначениеЗаполнено(Стр1) И ЗначениеЗаполнено(Стр2) И ЗначениеЗаполнено(Стр3)) Тогда
РегламентированнаяОтчетность.СообщитьВТаблицуСообщений(ЭтаФорма, "Не полностью заполнены сведения о платежном поручении за " + Номер + " месяц!", Раздел, Область);
СтатусПроверки = Ложь;
КонецЕсли;
Возврат СтатусПроверки;
КонецФункции
&НаКлиенте
Процедура ПроверитьВыгрузку(Команда)
ОписаниеОповещения = Новый ОписаниеОповещения("ПроверитьВыгрузкуЗавершение", ЭтотОбъект);
Отказ = Ложь;
ОнлайнСервисыРегламентированнойОтчетностиКлиент.ПередВыгрузкойРегламентированногоОтчета(ОписаниеОповещения, ЭтотОбъект, Отказ);
КонецПроцедуры
&НаКлиенте
Процедура ПроверитьВыгрузкуЗавершение(Отказ, ДополнительныеПараметры) Экспорт
Если Отказ Тогда
Возврат;
КонецЕсли;
ПроверитьВыгрузкуОтчета();
КонецПроцедуры
&НаКлиенте
Процедура ПроверитьВыгрузкуОтчета() Экспорт
ОписаниеОповещения = Новый ОписаниеОповещения("ПроверитьВыгрузкуОтчетаЗавершение", ЭтотОбъект);
Если Модифицированность Тогда
СохранитьНаКлиенте(,ОписаниеОповещения);
Иначе
ВыполнитьОбработкуОповещения(ОписаниеОповещения);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПроверитьВыгрузкуОтчетаЗавершение(Результат, ДополнительныеПараметры) Экспорт
ФормаВыгрузкиРеглОтчета = ПолучитьФорму("Документ.ВыгрузкаРегламентированныхОтчетов.Форма.ФормаДокумента", , ЭтаФорма);
СпДокОсн = Новый СписокЗначений;
СпДокОсн.Добавить(СтруктураРеквизитовФормы.мСохраненныйДок);
ФормаВыгрузкиРеглОтчета.Проверить(СпДокОсн);
КонецПроцедуры
&НаКлиенте
Функция ДобавитьРеквизит(Текст, ДобСтрока, Префикс)
Если ЗначениеЗаполнено(ДобСтрока) Тогда
Текст = Текст + Префикс + ДобСтрока;
КонецЕсли;
Возврат Текст;
КонецФункции
&НаКлиенте
Процедура ТабличныйДокументВыбор(Элемент, Область, СтандартнаяОбработка)
Если Элементы.ТабличныйДокумент.Защита Тогда
Возврат;
КонецЕсли;
Если СтрЧислоВхождений(Область.Имя, "ДобавитьСтроку") > 0 Тогда
СтандартнаяОбработка = Ложь;
ДобавитьСтроку("");
ИначеЕсли СтрЧислоВхождений(Область.Имя, "УдалитьСтроку") > 0 И Область.Гиперссылка И Область.Текст <> "" Тогда
СтандартнаяОбработка = Ложь;
УдалитьСтроку("");
КонецЕсли;
Если РегламентированнаяОтчетностьКлиент.ВыбраннаяОбластьРегламентированногоОтчетаНеВерна(ЭтаФорма, Область, СтандартнаяОбработка) Тогда
Возврат;
КонецЕсли;
ОбластьИмя = Область.Имя;
Если СтрНайти(ОбластьИмя, "ДокУпПред") > 0 Тогда
СтандартнаяОбработка = Ложь;
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("СтруктураДокумента", мСтруктураДокУпПред);
ФормаВводаДокументПредставителя = ПолучитьФорму("Отчет.РегламентированныйОтчет4ФСС.Форма.ФормаВводаДокументПредставителя", ПараметрыФормы);
ФормаВводаДокументПредставителя.РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца;
ФормаВводаДокументПредставителя.ОписаниеОповещенияОЗакрытии = Новый ОписаниеОповещения("ОткрытьФормуВводаДокументаПредставителяЗавершение", ЭтотОбъект);
ФормаВводаДокументПредставителя.Открыть();
Иначе
ПараметрВводаПоля = СвойстваПоказателей.НайтиСтроки(Новый Структура("Показатель", ОбластьИмя));
Если ПараметрВводаПоля.Количество() = 0 Тогда
ПараметрВводаПоля = Неопределено;
Для Каждого Стр из СвойстваПоказателей Цикл
Если Лев(Область.Имя, СтрДлина(Стр.Показатель)) = Стр.Показатель Тогда
ПараметрВводаПоля = Стр;
Прервать;
КонецЕсли;
КонецЦикла;
Иначе
ПараметрВводаПоля = ПараметрВводаПоля[0];
КонецЕсли;
Если ПараметрВводаПоля <> Неопределено И ПараметрВводаПоля.ТаблицаЗначений.Количество() > 0 Тогда
ВвестиПоказатель(Элемент, Область, ПараметрВводаПоля.Показатель, Ложь, ПараметрВводаПоля.ТекстПриВыборе, ПараметрВводаПоля.ТаблицаЗначений, СтандартнаяОбработка);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьФормуВводаДокументаПредставителяЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если Результат <> Неопределено Тогда
мСтруктураДокУпПред = Результат;
Текст = "";
Текст = ДобавитьРеквизит(Текст, мСтруктураДокУпПред.НаименованиеУдостоверяющего, "");
Текст = ДобавитьРеквизит(Текст, мСтруктураДокУпПред.СерияРимскиеЦифры, " ");
Текст = ДобавитьРеквизит(Текст, мСтруктураДокУпПред.СерияРусскиеБуквы, " ");
Текст = ДобавитьРеквизит(Текст, мСтруктураДокУпПред.НомерУдостоверяющего, " № ");
Текст = ДобавитьРеквизит(Текст, Формат(мСтруктураДокУпПред.ДатаВыдачи,"ДФ=dd.MM.yyyy"), " от ");
Текст = ДобавитьРеквизит(Текст, мСтруктураДокУпПред.КемВыдан, " выдан: ");
ТабличныйДокумент.Области.ДокУпПред.Значение = Текст;
Модифицированность = Истина;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ТабличныйДокументПриИзмененииСодержимогоОбласти(Элемент, Область)
Если Элементы.ТабличныйДокумент.Защита Тогда
Возврат;
КонецЕсли;
Модифицированность = Истина;
ИмяРаздела = Элементы.РазделыОтчета.ТекущиеДанные.КолонкаРазделыОтчетаСокрНаим;
ИмяОбласти = Область.Имя;;
ПозицияПодстроки = СтрНайти(ИмяОбласти, "_");
Если ПозицияПодстроки > 0 Тогда
ИмяОбласти = Лев(ИмяОбласти, ПозицияПодстроки - 1);
КонецЕсли;
Если СтрНайти(ИмяОбласти, "НомДопРасчета") > 0 Тогда
ЭтоОбластьПериода = (ИмяОбласти = "НомДопРасчета");
ЗаполнениеПериодаОтчетаПоПриказу1385н = (КонецДня(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) >= КонецГода('20111231'));
Если ЭтоОбластьПериода И ЗаполнениеПериодаОтчетаПоПриказу1385н Тогда
КодПериода = Формат(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета, "ДФ=ММ");
Если КодПериода = "03" ИЛИ КодПериода = "06" ИЛИ КодПериода = "09" ИЛИ КодПериода = "12" Тогда
Если ПустаяСтрока(ТабличныйДокумент.Области.НомДопРасчета.Значение) Тогда
ТабличныйДокумент.Области.Период.Значение = КодПериода;
Иначе
ТабличныйДокумент.Области.Период.Значение = "";
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если ИмяОбласти = "ДополнительныйКод" Тогда
Если СтрДлина(СокрЛП(Область.Значение)) <> 10 Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = НСтр(
"ru = 'Введенное значение дополнительного регистрационного номера страхователя должно состоять из 10 символов!'");
Сообщение.Сообщить();
Область.Значение = "";
КонецЕсли;
КонецЕсли;
Если ИмяОбласти = "КодПодчиненности" Тогда
Если СтрДлина(СокрЛП(Область.Значение)) <> 5 Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = НСтр("ru = 'Введенное значение кода подчиненности должно состоять из 5 символов!'");
Сообщение.Сообщить();
Область.Значение = "";
КонецЕсли;
КонецЕсли;
Если ИмяОбласти = "ОКВЭД" Тогда
Если НЕ РегламентированнаяОтчетностьКлиентСервер.ОКВЭДСоответствуетТребованиям(Область.Значение) Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='Введено некорректное значение кода вида деятельности по ОКВЭД!%1Допустимы значения, соответствующие следующим шаблонам:%2""XX"", ""XX.X"", ""XX.XX"", ""XX.XX.X"", ""XX.XX.XX"" (X - любая цифра).'"), Символы.ПС, Символы.ПС);
Сообщение.Сообщить();
Область.Значение = "";
КонецЕсли;
КонецЕсли;
Если ИмяОбласти = "НомерКорректировки" Тогда
ОписаниеТипа = Новый ОписаниеТипов("Число");
НомерКорректировки = ОписаниеТипа.ПривестиЗначение(Область.Значение);
СтруктураРеквизитовФормы.ВидДокумента = ?(НомерКорректировки = 0, 0, 1);
ОтобразитьНомерКорректировки(ЭтаФорма);
РегламентированнаяОтчетностьКлиентСервер.УстановитьЗначениеОКВЭД(ДатаПодписи,
СтруктураРеквизитовФормы,
СтруктураДанныхРаздел2_6_7.ОКВЭД);
РегламентированнаяОтчетностьКлиентСервер.УстановитьЗначениеОКВЭД(ДатаПодписи,
СтруктураРеквизитовФормы,
СтруктураДанныхРаздел1_1.ОКВЭД);
Модифицированность = Истина;
ИначеЕсли ИмяОбласти = "ДатаПодписи" Тогда
ДатаПодписи = ТабличныйДокумент.Области.ДатаПодписи.Значение;
#Если ВебКлиент Тогда
ДатаПодписиПриИзмененииНаСервере();
#Иначе
ДатаПодписиПриИзмененииНаКлиенте();
#КонецЕсли
Модифицированность = Истина;
КонецЕсли;
РасчетНаКлиенте(ИмяРаздела, ИмяОбласти);
КонецПроцедуры
&НаКлиенте
Процедура ЗаполнитьАвто(Команда)
Отказ = Ложь;
РегламентированнаяОтчетностьКлиентПереопределяемый.ПроверитьВозможностьАвтоЗаполненияРеглОтчета(ИмяФормы, Отказ);
Если Отказ Тогда
Возврат;
КонецЕсли;
ДополнительныеПараметры = Новый Структура();
ДополнительныеПараметры.Вставить("Команда", Команда);
ОписаниеОповещения = Новый ОписаниеОповещения("ЗаполнитьАвтоЗавершение", ЭтотОбъект, ДополнительныеПараметры);
ОнлайнСервисыРегламентированнойОтчетностиКлиент.ПередЗаполнениемРегламентированногоОтчета(ОписаниеОповещения, ЭтотОбъект, Отказ);
КонецПроцедуры
&НаКлиенте
Процедура ЗаполнитьАвтоЗавершение(Отказ, ДополнительныеПараметры) Экспорт
Если Отказ Тогда
Возврат;
КонецЕсли;
Команда = ДополнительныеПараметры.Команда;
ЗаполнитьАвтоНаСервере();
СтруктураРеквизитовФормы.ВыводитьСтраницуВТаблДокНаСервере = Ложь;
РегламентированнаяОтчетностьКлиент.ОбновитьДеревоРазделовВФормеОтчета(ЭтаФорма);
Если НЕ Элементы.РазделыОтчета.ТекущиеДанные.ПолучитьРодителя() = Неопределено Тогда
Элементы.РазделыОтчета.ТекущаяСтрока = Элементы.РазделыОтчета.ТекущиеДанные.ПолучитьРодителя().ПолучитьЭлементы()[0].ПолучитьИдентификатор();
КонецЕсли;
Если Элементы.Расшифровать.Видимость Тогда
Элементы.Расшифровать.Доступность = Истина;
Элементы.ТабличныйДокументКонтекстноеМенюРасшифровать.Доступность = Истина;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьАвтоНаСервере()
СохранитьДанныеРаздела(СтруктураРеквизитовФормы.НаимТекущегоРаздела, Ложь);
ЗаполнитьПустыеСтруктурыДанных();
ПараметрыОтчета = Новый Структура();
ПараметрыОтчета.Вставить("Организация", СтруктураРеквизитовФормы.Организация);
ПараметрыОтчета.Вставить("ДатаНачалаПериодаОтчета", СтруктураРеквизитовФормы.мДатаНачалаПериодаОтчета);
ПараметрыОтчета.Вставить("ДатаКонцаПериодаОтчета", СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета);
Контейнер = Новый Структура();
Контейнер.Вставить("Титульный", СтруктураДанныхТитульный);
Контейнер.Вставить("Раздел1_1", СтруктураДанныхРаздел1_1);
Контейнер.Вставить("Раздел1_2", СтруктураДанныхРаздел1_2);
Контейнер.Вставить("Раздел1_3", СтруктураДанныхРаздел1_3);
Контейнер.Вставить("Раздел1_31", СтруктураДанныхРаздел1_31);
Контейнер.Вставить("Раздел1_31_ДанныеДопСтрок", П0003100010);
Контейнер.Вставить("Раздел1_4", СтруктураДанныхРаздел1_4);
Контейнер.Вставить("Раздел1_41", СтруктураДанныхРаздел1_41);
Контейнер.Вставить("Раздел1_42", СтруктураДанныхРаздел1_42);
Контейнер.Вставить("Раздел1_43", СтруктураДанныхРаздел1_43);
Контейнер.Вставить("Раздел1_44", СтруктураДанныхРаздел1_44);
Контейнер.Вставить("Раздел1_5", СтруктураДанныхРаздел1_5);
Контейнер.Вставить("Раздел2_6_7", СтруктураДанныхРаздел2_6_7);
Контейнер.Вставить("Раздел2_8_9", СтруктураДанныхРаздел2_8_9);
Контейнер.Вставить("Раздел2_10", СтруктураДанныхРаздел2_10);
ЭтаФормаИмя = ЭтаФорма.ИмяФормы;
Если СтрЧислоВхождений(ЭтаФормаИмя, "ВнешнийОтчет.") > 0 Тогда
ЭтаФормаИмя = СтрЗаменить(ЭтаФормаИмя, "ВнешнийОтчет.", "");
ИначеЕсли СтрЧислоВхождений(ЭтаФормаИмя, "Отчет.") > 0 Тогда
ЭтаФормаИмя = СтрЗаменить(ЭтаФормаИмя, "Отчет.", "");
КонецЕсли;
ЭтаФормаИмя = Лев(ЭтаФормаИмя, СтрНайти(ЭтаФормаИмя, ".Форма.") - 1);
РегламентированнаяОтчетностьПереопределяемый.ЗаполнитьОтчет(ЭтаФормаИмя, ИмяФормыОтчета(ЭтаФорма.ИмяФормы), ПараметрыОтчета, Контейнер);
ЗаполнитьПустыеСтруктурыДанных();
Если П0003100010.Количество() = 0 Тогда
П0003100010.Добавить();
КонецЕсли;
РегламентированнаяОтчетность.ЗаполнитьСтруктуруДанныхРазделаЗначениямиИзДопСтрок(
СтруктураДанныхРаздел1_31, П0003100010);
ВывестиМакетВТаблДокНаСервере(СтруктураРеквизитовФормы.НаимТекущегоРаздела, 1);
РасчетНаСервере();
Модифицированность = Истина;
КонецПроцедуры
&НаКлиенте
Процедура Расшифровать(Команда)
ПараметрыОтчета = Новый Структура();
ПараметрыОтчета.Вставить("Организация", СтруктураРеквизитовФормы.Организация);
ПараметрыОтчета.Вставить("мДатаНачалаПериодаОтчета", СтруктураРеквизитовФормы.мДатаНачалаПериодаОтчета);
ПараметрыОтчета.Вставить("мДатаКонцаПериодаОтчета", СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета);
ИДИменПоказателей = Новый Массив();
ИДИменПоказателей.Добавить(Элементы.ТабличныйДокумент.ТекущаяОбласть.Имя);
РегламентированнаяОтчетностьКлиент.ОткрытьРасшифровкуОтчета(ИмяОтчета(ЭтаФорма.ИмяФормы), ИмяФормыОтчета(ЭтаФорма.ИмяФормы), ИДИменПоказателей, ПараметрыОтчета)
КонецПроцедуры
&НаКлиенте
Процедура Проверить(Команда)
РегламентированнаяОтчетностьКлиент.ПроверитьКонтрольныеСоотношения(ЭтаФорма, ОбработкаКС);
КонецПроцедуры
&НаСервере
Функция ПроверитьКонтрольныеСоотношенияВОтчете() Экспорт
СформироватьСтруктуруПоказателей();
СтруктураРеквизитовФормы.ТекстДляЗаголовочнойЧасти = РегламентированнаяОтчетностьКлиентСервер.ПредставлениеДокументаРеглОтч(СтруктураРеквизитовФормы.мСохраненныйДок);
СтруктураРезультата = Новый Структура;
СтруктураРезультата.Вставить("КоличествоНайденныхОшибок", 0);
СтруктураРезультата.Вставить("КоличествоНайденныхБезОшибок", 0);
СтруктураРезультата.Вставить("СтруктураОшибок", Неопределено);
ПроверкаТитульногоЛиста(СтруктураРезультата);
ПроверкаТаблицы1Раздела1(СтруктураРезультата);
ПроверкаТаблицы2Раздела1(СтруктураРезультата);
ПроверкаТаблицы3Раздела1(СтруктураРезультата);
ПроверкаТаблицы31Раздела1(СтруктураРезультата);
ПроверкаТаблицы4Раздела1(СтруктураРезультата);
ПроверкаТаблицы41Раздела1(СтруктураРезультата);
ПроверкаТаблицы42Раздела1(СтруктураРезультата);
ПроверкаТаблицы43Раздела1(СтруктураРезультата);
ПроверкаТаблицы44Раздела1(СтруктураРезультата);
ПроверкаТаблицы5Раздела1(СтруктураРезультата);
ПроверкаТаблицы6Раздела2(СтруктураРезультата);
ПроверкаТаблицы7Раздела2(СтруктураРезультата);
ПроверкаТаблицы8Раздела2(СтруктураРезультата);
ПроверкаТаблицы9Раздела2(СтруктураРезультата);
ПроверкаТаблицы10Раздела2(СтруктураРезультата);
Возврат СтруктураРезультата;
КонецФункции
&НаСервере
Процедура ПроверкаТитульногоЛиста(СтруктураРезультата)
ОбщееЧислоОшибок = 0;
ОбщееЧислоБезОшибок = 0;
СтруктураОшибок = Новый Структура;
ТитульныйЛист = мДанныеОтчета.ПолеТабличногоДокументаТитульный;
Раздел1Таблица2 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_2;
Раздел1Таблица3 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_3;
Раздел1Таблица6 = мДанныеОтчета.ПолеТабличногоДокументаРаздел2_6_7;
ТекстФормулы = "Проверка титульного листа";
Знак = "<=";
НазваниеПоказателяЛевойЧасти = "из них: женщин";
НазваниеПоказателяПравойЧасти = "численность работников";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ должно быть " + Знак + " значения показателя """ + НазваниеПоказателяПравойЧасти + """.";
ЛеваяЧасть = СокрЛП(ТитульныйЛист.ЧислЖенщин);
ЛеваяЧасть = ?(ЗначениеЗаполнено(ЛеваяЧасть), Число(ЛеваяЧасть), 0);
ПраваяЧасть = СокрЛП(ТитульныйЛист.ЧислРаботников);
ПраваяЧасть = ?(ЗначениеЗаполнено(ПраваяЧасть), Число(ПраваяЧасть), 0);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "<=";
НазваниеПоказателяЛевойЧасти = "из них: работающих инвалидов";
НазваниеПоказателяПравойЧасти = "численность работников";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ должно быть " + Знак + " значения показателя """ + НазваниеПоказателяПравойЧасти + """.";
ЛеваяЧасть = СокрЛП(ТитульныйЛист.ЧислИнвалидов);
ЛеваяЧасть = ?(ЗначениеЗаполнено(ЛеваяЧасть), Число(ЛеваяЧасть), 0);
ПраваяЧасть = СокрЛП(ТитульныйЛист.ЧислРаботников);
ПраваяЧасть = ?(ЗначениеЗаполнено(ПраваяЧасть), Число(ПраваяЧасть), 0);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "<=";
НазваниеПоказателяЛевойЧасти = "из них: работающих, занятых на работах с вредными и (или) опасными производственными факторами";
НазваниеПоказателяПравойЧасти = "численность работников";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ должно быть " + Знак + " значения показателя """ + НазваниеПоказателяПравойЧасти + """.";
ЛеваяЧасть = СокрЛП(ТитульныйЛист.ЧислВред);
ЛеваяЧасть = ?(ЗначениеЗаполнено(ЛеваяЧасть), Число(ЛеваяЧасть), 0);
ПраваяЧасть = СокрЛП(ТитульныйЛист.ЧислРаботников);
ПраваяЧасть = ?(ЗначениеЗаполнено(ПраваяЧасть), Число(ПраваяЧасть), 0);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">";
НазваниеПоказателяЛевойЧасти = "из них: женщин";
НазваниеПоказателяПравойЧасти = "число случаев";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ должно быть " + Знак + " 0, если значение показателя """ + НазваниеПоказателяПравойЧасти + """ по графе 1 строки 3 таблицы 2 > 0.";
ЛеваяЧасть = СокрЛП(ТитульныйЛист.ЧислЖенщин);
ЛеваяЧасть = ?(ЗначениеЗаполнено(ЛеваяЧасть), Число(ЛеваяЧасть), 0);
ПраваяЧасть = Раздел1Таблица2.П000020003001;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда " + Строка(ПраваяЧасть) + " " + Знак + " 0";
Если ЛеваяЧасть > 0 И ПраваяЧасть > 0
ИЛИ НЕ ПраваяЧасть > 0 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">";
НазваниеПоказателяЛевойЧасти = "из них: женщин";
НазваниеПоказателяПравойЧасти = "количество дней, выплат, пособий";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ должно быть " + Знак + " 0, если значение показателя """ + НазваниеПоказателяПравойЧасти + """ по графе 3 строки 3 таблицы 2 > 0.";
ЛеваяЧасть = СокрЛП(ТитульныйЛист.ЧислЖенщин);
ЛеваяЧасть = ?(ЗначениеЗаполнено(ЛеваяЧасть), Число(ЛеваяЧасть), 0);
ПраваяЧасть = Раздел1Таблица2.П000020003003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда " + Строка(ПраваяЧасть) + " " + Знак + " 0";
Если ЛеваяЧасть > 0 И ПраваяЧасть > 0
ИЛИ НЕ ПраваяЧасть > 0 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">";
НазваниеПоказателяЛевойЧасти = "из них: женщин";
НазваниеПоказателяПравойЧасти = "количество дней, выплат, пособий";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ должно быть " + Знак + " 0, если значение показателя """ + НазваниеПоказателяПравойЧасти + """ по графе 3 строки 5 таблицы 2 > 0.";
ЛеваяЧасть = СокрЛП(ТитульныйЛист.ЧислЖенщин);
ЛеваяЧасть = ?(ЗначениеЗаполнено(ЛеваяЧасть), Число(ЛеваяЧасть), 0);
ПраваяЧасть = Раздел1Таблица2.П000020005003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда " + Строка(ПраваяЧасть) + " " + Знак + " 0";
Если ЛеваяЧасть > 0 И ПраваяЧасть > 0
ИЛИ НЕ ПраваяЧасть > 0 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">";
НазваниеПоказателяЛевойЧасти = "из них: работающих инвалидов";
НазваниеПоказателяПравойЧасти = "всего с начала расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ должно быть " + Знак + " 0, если значение показателя """ + НазваниеПоказателяПравойЧасти + """ по графе 3 строки 5 таблицы 3 > 0.";
ЛеваяЧасть = СокрЛП(ТитульныйЛист.ЧислИнвалидов);
ЛеваяЧасть = ?(ЗначениеЗаполнено(ЛеваяЧасть), Число(ЛеваяЧасть), 0);
ПраваяЧасть = Раздел1Таблица3.П000030005003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда " + Строка(ПраваяЧасть) + " " + Знак + " 0";
Если ЛеваяЧасть > 0 И ПраваяЧасть > 0
ИЛИ НЕ ПраваяЧасть > 0 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">";
НазваниеПоказателяЛевойЧасти = "из них: работающих инвалидов";
НазваниеПоказателяПравойЧасти = "в т.ч. выплаты в пользу работающих инвалидов";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ должно быть " + Знак + " 0, если значение показателя """ + НазваниеПоказателяПравойЧасти + """ по графе 4 строки 1 таблицы 6 > 0.";
ЛеваяЧасть = СокрЛП(ТитульныйЛист.ЧислИнвалидов);
ЛеваяЧасть = ?(ЗначениеЗаполнено(ЛеваяЧасть), Число(ЛеваяЧасть), 0);
ПраваяЧасть = Раздел1Таблица6.П000060001104;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда " + Строка(ПраваяЧасть) + " " + Знак + " 0";
Если ЛеваяЧасть > 0 И ПраваяЧасть > 0
ИЛИ НЕ ПраваяЧасть > 0 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "2-я часть шифра страхователя";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ должно быть " + Знак + " 01, если значение показателя """ + НазваниеПоказателяПравойЧасти + """ = 121, 151, 161, и 02, если значение показателя """ + НазваниеПоказателяПравойЧасти + """ = 141.";
ЛеваяЧасть = СокрЛП(ТитульныйЛист.ШифрСтрах2Часть);
ПраваяЧасть = СокрЛП(ТитульныйЛист.ШифрСтрах1Часть);
Расшифровка = """" + ЛеваяЧасть + """ " + Знак + " ""01"", когда """ + ПраваяЧасть + """ " + Знак + " ""121"", ""151"", ""161"", и """ + ЛеваяЧасть + """ " + Знак + " ""02"", когда """ + ПраваяЧасть + """ " + Знак + " ""141""";
Если ЛеваяЧасть = "01" И (ПраваяЧасть = "121" ИЛИ ПраваяЧасть = "151" ИЛИ ПраваяЧасть = "161")
ИЛИ ЛеваяЧасть = "02" И ПраваяЧасть = "141"
ИЛИ НЕ ПраваяЧасть = "121" И НЕ ПраваяЧасть = "151" И НЕ ПраваяЧасть = "161" И НЕ ПраваяЧасть = "141" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Если ОбщееЧислоОшибок + ОбщееЧислоБезОшибок > 0 Тогда
СтруктураРезультата.Вставить("КоличествоНайденныхОшибок", ОбщееЧислоОшибок);
СтруктураРезультата.Вставить("КоличествоНайденныхБезОшибок", ОбщееЧислоБезОшибок);
СтруктураРезультата.Вставить("СтруктураОшибок", СтруктураОшибок);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПроверкаТаблицы1Раздела1(СтруктураРезультата)
ОбщееЧислоОшибок = СтруктураРезультата.КоличествоНайденныхОшибок;
ОбщееЧислоБезОшибок = СтруктураРезультата.КоличествоНайденныхБезОшибок;
СтруктураОшибок = СтруктураРезультата.СтруктураОшибок;
Титульный = мДанныеОтчета.ПолеТабличногоДокументаТитульный;
Раздел1Таблица1 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_1;
Раздел1Таблица2 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_2;
Раздел1Таблица3 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_3;
Раздел1Таблица4_2 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_42;
ТекстФормулы = "Проверка таблицы 1 раздела 1";
НазваниеПоказателяЛевойЧасти = "Код по ОКВЭД (статья 58)";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ должно быть обязательно указано, если значение показателя """ + НазваниеПоказателяПравойЧасти + """ <> 071.";
ЛеваяЧасть = СокрЛП(Раздел1Таблица1.ОКВЭД);
ПраваяЧасть = СокрЛП(Титульный.ШифрСтрах1Часть);
Расшифровка = """" + ЛеваяЧасть + """ <> пустое значение, когда """ + ПраваяЧасть + """ <> ""071""";
Если ЗначениеЗаполнено(ЛеваяЧасть) И НЕ ПраваяЧасть = "071"
ИЛИ ПраваяЧасть = "071" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "Код по ОКВЭД (статья 58)";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ должно принадлежать множеству кодов, перечисленных в примечании к таблице 4.3, согласно 212-ФЗ от 24.07.2009 статья 58 часть 1 пункт 8, если значение показателя """ + НазваниеПоказателяПравойЧасти + """ = 121.";
ЛеваяЧасть = СокрЛП(Раздел1Таблица1.ОКВЭД);
ПраваяЧасть = СокрЛП(Титульный.ШифрСтрах1Часть);
Расшифровка = """" + ЛеваяЧасть + """ должен принадлежать множеству кодов, перечисленных в примечании к таблице 4.3, когда """ + ПраваяЧасть + """ = ""121""";
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3 = Новый Массив;
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("15.1");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("15.2");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("15.3");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("15.4");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("15.5");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("15.6");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("15.7");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("15.8");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("15.98");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("17");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("18");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("19");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("20");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("24");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("25");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("26");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("28");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("29");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("30");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("31");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("32");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("33");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("34");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("35");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("36.1");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("36.4");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("36.5");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("73");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("80");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("85");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("92.61");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("92.62");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("37");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("45");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("50.2");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("90");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("60");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("61");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("62");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("63");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("64");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("93");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("21");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("36.3");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("36.6");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("52.7");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("70.32");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("92.1");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("92.51");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("92.52");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("92.53");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("72");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("52.31");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("52.32");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("27.33");
МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3.Добавить("27.34");
КодПоОКВЭДПрисутствуетВМножествеКодов = Ложь;
Для Каждого КодПоОКВЭДИзМножестваКодов Из МножествоКодовПоОКВЭДПеречисленныхВПримечанииКТаблице4_3 Цикл
Если Лев(ЛеваяЧасть, СтрДлина(КодПоОКВЭДИзМножестваКодов)) = КодПоОКВЭДИзМножестваКодов Тогда
КодПоОКВЭДПрисутствуетВМножествеКодов = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
Если КодПоОКВЭДПрисутствуетВМножествеКодов И ПраваяЧасть = "121"
ИЛИ ПраваяЧасть <> "121" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "на начало отчетного периода";
НазваниеПоказателяПравойЧасти = "отчетный период";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ должно быть " + Знак + " 0, если значение показателя """ + НазваниеПоказателяПравойЧасти + """ = 1-ый квартал.";
ЛеваяЧасть = Раздел1Таблица1.П000010002101;
ПраваяЧасть = СокрЛП(Титульный.Период);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + Строка(ПраваяЧасть) + """ = ""03""";
Если ЛеваяЧасть = 0 И ПраваяЧасть = "03"
ИЛИ НЕ ПраваяЧасть = "03" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "сумма";
НазваниеПоказателяПравойЧасти = "на начало отчетного периода + сумма показателей за последние три месяца отчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 2 таблицы 1 должно быть " + Знак + " сумме показателей ""на начало отчетного периода"" и ""за последние три месяца отчетного периода"" по графе 1 строки 2 таблицы 1.";
ЛеваяЧасть = Раздел1Таблица1.П000010002003;
ПраваяЧасть = Раздел1Таблица1.П000010002101 + Раздел1Таблица1.П000010002201;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "1 месяц";
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяПравойЧасти = "(1.9% * значение показателя по графе 4 строки 4 таблицы 3) +- 1 рубль";
Иначе
НазваниеПоказателяПравойЧасти = "(2.4% * значение показателя по графе 4 строки 4 таблицы 3) +- 1 рубль";
КонецЕсли;
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 1 должно быть " + Знак + " " + НазваниеПоказателяПравойЧасти + ", если 1-я часть шифра страхователя в титульном листе = 032, 041, 042, 043, 061.";
ЛеваяЧасть = Раздел1Таблица1.П000010002301;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ПраваяЧасть = 1.9 * Раздел1Таблица3.П000030004004 / 100;
Иначе
ПраваяЧасть = 2.4 * Раздел1Таблица3.П000030004004 / 100;
КонецЕсли;
ШифрСтрах1Часть = СокрЛП(Титульный.ШифрСтрах1Часть);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + " +- 1 рубль, когда """ + ШифрСтрах1Часть + """ = ""032"", ""041"", ""042"", ""043"", ""061""";
Если ((ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1)
И (ШифрСтрах1Часть = "032"
ИЛИ ШифрСтрах1Часть = "041"
ИЛИ ШифрСтрах1Часть = "042"
ИЛИ ШифрСтрах1Часть = "043"
ИЛИ ШифрСтрах1Часть = "061"))
ИЛИ (НЕ ШифрСтрах1Часть = "032"
И НЕ ШифрСтрах1Часть = "041"
И НЕ ШифрСтрах1Часть = "042"
И НЕ ШифрСтрах1Часть = "043"
И НЕ ШифрСтрах1Часть = "061") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "2 месяц";
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяПравойЧасти = "(1.9% * значение показателя по графе 5 строки 4 таблицы 3) +- 1 рубль";
Иначе
НазваниеПоказателяПравойЧасти = "(2.4% * значение показателя по графе 5 строки 4 таблицы 3) +- 1 рубль";
КонецЕсли;
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 1 должно быть " + Знак + " " + НазваниеПоказателяПравойЧасти + ", если 1-я часть шифра страхователя в титульном листе = 032, 041, 042, 043, 061.";
ЛеваяЧасть = Раздел1Таблица1.П000010002401;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ПраваяЧасть = 1.9 * Раздел1Таблица3.П000030004005 / 100;
Иначе
ПраваяЧасть = 2.4 * Раздел1Таблица3.П000030004005 / 100;
КонецЕсли;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + " +- 1 рубль, когда """ + ШифрСтрах1Часть + """ = ""032"", ""041"", ""042"", ""043"", ""061""";
Если ((ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1)
И (ШифрСтрах1Часть = "032"
ИЛИ ШифрСтрах1Часть = "041"
ИЛИ ШифрСтрах1Часть = "042"
ИЛИ ШифрСтрах1Часть = "043"
ИЛИ ШифрСтрах1Часть = "061"))
ИЛИ (НЕ ШифрСтрах1Часть = "032"
И НЕ ШифрСтрах1Часть = "041"
И НЕ ШифрСтрах1Часть = "042"
И НЕ ШифрСтрах1Часть = "043"
И НЕ ШифрСтрах1Часть = "061") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "3 месяц";
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяПравойЧасти = "(1.9% * значение показателя по графе 6 строки 4 таблицы 3) +- 1 рубль";
Иначе
НазваниеПоказателяПравойЧасти = "(2.4% * значение показателя по графе 6 строки 4 таблицы 3) +- 1 рубль";
КонецЕсли;
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 1 должно быть " + Знак + " " + НазваниеПоказателяПравойЧасти + ", если 1-я часть шифра страхователя в титульном листе = 032, 041, 042, 043, 061.";
ЛеваяЧасть = Раздел1Таблица1.П000010002501;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ПраваяЧасть = 1.9 * Раздел1Таблица3.П000030004006 / 100;
Иначе
ПраваяЧасть = 2.4 * Раздел1Таблица3.П000030004006 / 100;
КонецЕсли;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + " +- 1 рубль, когда """ + ШифрСтрах1Часть + """ = ""032"", ""041"", ""042"", ""043"", ""061""";
Если ((ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1)
И (ШифрСтрах1Часть = "032"
ИЛИ ШифрСтрах1Часть = "041"
ИЛИ ШифрСтрах1Часть = "042"
ИЛИ ШифрСтрах1Часть = "043"
ИЛИ ШифрСтрах1Часть = "061"))
ИЛИ (НЕ ШифрСтрах1Часть = "032"
И НЕ ШифрСтрах1Часть = "041"
И НЕ ШифрСтрах1Часть = "042"
И НЕ ШифрСтрах1Часть = "043"
И НЕ ШифрСтрах1Часть = "061") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "1 месяц";
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяПравойЧасти = "(2.0% * (значение показателя по графе 4 строки 4 таблицы 3 - значение показателя по графе 4 строки 5 таблицы 3)) + (1.9% * значение показателя по графе 4 строки 5 таблицы 3) +- 1 рубль";
Иначе
НазваниеПоказателяПравойЧасти = "(2.0% * значение показателя по графе 4 строки 4 таблицы 3) +- 1 рубль";
КонецЕсли;
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 1 должно быть " + Знак + " " + НазваниеПоказателяПравойЧасти + ", если 1-я часть шифра страхователя в титульном листе = 051, 101.";
ЛеваяЧасть = Раздел1Таблица1.П000010002301;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ПраваяЧасть = (2 * (Раздел1Таблица3.П000030004004 - Раздел1Таблица3.П000030005004) / 100) + (1.9 * Раздел1Таблица3.П000030005004 / 100);
Иначе
ПраваяЧасть = 2 * (Раздел1Таблица3.П000030004004) / 100;
КонецЕсли;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + " +- 1 рубль, когда """ + ШифрСтрах1Часть + """ = ""051"", ""101""";
Если ((ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1)
И (ШифрСтрах1Часть = "051"
ИЛИ ШифрСтрах1Часть = "101"))
ИЛИ (НЕ ШифрСтрах1Часть = "051"
И НЕ ШифрСтрах1Часть = "101") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "2 месяц";
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяПравойЧасти = "(2.0% * (значение показателя по графе 5 строки 4 таблицы 3 - значение показателя по графе 5 строки 5 таблицы 3)) + (1.9% * значение показателя по графе 5 строки 5 таблицы 3) +- 1 рубль";
Иначе
НазваниеПоказателяПравойЧасти = "(2.0% * значение показателя по графе 5 строки 4 таблицы 3) +- 1 рубль";
КонецЕсли;
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 1 должно быть " + Знак + " " + НазваниеПоказателяПравойЧасти + ", если 1-я часть шифра страхователя в титульном листе = 051, 101.";
ЛеваяЧасть = Раздел1Таблица1.П000010002401;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ПраваяЧасть = (2 * (Раздел1Таблица3.П000030004005 - Раздел1Таблица3.П000030005005) / 100) + (1.9 * Раздел1Таблица3.П000030005005 / 100);
Иначе
ПраваяЧасть = (2 * (Раздел1Таблица3.П000030004005 / 100));
КонецЕсли;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + " +- 1 рубль, когда """ + ШифрСтрах1Часть + """ = ""051"", ""101""";
Если ((ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1)
И (ШифрСтрах1Часть = "051"
ИЛИ ШифрСтрах1Часть = "101"))
ИЛИ (НЕ ШифрСтрах1Часть = "051"
И НЕ ШифрСтрах1Часть = "101") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "3 месяц";
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяПравойЧасти = "(2.0% * (значение показателя по графе 6 строки 4 таблицы 3 - значение показателя по графе 6 строки 5 таблицы 3)) + (1.9% * значение показателя по графе 6 строки 5 таблицы 3) +- 1 рубль";
Иначе
НазваниеПоказателяПравойЧасти = "(2.0% * значение показателя по графе 6 строки 4 таблицы 3) +- 1 рубль";
КонецЕсли;
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 1 должно быть " + Знак + " " + НазваниеПоказателяПравойЧасти + ", если 1-я часть шифра страхователя в титульном листе = 051, 101.";
ЛеваяЧасть = Раздел1Таблица1.П000010002501;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ПраваяЧасть = (2 * (Раздел1Таблица3.П000030004006 - Раздел1Таблица3.П000030005006) / 100) + (1.9 * Раздел1Таблица3.П000030005006 / 100);
Иначе
ПраваяЧасть = (2 * (Раздел1Таблица3.П000030004006) / 100);
КонецЕсли;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + " +- 1 рубль, когда """ + ШифрСтрах1Часть + """ = ""051"", ""101""";
Если ((ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1)
И (ШифрСтрах1Часть = "051"
ИЛИ ШифрСтрах1Часть = "101"))
ИЛИ (НЕ ШифрСтрах1Часть = "051"
И НЕ ШифрСтрах1Часть = "101") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "1 месяц";
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяПравойЧасти = "(2.9% * (значение показателя по графе 4 строки 4 таблицы 3 - значение показателя по графе 4 строки 5 таблицы 3)) + (1.9% * значение показателя по графе 4 строки 5 таблицы 3) +- 1 рубль";
Иначе
НазваниеПоказателяПравойЧасти = "(2.9% * (значение показателя по графе 4 строки 4 таблицы 3 - значение показателя по графе 4 строки 5 таблицы 3)) + (2.4% * значение показателя по графе 4 строки 5 таблицы 3) +- 1 рубль";
КонецЕсли;
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 1 должно быть " + Знак + " " + НазваниеПоказателяПравойЧасти + ", если 1-я часть шифра страхователя в титульном листе = 071.";
ЛеваяЧасть = Раздел1Таблица1.П000010002301;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ПраваяЧасть = (2.9 * (Раздел1Таблица3.П000030004004 - Раздел1Таблица3.П000030005004) / 100) + (1.9 * Раздел1Таблица3.П000030005004 / 100);
Иначе
ПраваяЧасть = (2.9 * (Раздел1Таблица3.П000030004004 - Раздел1Таблица3.П000030005004) / 100) + (2.4 * Раздел1Таблица3.П000030005004 / 100);
КонецЕсли;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + " +- 1 рубль, когда """ + ШифрСтрах1Часть + """ = ""071""";
Если ((ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1)
И (ШифрСтрах1Часть = "071"))
ИЛИ (НЕ ШифрСтрах1Часть = "071") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "2 месяц";
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяПравойЧасти = "(2.9% * (значение показателя по графе 5 строки 4 таблицы 3 - значение показателя по графе 5 строки 5 таблицы 3)) + (1.9% * значение показателя по графе 5 строки 5 таблицы 3) +- 1 рубль";
Иначе
НазваниеПоказателяПравойЧасти = "(2.9% * (значение показателя по графе 5 строки 4 таблицы 3 - значение показателя по графе 5 строки 5 таблицы 3)) + (2.4% * значение показателя по графе 5 строки 5 таблицы 3) +- 1 рубль";
КонецЕсли;
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 1 должно быть " + Знак + " " + НазваниеПоказателяПравойЧасти + ", если 1-я часть шифра страхователя в титульном листе = 071.";
ЛеваяЧасть = Раздел1Таблица1.П000010002401;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ПраваяЧасть = (2.9 * (Раздел1Таблица3.П000030004005 - Раздел1Таблица3.П000030005005) / 100) + (1.9 * Раздел1Таблица3.П000030005005 / 100);
Иначе
ПраваяЧасть = (2.9 * (Раздел1Таблица3.П000030004005 - Раздел1Таблица3.П000030005005) / 100) + (2.4 * Раздел1Таблица3.П000030005005 / 100);
КонецЕсли;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + " +- 1 рубль, когда """ + ШифрСтрах1Часть + """ = ""071""";
Если ((ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1)
И (ШифрСтрах1Часть = "071"))
ИЛИ (НЕ ШифрСтрах1Часть = "071") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "3 месяц";
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяПравойЧасти = "(2.9% * (значение показателя по графе 6 строки 4 таблицы 3 - значение показателя по графе 6 строки 5 таблицы 3)) + (1.9% * значение показателя по графе 6 строки 5 таблицы 3) +- 1 рубль";
Иначе
НазваниеПоказателяПравойЧасти = "(2.9% * (значение показателя по графе 6 строки 4 таблицы 3 - значение показателя по графе 6 строки 5 таблицы 3)) + (2.4% * значение показателя по графе 6 строки 5 таблицы 3) +- 1 рубль";
КонецЕсли;
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 1 должно быть " + Знак + " " + НазваниеПоказателяПравойЧасти + ", если 1-я часть шифра страхователя в титульном листе = 071.";
ЛеваяЧасть = Раздел1Таблица1.П000010002501;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ПраваяЧасть = (2.9 * (Раздел1Таблица3.П000030004006 - Раздел1Таблица3.П000030005006) / 100) + (1.9 * Раздел1Таблица3.П000030005006 / 100);
Иначе
ПраваяЧасть = (2.9 * (Раздел1Таблица3.П000030004006 - Раздел1Таблица3.П000030005006) / 100) + (2.4 * Раздел1Таблица3.П000030005006 / 100);
КонецЕсли;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + " +- 1 рубль, когда """ + ШифрСтрах1Часть + """ = ""071""";
Если ((ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1)
И (ШифрСтрах1Часть = "071"))
ИЛИ (НЕ ШифрСтрах1Часть = "071") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "1 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = 081, 121, 151, 161.";
ЛеваяЧасть = Раздел1Таблица1.П000010002301;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрах1Часть + """ = ""081"", ""121"", ""151"", ""161""";
Если (ЛеваяЧасть = 0
И (ШифрСтрах1Часть = "081"
ИЛИ ШифрСтрах1Часть = "121"
ИЛИ ШифрСтрах1Часть = "151"
ИЛИ ШифрСтрах1Часть = "161"))
ИЛИ (НЕ ШифрСтрах1Часть = "081"
И НЕ ШифрСтрах1Часть = "121"
И НЕ ШифрСтрах1Часть = "151"
И НЕ ШифрСтрах1Часть = "161") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "2 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = 081, 121, 151, 161.";
ЛеваяЧасть = Раздел1Таблица1.П000010002401;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрах1Часть + """ = ""081"", ""121"", ""151"", ""161""";
Если (ЛеваяЧасть = 0
И (ШифрСтрах1Часть = "081"
ИЛИ ШифрСтрах1Часть = "121"
ИЛИ ШифрСтрах1Часть = "151"
ИЛИ ШифрСтрах1Часть = "161"))
ИЛИ (НЕ ШифрСтрах1Часть = "081"
И НЕ ШифрСтрах1Часть = "121"
И НЕ ШифрСтрах1Часть = "151"
И НЕ ШифрСтрах1Часть = "161") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "3 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = 081, 121, 151, 161.";
ЛеваяЧасть = Раздел1Таблица1.П000010002501;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрах1Часть + """ = ""081"", ""121"", ""151"", ""161""";
Если (ЛеваяЧасть = 0
И (ШифрСтрах1Часть = "081"
ИЛИ ШифрСтрах1Часть = "121"
ИЛИ ШифрСтрах1Часть = "151"
ИЛИ ШифрСтрах1Часть = "161"))
ИЛИ (НЕ ШифрСтрах1Часть = "081"
И НЕ ШифрСтрах1Часть = "121"
И НЕ ШифрСтрах1Часть = "151"
И НЕ ШифрСтрах1Часть = "161") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "1 месяц";
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяПравойЧасти = "(2.0% * (значение показателя по графе 4 строки 4 таблицы 3 - значение показателя по графе 4 строки 5 таблицы 3)) + (1.9% * значение показателя по графе 4 строки 5 таблицы 3) +- 1 рубль";
Иначе
НазваниеПоказателяПравойЧасти = "(2.0% * значение показателя по графе 4 строки 4 таблицы 3) +- 1 рубль";
КонецЕсли;
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 1 должно быть " + Знак + " " + НазваниеПоказателяПравойЧасти + ", если 1-я часть шифра страхователя в титульном листе = 091 и дата записи в реестре аккредитованных организаций по графе 3 строки 5 таблицы 4.2 <= последней даты месяца.";
ЛеваяЧасть = Раздел1Таблица1.П000010002301;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ПраваяЧасть = (2 * (Раздел1Таблица3.П000030004004 - Раздел1Таблица3.П000030005004) / 100) + (1.9 * Раздел1Таблица3.П000030005004 / 100);
Иначе
ПраваяЧасть = (2 * (Раздел1Таблица3.П000030004004 / 100));
КонецЕсли;
ПоследняяДатаМесяца = КонецМесяца(ДобавитьМесяц(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета, -2));
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + " +- 1 рубль, когда """ + ШифрСтрах1Часть + """ = ""091"" и """ + Формат(Раздел1Таблица4_2.П000420000503, "ДЛФ=Д") + """ <= """ + Формат(ПоследняяДатаМесяца, "ДЛФ=Д") + """";
Если (ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1
И ШифрСтрах1Часть = "091" И Раздел1Таблица4_2.П000420000503 <= ПоследняяДатаМесяца)
ИЛИ (НЕ ШифрСтрах1Часть = "091" ИЛИ Раздел1Таблица4_2.П000420000503 > ПоследняяДатаМесяца) Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "2 месяц";
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяПравойЧасти = "(2.0% * (значение показателя по графе 5 строки 4 таблицы 3 - значение показателя по графе 5 строки 5 таблицы 3)) + (1.9% * значение показателя по графе 5 строки 5 таблицы 3) +- 1 рубль";
Иначе
НазваниеПоказателяПравойЧасти = "(2.0% * значение показателя по графе 5 строки 4 таблицы 3) +- 1 рубль";
КонецЕсли;
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 1 должно быть " + Знак + " " + НазваниеПоказателяПравойЧасти + ", если 1-я часть шифра страхователя в титульном листе = 091 и дата записи в реестре аккредитованных организаций по графе 3 строки 5 таблицы 4.2 <= последней даты месяца.";
ЛеваяЧасть = Раздел1Таблица1.П000010002401;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ПраваяЧасть = (2 * (Раздел1Таблица3.П000030004005 - Раздел1Таблица3.П000030005005) / 100) + (1.9 * Раздел1Таблица3.П000030005005 / 100);
Иначе
ПраваяЧасть = (2 * (Раздел1Таблица3.П000030004005) / 100);
КонецЕсли;
ПоследняяДатаМесяца = КонецМесяца(ДобавитьМесяц(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета, -1));
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + " +- 1 рубль, когда """ + ШифрСтрах1Часть + """ = ""091"" и """ + Формат(Раздел1Таблица4_2.П000420000503, "ДЛФ=Д") + """ <= """ + Формат(ПоследняяДатаМесяца, "ДЛФ=Д") + """";
Если (ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1
И ШифрСтрах1Часть = "091" И Раздел1Таблица4_2.П000420000503 <= ПоследняяДатаМесяца)
ИЛИ (НЕ ШифрСтрах1Часть = "091" ИЛИ Раздел1Таблица4_2.П000420000503 > ПоследняяДатаМесяца) Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "3 месяц";
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяПравойЧасти = "(2.0% * (значение показателя по графе 6 строки 4 таблицы 3 - значение показателя по графе 6 строки 5 таблицы 3)) + (1.9% * значение показателя по графе 6 строки 5 таблицы 3) +- 1 рубль";
Иначе
НазваниеПоказателяПравойЧасти = "(2.0% * значение показателя по графе 6 строки 4 таблицы 3) +- 1 рубль";
КонецЕсли;
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 1 должно быть " + Знак + " " + НазваниеПоказателяПравойЧасти + ", если 1-я часть шифра страхователя в титульном листе = 091 и дата записи в реестре аккредитованных организаций по графе 3 строки 5 таблицы 4.2 <= последней даты месяца.";
ЛеваяЧасть = Раздел1Таблица1.П000010002501;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ПраваяЧасть = (2 * (Раздел1Таблица3.П000030004006 - Раздел1Таблица3.П000030005006) / 100) + (1.9 * Раздел1Таблица3.П000030005006 / 100);
Иначе
ПраваяЧасть = (2 * (Раздел1Таблица3.П000030004006) / 100);
КонецЕсли;
ПоследняяДатаМесяца = КонецМесяца(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + " +- 1 рубль, когда """ + ШифрСтрах1Часть + """ = ""091"" и """ + Формат(Раздел1Таблица4_2.П000420000503, "ДЛФ=Д") + """ <= """ + Формат(ПоследняяДатаМесяца, "ДЛФ=Д") + """";
Если (ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1
И ШифрСтрах1Часть = "091" И Раздел1Таблица4_2.П000420000503 <= ПоследняяДатаМесяца)
ИЛИ (НЕ ШифрСтрах1Часть = "091" ИЛИ Раздел1Таблица4_2.П000420000503 > ПоследняяДатаМесяца) Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "1 месяц";
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяПравойЧасти = "(2.9% * (значение показателя по графе 4 строки 4 таблицы 3 - значение показателя по графе 4 строки 5 таблицы 3)) + (1.9% * значение показателя по графе 4 строки 5 таблицы 3) +- 1 рубль";
Иначе
НазваниеПоказателяПравойЧасти = "(2.9% * (значение показателя по графе 4 строки 4 таблицы 3 - значение показателя по графе 4 строки 5 таблицы 3)) + (2.4% * значение показателя по графе 4 строки 5 таблицы 3) +- 1 рубль";
КонецЕсли;
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 1 должно быть " + Знак + " " + НазваниеПоказателяПравойЧасти + ", если 1-я часть шифра страхователя в титульном листе = 091 и дата записи в реестре аккредитованных организаций по графе 3 строки 5 таблицы 4.2 > последней даты месяца.";
ЛеваяЧасть = Раздел1Таблица1.П000010002301;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ПраваяЧасть = (2.9 * (Раздел1Таблица3.П000030004004 - Раздел1Таблица3.П000030005004) / 100) + (1.9 * Раздел1Таблица3.П000030005004 / 100);
Иначе
ПраваяЧасть = (2.9 * (Раздел1Таблица3.П000030004004 - Раздел1Таблица3.П000030005004) / 100) + (2.4 * Раздел1Таблица3.П000030005004 / 100);
КонецЕсли;
ПоследняяДатаМесяца = КонецМесяца(ДобавитьМесяц(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета, -2));
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + " +- 1 рубль, когда """ + ШифрСтрах1Часть + """ = ""091"" и """ + Формат(Раздел1Таблица4_2.П000420000503, "ДЛФ=Д") + """ > """ + Формат(ПоследняяДатаМесяца, "ДЛФ=Д") + """";
Если (ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1
И ШифрСтрах1Часть = "091" И Раздел1Таблица4_2.П000420000503 > ПоследняяДатаМесяца)
ИЛИ (НЕ ШифрСтрах1Часть = "091" ИЛИ Раздел1Таблица4_2.П000420000503 <= ПоследняяДатаМесяца) Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "2 месяц";
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяПравойЧасти = "(2.9% * (значение показателя по графе 5 строки 4 таблицы 3 - значение показателя по графе 5 строки 5 таблицы 3)) + (1.9% * значение показателя по графе 5 строки 5 таблицы 3) +- 1 рубль";
Иначе
НазваниеПоказателяПравойЧасти = "(2.9% * (значение показателя по графе 5 строки 4 таблицы 3 - значение показателя по графе 5 строки 5 таблицы 3)) + (2.4% * значение показателя по графе 5 строки 5 таблицы 3) +- 1 рубль";
КонецЕсли;
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 1 должно быть " + Знак + " " + НазваниеПоказателяПравойЧасти + ", если 1-я часть шифра страхователя в титульном листе = 091 и дата записи в реестре аккредитованных организаций по графе 3 строки 5 таблицы 4.2 > последней даты месяца.";
ЛеваяЧасть = Раздел1Таблица1.П000010002401;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ПраваяЧасть = (2.9 * (Раздел1Таблица3.П000030004005 - Раздел1Таблица3.П000030005005) / 100) + (1.9 * Раздел1Таблица3.П000030005005 / 100);
Иначе
ПраваяЧасть = (2.9 * (Раздел1Таблица3.П000030004005 - Раздел1Таблица3.П000030005005) / 100) + (2.4 * Раздел1Таблица3.П000030005005 / 100);
КонецЕсли;
ПоследняяДатаМесяца = КонецМесяца(ДобавитьМесяц(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета, -1));
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + " +- 1 рубль, когда """ + ШифрСтрах1Часть + """ = ""091"" и """ + Формат(Раздел1Таблица4_2.П000420000503, "ДЛФ=Д") + """ > """ + Формат(ПоследняяДатаМесяца, "ДЛФ=Д") + """";
Если (ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1
И ШифрСтрах1Часть = "091" И Раздел1Таблица4_2.П000420000503 > ПоследняяДатаМесяца)
ИЛИ (НЕ ШифрСтрах1Часть = "091" ИЛИ Раздел1Таблица4_2.П000420000503 <= ПоследняяДатаМесяца) Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "3 месяц";
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяПравойЧасти = "(2.9% * (значение показателя по графе 6 строки 4 таблицы 3 - значение показателя по графе 6 строки 5 таблицы 3)) + (1.9% * значение показателя по графе 6 строки 5 таблицы 3) +- 1 рубль";
Иначе
НазваниеПоказателяПравойЧасти = "(2.9% * (значение показателя по графе 6 строки 4 таблицы 3 - значение показателя по графе 6 строки 5 таблицы 3)) + (2.4% * значение показателя по графе 6 строки 5 таблицы 3) +- 1 рубль";
КонецЕсли;
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 1 должно быть " + Знак + " " + НазваниеПоказателяПравойЧасти + ", если 1-я часть шифра страхователя в титульном листе = 091 и дата записи в реестре аккредитованных организаций по графе 3 строки 5 таблицы 4.2 > последней даты месяца.";
ЛеваяЧасть = Раздел1Таблица1.П000010002501;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ПраваяЧасть = (2.9 * (Раздел1Таблица3.П000030004006 - Раздел1Таблица3.П000030005006) / 100) + (1.9 * Раздел1Таблица3.П000030005006 / 100);
Иначе
ПраваяЧасть = (2.9 * (Раздел1Таблица3.П000030004006 - Раздел1Таблица3.П000030005006) / 100) + (2.4 * Раздел1Таблица3.П000030005006 / 100);
КонецЕсли;
ПоследняяДатаМесяца = КонецМесяца(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + " +- 1 рубль, когда """ + ШифрСтрах1Часть + """ = ""091"" и """ + Формат(Раздел1Таблица4_2.П000420000503, "ДЛФ=Д") + """ > """ + Формат(ПоследняяДатаМесяца, "ДЛФ=Д") + """";
Если (ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1
И ШифрСтрах1Часть = "091" И Раздел1Таблица4_2.П000420000503 > ПоследняяДатаМесяца)
ИЛИ (НЕ ШифрСтрах1Часть = "091" ИЛИ Раздел1Таблица4_2.П000420000503 <= ПоследняяДатаМесяца) Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "1 месяц";
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяПравойЧасти = "(2.9% * (значение показателя по графе 4 строки 4 таблицы 3 - значение показателя по графе 4 строки 5 таблицы 3 - значение показателя по графе 4 строки 7 таблицы 3)) + (1.9% * значение показателя по графе 4 строки 5 таблицы 3) +- 1 рубль";
Иначе
НазваниеПоказателяПравойЧасти = "(2.9% * (значение показателя по графе 4 строки 4 таблицы 3 - значение показателя по графе 4 строки 5 таблицы 3 - значение показателя по графе 4 строки 7 таблицы 3)) + (2.4% * значение показателя по графе 4 строки 5 таблицы 3) +- 1 рубль";
КонецЕсли;
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 1 должно быть " + Знак + " " + НазваниеПоказателяПравойЧасти + ", если 1-я часть шифра страхователя в титульном листе = 131.";
ЛеваяЧасть = Раздел1Таблица1.П000010002301;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ПраваяЧасть = (2.9 * (Раздел1Таблица3.П000030004004 - Раздел1Таблица3.П000030005004 - Раздел1Таблица3.П000030007004) / 100) + (1.9 * Раздел1Таблица3.П000030005004 / 100);
Иначе
ПраваяЧасть = (2.9 * (Раздел1Таблица3.П000030004004 - Раздел1Таблица3.П000030005004 - Раздел1Таблица3.П000030007004) / 100) + (2.4 * Раздел1Таблица3.П000030005004 / 100);
КонецЕсли;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + " +- 1 рубль, когда """ + ШифрСтрах1Часть + """ = ""131""";
Если (ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1
И ШифрСтрах1Часть = "131")
ИЛИ (НЕ ШифрСтрах1Часть = "131") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "2 месяц";
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяПравойЧасти = "(2.9% * (значение показателя по графе 5 строки 4 таблицы 3 - значение показателя по графе 5 строки 5 таблицы 3 - значение показателя по графе 5 строки 7 таблицы 3)) + (1.9% * значение показателя по графе 5 строки 5 таблицы 3) +- 1 рубль";
Иначе
НазваниеПоказателяПравойЧасти = "(2.9% * (значение показателя по графе 5 строки 4 таблицы 3 - значение показателя по графе 5 строки 5 таблицы 3 - значение показателя по графе 5 строки 7 таблицы 3)) + (2.4% * значение показателя по графе 5 строки 5 таблицы 3) +- 1 рубль";
КонецЕсли;
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 1 должно быть " + Знак + " " + НазваниеПоказателяПравойЧасти + ", если 1-я часть шифра страхователя в титульном листе = 131.";
ЛеваяЧасть = Раздел1Таблица1.П000010002401;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ПраваяЧасть = (2.9 * (Раздел1Таблица3.П000030004005 - Раздел1Таблица3.П000030005005 - Раздел1Таблица3.П000030007005) / 100) + (1.9 * Раздел1Таблица3.П000030005005 / 100);
Иначе
ПраваяЧасть = (2.9 * (Раздел1Таблица3.П000030004005 - Раздел1Таблица3.П000030005005 - Раздел1Таблица3.П000030007005) / 100) + (2.4 * Раздел1Таблица3.П000030005005 / 100);
КонецЕсли;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + " +- 1 рубль, когда """ + ШифрСтрах1Часть + """ = ""131""";
Если (ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1
И ШифрСтрах1Часть = "131")
ИЛИ (НЕ ШифрСтрах1Часть = "131") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "3 месяц";
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяПравойЧасти = "(2.9% * (значение показателя по графе 6 строки 4 таблицы 3 - значение показателя по графе 6 строки 5 таблицы 3 - значение показателя по графе 6 строки 7 таблицы 3)) + (1.9% * значение показателя по графе 6 строки 5 таблицы 3) +- 1 рубль";
Иначе
НазваниеПоказателяПравойЧасти = "(2.9% * (значение показателя по графе 6 строки 4 таблицы 3 - значение показателя по графе 6 строки 5 таблицы 3 - значение показателя по графе 6 строки 7 таблицы 3)) + (2.4% * значение показателя по графе 6 строки 5 таблицы 3) +- 1 рубль";
КонецЕсли;
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 1 должно быть " + Знак + " " + НазваниеПоказателяПравойЧасти + ", если 1-я часть шифра страхователя в титульном листе = 131.";
ЛеваяЧасть = Раздел1Таблица1.П000010002501;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ПраваяЧасть = (2.9 * (Раздел1Таблица3.П000030004006 - Раздел1Таблица3.П000030005006 - Раздел1Таблица3.П000030007006) / 100) + (1.9 * Раздел1Таблица3.П000030005006 / 100);
Иначе
ПраваяЧасть = (2.9 * (Раздел1Таблица3.П000030004006 - Раздел1Таблица3.П000030005006 - Раздел1Таблица3.П000030007006) / 100) + (2.4 * Раздел1Таблица3.П000030005006 / 100);
КонецЕсли;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + " +- 1 рубль, когда """ + ШифрСтрах1Часть + """ = ""131""";
Если (ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1
И ШифрСтрах1Часть = "131")
ИЛИ (НЕ ШифрСтрах1Часть = "131") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "1 месяц";
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяПравойЧасти = "(2.9% * (значение показателя по графе 4 строки 4 таблицы 3 - значение показателя по графе 4 строки 5 таблицы 3 - значение показателя по графе 4 строки 6 таблицы 3)) + (1.9% * значение показателя по графе 4 строки 5 таблицы 3) +- 1 рубль";
Иначе
НазваниеПоказателяПравойЧасти = "(2.9% * (значение показателя по графе 4 строки 4 таблицы 3 - значение показателя по графе 4 строки 5 таблицы 3 - значение показателя по графе 4 строки 6 таблицы 3)) + (2.4% * значение показателя по графе 4 строки 5 таблицы 3) +- 1 рубль";
КонецЕсли;
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 1 должно быть " + Знак + " " + НазваниеПоказателяПравойЧасти + ", если 1-я часть шифра страхователя в титульном листе = 141.";
ЛеваяЧасть = Раздел1Таблица1.П000010002301;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ПраваяЧасть = (2.9 * (Раздел1Таблица3.П000030004004 - Раздел1Таблица3.П000030005004 - Раздел1Таблица3.П000030006004) / 100) + (1.9 * Раздел1Таблица3.П000030005004 / 100);
Иначе
ПраваяЧасть = (2.9 * (Раздел1Таблица3.П000030004004 - Раздел1Таблица3.П000030005004 - Раздел1Таблица3.П000030006004) / 100) + (2.4 * Раздел1Таблица3.П000030005004 / 100);
КонецЕсли;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + " +- 1 рубль, когда """ + ШифрСтрах1Часть + """ = ""141""";
Если (ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1
И ШифрСтрах1Часть = "141")
ИЛИ (НЕ ШифрСтрах1Часть = "141") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "2 месяц";
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяПравойЧасти = "(2.9% * (значение показателя по графе 5 строки 4 таблицы 3 - значение показателя по графе 5 строки 5 таблицы 3 - значение показателя по графе 5 строки 6 таблицы 3)) + (1.9% * значение показателя по графе 5 строки 5 таблицы 3) +- 1 рубль";
Иначе
НазваниеПоказателяПравойЧасти = "(2.9% * (значение показателя по графе 5 строки 4 таблицы 3 - значение показателя по графе 5 строки 5 таблицы 3 - значение показателя по графе 5 строки 6 таблицы 3)) + (2.4% * значение показателя по графе 5 строки 5 таблицы 3) +- 1 рубль";
КонецЕсли;
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 1 должно быть " + Знак + " " + НазваниеПоказателяПравойЧасти + ", если 1-я часть шифра страхователя в титульном листе = 141.";
ЛеваяЧасть = Раздел1Таблица1.П000010002401;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ПраваяЧасть = (2.9 * (Раздел1Таблица3.П000030004005 - Раздел1Таблица3.П000030005005 - Раздел1Таблица3.П000030006005) / 100) + (1.9 * Раздел1Таблица3.П000030005005 / 100);
Иначе
ПраваяЧасть = (2.9 * (Раздел1Таблица3.П000030004005 - Раздел1Таблица3.П000030005005 - Раздел1Таблица3.П000030006005) / 100) + (2.4 * Раздел1Таблица3.П000030005005 / 100);
КонецЕсли;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + " +- 1 рубль, когда """ + ШифрСтрах1Часть + """ = ""141""";
Если (ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1
И ШифрСтрах1Часть = "141")
ИЛИ (НЕ ШифрСтрах1Часть = "141") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "3 месяц";
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяПравойЧасти = "(2.9% * (значение показателя по графе 6 строки 4 таблицы 3 - значение показателя по графе 6 строки 5 таблицы 3 - значение показателя по графе 6 строки 6 таблицы 3)) + (1.9% * значение показателя по графе 6 строки 5 таблицы 3) +- 1 рубль";
Иначе
НазваниеПоказателяПравойЧасти = "(2.9% * (значение показателя по графе 6 строки 4 таблицы 3 - значение показателя по графе 6 строки 5 таблицы 3 - значение показателя по графе 6 строки 6 таблицы 3)) + (2.4% * значение показателя по графе 6 строки 5 таблицы 3) +- 1 рубль";
КонецЕсли;
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 1 должно быть " + Знак + " " + НазваниеПоказателяПравойЧасти + ", если 1-я часть шифра страхователя в титульном листе = 141.";
ЛеваяЧасть = Раздел1Таблица1.П000010002501;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ПраваяЧасть = (2.9 * (Раздел1Таблица3.П000030004006 - Раздел1Таблица3.П000030005006 - Раздел1Таблица3.П000030006006) / 100) + (1.9 * Раздел1Таблица3.П000030005006 / 100);
Иначе
ПраваяЧасть = (2.9 * (Раздел1Таблица3.П000030004006 - Раздел1Таблица3.П000030005006 - Раздел1Таблица3.П000030006006) / 100) + (2.4 * Раздел1Таблица3.П000030005006 / 100);
КонецЕсли;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + " +- 1 рубль, когда """ + ШифрСтрах1Часть + """ = ""141""";
Если (ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1
И ШифрСтрах1Часть = "141")
ИЛИ (НЕ ШифрСтрах1Часть = "141") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "на начало отчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 3 таблицы 1 должно быть " + Знак + " 0, если расчет за 1-й квартал.";
ЛеваяЧасть = Раздел1Таблица1.П000010003101;
ОтчетныйПериод = СокрЛП(Титульный.Период);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ОтчетныйПериод + """ = ""03""";
Если (ЛеваяЧасть = 0
И ОтчетныйПериод = "03")
ИЛИ НЕ ОтчетныйПериод = "03" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "сумма";
НазваниеПоказателяПравойЧасти = "на начало отчетного периода + сумма показателей за последние три месяца отчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 3 таблицы 1 должно быть " + Знак + " сумме показателей ""на начало отчетного периода"" и ""за последние три месяца отчетного периода"" по графе 1 строки 3 таблицы 1.";
ЛеваяЧасть = Раздел1Таблица1.П000010003003;
ПраваяЧасть = Раздел1Таблица1.П000010003101 + Раздел1Таблица1.П000010003201;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "на начало отчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 5 таблицы 1 должно быть " + Знак + " 0, если расчет за 1-й квартал.";
ЛеваяЧасть = Раздел1Таблица1.П000010005101;
ОтчетныйПериод = СокрЛП(Титульный.Период);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ОтчетныйПериод + """ = ""03""";
Если (ЛеваяЧасть = 0
И ОтчетныйПериод = "03")
ИЛИ НЕ ОтчетныйПериод = "03" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "сумма";
НазваниеПоказателяПравойЧасти = "на начало отчетного периода + сумма показателей за последние три месяца отчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 5 таблицы 1 должно быть " + Знак + " сумме показателей ""на начало отчетного периода"" и ""за последние три месяца отчетного периода"" по графе 1 строки 5 таблицы 1.";
ЛеваяЧасть = Раздел1Таблица1.П000010005003;
ПраваяЧасть = Раздел1Таблица1.П000010005101 + Раздел1Таблица1.П000010005201;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "на начало отчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 6 таблицы 1 должно быть " + Знак + " 0, если расчет за 1-й квартал.";
ЛеваяЧасть = Раздел1Таблица1.П000010006101;
ОтчетныйПериод = СокрЛП(Титульный.Период);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ОтчетныйПериод + """ = ""03""";
Если (ЛеваяЧасть = 0
И ОтчетныйПериод = "03")
ИЛИ НЕ ОтчетныйПериод = "03" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "сумма";
НазваниеПоказателяПравойЧасти = "на начало отчетного периода + сумма показателей за последние три месяца отчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 6 таблицы 1 должно быть " + Знак + " сумме показателей ""на начало отчетного периода"" и ""за последние три месяца отчетного периода"" по графе 1 строки 6 таблицы 1.";
ЛеваяЧасть = Раздел1Таблица1.П000010006003;
ПраваяЧасть = Раздел1Таблица1.П000010006101 + Раздел1Таблица1.П000010006201;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "сумма";
НазваниеПоказателяПравойЧасти = "сумма строк 1-7";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 8 таблицы 1 должно быть " + Знак + " сумме строк 1-7 по графе 3 таблицы 1.";
ЛеваяЧасть = Раздел1Таблица1.П000010008003;
ПраваяЧасть = Раздел1Таблица1.П000010001003 + Раздел1Таблица1.П000010002003 + Раздел1Таблица1.П000010003003 + Раздел1Таблица1.П000010004003 + Раздел1Таблица1.П000010005003 + Раздел1Таблица1.П000010006003 + Раздел1Таблица1.П000010007003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "сумма";
НазваниеПоказателяПравойЧасти = "значение показателя по графе 3 строки 18 таблицы 1 - значение показателя по графе 3 строки 8 таблицы 1";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 9 таблицы 1 должно быть " + Знак + " " + НазваниеПоказателяПравойЧасти + ", если значение показателя по графе 3 строки 18 таблицы 1 > значения показателя по графе 3 строки 8 таблицы 1.";
ЛеваяЧасть = Раздел1Таблица1.П000010009003;
ПраваяЧасть = Раздел1Таблица1.П000010018003 - Раздел1Таблица1.П000010008003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + ", когда " + Раздел1Таблица1.П000010018003 + " > " + Раздел1Таблица1.П000010008003;
Если (ЛеваяЧасть = ПраваяЧасть
И Раздел1Таблица1.П000010018003 > Раздел1Таблица1.П000010008003)
ИЛИ НЕ Раздел1Таблица1.П000010018003 > Раздел1Таблица1.П000010008003 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "сумма";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 9 таблицы 1 должно быть " + Знак + " 0, если значение показателя по графе 3 строки 18 таблицы 1 <= значения показателя по графе 3 строки 8 таблицы 1.";
ЛеваяЧасть = Раздел1Таблица1.П000010009003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда " + Раздел1Таблица1.П000010018003 + " <= " + Раздел1Таблица1.П000010008003;
Если (ЛеваяЧасть = 0
И Раздел1Таблица1.П000010018003 <= Раздел1Таблица1.П000010008003)
ИЛИ НЕ Раздел1Таблица1.П000010018003 <= Раздел1Таблица1.П000010008003 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "сумма";
НазваниеПоказателяПравойЧасти = "сумма строк 10 и 11";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 9 таблицы 1 должно быть " + Знак + " сумме строк 10 и 11 по графе 3 таблицы 1.";
ЛеваяЧасть = Раздел1Таблица1.П000010009003;
ПраваяЧасть = Раздел1Таблица1.П000010010003 + Раздел1Таблица1.П000010011003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "сумма";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 10 таблицы 1 должно быть " + Знак + " 0, если значение показателя по графе 3 строки 13 таблицы 1 = 0 и значения показателя по графе 3 строки 15 таблицы 1 = 0.";
ЛеваяЧасть = Раздел1Таблица1.П000010010003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда " + Раздел1Таблица1.П000010013003 + " = 0 и " + Раздел1Таблица1.П000010015003 + " = 0";
Если (ЛеваяЧасть = 0
И Раздел1Таблица1.П000010013003 = 0
И Раздел1Таблица1.П000010015003 = 0)
ИЛИ НЕ Раздел1Таблица1.П000010013003 = 0
ИЛИ НЕ Раздел1Таблица1.П000010015003 = 0 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "сумма";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 11 таблицы 1 должно быть " + Знак + " 0, если значение показателя по графе 3 строки 14 таблицы 1 = 0 и значения показателя по графе 3 строки 16 таблицы 1 = 0.";
ЛеваяЧасть = Раздел1Таблица1.П000010011003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда " + Раздел1Таблица1.П000010014003 + " = 0 и " + Раздел1Таблица1.П000010016003 + " = 0";
Если (ЛеваяЧасть = 0
И Раздел1Таблица1.П000010014003 = 0
И Раздел1Таблица1.П000010016003 = 0)
ИЛИ НЕ Раздел1Таблица1.П000010014003 = 0
ИЛИ НЕ Раздел1Таблица1.П000010016003 = 0 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "сумма";
НазваниеПоказателяПравойЧасти = "сумма строк 13 и 14";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 12 таблицы 1 должно быть " + Знак + " сумме строк 13 и 14 по графе 3 таблицы 1.";
ЛеваяЧасть = Раздел1Таблица1.П000010012003;
ПраваяЧасть = Раздел1Таблица1.П000010013003 + Раздел1Таблица1.П000010014003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "на начало отчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 15 таблицы 1 должно быть " + Знак + " 0, если расчет за 1-й квартал.";
ЛеваяЧасть = Раздел1Таблица1.П000010015101;
ОтчетныйПериод = СокрЛП(Титульный.Период);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ОтчетныйПериод + """ = ""03""";
Если (ЛеваяЧасть = 0
И ОтчетныйПериод = "03")
ИЛИ НЕ ОтчетныйПериод = "03" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "сумма";
НазваниеПоказателяПравойЧасти = "на начало отчетного периода + сумма показателей за последние три месяца отчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 15 таблицы 1 должно быть " + Знак + " сумме показателей ""на начало отчетного периода"" и ""за последние три месяца отчетного периода"" по графе 1 строки 15 таблицы 1.";
ЛеваяЧасть = Раздел1Таблица1.П000010015003;
ПраваяЧасть = Раздел1Таблица1.П000010015101 + Раздел1Таблица1.П000010015201;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "сумма";
НазваниеПоказателяПравойЧасти = "значение показателя по графе 4 строки 12 таблицы 2";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 15 таблицы 1 должно быть " + Знак + " значению показателя по графе 4 строки 12 таблицы 2.";
ЛеваяЧасть = Раздел1Таблица1.П000010015003;
ПраваяЧасть = Раздел1Таблица2.П000020012004;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "на начало отчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 16 таблицы 1 должно быть " + Знак + " 0, если расчет за 1-й квартал.";
ЛеваяЧасть = Раздел1Таблица1.П000010016101;
ОтчетныйПериод = СокрЛП(Титульный.Период);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ОтчетныйПериод + """ = ""03""";
Если (ЛеваяЧасть = 0
И ОтчетныйПериод = "03")
ИЛИ НЕ ОтчетныйПериод = "03" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "сумма";
НазваниеПоказателяПравойЧасти = "на начало отчетного периода + сумма показателей за последние три месяца отчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 16 таблицы 1 должно быть " + Знак + " сумме показателей ""на начало отчетного периода"" и ""за последние три месяца отчетного периода"" по графе 1 строки 16 таблицы 1.";
ЛеваяЧасть = Раздел1Таблица1.П000010016003;
ПраваяЧасть = Раздел1Таблица1.П000010016101 + Раздел1Таблица1.П000010016201;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "сумма";
НазваниеПоказателяПравойЧасти = "сумма строк 12, 15, 16, 17";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 18 таблицы 1 должно быть " + Знак + " сумме строк 12, 15, 16, 17 по графе 3 таблицы 1.";
ЛеваяЧасть = Раздел1Таблица1.П000010018003;
ПраваяЧасть = Раздел1Таблица1.П000010012003 + Раздел1Таблица1.П000010015003 + Раздел1Таблица1.П000010016003 + Раздел1Таблица1.П000010017003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "сумма";
НазваниеПоказателяПравойЧасти = "значение показателя по графе 3 строки 8 таблицы 1 - значение показателя по графе 3 строки 18 таблицы 1";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 19 таблицы 1 должно быть " + Знак + " " + НазваниеПоказателяПравойЧасти + ", если значение показателя по графе 3 строки 8 таблицы 1 > значения показателя по графе 3 строки 18 таблицы 1.";
ЛеваяЧасть = Раздел1Таблица1.П000010019003;
ПраваяЧасть = Раздел1Таблица1.П000010008003 - Раздел1Таблица1.П000010018003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + ", когда " + Раздел1Таблица1.П000010008003 + " > " + Раздел1Таблица1.П000010018003;
Если (ЛеваяЧасть = ПраваяЧасть
И Раздел1Таблица1.П000010008003 > Раздел1Таблица1.П000010018003)
ИЛИ НЕ Раздел1Таблица1.П000010008003 > Раздел1Таблица1.П000010018003 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "сумма";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 19 таблицы 1 должно быть " + Знак + " 0, если значение показателя по графе 3 строки 8 таблицы 1 <= значения показателя по графе 3 строки 18 таблицы 1.";
ЛеваяЧасть = Раздел1Таблица1.П000010019003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда " + Раздел1Таблица1.П000010008003 + " <= " + Раздел1Таблица1.П000010018003;
Если (ЛеваяЧасть = 0
И Раздел1Таблица1.П000010008003 <= Раздел1Таблица1.П000010018003)
ИЛИ НЕ Раздел1Таблица1.П000010008003 <= Раздел1Таблица1.П000010018003 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "<=";
НазваниеПоказателяЛевойЧасти = "сумма";
НазваниеПоказателяПравойЧасти = "значение показателя по графе 3 строки 19 таблицы 1";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 20 таблицы 1 должно быть " + Знак + " значению показателя по графе 3 строки 19 таблицы 1.";
ЛеваяЧасть = Раздел1Таблица1.П000010020003;
ПраваяЧасть = Раздел1Таблица1.П000010019003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "сумма строк 8 и 9";
НазваниеПоказателяПравойЧасти = "сумма строк 18 и 19";
ОписаниеКС = "Сумма строк 8 и 9 по графе 3 таблицы 1 должна быть " + Знак + " сумме строк 18 и 19 по графе 3 таблицы 1.";
ЛеваяЧасть = Раздел1Таблица1.П000010008003 + Раздел1Таблица1.П000010009003;
ПраваяЧасть = Раздел1Таблица1.П000010018003 + Раздел1Таблица1.П000010019003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Если ОбщееЧислоОшибок + ОбщееЧислоБезОшибок > 0 Тогда
СтруктураРезультата.Вставить("КоличествоНайденныхОшибок", ОбщееЧислоОшибок);
СтруктураРезультата.Вставить("КоличествоНайденныхБезОшибок", ОбщееЧислоБезОшибок);
СтруктураРезультата.Вставить("СтруктураОшибок", СтруктураОшибок);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПроверкаТаблицы2Раздела1(СтруктураРезультата)
ОбщееЧислоОшибок = СтруктураРезультата.КоличествоНайденныхОшибок;
ОбщееЧислоБезОшибок = СтруктураРезультата.КоличествоНайденныхБезОшибок;
СтруктураОшибок = СтруктураРезультата.СтруктураОшибок;
Титульный = мДанныеОтчета.ПолеТабличногоДокументаТитульный;
Раздел1Таблица2 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_2;
Раздел1Таблица5 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_5;
ТекстФормулы = "Проверка таблицы 2 раздела 1";
Знак = "=";
НазваниеПоказателяЛевойЧасти = "в т.ч. за счет средств, финансируемых из федерального бюджета";
НазваниеПоказателяПравойЧасти = "расходы (сумма)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 1 таблицы 2 должно быть " + Знак + " значению показателя по графе 5 строки 1 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица2.П000020001005;
ПраваяЧасть = Раздел1Таблица5.П000050001005;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "<=";
НазваниеПоказателяЛевойЧасти = "число случаев";
НазваниеПоказателяПравойЧасти = "число случаев";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 2 должно быть " + Знак + " значению показателя по графе 1 строки 1 таблицы 2.";
ЛеваяЧасть = Раздел1Таблица2.П000020002001;
ПраваяЧасть = Раздел1Таблица2.П000020001001;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "количество дней, выплат, пособий";
НазваниеПоказателяПравойЧасти = "количество дней, выплат, пособий";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 2 таблицы 2 должно быть " + Знак + " значению показателя по графе 3 строки 1 таблицы 2.";
ЛеваяЧасть = Раздел1Таблица2.П000020002003;
ПраваяЧасть = Раздел1Таблица2.П000020001003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "расходы (всего)";
НазваниеПоказателяПравойЧасти = "расходы (всего)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 2 таблицы 2 должно быть " + Знак + " значению показателя по графе 4 строки 1 таблицы 2.";
ЛеваяЧасть = Раздел1Таблица2.П000020002004;
ПраваяЧасть = Раздел1Таблица2.П000020001004;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "расходы (в т.ч. за счет средств, финансируемых из федерального бюджета)";
НазваниеПоказателяПравойЧасти = "расходы (в т.ч. за счет средств, финансируемых из федерального бюджета)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 2 таблицы 2 должно быть " + Знак + " значению показателя по графе 5 строки 1 таблицы 2.";
ЛеваяЧасть = Раздел1Таблица2.П000020002005;
ПраваяЧасть = Раздел1Таблица2.П000020001005;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "число случаев";
НазваниеПоказателяПравойЧасти = "из них: женщин";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 3 таблицы 2 должно быть " + Знак + " 0, если значение показателя ""из них: женщин"" в титульном листе = 0.";
ЛеваяЧасть = Раздел1Таблица2.П000020003001;
ЧислЖенщин = СокрЛП(Титульный.ЧислЖенщин);
ЧислЖенщин = ?(ЗначениеЗаполнено(ЧислЖенщин), Число(ЧислЖенщин), 0);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда " + ЧислЖенщин + " = 0";
Если (ЛеваяЧасть = 0
И ЧислЖенщин = 0)
ИЛИ НЕ ЧислЖенщин = 0 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "количество дней, выплат, пособий";
НазваниеПоказателяПравойЧасти = "из них: женщин";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 3 таблицы 2 должно быть " + Знак + " 0, если значение показателя ""из них: женщин"" в титульном листе = 0.";
ЛеваяЧасть = Раздел1Таблица2.П000020003003;
ЧислЖенщин = СокрЛП(Титульный.ЧислЖенщин);
ЧислЖенщин = ?(ЗначениеЗаполнено(ЧислЖенщин), Число(ЧислЖенщин), 0);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда " + ЧислЖенщин + " = 0";
Если (ЛеваяЧасть = 0
И ЧислЖенщин = 0)
ИЛИ НЕ ЧислЖенщин = 0 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "в т.ч. за счет средств, финансируемых из федерального бюджета";
НазваниеПоказателяПравойЧасти = "в т.ч. за счет средств, финансируемых из федерального бюджета";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 3 таблицы 2 должно быть " + Знак + " значению показателя по графе 5 строки 2 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица2.П000020003005;
ПраваяЧасть = Раздел1Таблица5.П000050002005;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "<=";
НазваниеПоказателяЛевойЧасти = "число случаев";
НазваниеПоказателяПравойЧасти = "число случаев";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 4 таблицы 2 должно быть " + Знак + " значению показателя по графе 1 строки 3 таблицы 2.";
ЛеваяЧасть = Раздел1Таблица2.П000020004001;
ПраваяЧасть = Раздел1Таблица2.П000020003001;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "количество дней, выплат, пособий";
НазваниеПоказателяПравойЧасти = "количество дней, выплат, пособий";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 4 таблицы 2 должно быть " + Знак + " значению показателя по графе 3 строки 3 таблицы 2.";
ЛеваяЧасть = Раздел1Таблица2.П000020004003;
ПраваяЧасть = Раздел1Таблица2.П000020003003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "расходы (всего)";
НазваниеПоказателяПравойЧасти = "расходы (всего)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 4 таблицы 2 должно быть " + Знак + " значению показателя по графе 4 строки 3 таблицы 2.";
ЛеваяЧасть = Раздел1Таблица2.П000020004004;
ПраваяЧасть = Раздел1Таблица2.П000020003004;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "расходы (в т.ч. за счет средств, финансируемых из федерального бюджета)";
НазваниеПоказателяПравойЧасти = "расходы (в т.ч. за счет средств, финансируемых из федерального бюджета)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 4 таблицы 2 должно быть " + Знак + " значению показателя по графе 5 строки 3 таблицы 2.";
ЛеваяЧасть = Раздел1Таблица2.П000020004005;
ПраваяЧасть = Раздел1Таблица2.П000020003005;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "количество дней, выплат, пособий";
НазваниеПоказателяПравойЧасти = "из них: женщин";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 5 таблицы 2 должно быть " + Знак + " 0, если значение показателя ""из них: женщин"" в титульном листе = 0.";
ЛеваяЧасть = Раздел1Таблица2.П000020005003;
ЧислЖенщин = СокрЛП(Титульный.ЧислЖенщин);
ЧислЖенщин = ?(ЗначениеЗаполнено(ЧислЖенщин), Число(ЧислЖенщин), 0);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда " + ЧислЖенщин + " = 0";
Если (ЛеваяЧасть = 0
И ЧислЖенщин = 0)
ИЛИ НЕ ЧислЖенщин = 0 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "<=";
НазваниеПоказателяЛевойЧасти = "количество получателей";
НазваниеПоказателяПравойЧасти = "количество получателей";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 7 таблицы 2 должно быть " + Знак + " сумме значений показателей по строкам 8 и 9 графы 1 таблицы 2.";
ЛеваяЧасть = Раздел1Таблица2.П000020007001;
ПраваяЧасть = Раздел1Таблица2.П000020008001 + Раздел1Таблица2.П000020009001;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "количество получателей";
НазваниеПоказателяПравойЧасти = "количество получателей";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 7 таблицы 2 должно быть " + Знак + " значению показателя по графе 1 строки 8 таблицы 2.";
ЛеваяЧасть = Раздел1Таблица2.П000020007001;
ПраваяЧасть = Раздел1Таблица2.П000020008001;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть >= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "количество получателей";
НазваниеПоказателяПравойЧасти = "количество получателей";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 7 таблицы 2 должно быть " + Знак + " значению показателя по графе 1 строки 9 таблицы 2.";
ЛеваяЧасть = Раздел1Таблица2.П000020007001;
ПраваяЧасть = Раздел1Таблица2.П000020009001;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть >= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "количество дней, выплат, пособий";
НазваниеПоказателяПравойЧасти = "количество дней, выплат, пособий";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 7 таблицы 2 должно быть " + Знак + " сумме значений показателей по строкам 8 и 9 графы 3 таблицы 2.";
ЛеваяЧасть = Раздел1Таблица2.П000020007003;
ПраваяЧасть = Раздел1Таблица2.П000020008003 + Раздел1Таблица2.П000020009003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "расходы (всего)";
НазваниеПоказателяПравойЧасти = "расходы (всего)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 7 таблицы 2 должно быть " + Знак + " сумме значений показателей по строкам 8 и 9 графы 4 таблицы 2.";
ЛеваяЧасть = Раздел1Таблица2.П000020007004;
ПраваяЧасть = Раздел1Таблица2.П000020008004 + Раздел1Таблица2.П000020009004;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "расходы (в т.ч. за счет средств, финансируемых из федерального бюджета)";
НазваниеПоказателяПравойЧасти = "расходы (в т.ч. за счет средств, финансируемых из федерального бюджета)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 7 таблицы 2 должно быть " + Знак + " сумме значений показателей по строкам 8 и 9 графы 5 таблицы 2.";
ЛеваяЧасть = Раздел1Таблица2.П000020007005;
ПраваяЧасть = Раздел1Таблица2.П000020008005 + Раздел1Таблица2.П000020009005;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "расходы (в т.ч. за счет средств, финансируемых из федерального бюджета)";
НазваниеПоказателяПравойЧасти = "всего (расходы (сумма))";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 7 таблицы 2 должно быть " + Знак + " значению показателя по графе 5 строки 3 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица2.П000020007005;
ПраваяЧасть = Раздел1Таблица5.П000050003005;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "расходы (в т.ч. за счет средств, финансируемых из федерального бюджета)";
НазваниеПоказателяПравойЧасти = "всего (расходы (сумма))";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 8 таблицы 2 должно быть " + Знак + " значению показателя по графе 5 строки 4 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица2.П000020008005;
ПраваяЧасть = Раздел1Таблица5.П000050004005;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "расходы (в т.ч. за счет средств, финансируемых из федерального бюджета)";
НазваниеПоказателяПравойЧасти = "всего (расходы (сумма))";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 9 таблицы 2 должно быть " + Знак + " значению показателя по графе 5 строки 5 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица2.П000020009005;
ПраваяЧасть = Раздел1Таблица5.П000050005005;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "расходы (в т.ч. за счет средств, финансируемых из федерального бюджета)";
НазваниеПоказателяПравойЧасти = "всего (расходы (сумма))";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 11 таблицы 2 должно быть " + Знак + " значению показателя по графе 5 строки 6 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица2.П000020011005;
ПраваяЧасть = Раздел1Таблица5.П000050006005;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "расходы (всего)";
НазваниеПоказателяПравойЧасти = "расходы (всего)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 12 таблицы 2 должно быть " + Знак + " сумме значений показателей по строкам 1, 3, 5, 6, 7, 10, 11 графы 4 таблицы 2.";
ЛеваяЧасть = Раздел1Таблица2.П000020012004;
ПраваяЧасть = Раздел1Таблица2.П000020001004 + Раздел1Таблица2.П000020003004 + Раздел1Таблица2.П000020005004 + Раздел1Таблица2.П000020006004 + Раздел1Таблица2.П000020007004 + Раздел1Таблица2.П000020010004 + Раздел1Таблица2.П000020011004;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "расходы (в т.ч. за счет средств, финансируемых из федерального бюджета)";
НазваниеПоказателяПравойЧасти = "расходы (в т.ч. за счет средств, финансируемых из федерального бюджета)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 12 таблицы 2 должно быть " + Знак + " сумме значений показателей по строкам 1, 3, 7, 10, 11 графы 5 таблицы 2.";
ЛеваяЧасть = Раздел1Таблица2.П000020012005;
ПраваяЧасть = Раздел1Таблица2.П000020001005 + Раздел1Таблица2.П000020003005 + Раздел1Таблица2.П000020007005 + Раздел1Таблица2.П000020010005 + Раздел1Таблица2.П000020011005;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Если ОбщееЧислоОшибок + ОбщееЧислоБезОшибок > 0 Тогда
СтруктураРезультата.Вставить("КоличествоНайденныхОшибок", ОбщееЧислоОшибок);
СтруктураРезультата.Вставить("КоличествоНайденныхБезОшибок", ОбщееЧислоБезОшибок);
СтруктураРезультата.Вставить("СтруктураОшибок", СтруктураОшибок);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПроверкаТаблицы3Раздела1(СтруктураРезультата)
ОбщееЧислоОшибок = СтруктураРезультата.КоличествоНайденныхОшибок;
ОбщееЧислоБезОшибок = СтруктураРезультата.КоличествоНайденныхБезОшибок;
СтруктураОшибок = СтруктураРезультата.СтруктураОшибок;
Титульный = мДанныеОтчета.ПолеТабличногоДокументаТитульный;
Раздел1Таблица3 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_3;
ТекстФормулы = "Проверка таблицы 3 раздела 1";
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 1 таблицы 3 должно быть " + Знак + " 0.";
ЛеваяЧасть = Раздел1Таблица3.П000030001003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0";
Если ЛеваяЧасть >= 0 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "в том числе за последние три месяца отчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 1 таблицы 3 должно быть " + Знак + " сумме значений показателей по графам 4, 5, 6 строки 1 таблицы 3.";
ЛеваяЧасть = Раздел1Таблица3.П000030001003;
ПраваяЧасть = Раздел1Таблица3.П000030001004 + Раздел1Таблица3.П000030001005 + Раздел1Таблица3.П000030001006;
ОтчетныйПериод = СокрЛП(Титульный.Период);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + ", когда """ + ОтчетныйПериод + """ = ""03""";
Если ЛеваяЧасть = ПраваяЧасть
И ОтчетныйПериод = "03"
ИЛИ НЕ ОтчетныйПериод = "03" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 2 таблицы 3 должно быть " + Знак + " 0.";
ЛеваяЧасть = Раздел1Таблица3.П000030002003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0";
Если ЛеваяЧасть >= 0 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "в том числе за последние три месяца отчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 2 таблицы 3 должно быть " + Знак + " сумме значений показателей по графам 4, 5, 6 строки 2 таблицы 3.";
ЛеваяЧасть = Раздел1Таблица3.П000030002003;
ПраваяЧасть = Раздел1Таблица3.П000030002004 + Раздел1Таблица3.П000030002005 + Раздел1Таблица3.П000030002006;
ОтчетныйПериод = СокрЛП(Титульный.Период);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + ", когда """ + ОтчетныйПериод + """ = ""03""";
Если ЛеваяЧасть = ПраваяЧасть
И ОтчетныйПериод = "03"
ИЛИ НЕ ОтчетныйПериод = "03" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 3 таблицы 3 должно быть " + Знак + " 0.";
ЛеваяЧасть = Раздел1Таблица3.П000030003003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0";
Если ЛеваяЧасть >= 0 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "в том числе за последние три месяца отчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 3 таблицы 3 должно быть " + Знак + " сумме значений показателей по графам 4, 5, 6 строки 3 таблицы 3.";
ЛеваяЧасть = Раздел1Таблица3.П000030003003;
ПраваяЧасть = Раздел1Таблица3.П000030003004 + Раздел1Таблица3.П000030003005 + Раздел1Таблица3.П000030003006;
ОтчетныйПериод = СокрЛП(Титульный.Период);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + ", когда """ + ОтчетныйПериод + """ = ""03""";
Если ЛеваяЧасть = ПраваяЧасть
И ОтчетныйПериод = "03"
ИЛИ НЕ ОтчетныйПериод = "03" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 4 таблицы 3 должно быть " + Знак + " 0.";
ЛеваяЧасть = Раздел1Таблица3.П000030004003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0";
Если ЛеваяЧасть >= 0 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "в том числе за последние три месяца отчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 4 таблицы 3 должно быть " + Знак + " сумме значений показателей по графам 4, 5, 6 строки 4 таблицы 3.";
ЛеваяЧасть = Раздел1Таблица3.П000030004003;
ПраваяЧасть = Раздел1Таблица3.П000030004004 + Раздел1Таблица3.П000030004005 + Раздел1Таблица3.П000030004006;
ОтчетныйПериод = СокрЛП(Титульный.Период);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + ", когда """ + ОтчетныйПериод + """ = ""03""";
Если ЛеваяЧасть = ПраваяЧасть
И ОтчетныйПериод = "03"
ИЛИ НЕ ОтчетныйПериод = "03" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "всего с начала расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 4 таблицы 3 должно быть " + Знак + " разнице значений показателей по строкам 1, 2, 3 графы 3 таблицы 3.";
ЛеваяЧасть = Раздел1Таблица3.П000030004003;
ПраваяЧасть = Раздел1Таблица3.П000030001003 - Раздел1Таблица3.П000030002003 - Раздел1Таблица3.П000030003003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "всего с начала расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 4 таблицы 3 должно быть " + Знак + " разнице значений показателей по строкам 1, 2, 3 графы 4 таблицы 3.";
ЛеваяЧасть = Раздел1Таблица3.П000030004004;
ПраваяЧасть = Раздел1Таблица3.П000030001004 - Раздел1Таблица3.П000030002004 - Раздел1Таблица3.П000030003004;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "всего с начала расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 4 таблицы 3 должно быть " + Знак + " разнице значений показателей по строкам 1, 2, 3 графы 5 таблицы 3.";
ЛеваяЧасть = Раздел1Таблица3.П000030004005;
ПраваяЧасть = Раздел1Таблица3.П000030001005 - Раздел1Таблица3.П000030002005 - Раздел1Таблица3.П000030003005;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "всего с начала расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 6 строки 4 таблицы 3 должно быть " + Знак + " разнице значений показателей по строкам 1, 2, 3 графы 6 таблицы 3.";
ЛеваяЧасть = Раздел1Таблица3.П000030004006;
ПраваяЧасть = Раздел1Таблица3.П000030001006 - Раздел1Таблица3.П000030002006 - Раздел1Таблица3.П000030003006;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 5 таблицы 3 должно быть " + Знак + " 0.";
ЛеваяЧасть = Раздел1Таблица3.П000030005003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0";
Если ЛеваяЧасть >= 0 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "в том числе за последние три месяца отчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 5 таблицы 3 должно быть " + Знак + " сумме значений показателей по графам 4, 5, 6 строки 5 таблицы 3.";
ЛеваяЧасть = Раздел1Таблица3.П000030005003;
ПраваяЧасть = Раздел1Таблица3.П000030005004 + Раздел1Таблица3.П000030005005 + Раздел1Таблица3.П000030005006;
ОтчетныйПериод = СокрЛП(Титульный.Период);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + ", когда """ + ОтчетныйПериод + """ = ""03""";
Если ЛеваяЧасть = ПраваяЧасть
И ОтчетныйПериод = "03"
ИЛИ НЕ ОтчетныйПериод = "03" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "<=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "всего с начала расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 5 таблицы 3 должно быть " + Знак + " значения показателя по графе 3 строки 4 таблицы 3.";
ЛеваяЧасть = Раздел1Таблица3.П000030005003;
ПраваяЧасть = Раздел1Таблица3.П000030004003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "из них: работающих инвалидов";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 5 таблицы 3 должно быть " + Знак + " 0, если значение показателя ""из них: работающих инвалидов"" в титульном листе = 0.";
ЛеваяЧасть = Раздел1Таблица3.П000030005003;
ИзНихРаботающихИнвалидов = СокрЛП(Титульный.ЧислИнвалидов);
ИзНихРаботающихИнвалидов = ?(ЗначениеЗаполнено(ИзНихРаботающихИнвалидов), ИзНихРаботающихИнвалидов, 0);
ПраваяЧасть = ИзНихРаботающихИнвалидов;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда " + Строка(ИзНихРаботающихИнвалидов) + " = 0";
Если ЛеваяЧасть = 0
И ИзНихРаботающихИнвалидов = 0
ИЛИ НЕ ИзНихРаботающихИнвалидов = 0 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
Знак = "=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 5 таблицы 3 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 051, 071, 091, 101, 131, 141.";
ЛеваяЧасть = Раздел1Таблица3.П000030005003;
ПерваяЧастьШифраСтрах = СокрЛП(Титульный.ШифрСтрах1Часть);
ПраваяЧасть = ПерваяЧастьШифраСтрах;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + Строка(ПерваяЧастьШифраСтрах) + """ <> ""051"", ""071"", ""091"", ""101"", ""131"", ""141""";
Если (ЛеваяЧасть = 0
И ПерваяЧастьШифраСтрах <> "051"
И ПерваяЧастьШифраСтрах <> "071"
И ПерваяЧастьШифраСтрах <> "091"
И ПерваяЧастьШифраСтрах <> "101"
И ПерваяЧастьШифраСтрах <> "131"
И ПерваяЧастьШифраСтрах <> "141")
ИЛИ ПерваяЧастьШифраСтрах = "051"
ИЛИ ПерваяЧастьШифраСтрах = "071"
ИЛИ ПерваяЧастьШифраСтрах = "091"
ИЛИ ПерваяЧастьШифраСтрах = "101"
ИЛИ ПерваяЧастьШифраСтрах = "131"
ИЛИ ПерваяЧастьШифраСтрах = "141" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
КонецЕсли;
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 6 таблицы 3 должно быть " + Знак + " 0.";
ЛеваяЧасть = Раздел1Таблица3.П000030006003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0";
Если ЛеваяЧасть >= 0 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 6 таблицы 3 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 141.";
ЛеваяЧасть = Раздел1Таблица3.П000030006003;
ПерваяЧастьШифраСтрах = СокрЛП(Титульный.ШифрСтрах1Часть);
ПраваяЧасть = ПерваяЧастьШифраСтрах;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + Строка(ПерваяЧастьШифраСтрах) + """ <> ""141""";
Если (ЛеваяЧасть = 0
И ПерваяЧастьШифраСтрах <> "141")
ИЛИ ПерваяЧастьШифраСтрах = "141" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "в том числе за последние три месяца отчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 6 таблицы 3 должно быть " + Знак + " сумме значений показателей по графам 4, 5, 6 строки 6 таблицы 3.";
ЛеваяЧасть = Раздел1Таблица3.П000030006003;
ПраваяЧасть = Раздел1Таблица3.П000030006004 + Раздел1Таблица3.П000030006005 + Раздел1Таблица3.П000030006006;
ОтчетныйПериод = СокрЛП(Титульный.Период);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + ", когда """ + ОтчетныйПериод + """ = ""03""";
Если ЛеваяЧасть = ПраваяЧасть
И ОтчетныйПериод = "03"
ИЛИ НЕ ОтчетныйПериод = "03" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "<=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "всего с начала расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 6 таблицы 3 должно быть " + Знак + " значения показателя по графе 3 строки 4 таблицы 3.";
ЛеваяЧасть = Раздел1Таблица3.П000030006003;
ПраваяЧасть = Раздел1Таблица3.П000030004003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 7 таблицы 3 должно быть " + Знак + " 0.";
ЛеваяЧасть = Раздел1Таблица3.П000030007003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0";
Если ЛеваяЧасть >= 0 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 7 таблицы 3 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 131.";
ЛеваяЧасть = Раздел1Таблица3.П000030007003;
ПерваяЧастьШифраСтрах = СокрЛП(Титульный.ШифрСтрах1Часть);
ПраваяЧасть = ПерваяЧастьШифраСтрах;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + Строка(ПерваяЧастьШифраСтрах) + """ <> 131";
Если (ЛеваяЧасть = 0
И ПерваяЧастьШифраСтрах <> "131")
ИЛИ ПерваяЧастьШифраСтрах = "131" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "в том числе за последние три месяца отчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 7 таблицы 3 должно быть " + Знак + " сумме значений показателей по графам 4, 5, 6 строки 7 таблицы 3.";
ЛеваяЧасть = Раздел1Таблица3.П000030007003;
ПраваяЧасть = Раздел1Таблица3.П000030007004 + Раздел1Таблица3.П000030007005 + Раздел1Таблица3.П000030007006;
ОтчетныйПериод = СокрЛП(Титульный.Период);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + ", когда """ + ОтчетныйПериод + """ = ""03""";
Если ЛеваяЧасть = ПраваяЧасть
И ОтчетныйПериод = "03"
ИЛИ НЕ ОтчетныйПериод = "03" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "<=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "всего с начала расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 7 таблицы 3 должно быть " + Знак + " значения показателя по графе 3 строки 4 таблицы 3.";
ЛеваяЧасть = Раздел1Таблица3.П000030007003;
ПраваяЧасть = Раздел1Таблица3.П000030004003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Если ОбщееЧислоОшибок + ОбщееЧислоБезОшибок > 0 Тогда
СтруктураРезультата.Вставить("КоличествоНайденныхОшибок", ОбщееЧислоОшибок);
СтруктураРезультата.Вставить("КоличествоНайденныхБезОшибок", ОбщееЧислоБезОшибок);
СтруктураРезультата.Вставить("СтруктураОшибок", СтруктураОшибок);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПроверкаТаблицы31Раздела1(СтруктураРезультата)
ОбщееЧислоОшибок = СтруктураРезультата.КоличествоНайденныхОшибок;
ОбщееЧислоБезОшибок = СтруктураРезультата.КоличествоНайденныхБезОшибок;
СтруктураОшибок = СтруктураРезультата.СтруктураОшибок;
Раздел1Таблица3 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_3;
Раздел1Таблица31 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_31;
ТекстФормулы = "Проверка таблицы 3.1 раздела 1";
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "дата окончания действия";
НазваниеПоказателяПравойЧасти = "дата выдачи";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 таблицы 3.1 должно быть " + Знак + " значению показателя по графе 3 таблицы 3.1.";
НомСтр = 1;
Данные = СтруктураРеквизитовФормы.мСохраненныйДок.ДанныеОтчета.Получить();
ДанныеДопСтрок = Данные.ДанныеМногострочныхРазделов.П0003100010;
Для Каждого ДопСтрока Из ДанныеДопСтрок Цикл
Если НЕ ЗначениеЗаполнено(ДопСтрока.П000310001003)
И НЕ ЗначениеЗаполнено(ДопСтрока.П000310001004) Тогда
Продолжить;
КонецЕсли;
ЛеваяЧасть = ДопСтрока.П000310001004;
ПраваяЧасть = ДопСтрока.П000310001003;
Расшифровка = """" + Формат(ЛеваяЧасть, "ДЛФ=Д") + """ " + Знак + " """ + Формат(ПраваяЧасть, "ДЛФ=Д") + """";
Если ЛеваяЧасть >= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НомСтр = НомСтр + 1;
КонецЦикла;
Знак = "=";
НазваниеПоказателяЛевойЧасти = "итого выплат";
НазваниеПоказателяПравойЧасти = "всего с начала расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 таблицы 3.1 должно быть " + Знак + " значению показателя по графе 3 строки 5 таблицы 3.";
ЛеваяЧасть = Раздел1Таблица31.П000310002005;
ПраваяЧасть = Раздел1Таблица3.П000030005003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "итого выплат";
НазваниеПоказателяПравойЧасти = "1 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 6 таблицы 3.1 должно быть " + Знак + " значению показателя по графе 4 строки 5 таблицы 3.";
ЛеваяЧасть = Раздел1Таблица31.П000310002006;
ПраваяЧасть = Раздел1Таблица3.П000030005004;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "итого выплат";
НазваниеПоказателяПравойЧасти = "2 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 7 таблицы 3.1 должно быть " + Знак + " значению показателя по графе 5 строки 5 таблицы 3.";
ЛеваяЧасть = Раздел1Таблица31.П000310002007;
ПраваяЧасть = Раздел1Таблица3.П000030005005;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "итого выплат";
НазваниеПоказателяПравойЧасти = "3 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 8 таблицы 3.1 должно быть " + Знак + " значению показателя по графе 6 строки 5 таблицы 3.";
ЛеваяЧасть = Раздел1Таблица31.П000310002008;
ПраваяЧасть = Раздел1Таблица3.П000030005006;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Если ОбщееЧислоОшибок + ОбщееЧислоБезОшибок > 0 Тогда
СтруктураРезультата.Вставить("КоличествоНайденныхОшибок", ОбщееЧислоОшибок);
СтруктураРезультата.Вставить("КоличествоНайденныхБезОшибок", ОбщееЧислоБезОшибок);
СтруктураРезультата.Вставить("СтруктураОшибок", СтруктураОшибок);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПроверкаТаблицы4Раздела1(СтруктураРезультата)
ОбщееЧислоОшибок = СтруктураРезультата.КоличествоНайденныхОшибок;
ОбщееЧислоБезОшибок = СтруктураРезультата.КоличествоНайденныхБезОшибок;
СтруктураОшибок = СтруктураРезультата.СтруктураОшибок;
Титульный = мДанныеОтчета.ПолеТабличногоДокументаТитульный;
Раздел1Таблица4 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_4;
Раздел1Таблица1 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_1;
ТекстФормулы = "Проверка таблицы 4 раздела 1";
Знак = "=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 1 таблицы 4 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 061.";
ЛеваяЧасть = Раздел1Таблица4.П000040000103;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""061""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "061")
ИЛИ ШифрСтрахователяЧасть1 = "061" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "1 месяц";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 1 таблицы 4 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 061.";
ЛеваяЧасть = Раздел1Таблица4.П000040000104;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""061""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "061")
ИЛИ ШифрСтрахователяЧасть1 = "061" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "2 месяц";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 1 таблицы 4 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 061.";
ЛеваяЧасть = Раздел1Таблица4.П000040000105;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""061""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "061")
ИЛИ ШифрСтрахователяЧасть1 = "061" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "3 месяц";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 6 строки 1 таблицы 4 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 061.";
ЛеваяЧасть = Раздел1Таблица4.П000040000106;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""061""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "061")
ИЛИ ШифрСтрахователяЧасть1 = "061" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 2 таблицы 4 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 061.";
ЛеваяЧасть = Раздел1Таблица4.П000040000203;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""061""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "061")
ИЛИ ШифрСтрахователяЧасть1 = "061" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "1 месяц";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 2 таблицы 4 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 061.";
ЛеваяЧасть = Раздел1Таблица4.П000040000204;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""061""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "061")
ИЛИ ШифрСтрахователяЧасть1 = "061" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "2 месяц";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 2 таблицы 4 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 061.";
ЛеваяЧасть = Раздел1Таблица4.П000040000205;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""061""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "061")
ИЛИ ШифрСтрахователяЧасть1 = "061" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "3 месяц";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 6 строки 2 таблицы 4 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 061.";
ЛеваяЧасть = Раздел1Таблица4.П000040000206;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""061""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "061")
ИЛИ ШифрСтрахователяЧасть1 = "061" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 1 таблицы 4 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела <> ""91.3"" и <> ""91.33"".";
ЛеваяЧасть = Раздел1Таблица4.П000040000103;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ <> ""91.3"" и <> ""91.33""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 = "061"
И КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33")
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "1 месяц";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 1 таблицы 4 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела <> ""91.3"" и <> ""91.33"".";
ЛеваяЧасть = Раздел1Таблица4.П000040000104;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ <> ""91.3"" и <> ""91.33""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 = "061"
И КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33")
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "2 месяц";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 1 таблицы 4 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела <> ""91.3"" и <> ""91.33"".";
ЛеваяЧасть = Раздел1Таблица4.П000040000105;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ <> ""91.3"" и <> ""91.33""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 = "061"
И КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33")
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "3 месяц";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 6 строки 1 таблицы 4 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела <> ""91.3"" и <> ""91.33"".";
ЛеваяЧасть = Раздел1Таблица4.П000040000106;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ <> ""91.3"" и <> ""91.33""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 = "061"
И КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33")
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 2 таблицы 4 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела <> ""91.3"" и <> ""91.33"".";
ЛеваяЧасть = Раздел1Таблица4.П000040000203;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ <> ""91.3"" и <> ""91.33""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 = "061"
И КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33")
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "1 месяц";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 2 таблицы 4 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела <> ""91.3"" и <> ""91.33"".";
ЛеваяЧасть = Раздел1Таблица4.П000040000204;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ <> ""91.3"" и <> ""91.33""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 = "061"
И КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33")
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "2 месяц";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 2 таблицы 4 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела <> ""91.3"" и <> ""91.33"".";
ЛеваяЧасть = Раздел1Таблица4.П000040000205;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ <> ""91.3"" и <> ""91.33""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 = "061"
И КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33")
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "3 месяц";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 6 строки 2 таблицы 4 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела <> ""91.3"" и <> ""91.33"".";
ЛеваяЧасть = Раздел1Таблица4.П000040000206;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ <> ""91.3"" и <> ""91.33""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 = "061"
И КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33")
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 1 таблицы 4 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела = ""91.3"" или = ""91.33"".";
ЛеваяЧасть = Раздел1Таблица4.П000040000103;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ = ""91.3"" или = ""91.33""";
Если (ЛеваяЧасть > 0
И ШифрСтрахователяЧасть1 = "061"
И (КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33"))
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ (КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 2 таблицы 4 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела = ""91.3"" или = ""91.33"".";
ЛеваяЧасть = Раздел1Таблица4.П000040000203;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ = ""91.3"" или = ""91.33""";
Если (ЛеваяЧасть > 0
И ШифрСтрахователяЧасть1 = "061"
И (КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33"))
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ (КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 3 таблицы 4 должно быть " + Знак + " 80, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела = ""91.3"" или = ""91.33"".";
ЛеваяЧасть = Раздел1Таблица4.П000040000303;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 80, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ = ""91.3"" или = ""91.33""";
Если (ЛеваяЧасть >= 80
И ШифрСтрахователяЧасть1 = "061"
И (КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33"))
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ (КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "<=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "всего с начала расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 2 таблицы 4 должно быть " + Знак + " значения показателя по графе 3 строки 1 таблицы 4.";
ЛеваяЧасть = Раздел1Таблица4.П000040000203;
ПраваяЧасть = Раздел1Таблица4.П000040000103;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "1 месяц";
НазваниеПоказателяПравойЧасти = "1 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 2 таблицы 4 должно быть " + Знак + " значения показателя по графе 4 строки 1 таблицы 4.";
ЛеваяЧасть = Раздел1Таблица4.П000040000204;
ПраваяЧасть = Раздел1Таблица4.П000040000104;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "2 месяц";
НазваниеПоказателяПравойЧасти = "2 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 2 таблицы 4 должно быть " + Знак + " значения показателя по графе 5 строки 1 таблицы 4.";
ЛеваяЧасть = Раздел1Таблица4.П000040000205;
ПраваяЧасть = Раздел1Таблица4.П000040000105;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "3 месяц";
НазваниеПоказателяПравойЧасти = "3 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 6 строки 2 таблицы 4 должно быть " + Знак + " значения показателя по графе 6 строки 1 таблицы 4.";
ЛеваяЧасть = Раздел1Таблица4.П000040000206;
ПраваяЧасть = Раздел1Таблица4.П000040000106;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "всего с начала расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 3 таблицы 4 должно быть " + Знак + " значение показателя по графе 3 строки 2 таблицы 4 / значение показателя по графе 3 строки 1 таблицы 4 * 100.";
ЛеваяЧасть = Раздел1Таблица4.П000040000303;
ПраваяЧасть = ?(ЗначениеЗаполнено(Раздел1Таблица4.П000040000103), Окр(Раздел1Таблица4.П000040000203 / Раздел1Таблица4.П000040000103 * 100, 5), 0);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "1 месяц";
НазваниеПоказателяПравойЧасти = "1 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 3 таблицы 4 должно быть " + Знак + " значение показателя по графе 4 строки 2 таблицы 4 / значение показателя по графе 4 строки 1 таблицы 4 * 100.";
ЛеваяЧасть = Раздел1Таблица4.П000040000304;
ПраваяЧасть = ?(ЗначениеЗаполнено(Раздел1Таблица4.П000040000104), Окр(Раздел1Таблица4.П000040000204 / Раздел1Таблица4.П000040000104 * 100, 5), 0);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "2 месяц";
НазваниеПоказателяПравойЧасти = "2 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 3 таблицы 4 должно быть " + Знак + " значение показателя по графе 5 строки 2 таблицы 4 / значение показателя по графе 5 строки 1 таблицы 4 * 100.";
ЛеваяЧасть = Раздел1Таблица4.П000040000305;
ПраваяЧасть = ?(ЗначениеЗаполнено(Раздел1Таблица4.П000040000105), Окр(Раздел1Таблица4.П000040000205 / Раздел1Таблица4.П000040000105 * 100, 5), 0);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "3 месяц";
НазваниеПоказателяПравойЧасти = "3 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 6 строки 3 таблицы 4 должно быть " + Знак + " значение показателя по графе 6 строки 2 таблицы 4 / значение показателя по графе 6 строки 1 таблицы 4 * 100.";
ЛеваяЧасть = Раздел1Таблица4.П000040000306;
ПраваяЧасть = ?(ЗначениеЗаполнено(Раздел1Таблица4.П000040000106), Окр(Раздел1Таблица4.П000040000206 / Раздел1Таблица4.П000040000106 * 100, 5), 0);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Если ОбщееЧислоОшибок + ОбщееЧислоБезОшибок > 0 Тогда
СтруктураРезультата.Вставить("КоличествоНайденныхОшибок", ОбщееЧислоОшибок);
СтруктураРезультата.Вставить("КоличествоНайденныхБезОшибок", ОбщееЧислоБезОшибок);
СтруктураРезультата.Вставить("СтруктураОшибок", СтруктураОшибок);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПроверкаТаблицы41Раздела1(СтруктураРезультата)
ОбщееЧислоОшибок = СтруктураРезультата.КоличествоНайденныхОшибок;
ОбщееЧислоБезОшибок = СтруктураРезультата.КоличествоНайденныхБезОшибок;
СтруктураОшибок = СтруктураРезультата.СтруктураОшибок;
Титульный = мДанныеОтчета.ПолеТабличногоДокументаТитульный;
Раздел1Таблица1 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_1;
Раздел1Таблица3 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_3;
Раздел1Таблица41 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_41;
ТекстФормулы = "Проверка таблицы 4.1 раздела 1";
Знак = "=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 1 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 061.";
ЛеваяЧасть = Раздел1Таблица41.П000410000103;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""061""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "061")
ИЛИ ШифрСтрахователяЧасть1 = "061" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 1 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 061.";
ЛеваяЧасть = Раздел1Таблица41.П000410000104;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""061""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "061")
ИЛИ ШифрСтрахователяЧасть1 = "061" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 1 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 061.";
ЛеваяЧасть = Раздел1Таблица41.П000410000105;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""061""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "061")
ИЛИ ШифрСтрахователяЧасть1 = "061" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 6 строки 1 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 061.";
ЛеваяЧасть = Раздел1Таблица41.П000410000106;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""061""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "061")
ИЛИ ШифрСтрахователяЧасть1 = "061" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 2 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 061.";
ЛеваяЧасть = Раздел1Таблица41.П000410000203;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""061""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "061")
ИЛИ ШифрСтрахователяЧасть1 = "061" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 2 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 061.";
ЛеваяЧасть = Раздел1Таблица41.П000410000204;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""061""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "061")
ИЛИ ШифрСтрахователяЧасть1 = "061" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 2 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 061.";
ЛеваяЧасть = Раздел1Таблица41.П000410000205;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""061""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "061")
ИЛИ ШифрСтрахователяЧасть1 = "061" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 6 строки 2 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 061.";
ЛеваяЧасть = Раздел1Таблица41.П000410000206;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""061""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "061")
ИЛИ ШифрСтрахователяЧасть1 = "061" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 4 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 061.";
ЛеваяЧасть = Раздел1Таблица41.П000410000403;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""061""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "061")
ИЛИ ШифрСтрахователяЧасть1 = "061" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 4 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 061.";
ЛеваяЧасть = Раздел1Таблица41.П000410000404;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""061""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "061")
ИЛИ ШифрСтрахователяЧасть1 = "061" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 4 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 061.";
ЛеваяЧасть = Раздел1Таблица41.П000410000405;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""061""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "061")
ИЛИ ШифрСтрахователяЧасть1 = "061" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 6 строки 4 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 061.";
ЛеваяЧасть = Раздел1Таблица41.П000410000406;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""061""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "061")
ИЛИ ШифрСтрахователяЧасть1 = "061" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 5 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 061.";
ЛеваяЧасть = Раздел1Таблица41.П000410000503;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""061""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "061")
ИЛИ ШифрСтрахователяЧасть1 = "061" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 5 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 061.";
ЛеваяЧасть = Раздел1Таблица41.П000410000504;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""061""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "061")
ИЛИ ШифрСтрахователяЧасть1 = "061" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 5 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 061.";
ЛеваяЧасть = Раздел1Таблица41.П000410000505;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""061""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "061")
ИЛИ ШифрСтрахователяЧасть1 = "061" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 6 строки 5 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 061.";
ЛеваяЧасть = Раздел1Таблица41.П000410000506;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""061""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "061")
ИЛИ ШифрСтрахователяЧасть1 = "061" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 1 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела = ""91.3"" или = ""91.33"".";
ЛеваяЧасть = Раздел1Таблица41.П000410000103;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ = ""91.3"" или = ""91.33""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 = "061"
И (КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33"))
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ (КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "1 месяц";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 1 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела = ""91.3"" или = ""91.33"".";
ЛеваяЧасть = Раздел1Таблица41.П000410000104;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ = ""91.3"" или = ""91.33""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 = "061"
И (КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33"))
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ (КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "2 месяц";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 1 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела = ""91.3"" или = ""91.33"".";
ЛеваяЧасть = Раздел1Таблица41.П000410000105;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ = ""91.3"" или = ""91.33""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 = "061"
И (КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33"))
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ (КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "3 месяц";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 6 строки 1 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела = ""91.3"" или = ""91.33"".";
ЛеваяЧасть = Раздел1Таблица41.П000410000106;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ = ""91.3"" или = ""91.33""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 = "061"
И (КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33"))
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ (КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 2 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела = ""91.3"" или = ""91.33"".";
ЛеваяЧасть = Раздел1Таблица41.П000410000203;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ = ""91.3"" или = ""91.33""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 = "061"
И (КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33"))
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ (КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "1 месяц";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 2 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела = ""91.3"" или = ""91.33"".";
ЛеваяЧасть = Раздел1Таблица41.П000410000204;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ = ""91.3"" или = ""91.33""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 = "061"
И (КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33"))
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ (КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "2 месяц";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 2 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела = ""91.3"" или = ""91.33"".";
ЛеваяЧасть = Раздел1Таблица41.П000410000205;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ = ""91.3"" или = ""91.33""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 = "061"
И (КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33"))
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ (КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "3 месяц";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 6 строки 2 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела = ""91.3"" или = ""91.33"".";
ЛеваяЧасть = Раздел1Таблица41.П000410000206;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ = ""91.3"" или = ""91.33""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 = "061"
И (КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33"))
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ (КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 4 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела = ""91.3"" или = ""91.33"".";
ЛеваяЧасть = Раздел1Таблица41.П000410000403;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ = ""91.3"" или = ""91.33""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 = "061"
И (КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33"))
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ (КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "1 месяц";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 4 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела = ""91.3"" или = ""91.33"".";
ЛеваяЧасть = Раздел1Таблица41.П000410000404;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ = ""91.3"" или = ""91.33""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 = "061"
И (КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33"))
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ (КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "2 месяц";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 4 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела = ""91.3"" или = ""91.33"".";
ЛеваяЧасть = Раздел1Таблица41.П000410000405;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ = ""91.3"" или = ""91.33""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 = "061"
И (КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33"))
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ (КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "3 месяц";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 6 строки 4 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела = ""91.3"" или = ""91.33"".";
ЛеваяЧасть = Раздел1Таблица41.П000410000406;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ = ""91.3"" или = ""91.33""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 = "061"
И (КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33"))
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ (КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 5 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела = ""91.3"" или = ""91.33"".";
ЛеваяЧасть = Раздел1Таблица41.П000410000503;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ = ""91.3"" или = ""91.33""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 = "061"
И (КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33"))
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ (КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "1 месяц";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 5 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела = ""91.3"" или = ""91.33"".";
ЛеваяЧасть = Раздел1Таблица41.П000410000504;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ = ""91.3"" или = ""91.33""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 = "061"
И (КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33"))
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ (КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "2 месяц";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 5 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела = ""91.3"" или = ""91.33"".";
ЛеваяЧасть = Раздел1Таблица41.П000410000505;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ = ""91.3"" или = ""91.33""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 = "061"
И (КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33"))
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ (КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "3 месяц";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 6 строки 5 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела = ""91.3"" или = ""91.33"".";
ЛеваяЧасть = Раздел1Таблица41.П000410000506;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ = ""91.3"" или = ""91.33""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 = "061"
И (КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33"))
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ (КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 1 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела <> ""91.3"" и <> ""91.33"".";
ЛеваяЧасть = Раздел1Таблица41.П000410000103;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ <> ""91.3"" и <> ""91.33""";
Если (ЛеваяЧасть > 0
И ШифрСтрахователяЧасть1 = "061"
И (КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33"))
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ (КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 2 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела <> ""91.3"" и <> ""91.33"".";
ЛеваяЧасть = Раздел1Таблица41.П000410000203;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ <> ""91.3"" и <> ""91.33""";
Если (ЛеваяЧасть > 0
И ШифрСтрахователяЧасть1 = "061"
И (КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33"))
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ (КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 4 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела <> ""91.3"" и <> ""91.33"".";
ЛеваяЧасть = Раздел1Таблица41.П000410000403;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ <> ""91.3"" и <> ""91.33""";
Если (ЛеваяЧасть > 0
И ШифрСтрахователяЧасть1 = "061"
И (КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33"))
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ (КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 5 таблицы 4.1 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела <> ""91.3"" и <> ""91.33"".";
ЛеваяЧасть = Раздел1Таблица41.П000410000503;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ <> ""91.3"" и <> ""91.33""";
Если (ЛеваяЧасть > 0
И ШифрСтрахователяЧасть1 = "061"
И (КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33"))
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ (КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 1 таблицы 4.1 должно быть " + Знак + " значению показателя титульного листа ""численность работников"", если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела <> ""91.3"" и <> ""91.33"".";
ЛеваяЧасть = Раздел1Таблица41.П000410000103;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
ЧисленностьРаботников = СокрЛП(Титульный.ЧислРаботников);
ЧисленностьРаботников = ?(ЗначениеЗаполнено(ЧисленностьРаботников), Число(ЧисленностьРаботников), 0);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + ЧисленностьРаботников + ", когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ <> ""91.3"" и <> ""91.33""";
Если (ЛеваяЧасть = ЧисленностьРаботников
И ШифрСтрахователяЧасть1 = "061"
И (КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33"))
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ (КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "<=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "всего с начала расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 2 таблицы 4.1 должно быть " + Знак + " значения показателя по графе 3 строки 1 таблицы 4.1.";
ЛеваяЧасть = Раздел1Таблица41.П000410000203;
ПраваяЧасть = Раздел1Таблица41.П000410000103;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "1 месяц";
НазваниеПоказателяПравойЧасти = "1 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 2 таблицы 4.1 должно быть " + Знак + " значения показателя по графе 4 строки 1 таблицы 4.1.";
ЛеваяЧасть = Раздел1Таблица41.П000410000204;
ПраваяЧасть = Раздел1Таблица41.П000410000104;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "2 месяц";
НазваниеПоказателяПравойЧасти = "2 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 2 таблицы 4.1 должно быть " + Знак + " значения показателя по графе 5 строки 1 таблицы 4.1.";
ЛеваяЧасть = Раздел1Таблица41.П000410000205;
ПраваяЧасть = Раздел1Таблица41.П000410000105;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "3 месяц";
НазваниеПоказателяПравойЧасти = "3 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 6 строки 2 таблицы 4.1 должно быть " + Знак + " значения показателя по графе 6 строки 1 таблицы 4.1.";
ЛеваяЧасть = Раздел1Таблица41.П000410000206;
ПраваяЧасть = Раздел1Таблица41.П000410000106;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "всего с начала расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 3 таблицы 4.1 должно быть " + Знак + " значение показателя по графе 3 строки 2 таблицы 4.1 / значение показателя по графе 3 строки 1 таблицы 4.1 * 100.";
ЛеваяЧасть = Раздел1Таблица41.П000410000303;
ПраваяЧасть = ?(ЗначениеЗаполнено(Раздел1Таблица41.П000410000103), Окр(Раздел1Таблица41.П000410000203 / Раздел1Таблица41.П000410000103 * 100, 5), 0);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "1 месяц";
НазваниеПоказателяПравойЧасти = "1 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 3 таблицы 4.1 должно быть " + Знак + " значение показателя по графе 4 строки 2 таблицы 4.1 / значение показателя по графе 4 строки 1 таблицы 4.1 * 100.";
ЛеваяЧасть = Раздел1Таблица41.П000410000304;
ПраваяЧасть = ?(ЗначениеЗаполнено(Раздел1Таблица41.П000410000104), Окр(Раздел1Таблица41.П000410000204 / Раздел1Таблица41.П000410000104 * 100, 5), 0);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "2 месяц";
НазваниеПоказателяПравойЧасти = "2 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 3 таблицы 4.1 должно быть " + Знак + " значение показателя по графе 5 строки 2 таблицы 4.1 / значение показателя по графе 5 строки 1 таблицы 4.1 * 100.";
ЛеваяЧасть = Раздел1Таблица41.П000410000305;
ПраваяЧасть = ?(ЗначениеЗаполнено(Раздел1Таблица41.П000410000105), Окр(Раздел1Таблица41.П000410000205 / Раздел1Таблица41.П000410000105 * 100, 5), 0);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "3 месяц";
НазваниеПоказателяПравойЧасти = "3 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 6 строки 3 таблицы 4.1 должно быть " + Знак + " значение показателя по графе 6 строки 2 таблицы 4.1 / значение показателя по графе 6 строки 1 таблицы 4.1 * 100.";
ЛеваяЧасть = Раздел1Таблица41.П000410000306;
ПраваяЧасть = ?(ЗначениеЗаполнено(Раздел1Таблица41.П000410000106), Окр(Раздел1Таблица41.П000410000206 / Раздел1Таблица41.П000410000106 * 100, 5), 0);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 3 таблицы 4.1 должно быть " + Знак + " 50, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела <> ""91.3"" и <> ""91.33"".";
ЛеваяЧасть = Раздел1Таблица41.П000410000303;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 50, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ <> ""91.3"" и <> ""91.33""";
Если (ЛеваяЧасть >= 50
И ШифрСтрахователяЧасть1 = "061"
И (КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33"))
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ (КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 4 таблицы 4.1 должно быть " + Знак + " значению показателя по графе 3 строки 1 таблицы 3, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела <> ""91.3"" и <> ""91.33"".";
ЛеваяЧасть = Раздел1Таблица41.П000410000403;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
ПраваяЧасть = Раздел1Таблица3.П000030001003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + ", когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ <> ""91.3"" и <> ""91.33""";
Если (ЛеваяЧасть = ПраваяЧасть
И ШифрСтрахователяЧасть1 = "061"
И (КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33"))
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ (КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "<=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "всего с начала расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 5 таблицы 4.1 должно быть " + Знак + " значения показателя по графе 3 строки 4 таблицы 4.1.";
ЛеваяЧасть = Раздел1Таблица41.П000410000503;
ПраваяЧасть = Раздел1Таблица41.П000410000403;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "1 месяц";
НазваниеПоказателяПравойЧасти = "1 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 5 таблицы 4.1 должно быть " + Знак + " значения показателя по графе 4 строки 4 таблицы 4.1.";
ЛеваяЧасть = Раздел1Таблица41.П000410000504;
ПраваяЧасть = Раздел1Таблица41.П000410000404;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "2 месяц";
НазваниеПоказателяПравойЧасти = "2 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 5 таблицы 4.1 должно быть " + Знак + " значения показателя по графе 5 строки 4 таблицы 4.1.";
ЛеваяЧасть = Раздел1Таблица41.П000410000505;
ПраваяЧасть = Раздел1Таблица41.П000410000405;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "3 месяц";
НазваниеПоказателяПравойЧасти = "3 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 6 строки 5 таблицы 4.1 должно быть " + Знак + " значения показателя по графе 6 строки 4 таблицы 4.1.";
ЛеваяЧасть = Раздел1Таблица41.П000410000506;
ПраваяЧасть = Раздел1Таблица41.П000410000406;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "всего с начала расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 6 таблицы 4.1 должно быть " + Знак + " значение показателя по графе 3 строки 5 таблицы 4.1 / значение показателя по графе 3 строки 4 таблицы 4.1 * 100.";
ЛеваяЧасть = Раздел1Таблица41.П000410000603;
ПраваяЧасть = ?(ЗначениеЗаполнено(Раздел1Таблица41.П000410000403), Окр(Раздел1Таблица41.П000410000503 / Раздел1Таблица41.П000410000403 * 100, 5), 0);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "1 месяц";
НазваниеПоказателяПравойЧасти = "1 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 6 таблицы 4.1 должно быть " + Знак + " значение показателя по графе 4 строки 5 таблицы 4.1 / значение показателя по графе 4 строки 4 таблицы 4.1 * 100.";
ЛеваяЧасть = Раздел1Таблица41.П000410000604;
ПраваяЧасть = ?(ЗначениеЗаполнено(Раздел1Таблица41.П000410000404), Окр(Раздел1Таблица41.П000410000504 / Раздел1Таблица41.П000410000404 * 100, 5), 0);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "2 месяц";
НазваниеПоказателяПравойЧасти = "2 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 6 таблицы 4.1 должно быть " + Знак + " значение показателя по графе 5 строки 5 таблицы 4.1 / значение показателя по графе 5 строки 4 таблицы 4.1 * 100.";
ЛеваяЧасть = Раздел1Таблица41.П000410000605;
ПраваяЧасть = ?(ЗначениеЗаполнено(Раздел1Таблица41.П000410000405), Окр(Раздел1Таблица41.П000410000505 / Раздел1Таблица41.П000410000405 * 100, 5), 0);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "3 месяц";
НазваниеПоказателяПравойЧасти = "3 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 6 строки 6 таблицы 4.1 должно быть " + Знак + " значение показателя по графе 6 строки 5 таблицы 4.1 / значение показателя по графе 6 строки 4 таблицы 4.1 * 100.";
ЛеваяЧасть = Раздел1Таблица41.П000410000606;
ПраваяЧасть = ?(ЗначениеЗаполнено(Раздел1Таблица41.П000410000406), Окр(Раздел1Таблица41.П000410000506 / Раздел1Таблица41.П000410000406 * 100, 5), 0);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "всего с начала расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 6 таблицы 4.1 должно быть " + Знак + " 25, если 1-я часть шифра страхователя в титульном листе = ""061"" и код ОКВЭД 1-го раздела <> ""91.3"" и <> ""91.33"".";
ЛеваяЧасть = Раздел1Таблица41.П000410000603;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
КодОКВЭД = СокрЛП(Раздел1Таблица1.ОКВЭД);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 25, когда """ + ШифрСтрахователяЧасть1 + """ = ""061"" и """ + КодОКВЭД + """ <> ""91.3"" и <> ""91.33""";
Если (ЛеваяЧасть >= 25
И ШифрСтрахователяЧасть1 = "061"
И (КодОКВЭД <> "91.3" И КодОКВЭД <> "91.33"))
ИЛИ ШифрСтрахователяЧасть1 <> "061"
ИЛИ (КодОКВЭД = "91.3" ИЛИ КодОКВЭД = "91.33") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Если ОбщееЧислоОшибок + ОбщееЧислоБезОшибок > 0 Тогда
СтруктураРезультата.Вставить("КоличествоНайденныхОшибок", ОбщееЧислоОшибок);
СтруктураРезультата.Вставить("КоличествоНайденныхБезОшибок", ОбщееЧислоБезОшибок);
СтруктураРезультата.Вставить("СтруктураОшибок", СтруктураОшибок);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПроверкаТаблицы42Раздела1(СтруктураРезультата)
ОбщееЧислоОшибок = СтруктураРезультата.КоличествоНайденныхОшибок;
ОбщееЧислоБезОшибок = СтруктураРезультата.КоличествоНайденныхБезОшибок;
СтруктураОшибок = СтруктураРезультата.СтруктураОшибок;
Титульный = мДанныеОтчета.ПолеТабличногоДокументаТитульный;
Раздел1Таблица42 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_42;
ТекстФормулы = "Проверка таблицы 4.2 раздела 1";
Знак = "=";
НазваниеПоказателяЛевойЧасти = "по итогам 9-ти месяцев года, предшествующего текущему расчетному периоду";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 1 таблицы 4.2 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 091.";
ЛеваяЧасть = Раздел1Таблица42.П000420000103;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""091""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "091")
ИЛИ ШифрСтрахователяЧасть1 = "091" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "по итогам текущего отчетного (расчетного) периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 1 таблицы 4.2 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 091.";
ЛеваяЧасть = Раздел1Таблица42.П000420000104;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""091""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "091")
ИЛИ ШифрСтрахователяЧасть1 = "091" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "по итогам 9-ти месяцев года, предшествующего текущему расчетному периоду";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 2 таблицы 4.2 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 091.";
ЛеваяЧасть = Раздел1Таблица42.П000420000203;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""091""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "091")
ИЛИ ШифрСтрахователяЧасть1 = "091" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "по итогам текущего отчетного (расчетного) периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 2 таблицы 4.2 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 091.";
ЛеваяЧасть = Раздел1Таблица42.П000420000204;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""091""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "091")
ИЛИ ШифрСтрахователяЧасть1 = "091" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "по итогам 9-ти месяцев года, предшествующего текущему расчетному периоду";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 3 таблицы 4.2 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 091.";
ЛеваяЧасть = Раздел1Таблица42.П000420000303;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""091""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "091")
ИЛИ ШифрСтрахователяЧасть1 = "091" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "по итогам текущего отчетного (расчетного) периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 3 таблицы 4.2 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 091.";
ЛеваяЧасть = Раздел1Таблица42.П000420000304;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""091""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "091")
ИЛИ ШифрСтрахователяЧасть1 = "091" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "по итогам 9-ти месяцев года, предшествующего текущему расчетному периоду";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 1 таблицы 4.2 должно быть " + Знак + " 30, если 1-я часть шифра страхователя в титульном листе = 091 и дата по графе 3 строки 5 таблицы 4.2 < 1 октября предыдущего года.";
ЛеваяЧасть = Раздел1Таблица42.П000420000103;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
ПервоеОктябряПредГода = Дата(Число(Титульный.ОтчетГод) - 1, 10, 1);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 30, когда """ + ШифрСтрахователяЧасть1 + """ = ""091"" и """ + Формат(Раздел1Таблица42.П000420000503, "ДЛФ=Д") + """ < """ + Формат(ПервоеОктябряПредГода, "ДЛФ=Д") + """";
Если (ЛеваяЧасть >= 30
И ШифрСтрахователяЧасть1 = "091"
И Раздел1Таблица42.П000420000503 < ПервоеОктябряПредГода)
ИЛИ НЕ ШифрСтрахователяЧасть1 = "091"
ИЛИ НЕ Раздел1Таблица42.П000420000503 < ПервоеОктябряПредГода Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "по итогам текущего отчетного (расчетного) периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 1 таблицы 4.2 должно быть " + Знак + " 30, если 1-я часть шифра страхователя в титульном листе = 091 и дата по графе 3 строки 5 таблицы 4.2 >= 1 октября предыдущего года.";
ЛеваяЧасть = Раздел1Таблица42.П000420000104;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
ПервоеОктябряПредГода = Дата(Число(Титульный.ОтчетГод) - 1, 10, 1);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 30, когда """ + ШифрСтрахователяЧасть1 + """ = ""091"" и """ + Формат(Раздел1Таблица42.П000420000503, "ДЛФ=Д") + """ >= """ + Формат(ПервоеОктябряПредГода, "ДЛФ=Д") + """";
Если (ЛеваяЧасть >= 30
И ШифрСтрахователяЧасть1 = "091"
И Раздел1Таблица42.П000420000503 >= ПервоеОктябряПредГода)
ИЛИ НЕ ШифрСтрахователяЧасть1 = "091"
ИЛИ НЕ Раздел1Таблица42.П000420000503 >= ПервоеОктябряПредГода Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "по итогам текущего отчетного (расчетного) периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 1 таблицы 4.2 должно быть " + Знак + " численности работников, указанной в титульном листе, если 1-я часть шифра страхователя в титульном листе = 091 и дата по графе 3 строки 5 таблицы 4.2 >= 1 октября предыдущего года.";
ЛеваяЧасть = Раздел1Таблица42.П000420000104;
ЧисленностьРаботников = СокрЛП(Титульный.ЧислРаботников);
ЧисленностьРаботников = ?(ЗначениеЗаполнено(ЧисленностьРаботников), Число(ЧисленностьРаботников), 0);
ШифрСтрахователяЧасть1 = СокрЛП(Титульный.ШифрСтрах1Часть);
ПервоеОктябряПредГода = Дата(Число(Титульный.ОтчетГод) - 1, 10, 1);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ЧисленностьРаботников) + ", когда """ + ШифрСтрахователяЧасть1 + """ = ""091"" и """ + Формат(Раздел1Таблица42.П000420000503, "ДЛФ=Д") + """ >= """ + Формат(ПервоеОктябряПредГода, "ДЛФ=Д") + """";
Если (ЛеваяЧасть = ЧисленностьРаботников
И ШифрСтрахователяЧасть1 = "091"
И Раздел1Таблица42.П000420000503 >= ПервоеОктябряПредГода)
ИЛИ НЕ ШифрСтрахователяЧасть1 = "091"
ИЛИ НЕ Раздел1Таблица42.П000420000503 >= ПервоеОктябряПредГода Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">";
НазваниеПоказателяЛевойЧасти = "по итогам 9-ти месяцев года, предшествующего текущему расчетному периоду";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 2 таблицы 4.2 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = 091 и дата по графе 3 строки 5 таблицы 4.2 < 1 октября предыдущего года.";
ЛеваяЧасть = Раздел1Таблица42.П000420000203;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
ПервоеОктябряПредГода = Дата(Число(Титульный.ОтчетГод) - 1, 10, 1);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""091"" и """ + Формат(Раздел1Таблица42.П000420000503, "ДЛФ=Д") + """ < """ + Формат(ПервоеОктябряПредГода, "ДЛФ=Д") + """";
Если (ЛеваяЧасть > 0
И ШифрСтрахователяЧасть1 = "091"
И Раздел1Таблица42.П000420000503 < ПервоеОктябряПредГода)
ИЛИ НЕ ШифрСтрахователяЧасть1 = "091"
ИЛИ НЕ Раздел1Таблица42.П000420000503 < ПервоеОктябряПредГода Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "по итогам 9-ти месяцев года, предшествующего текущему расчетному периоду";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 3 таблицы 4.2 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = 091 и дата по графе 3 строки 5 таблицы 4.2 < 1 октября предыдущего года.";
ЛеваяЧасть = Раздел1Таблица42.П000420000303;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
ПервоеОктябряПредГода = Дата(Число(Титульный.ОтчетГод) - 1, 10, 1);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""091"" и """ + Формат(Раздел1Таблица42.П000420000503, "ДЛФ=Д") + """ < """ + Формат(ПервоеОктябряПредГода, "ДЛФ=Д") + """";
Если (ЛеваяЧасть > 0
И ШифрСтрахователяЧасть1 = "091"
И Раздел1Таблица42.П000420000503 < ПервоеОктябряПредГода)
ИЛИ НЕ ШифрСтрахователяЧасть1 = "091"
ИЛИ НЕ Раздел1Таблица42.П000420000503 < ПервоеОктябряПредГода Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "по итогам текущего отчетного (расчетного) периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 2 таблицы 4.2 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = 091 и дата по графе 3 строки 5 таблицы 4.2 >= 1 октября предыдущего года.";
ЛеваяЧасть = Раздел1Таблица42.П000420000204;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
ПервоеОктябряПредГода = Дата(Число(Титульный.ОтчетГод) - 1, 10, 1);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""091"" и """ + Формат(Раздел1Таблица42.П000420000503, "ДЛФ=Д") + """ >= """ + Формат(ПервоеОктябряПредГода, "ДЛФ=Д") + """";
Если (ЛеваяЧасть > 0
И ШифрСтрахователяЧасть1 = "091"
И Раздел1Таблица42.П000420000503 >= ПервоеОктябряПредГода)
ИЛИ НЕ ШифрСтрахователяЧасть1 = "091"
ИЛИ НЕ Раздел1Таблица42.П000420000503 >= ПервоеОктябряПредГода Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "по итогам текущего отчетного (расчетного) периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 3 таблицы 4.2 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = 091 и дата по графе 3 строки 5 таблицы 4.2 >= 1 октября предыдущего года.";
ЛеваяЧасть = Раздел1Таблица42.П000420000304;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
ПервоеОктябряПредГода = Дата(Число(Титульный.ОтчетГод) - 1, 10, 1);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""091"" и """ + Формат(Раздел1Таблица42.П000420000503, "ДЛФ=Д") + """ >= """ + Формат(ПервоеОктябряПредГода, "ДЛФ=Д") + """";
Если (ЛеваяЧасть > 0
И ШифрСтрахователяЧасть1 = "091"
И Раздел1Таблица42.П000420000503 >= ПервоеОктябряПредГода)
ИЛИ НЕ ШифрСтрахователяЧасть1 = "091"
ИЛИ НЕ Раздел1Таблица42.П000420000503 >= ПервоеОктябряПредГода Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "<=";
НазваниеПоказателяЛевойЧасти = "по итогам 9-ти месяцев года, предшествующего текущему расчетному периоду";
НазваниеПоказателяПравойЧасти = "по итогам 9-ти месяцев года, предшествующего текущему расчетному периоду";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 3 таблицы 4.2 должно быть " + Знак + " значения показателя по графе 3 строки 2 таблицы 4.2.";
ЛеваяЧасть = Раздел1Таблица42.П000420000303;
ПраваяЧасть = Раздел1Таблица42.П000420000203;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "по итогам текущего отчетного (расчетного) периода";
НазваниеПоказателяПравойЧасти = "по итогам текущего отчетного (расчетного) периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 3 таблицы 4.2 должно быть " + Знак + " значения показателя по графе 4 строки 2 таблицы 4.2.";
ЛеваяЧасть = Раздел1Таблица42.П000420000304;
ПраваяЧасть = Раздел1Таблица42.П000420000204;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "по итогам 9-ти месяцев года, предшествующего текущему расчетному периоду";
НазваниеПоказателяПравойЧасти = "по итогам 9-ти месяцев года, предшествующего текущему расчетному периоду";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 4 таблицы 4.2 должно быть " + Знак + " значение показателя по графе 3 строки 3 таблицы 4.2 / значение показателя по графе 3 строки 2 таблицы 4.2 * 100.";
ЛеваяЧасть = Раздел1Таблица42.П000420000403;
ПраваяЧасть = ?(ЗначениеЗаполнено(Раздел1Таблица42.П000420000203), Окр(Раздел1Таблица42.П000420000303 / Раздел1Таблица42.П000420000203 * 100, 5), 0);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "по итогам текущего отчетного (расчетного) периода";
НазваниеПоказателяПравойЧасти = "по итогам текущего отчетного (расчетного) периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 4 таблицы 4.2 должно быть " + Знак + " значение показателя по графе 4 строки 3 таблицы 4.2 / значение показателя по графе 4 строки 2 таблицы 4.2 * 100.";
ЛеваяЧасть = Раздел1Таблица42.П000420000404;
ПраваяЧасть = ?(ЗначениеЗаполнено(Раздел1Таблица42.П000420000204), Окр(Раздел1Таблица42.П000420000304 / Раздел1Таблица42.П000420000204 * 100, 5), 0);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "по итогам 9-ти месяцев года, предшествующего текущему расчетному периоду";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 4 таблицы 4.2 должно быть " + Знак + " 90, если 1-я часть шифра страхователя в титульном листе = 091 и дата по графе 3 строки 5 таблицы 4.2 < 1 октября предыдущего года.";
ЛеваяЧасть = Раздел1Таблица42.П000420000403;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
ПервоеОктябряПредГода = Дата(Число(Титульный.ОтчетГод) - 1, 10, 1);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 90, когда """ + ШифрСтрахователяЧасть1 + """ = ""091"" и """ + Формат(Раздел1Таблица42.П000420000503, "ДЛФ=Д") + """ < """ + Формат(ПервоеОктябряПредГода, "ДЛФ=Д") + """";
Если (ЛеваяЧасть >= 90
И ШифрСтрахователяЧасть1 = "091"
И Раздел1Таблица42.П000420000503 < ПервоеОктябряПредГода)
ИЛИ НЕ ШифрСтрахователяЧасть1 = "091"
ИЛИ НЕ Раздел1Таблица42.П000420000503 < ПервоеОктябряПредГода Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "по итогам текущего отчетного (расчетного) периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 4 таблицы 4.2 должно быть " + Знак + " 90, если 1-я часть шифра страхователя в титульном листе = 091 и дата по графе 3 строки 5 таблицы 4.2 >= 1 октября предыдущего года.";
ЛеваяЧасть = Раздел1Таблица42.П000420000404;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
ПервоеОктябряПредГода = Дата(Число(Титульный.ОтчетГод) - 1, 10, 1);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 90, когда """ + ШифрСтрахователяЧасть1 + """ = ""091"" и """ + Формат(Раздел1Таблица42.П000420000503, "ДЛФ=Д") + """ >= """ + Формат(ПервоеОктябряПредГода, "ДЛФ=Д") + """";
Если (ЛеваяЧасть >= 90
И ШифрСтрахователяЧасть1 = "091"
И Раздел1Таблица42.П000420000503 >= ПервоеОктябряПредГода)
ИЛИ НЕ ШифрСтрахователяЧасть1 = "091"
ИЛИ НЕ Раздел1Таблица42.П000420000503 >= ПервоеОктябряПредГода Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "дата записи в реестре аккредитованных организаций";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 5 таблицы 4.2 не должно быть заполнено, если 1-я часть шифра страхователя в титульном листе <> 091, и должно быть обязательно заполнено, если 1-я часть шифра страхователя в титульном листе = 091.";
ЛеваяЧасть = Раздел1Таблица42.П000420000503;
ШифрСтрахователяЧасть1 = СокрЛП(Титульный.ШифрСтрах1Часть);
Расшифровка = Формат(ЛеваяЧасть, "ДЛФ=Д") + " = пустое значение, когда """ + ШифрСтрахователяЧасть1 + """ <> ""091"", и " + Формат(ЛеваяЧасть, "ДЛФ=Д") + "<> пустое значение, когда """ + ШифрСтрахователяЧасть1 + """ = ""091""";
Если (НЕ ЗначениеЗаполнено(ЛеваяЧасть)
И ШифрСтрахователяЧасть1 <> "091")
ИЛИ (ЗначениеЗаполнено(ЛеваяЧасть)
И ШифрСтрахователяЧасть1 = "091") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "№ записи в реестре аккредитованных организаций";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 5 таблицы 4.2 не должно быть заполнено, если 1-я часть шифра страхователя в титульном листе <> 091, и должно быть обязательно заполнено, если 1-я часть шифра страхователя в титульном листе = 091.";
ЛеваяЧасть = Раздел1Таблица42.П000420000504;
ШифрСтрахователяЧасть1 = СокрЛП(Титульный.ШифрСтрах1Часть);
Расшифровка = Формат(ЛеваяЧасть, "ДЛФ=Д") + " = пустое значение, когда """ + ШифрСтрахователяЧасть1 + """ <> ""091"", и " + Формат(ЛеваяЧасть, "ДЛФ=Д") + "<> пустое значение, когда """ + ШифрСтрахователяЧасть1 + """ = ""091""";
Если (НЕ ЗначениеЗаполнено(ЛеваяЧасть)
И ШифрСтрахователяЧасть1 <> "091")
ИЛИ (ЗначениеЗаполнено(ЛеваяЧасть)
И ШифрСтрахователяЧасть1 = "091") Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Если ОбщееЧислоОшибок + ОбщееЧислоБезОшибок > 0 Тогда
СтруктураРезультата.Вставить("КоличествоНайденныхОшибок", ОбщееЧислоОшибок);
СтруктураРезультата.Вставить("КоличествоНайденныхБезОшибок", ОбщееЧислоБезОшибок);
СтруктураРезультата.Вставить("СтруктураОшибок", СтруктураОшибок);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПроверкаТаблицы43Раздела1(СтруктураРезультата)
ОбщееЧислоОшибок = СтруктураРезультата.КоличествоНайденныхОшибок;
ОбщееЧислоБезОшибок = СтруктураРезультата.КоличествоНайденныхБезОшибок;
СтруктураОшибок = СтруктураРезультата.СтруктураОшибок;
Титульный = мДанныеОтчета.ПолеТабличногоДокументаТитульный;
Раздел1Таблица43 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_43;
ТекстФормулы = "Проверка таблицы 4.3 раздела 1";
Знак = "=";
НазваниеПоказателяЛевойЧасти = "с начала отчетного (расчетного) периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 1 таблицы 4.3 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 121.";
ЛеваяЧасть = Раздел1Таблица43.П000430000103;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""121""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "121")
ИЛИ ШифрСтрахователяЧасть1 = "121" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "с начала отчетного (расчетного) периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 2 таблицы 4.3 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 121.";
ЛеваяЧасть = Раздел1Таблица43.П000430000203;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""121""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "121")
ИЛИ ШифрСтрахователяЧасть1 = "121" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">";
НазваниеПоказателяЛевойЧасти = "с начала отчетного (расчетного) периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 1 таблицы 4.3 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = 121.";
ЛеваяЧасть = Раздел1Таблица43.П000430000103;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""121""";
Если (ЛеваяЧасть > 0
И ШифрСтрахователяЧасть1 = "121")
ИЛИ НЕ ШифрСтрахователяЧасть1 = "121" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "с начала отчетного (расчетного) периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 2 таблицы 4.3 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = 121.";
ЛеваяЧасть = Раздел1Таблица43.П000430000203;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""121""";
Если (ЛеваяЧасть > 0
И ШифрСтрахователяЧасть1 = "121")
ИЛИ НЕ ШифрСтрахователяЧасть1 = "121" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "<=";
НазваниеПоказателяЛевойЧасти = "с начала отчетного (расчетного) периода";
НазваниеПоказателяПравойЧасти = "с начала отчетного (расчетного) периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 2 таблицы 4.3 должно быть " + Знак + " значения показателя по графе 3 строки 1 таблицы 4.3.";
ЛеваяЧасть = Раздел1Таблица43.П000430000203;
ПраваяЧасть = Раздел1Таблица43.П000430000103;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "с начала отчетного (расчетного) периода";
НазваниеПоказателяПравойЧасти = "с начала отчетного (расчетного) периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 3 таблицы 4.3 должно быть " + Знак + " значение показателя по графе 3 строки 2 таблицы 4.3 / значение показателя по графе 3 строки 1 таблицы 4.3 * 100.";
ЛеваяЧасть = Раздел1Таблица43.П000430000303;
ПраваяЧасть = ?(ЗначениеЗаполнено(Раздел1Таблица43.П000430000103), Окр(Раздел1Таблица43.П000430000203 / Раздел1Таблица43.П000430000103 * 100, 5), 0);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "с начала отчетного (расчетного) периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 3 таблицы 4.3 должно быть " + Знак + " 70, если 1-я часть шифра страхователя в титульном листе = 121.";
ЛеваяЧасть = Раздел1Таблица43.П000430000303;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 70, когда """ + ШифрСтрахователяЧасть1 + """ = ""121""";
Если (ЛеваяЧасть >= 70
И ШифрСтрахователяЧасть1 = "121")
ИЛИ НЕ ШифрСтрахователяЧасть1 = "121" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Если ОбщееЧислоОшибок + ОбщееЧислоБезОшибок > 0 Тогда
СтруктураРезультата.Вставить("КоличествоНайденныхОшибок", ОбщееЧислоОшибок);
СтруктураРезультата.Вставить("КоличествоНайденныхБезОшибок", ОбщееЧислоБезОшибок);
СтруктураРезультата.Вставить("СтруктураОшибок", СтруктураОшибок);
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ПроверкаТаблицы44Раздела1(СтруктураРезультата)
ОбщееЧислоОшибок = СтруктураРезультата.КоличествоНайденныхОшибок;
ОбщееЧислоБезОшибок = СтруктураРезультата.КоличествоНайденныхБезОшибок;
СтруктураОшибок = СтруктураРезультата.СтруктураОшибок;
Титульный = мДанныеОтчета.ПолеТабличногоДокументаТитульный;
Раздел1Таблица44 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_44;
ТекстФормулы = "Проверка таблицы 4.4 раздела 1";
Знак = "=";
НазваниеПоказателяЛевойЧасти = "по итогам года, предшествующему текущему расчетному периоду";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 1 таблицы 4.4 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 151.";
ЛеваяЧасть = Раздел1Таблица44.П000440000103;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""151""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "151")
ИЛИ ШифрСтрахователяЧасть1 = "151" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "по итогам текущего расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 1 таблицы 4.4 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 151.";
ЛеваяЧасть = Раздел1Таблица44.П000440000104;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""151""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "151")
ИЛИ ШифрСтрахователяЧасть1 = "151" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "по итогам года, предшествующему текущему расчетному периоду";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 2 таблицы 4.4 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 151.";
ЛеваяЧасть = Раздел1Таблица44.П000440000203;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""151""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "151")
ИЛИ ШифрСтрахователяЧасть1 = "151" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "по итогам текущего расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 2 таблицы 4.4 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 151.";
ЛеваяЧасть = Раздел1Таблица44.П000440000204;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""151""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "151")
ИЛИ ШифрСтрахователяЧасть1 = "151" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "по итогам года, предшествующему текущему расчетному периоду";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 3 таблицы 4.4 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 151.";
ЛеваяЧасть = Раздел1Таблица44.П000440000303;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""151""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "151")
ИЛИ ШифрСтрахователяЧасть1 = "151" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "по итогам текущего расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 3 таблицы 4.4 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 151.";
ЛеваяЧасть = Раздел1Таблица44.П000440000304;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""151""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "151")
ИЛИ ШифрСтрахователяЧасть1 = "151" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "по итогам года, предшествующему текущему расчетному периоду";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 4 таблицы 4.4 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 151.";
ЛеваяЧасть = Раздел1Таблица44.П000440000403;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""151""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "151")
ИЛИ ШифрСтрахователяЧасть1 = "151" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "по итогам текущего расчетного периода";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 4 таблицы 4.4 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе <> 151.";
ЛеваяЧасть = Раздел1Таблица44.П000440000404;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ <> ""151""";
Если (ЛеваяЧасть = 0
И ШифрСтрахователяЧасть1 <> "151")
ИЛИ ШифрСтрахователяЧасть1 = "151" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">";
НазваниеПоказателяЛевойЧасти = "по итогам года, предшествующему текущему расчетному периоду";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 1 таблицы 4.4 должно быть " + Знак + " 0, если 1-я часть шифра страхователя в титульном листе = 151.";
ЛеваяЧасть = Раздел1Таблица44.П000440000103;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ШифрСтрахователяЧасть1 + """ = ""151""";
Если (ЛеваяЧасть > 0
И ШифрСтрахователяЧасть1 = "151")
ИЛИ НЕ ШифрСтрахователяЧасть1 = "151" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "по итогам года, предшествующему текущему расчетному периоду";
НазваниеПоказателяПравойЧасти = "по итогам года, предшествующему текущему расчетному периоду";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 1 таблицы 4.4 должно быть " + Знак + " сумме значений показателей по строкам 2-4 графы 3 таблицы 4.4.";
ЛеваяЧасть = Раздел1Таблица44.П000440000103;
ПраваяЧасть = Раздел1Таблица44.П000440000203 + Раздел1Таблица44.П000440000303 + Раздел1Таблица44.П000440000403;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть >= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "по итогам текущего расчетного периода";
НазваниеПоказателяПравойЧасти = "по итогам текущего расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 1 таблицы 4.4 должно быть " + Знак + " сумме значений показателей по строкам 2-4 графы 4 таблицы 4.4.";
ЛеваяЧасть = Раздел1Таблица44.П000440000104;
ПраваяЧасть = Раздел1Таблица44.П000440000204 + Раздел1Таблица44.П000440000304 + Раздел1Таблица44.П000440000404;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть >= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "по итогам текущего расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 1 таблицы 4.4 должно быть " + Знак + " 0, если расчет не за год.";
ЛеваяЧасть = Раздел1Таблица44.П000440000104;
ОтчетныйПериод = СокрЛП(Титульный.Период);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ОтчетныйПериод + """ = ""12""";
Если (ЛеваяЧасть = 0
И НЕ ОтчетныйПериод = "12")
ИЛИ ОтчетныйПериод = "12" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "по итогам текущего расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 2 таблицы 4.4 должно быть " + Знак + " 0, если расчет не за год.";
ЛеваяЧасть = Раздел1Таблица44.П000440000204;
ОтчетныйПериод = СокрЛП(Титульный.Период);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ОтчетныйПериод + """ = ""12""";
Если (ЛеваяЧасть = 0
И НЕ ОтчетныйПериод = "12")
ИЛИ ОтчетныйПериод = "12" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "по итогам текущего расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 3 таблицы 4.4 должно быть " + Знак + " 0, если расчет не за год.";
ЛеваяЧасть = Раздел1Таблица44.П000440000304;
ОтчетныйПериод = СокрЛП(Титульный.Период);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ОтчетныйПериод + """ = ""12""";
Если (ЛеваяЧасть = 0
И НЕ ОтчетныйПериод = "12")
ИЛИ ОтчетныйПериод = "12" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "по итогам текущего расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 4 таблицы 4.4 должно быть " + Знак + " 0, если расчет не за год.";
ЛеваяЧасть = Раздел1Таблица44.П000440000404;
ОтчетныйПериод = СокрЛП(Титульный.Период);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ОтчетныйПериод + """ = ""12""";
Если (ЛеваяЧасть = 0
И НЕ ОтчетныйПериод = "12")
ИЛИ ОтчетныйПериод = "12" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "по итогам года, предшествующему текущему расчетному периоду";
НазваниеПоказателяПравойЧасти = "по итогам года, предшествующему текущему расчетному периоду";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 5 таблицы 4.4 должно быть " + Знак + " сумма значений показателей по строкам 2-4 графы 3 таблицы 4.4 / значение показателя по графе 3 строки 1 таблицы 4.4 * 100.";
ЛеваяЧасть = Раздел1Таблица44.П000440000503;
ПраваяЧасть = ?(ЗначениеЗаполнено(Раздел1Таблица44.П000440000103), Окр((Раздел1Таблица44.П000440000203 + Раздел1Таблица44.П000440000303 + Раздел1Таблица44.П000440000403) / Раздел1Таблица44.П000440000103 * 100, 5), 0);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "по итогам года, предшествующему текущему расчетному периоду";
НазваниеПоказателяПравойЧасти = "1-я часть шифра страхователя";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 5 таблицы 4.4 должно быть " + Знак + " 70, если 1-я часть шифра страхователя в титульном листе = 151.";
ЛеваяЧасть = Раздел1Таблица44.П000440000503;
ШифрСтрахователяЧасть1 = Титульный.ШифрСтрах1Часть;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 70, когда """ + ШифрСтрахователяЧасть1 + """ = ""151""";
Если (ЛеваяЧасть >= 70
И ШифрСтрахователяЧасть1 = "151")
ИЛИ НЕ ШифрСтрахователяЧасть1 = "151" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "по итогам текущего расчетного периода";
НазваниеПоказателяПравойЧасти = "по итогам текущего расчетного периода";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 5 таблицы 4.4 должно быть " + Знак + " сумма значений показателей по строкам 2-4 графы 4 таблицы 4.4 / значение показателя по графе 4 строки 1 таблицы 4.4 * 100.";
ЛеваяЧасть = Раздел1Таблица44.П000440000504;
ПраваяЧасть = ?(ЗначениеЗаполнено(Раздел1Таблица44.П000440000104), Окр((Раздел1Таблица44.П000440000204 + Раздел1Таблица44.П000440000304 + Раздел1Таблица44.П000440000404) / Раздел1Таблица44.П000440000104 * 100, 5), 0);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Если ОбщееЧислоОшибок + ОбщееЧислоБезОшибок > 0 Тогда
СтруктураРезультата.Вставить("КоличествоНайденныхОшибок", ОбщееЧислоОшибок);
СтруктураРезультата.Вставить("КоличествоНайденныхБезОшибок", ОбщееЧислоБезОшибок);
СтруктураРезультата.Вставить("СтруктураОшибок", СтруктураОшибок);
КонецЕсли;
КонецФункции
&НаСервере
Функция ПроверкаТаблицы5Раздела1(СтруктураРезультата)
ОбщееЧислоОшибок = СтруктураРезультата.КоличествоНайденныхОшибок;
ОбщееЧислоБезОшибок = СтруктураРезультата.КоличествоНайденныхБезОшибок;
СтруктураОшибок = СтруктураРезультата.СтруктураОшибок;
Раздел1Таблица5 = мДанныеОтчета.ПолеТабличногоДокументаРаздел1_5;
ТекстФормулы = "Проверка таблицы 5 раздела 1";
Знак = "<=";
НазваниеПоказателяЛевойЧасти = "всего (число получателей)";
НазваниеПоказателяПравойЧасти = "всего (число получателей)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 3 таблицы 5 должно быть " + Знак + " сумме значений показателей по строкам 4 и 5 графы 3 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050003003;
ПраваяЧасть = Раздел1Таблица5.П000050004003 + Раздел1Таблица5.П000050005003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "всего (число получателей)";
НазваниеПоказателяПравойЧасти = "всего (число получателей)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 3 таблицы 5 должно быть " + Знак + " значению показателя по графе 3 строки 4 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050003003;
ПраваяЧасть = Раздел1Таблица5.П000050004003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть >= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего (число получателей)";
НазваниеПоказателяПравойЧасти = "всего (число получателей)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 3 таблицы 5 должно быть " + Знак + " значению показателя по графе 3 строки 5 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050003003;
ПраваяЧасть = Раздел1Таблица5.П000050005003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть >= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "всего (количество дней, выплат, пособий)";
НазваниеПоказателяПравойЧасти = "всего (количество дней, выплат, пособий)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 3 таблицы 5 должно быть " + Знак + " сумме значений показателей по строкам 4 и 5 графы 4 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050003004;
ПраваяЧасть = Раздел1Таблица5.П000050004004 + Раздел1Таблица5.П000050005004;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего (расходы (сумма))";
НазваниеПоказателяПравойЧасти = "всего (расходы (сумма))";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 3 таблицы 5 должно быть " + Знак + " сумме значений показателей по строкам 4 и 5 графы 5 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050003005;
ПраваяЧасть = Раздел1Таблица5.П000050004005 + Раздел1Таблица5.П000050005005;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "<=";
НазваниеПоказателяЛевойЧасти = "в том числе Чернобыльская АЭС (число получателей)";
НазваниеПоказателяПравойЧасти = "в том числе Чернобыльская АЭС (число получателей)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 6 строки 3 таблицы 5 должно быть " + Знак + " сумме значений показателей по строкам 4 и 5 графы 6 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050003006;
ПраваяЧасть = Раздел1Таблица5.П000050004006 + Раздел1Таблица5.П000050005006;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "в том числе Чернобыльская АЭС (число получателей)";
НазваниеПоказателяПравойЧасти = "в том числе Чернобыльская АЭС (число получателей)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 6 строки 3 таблицы 5 должно быть " + Знак + " значению показателя по графе 6 строки 4 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050003006;
ПраваяЧасть = Раздел1Таблица5.П000050004006;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть >= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "в том числе Чернобыльская АЭС (число получателей)";
НазваниеПоказателяПравойЧасти = "в том числе Чернобыльская АЭС (число получателей)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 6 строки 3 таблицы 5 должно быть " + Знак + " значению показателя по графе 6 строки 5 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050003006;
ПраваяЧасть = Раздел1Таблица5.П000050005006;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть >= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "в том числе Чернобыльская АЭС (количество дней, выплат, пособий)";
НазваниеПоказателяПравойЧасти = "в том числе Чернобыльская АЭС (количество дней, выплат, пособий)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 7 строки 3 таблицы 5 должно быть " + Знак + " сумме значений показателей по строкам 4 и 5 графы 7 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050003007;
ПраваяЧасть = Раздел1Таблица5.П000050004007 + Раздел1Таблица5.П000050005007;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "в том числе Чернобыльская АЭС (расходы (сумма))";
НазваниеПоказателяПравойЧасти = "в том числе Чернобыльская АЭС (расходы (сумма))";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 8 строки 3 таблицы 5 должно быть " + Знак + " сумме значений показателей по строкам 4 и 5 графы 8 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050003008;
ПраваяЧасть = Раздел1Таблица5.П000050004008 + Раздел1Таблица5.П000050005008;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "<=";
НазваниеПоказателяЛевойЧасти = "в том числе ПО ""Маяк"" (число получателей)";
НазваниеПоказателяПравойЧасти = "в том числе ПО ""Маяк"" (число получателей)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 9 строки 3 таблицы 5 должно быть " + Знак + " сумме значений показателей по строкам 4 и 5 графы 9 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050003009;
ПраваяЧасть = Раздел1Таблица5.П000050004009 + Раздел1Таблица5.П000050005009;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "в том числе ПО ""Маяк"" (число получателей)";
НазваниеПоказателяПравойЧасти = "в том числе ПО ""Маяк"" (число получателей)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 9 строки 3 таблицы 5 должно быть " + Знак + " значению показателя по графе 9 строки 4 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050003009;
ПраваяЧасть = Раздел1Таблица5.П000050004009;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть >= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "в том числе ПО ""Маяк"" (число получателей)";
НазваниеПоказателяПравойЧасти = "в том числе ПО ""Маяк"" (число получателей)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 9 строки 3 таблицы 5 должно быть " + Знак + " значению показателя по графе 9 строки 5 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050003009;
ПраваяЧасть = Раздел1Таблица5.П000050005009;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть >= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "в том числе ПО ""Маяк"" (количество дней, выплат, пособий)";
НазваниеПоказателяПравойЧасти = "в том числе ПО ""Маяк"" (количество дней, выплат, пособий)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 10 строки 3 таблицы 5 должно быть " + Знак + " сумме значений показателей по строкам 4 и 5 графы 10 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050003010;
ПраваяЧасть = Раздел1Таблица5.П000050004010 + Раздел1Таблица5.П000050005010;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "в том числе ПО ""Маяк"" (расходы (сумма))";
НазваниеПоказателяПравойЧасти = "в том числе ПО ""Маяк"" (расходы (сумма))";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 11 строки 3 таблицы 5 должно быть " + Знак + " сумме значений показателей по строкам 4 и 5 графы 11 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050003011;
ПраваяЧасть = Раздел1Таблица5.П000050004011 + Раздел1Таблица5.П000050005011;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "<=";
НазваниеПоказателяЛевойЧасти = "в том числе подразделения особого риска (число получателей)";
НазваниеПоказателяПравойЧасти = "в том числе подразделения особого риска (число получателей)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 15 строки 3 таблицы 5 должно быть " + Знак + " сумме значений показателей по строкам 4 и 5 графы 15 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050003015;
ПраваяЧасть = Раздел1Таблица5.П000050004015 + Раздел1Таблица5.П000050005015;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "в том числе подразделения особого риска (число получателей)";
НазваниеПоказателяПравойЧасти = "в том числе подразделения особого риска (число получателей)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 15 строки 3 таблицы 5 должно быть " + Знак + " значению показателя по графе 15 строки 4 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050003015;
ПраваяЧасть = Раздел1Таблица5.П000050004015;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть >= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "в том числе подразделения особого риска (число получателей)";
НазваниеПоказателяПравойЧасти = "в том числе подразделения особого риска (число получателей)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 15 строки 3 таблицы 5 должно быть " + Знак + " значению показателя по графе 15 строки 5 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050003015;
ПраваяЧасть = Раздел1Таблица5.П000050005015;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть >= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "в том числе подразделения особого риска (количество дней, выплат, пособий)";
НазваниеПоказателяПравойЧасти = "в том числе подразделения особого риска (количество дней, выплат, пособий)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 16 строки 3 таблицы 5 должно быть " + Знак + " сумме значений показателей по строкам 4 и 5 графы 16 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050003016;
ПраваяЧасть = Раздел1Таблица5.П000050004016 + Раздел1Таблица5.П000050005016;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "в том числе подразделения особого риска (расходы (сумма))";
НазваниеПоказателяПравойЧасти = "в том числе подразделения особого риска (расходы (сумма))";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 17 строки 3 таблицы 5 должно быть " + Знак + " сумме значений показателей по строкам 4 и 5 графы 17 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050003017;
ПраваяЧасть = Раздел1Таблица5.П000050004017 + Раздел1Таблица5.П000050005017;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего (число получателей)";
НазваниеПоказателяПравойЧасти = "всего (число получателей)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 7 таблицы 5 должно быть " + Знак + " сумме значений показателей по строкам 1, 2, 3, 6 графы 3 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050007003;
ПраваяЧасть = Раздел1Таблица5.П000050001003 + Раздел1Таблица5.П000050002003 + Раздел1Таблица5.П000050003003 + Раздел1Таблица5.П000050006003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "всего (расходы (сумма))";
НазваниеПоказателяПравойЧасти = "всего (расходы (сумма))";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 7 таблицы 5 должно быть " + Знак + " сумме значений показателей по строкам 1, 2, 3, 6 графы 5 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050007005;
ПраваяЧасть = Раздел1Таблица5.П000050001005 + Раздел1Таблица5.П000050002005 + Раздел1Таблица5.П000050003005 + Раздел1Таблица5.П000050006005;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "в том числе Чернобыльская АЭС (число получателей)";
НазваниеПоказателяПравойЧасти = "в том числе Чернобыльская АЭС (число получателей)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 6 строки 7 таблицы 5 должно быть " + Знак + " сумме значений показателей по строкам 1, 2, 3, 6 графы 6 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050007006;
ПраваяЧасть = Раздел1Таблица5.П000050001006 + Раздел1Таблица5.П000050002006 + Раздел1Таблица5.П000050003006 + Раздел1Таблица5.П000050006006;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "в том числе Чернобыльская АЭС (расходы (сумма))";
НазваниеПоказателяПравойЧасти = "в том числе Чернобыльская АЭС (расходы (сумма))";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 8 строки 7 таблицы 5 должно быть " + Знак + " сумме значений показателей по строкам 1, 2, 3, 6 графы 8 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050007008;
ПраваяЧасть = Раздел1Таблица5.П000050001008 + Раздел1Таблица5.П000050002008 + Раздел1Таблица5.П000050003008 + Раздел1Таблица5.П000050006008;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "в том числе ПО ""Маяк"" (число получателей)";
НазваниеПоказателяПравойЧасти = "в том числе ПО ""Маяк"" (число получателей)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 9 строки 7 таблицы 5 должно быть " + Знак + " сумме значений показателей по строкам 1, 2, 3, 6 графы 9 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050007009;
ПраваяЧасть = Раздел1Таблица5.П000050001009 + Раздел1Таблица5.П000050002009 + Раздел1Таблица5.П000050003009 + Раздел1Таблица5.П000050006009;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "в том числе ПО ""Маяк"" (расходы (сумма))";
НазваниеПоказателяПравойЧасти = "в том числе ПО ""Маяк"" (расходы (сумма))";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 11 строки 7 таблицы 5 должно быть " + Знак + " сумме значений показателей по строкам 1, 2, 3, 6 графы 11 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050007011;
ПраваяЧасть = Раздел1Таблица5.П000050001011 + Раздел1Таблица5.П000050002011 + Раздел1Таблица5.П000050003011 + Раздел1Таблица5.П000050006011;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "в том числе семипалатинский полигон (число получателей)";
НазваниеПоказателяПравойЧасти = "в том числе семипалатинский полигон (число получателей)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 12 строки 7 таблицы 5 должно быть " + Знак + " значению показателя по графе 12 строки 1 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050007012;
ПраваяЧасть = Раздел1Таблица5.П000050001012;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "в том числе семипалатинский полигон (расходы (сумма))";
НазваниеПоказателяПравойЧасти = "в том числе семипалатинский полигон (расходы (сумма))";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 14 строки 7 таблицы 5 должно быть " + Знак + " значению показателя по графе 14 строки 1 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050007014;
ПраваяЧасть = Раздел1Таблица5.П000050001014;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "в том числе подразделения особого риска (число получателей)";
НазваниеПоказателяПравойЧасти = "в том числе подразделения особого риска (число получателей)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 15 строки 7 таблицы 5 должно быть " + Знак + " сумме значений показателей по строкам 1, 2, 3, 6 графы 15 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050007015;
ПраваяЧасть = Раздел1Таблица5.П000050001015 + Раздел1Таблица5.П000050002015 + Раздел1Таблица5.П000050003015 + Раздел1Таблица5.П000050006015;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "в том числе подразделения особого риска (расходы (сумма))";
НазваниеПоказателяПравойЧасти = "в том числе подразделения особого риска (расходы (сумма))";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 17 строки 7 таблицы 5 должно быть " + Знак + " сумме значений показателей по строкам 1, 2, 3, 6 графы 17 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050007017;
ПраваяЧасть = Раздел1Таблица5.П000050001017 + Раздел1Таблица5.П000050002017 + Раздел1Таблица5.П000050003017 + Раздел1Таблица5.П000050006017;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "в том числе сведения о дополнительных выплатах (число получателей)";
НазваниеПоказателяПравойЧасти = "в том числе сведения о дополнительных выплатах (число получателей)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 18 строки 7 таблицы 5 должно быть " + Знак + " сумме значений показателей по строкам 1 и 2 графы 18 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050007018;
ПраваяЧасть = Раздел1Таблица5.П000050001018 + Раздел1Таблица5.П000050002018;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "в том числе сведения о дополнительных выплатах (расходы (сумма))";
НазваниеПоказателяПравойЧасти = "в том числе сведения о дополнительных выплатах (расходы (сумма))";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 20 строки 7 таблицы 5 должно быть " + Знак + " сумме значений показателей по строкам 1 и 2 графы 20 таблицы 5.";
ЛеваяЧасть = Раздел1Таблица5.П000050007020;
ПраваяЧасть = Раздел1Таблица5.П000050001020 + Раздел1Таблица5.П000050002020;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Если ОбщееЧислоОшибок + ОбщееЧислоБезОшибок > 0 Тогда
СтруктураРезультата.Вставить("КоличествоНайденныхОшибок", ОбщееЧислоОшибок);
СтруктураРезультата.Вставить("КоличествоНайденныхБезОшибок", ОбщееЧислоБезОшибок);
СтруктураРезультата.Вставить("СтруктураОшибок", СтруктураОшибок);
КонецЕсли;
КонецФункции
&НаСервере
Функция ПроверкаТаблицы6Раздела2(СтруктураРезультата)
ОбщееЧислоОшибок = СтруктураРезультата.КоличествоНайденныхОшибок;
ОбщееЧислоБезОшибок = СтруктураРезультата.КоличествоНайденныхБезОшибок;
СтруктураОшибок = СтруктураРезультата.СтруктураОшибок;
Титульный = мДанныеОтчета.ПолеТабличногоДокументаТитульный;
Раздел2Таблица6 = мДанныеОтчета.ПолеТабличногоДокументаРаздел2_6_7;
ТекстФормулы = "Проверка таблицы 6 раздела 2";
Знак = "=";
НазваниеПоказателяЛевойЧасти = "размер страхового тарифа с учетом скидки (надбавки)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 10 таблицы 6 должно быть " + Знак + " значение показателя по графе 6 таблицы 6 * (1 - значение показателя по графе 7 таблицы 6 / 100 + значение показателя по графе 9 таблицы 6 / 100).";
ЛеваяЧасть = Раздел2Таблица6.П000060001010;
ПраваяЧасть = Окр(Раздел2Таблица6.П000060001006 * (1 - Раздел2Таблица6.П000060001007 / 100 + Раздел2Таблица6.П000060001009 / 100), 2);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "выплаты и иные вознаграждения в пользу работников, на которые начисляются страховые взносы (всего)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 1 таблицы 6 должно быть " + Знак + " 0.";
ЛеваяЧасть = Раздел2Таблица6.П000060001103;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0";
Если ЛеваяЧасть >= 0 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "выплаты и иные вознаграждения в пользу работников, на которые начисляются страховые взносы (всего)";
НазваниеПоказателяПравойЧасти = "выплаты и иные вознаграждения в пользу работников, на которые начисляются страховые взносы (всего)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 1 таблицы 6 должно быть " + Знак + " значению показателя по графе 3 строки 2 таблицы 6, если расчет за 1-й квартал.";
ЛеваяЧасть = Раздел2Таблица6.П000060001103;
ОтчетныйПериод = СокрЛП(Титульный.Период);
ПраваяЧасть = Раздел2Таблица6.П000060001203;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + ", когда """ + ОтчетныйПериод + """ = ""03""";
Если ЛеваяЧасть = ПраваяЧасть И ОтчетныйПериод = "03"
ИЛИ НЕ ОтчетныйПериод = "03" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "выплаты и иные вознаграждения в пользу работников, на которые начисляются страховые взносы (в т.ч. выплаты в пользу работающих инвалидов)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 1 таблицы 6 должно быть " + Знак + " 0.";
ЛеваяЧасть = Раздел2Таблица6.П000060001104;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0";
Если ЛеваяЧасть >= 0 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "выплаты и иные вознаграждения в пользу работников, на которые начисляются страховые взносы (в т.ч. выплаты в пользу работающих инвалидов)";
НазваниеПоказателяПравойЧасти = "выплаты и иные вознаграждения в пользу работников, на которые начисляются страховые взносы (в т.ч. выплаты в пользу работающих инвалидов)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 1 таблицы 6 должно быть " + Знак + " значению показателя по графе 4 строки 2 таблицы 6, если расчет за 1-й квартал.";
ЛеваяЧасть = Раздел2Таблица6.П000060001104;
ОтчетныйПериод = СокрЛП(Титульный.Период);
ПраваяЧасть = Раздел2Таблица6.П000060001204;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + ", когда """ + ОтчетныйПериод + """ = ""03""";
Если ЛеваяЧасть = ПраваяЧасть И ОтчетныйПериод = "03"
ИЛИ НЕ ОтчетныйПериод = "03" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "<=";
НазваниеПоказателяЛевойЧасти = "выплаты и иные вознаграждения в пользу работников, на которые начисляются страховые взносы (в т.ч. выплаты в пользу работающих инвалидов)";
НазваниеПоказателяПравойЧасти = "выплаты и иные вознаграждения в пользу работников, на которые начисляются страховые взносы (всего)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 1 таблицы 6 должно быть " + Знак + " значению показателя по графе 3 строки 1 таблицы 6.";
ЛеваяЧасть = Раздел2Таблица6.П000060001104;
ПраваяЧасть = Раздел2Таблица6.П000060001103;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "выплаты и иные вознаграждения в пользу работников, на которые начисляются страховые взносы (в т.ч. выплаты в пользу работающих инвалидов)";
НазваниеПоказателяПравойЧасти = "из них: работающих инвалидов";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 1 таблицы 6 должно быть " + Знак + " 0, если значение показателя ""из них: работающих инвалидов"" в титульном листе = 0.";
ЛеваяЧасть = Раздел2Таблица6.П000060001104;
ИзНихРаботающихИнвалидов = СокрЛП(Титульный.ЧислИнвалидов);
ИзНихРаботающихИнвалидов = ?(ЗначениеЗаполнено(ИзНихРаботающихИнвалидов), ИзНихРаботающихИнвалидов, 0);
ПраваяЧасть = ИзНихРаботающихИнвалидов;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда " + Строка(ИзНихРаботающихИнвалидов) + " = 0";
Если ЛеваяЧасть = 0
И ИзНихРаботающихИнвалидов = 0
ИЛИ НЕ ИзНихРаботающихИнвалидов = 0 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "выплаты и иные вознаграждения в пользу работников, на которые не начисляются страховые взносы";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 1 таблицы 6 должно быть " + Знак + " 0.";
ЛеваяЧасть = Раздел2Таблица6.П000060001105;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0";
Если ЛеваяЧасть >= 0 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "выплаты и иные вознаграждения в пользу работников, на которые не начисляются страховые взносы";
НазваниеПоказателяПравойЧасти = "выплаты и иные вознаграждения в пользу работников, на которые не начисляются страховые взносы";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 1 таблицы 6 должно быть " + Знак + " значению показателя по графе 5 строки 2 таблицы 6, если расчет за 1-й квартал.";
ЛеваяЧасть = Раздел2Таблица6.П000060001105;
ОтчетныйПериод = СокрЛП(Титульный.Период);
ПраваяЧасть = Раздел2Таблица6.П000060001205;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + ", когда """ + ОтчетныйПериод + """ = ""03""";
Если ЛеваяЧасть = ПраваяЧасть И ОтчетныйПериод = "03"
ИЛИ НЕ ОтчетныйПериод = "03" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "выплаты и иные вознаграждения в пользу работников, на которые начисляются страховые взносы (всего)";
НазваниеПоказателяПравойЧасти = "выплаты и иные вознаграждения в пользу работников, на которые начисляются страховые взносы (всего)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 2 таблицы 6 должно быть " + Знак + " сумме значений показателей по строкам 3, 4, 5 графы 3 таблицы 6.";
ЛеваяЧасть = Раздел2Таблица6.П000060001203;
ПраваяЧасть = Раздел2Таблица6.П000060001303 + Раздел2Таблица6.П000060001403 + Раздел2Таблица6.П000060001503;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "выплаты и иные вознаграждения в пользу работников, на которые начисляются страховые взносы (в т.ч. выплаты в пользу работающих инвалидов)";
НазваниеПоказателяПравойЧасти = "выплаты и иные вознаграждения в пользу работников, на которые начисляются страховые взносы (в т.ч. выплаты в пользу работающих инвалидов)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 2 таблицы 6 должно быть " + Знак + " сумме значений показателей по строкам 3, 4, 5 графы 4 таблицы 6.";
ЛеваяЧасть = Раздел2Таблица6.П000060001204;
ПраваяЧасть = Раздел2Таблица6.П000060001304 + Раздел2Таблица6.П000060001404 + Раздел2Таблица6.П000060001504;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "выплаты и иные вознаграждения в пользу работников, на которые начисляются страховые взносы (на которые не начисляются страховые взносы)";
НазваниеПоказателяПравойЧасти = "выплаты и иные вознаграждения в пользу работников, на которые начисляются страховые взносы (на которые не начисляются страховые взносы)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 5 строки 2 таблицы 6 должно быть " + Знак + " сумме значений показателей по строкам 3, 4, 5 графы 5 таблицы 6.";
ЛеваяЧасть = Раздел2Таблица6.П000060001205;
ПраваяЧасть = Раздел2Таблица6.П000060001305 + Раздел2Таблица6.П000060001405 + Раздел2Таблица6.П000060001505;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Если ОбщееЧислоОшибок + ОбщееЧислоБезОшибок > 0 Тогда
СтруктураРезультата.Вставить("КоличествоНайденныхОшибок", ОбщееЧислоОшибок);
СтруктураРезультата.Вставить("КоличествоНайденныхБезОшибок", ОбщееЧислоБезОшибок);
СтруктураРезультата.Вставить("СтруктураОшибок", СтруктураОшибок);
КонецЕсли;
КонецФункции
&НаСервере
Функция ПроверкаТаблицы7Раздела2(СтруктураРезультата)
ОбщееЧислоОшибок = СтруктураРезультата.КоличествоНайденныхОшибок;
ОбщееЧислоБезОшибок = СтруктураРезультата.КоличествоНайденныхБезОшибок;
СтруктураОшибок = СтруктураРезультата.СтруктураОшибок;
Титульный = мДанныеОтчета.ПолеТабличногоДокументаТитульный;
Раздел2Таблица6 = мДанныеОтчета.ПолеТабличногоДокументаРаздел2_6_7;
Раздел2Таблица7 = мДанныеОтчета.ПолеТабличногоДокументаРаздел2_6_7;
Раздел2Таблица8 = мДанныеОтчета.ПолеТабличногоДокументаРаздел2_8_9;
ТекстФормулы = "Проверка таблицы 7 раздела 2";
Знак = "=";
НазваниеПоказателяЛевойЧасти = "на начало отчетного периода";
НазваниеПоказателяПравойЧасти = "отчетный период";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 7 должно быть " + Знак + " 0, если расчет за 1-й квартал.";
ЛеваяЧасть = Раздел2Таблица7.П000070002001;
ОтчетныйПериод = СокрЛП(Титульный.Период);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ОтчетныйПериод + """ = ""03""";
Если ЛеваяЧасть = 0 И ОтчетныйПериод = "03"
ИЛИ НЕ ОтчетныйПериод = "03" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "сумма";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 2 таблицы 7 должно быть " + Знак + " сумме значений показателей по графе 1 строки 2 таблицы 7 ""на начало отчетного периода"" и ""за последние три месяца отчетного периода"".";
ЛеваяЧасть = Раздел2Таблица7.П000070002003;
ПраваяЧасть = Раздел2Таблица7.П000070002001 + Раздел2Таблица7.П000070002401;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
Знак = "=";
НазваниеПоказателяЛевойЧасти = "1 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 7 должно быть " + Знак + " значение показателя по графе 6 таблицы 6 * (значение показателя по графе 3 строки 3 таблицы 6 - значение показателя по графе 4 строки 3 таблицы 6) + (значение показателя по графе 6 таблицы 6 * 60% * значение показателя по графе 4 строки 3 таблицы 6) +- 1 рубль, если последняя цифра кода подчиненности в титульном листе = 1 или = 2, раздел ""самостоятельные классификационные единицы"" отсутствует, значение показателя по графе 7 таблицы 6 <= 0, дата в таблице 6 графе 8 >= первой даты месяца либо дата отсутствует (ни скидка, ни надбавка не учитываются).";
ЛеваяЧасть = Раздел2Таблица7.П000070002101;
ПраваяЧасть = Раздел2Таблица6.П000060001006 / 100 * (Раздел2Таблица6.П000060001303 - Раздел2Таблица6.П000060001304) + Раздел2Таблица6.П000060001006 / 100 * 60 / 100 * Раздел2Таблица6.П000060001304;
ПоследняяЦифраКодаПодчиненности = СокрЛП(Прав(Титульный.КодПодчиненности, 1));
ПерваяДатаМесяца = НачалоМесяца(ДобавитьМесяц(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета, -2));
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + ", когда """ + ПоследняяЦифраКодаПодчиненности + """ = ""1"" или = ""2"", " + Раздел2Таблица6.П000060001007 + " <= 0, """ + Формат(Раздел2Таблица6.П000060001008, "ДЛФ=Д") + """ >= """ + Формат(ПерваяДатаМесяца, "ДЛФ=Д") + """ либо = пустое значение";
Если (ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1
И (ПоследняяЦифраКодаПодчиненности = "1" ИЛИ ПоследняяЦифраКодаПодчиненности = "2")
И (Раздел2Таблица6.П000060001007 <= 0)
И (Раздел2Таблица6.П000060001008 >= ПерваяДатаМесяца ИЛИ НЕ ЗначениеЗаполнено(Раздел2Таблица6.П000060001008)))
ИЛИ ((НЕ ПоследняяЦифраКодаПодчиненности = "1" И НЕ ПоследняяЦифраКодаПодчиненности = "2")
ИЛИ НЕ (Раздел2Таблица6.П000060001007 <= 0)
ИЛИ (НЕ Раздел2Таблица6.П000060001008 >= ПерваяДатаМесяца И ЗначениеЗаполнено(Раздел2Таблица6.П000060001008))) Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
КонецЕсли;
НазваниеПоказателяЛевойЧасти = "2 месяц";
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 7 должно быть " + Знак + " значение показателя по графе 6 таблицы 6 * (значение показателя по графе 3 строки 4 таблицы 6 - значение показателя по графе 4 строки 4 таблицы 6) + (значение показателя по графе 6 таблицы 6 * 60% * значение показателя по графе 4 строки 4 таблицы 6) +- 1 рубль, если последняя цифра кода подчиненности в титульном листе = 1 или = 2, раздел ""самостоятельные классификационные единицы"" отсутствует, значение показателя по графе 7 таблицы 6 <= 0, дата в таблице 6 графе 8 >= первой даты месяца либо дата отсутствует (ни скидка, ни надбавка не учитываются).";
Иначе
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 7 должно быть " + Знак + " значение показателя по графе 10 таблицы 6 * (значение показателя по графе 3 строки 4 таблицы 6 - значение показателя по графе 4 строки 4 таблицы 6) + (значение показателя по графе 10 таблицы 6 * 60% * значение показателя по графе 4 строки 4 таблицы 6) +- 1 рубль, если раздел ""самостоятельные классификационные единицы"" отсутствует.";
КонецЕсли;
ЛеваяЧасть = Раздел2Таблица7.П000070002201;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ПраваяЧасть = Раздел2Таблица6.П000060001006 / 100 * (Раздел2Таблица6.П000060001403 - Раздел2Таблица6.П000060001404) + Раздел2Таблица6.П000060001006 / 100 * 60 / 100 * Раздел2Таблица6.П000060001404;
Иначе
ПраваяЧасть = Раздел2Таблица6.П000060001010 / 100 * (Раздел2Таблица6.П000060001403 - Раздел2Таблица6.П000060001404) + Раздел2Таблица6.П000060001010 / 100 * 60 / 100 * Раздел2Таблица6.П000060001404;
КонецЕсли;
ПоследняяЦифраКодаПодчиненности = СокрЛП(Прав(Титульный.КодПодчиненности, 1));
ПерваяДатаМесяца = НачалоМесяца(ДобавитьМесяц(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета, -1));
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + ", когда """ + ПоследняяЦифраКодаПодчиненности + """ = ""1"" или = ""2"", " + Раздел2Таблица6.П000060001007 + " <= 0, """ + Формат(Раздел2Таблица6.П000060001008, "ДЛФ=Д") + """ >= """ + Формат(ПерваяДатаМесяца, "ДЛФ=Д") + """ либо = пустое значение";
Иначе
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
КонецЕсли;
Если НЕ (Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013) Тогда
УсловиеВыполнено = Истина;
Иначе
УсловиеВыполнено = (ПоследняяЦифраКодаПодчиненности = "1" ИЛИ ПоследняяЦифраКодаПодчиненности = "2")
И (Раздел2Таблица6.П000060001007 <= 0)
И (Раздел2Таблица6.П000060001008 >= ПерваяДатаМесяца ИЛИ НЕ ЗначениеЗаполнено(Раздел2Таблица6.П000060001008));
КонецЕсли;
Если НЕ УсловиеВыполнено ИЛИ (УсловиеВыполнено И (ЛеваяЧасть >= ПраваяЧасть - 1 И ЛеваяЧасть <= ПраваяЧасть + 1)) Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "3 месяц";
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 7 должно быть " + Знак + " значение показателя по графе 6 таблицы 6 * (значение показателя по графе 3 строки 5 таблицы 6 - значение показателя по графе 4 строки 5 таблицы 6) + (значение показателя по графе 6 таблицы 6 * 60% * значение показателя по графе 4 строки 5 таблицы 6) +- 1 рубль, если последняя цифра кода подчиненности в титульном листе = 1 или = 2, раздел ""самостоятельные классификационные единицы"" отсутствует, значение показателя по графе 7 таблицы 6 <= 0, дата в таблице 6 графе 8 >= первой даты месяца либо дата отсутствует (ни скидка, ни надбавка не учитываются).";
Иначе
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 7 должно быть " + Знак + " значение показателя по графе 10 таблицы 6 * (значение показателя по графе 3 строки 5 таблицы 6 - значение показателя по графе 4 строки 5 таблицы 6) + (значение показателя по графе 10 таблицы 6 * 60% * значение показателя по графе 4 строки 5 таблицы 6) +- 1 рубль, если раздел ""самостоятельные классификационные единицы"" отсутствует.";
КонецЕсли;
ЛеваяЧасть = Раздел2Таблица7.П000070002301;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ПраваяЧасть = Раздел2Таблица6.П000060001006 / 100 * (Раздел2Таблица6.П000060001503 - Раздел2Таблица6.П000060001504) + Раздел2Таблица6.П000060001006 / 100 * 60 / 100 * Раздел2Таблица6.П000060001504;
Иначе
ПраваяЧасть = Раздел2Таблица6.П000060001010 / 100 * (Раздел2Таблица6.П000060001503 - Раздел2Таблица6.П000060001504) + Раздел2Таблица6.П000060001010 / 100 * 60 / 100 * Раздел2Таблица6.П000060001504;
КонецЕсли;
ПоследняяЦифраКодаПодчиненности = СокрЛП(Прав(Титульный.КодПодчиненности, 1));
ПерваяДатаМесяца = НачалоМесяца(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета);
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + ", когда """ + ПоследняяЦифраКодаПодчиненности + """ = ""1"" или = ""2"", " + Раздел2Таблица6.П000060001007 + " <= 0, """ + Формат(Раздел2Таблица6.П000060001008, "ДЛФ=Д") + """ >= """ + Формат(ПерваяДатаМесяца, "ДЛФ=Д") + """ либо = пустое значение";
Иначе
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть)
КонецЕсли;
Если НЕ (Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013) Тогда
УсловиеВыполнено = Истина;
Иначе
УсловиеВыполнено = (ПоследняяЦифраКодаПодчиненности = "1" ИЛИ ПоследняяЦифраКодаПодчиненности = "2")
И (Раздел2Таблица6.П000060001007 <= 0)
И (Раздел2Таблица6.П000060001008 >= ПерваяДатаМесяца ИЛИ НЕ ЗначениеЗаполнено(Раздел2Таблица6.П000060001008));
КонецЕсли;
Если НЕ УсловиеВыполнено ИЛИ (УсловиеВыполнено И (ЛеваяЧасть >= ПраваяЧасть - 1 И ЛеваяЧасть <= ПраваяЧасть + 1)) Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяЛевойЧасти = "1 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 7 должно быть " + Знак + " значение показателя по графе 10 таблицы 6 * (значение показателя по графе 3 строки 3 таблицы 6 - значение показателя по графе 4 строки 3 таблицы 6) + (значение показателя по графе 10 таблицы 6 * 60% * значение показателя по графе 4 строки 3 таблицы 6) +- 1 рубль, если последняя цифра кода подчиненности в титульном листе = 1 или = 2, раздел ""самостоятельные классификационные единицы"" отсутствует и либо значение показателя по графе 7 таблицы 6 > 0, либо дата в таблице 6 графе 8 < первой даты месяца (либо скидка, либо надбавка учитывается).";
ЛеваяЧасть = Раздел2Таблица7.П000070002101;
ПраваяЧасть = Раздел2Таблица6.П000060001010 / 100 * (Раздел2Таблица6.П000060001303 - Раздел2Таблица6.П000060001304) + Раздел2Таблица6.П000060001010 / 100 * 60 / 100 * Раздел2Таблица6.П000060001304;
ПоследняяЦифраКодаПодчиненности = СокрЛП(Прав(Титульный.КодПодчиненности, 1));
ПерваяДатаМесяца = НачалоМесяца(ДобавитьМесяц(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета, -2));
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + ", когда """ + ПоследняяЦифраКодаПодчиненности + """ = ""1"" или = ""2"", либо " + Раздел2Таблица6.П000060001007 + " > 0, либо """ + Формат(Раздел2Таблица6.П000060001008, "ДЛФ=Д") + """ < """ + Формат(ПерваяДатаМесяца, "ДЛФ=Д") + """";
Если (ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1
И (ПоследняяЦифраКодаПодчиненности = "1" ИЛИ ПоследняяЦифраКодаПодчиненности = "2")
И (Раздел2Таблица6.П000060001007 > 0 ИЛИ Раздел2Таблица6.П000060001008 < ПерваяДатаМесяца))
ИЛИ ((НЕ ПоследняяЦифраКодаПодчиненности = "1" И НЕ ПоследняяЦифраКодаПодчиненности = "2")
ИЛИ (НЕ Раздел2Таблица6.П000060001007 > 0 И НЕ Раздел2Таблица6.П000060001008 < ПерваяДатаМесяца)) Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
КонецЕсли;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяЛевойЧасти = "2 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 7 должно быть " + Знак + " значение показателя по графе 10 таблицы 6 * (значение показателя по графе 3 строки 4 таблицы 6 - значение показателя по графе 4 строки 4 таблицы 6) + (значение показателя по графе 10 таблицы 6 * 60% * значение показателя по графе 4 строки 4 таблицы 6) +- 1 рубль, если последняя цифра кода подчиненности в титульном листе = 1 или = 2, раздел ""самостоятельные классификационные единицы"" отсутствует и либо значение показателя по графе 7 таблицы 6 > 0, либо дата в таблице 6 графе 8 < первой даты месяца (либо скидка, либо надбавка учитывается).";
Иначе
НазваниеПоказателяЛевойЧасти = "Начислено к уплате страховых взносов";
ОписаниеКС = "Значение показателя по графе 3 строки 2 таблицы 7 должно быть " + Знак + " значение показателя по графе 10 таблицы 6 * (значение показателя по графе 3 строки 1 таблицы 6 - значение показателя по графе 4 строки 1 таблицы 6) + (значение показателя по графе 10 таблицы 6 * 60% * значение показателя по графе 4 строки 1 таблицы 6) +- 1 рубль, если раздел ""самостоятельные классификационные единицы"" отсутствует.";
КонецЕсли;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ЛеваяЧасть = Раздел2Таблица7.П000070002001;
Иначе
ЛеваяЧасть = Раздел2Таблица7.П000070002003;
КонецЕсли;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
ПраваяЧасть = Раздел2Таблица6.П000060001010 / 100 * (Раздел2Таблица6.П000060001403 - Раздел2Таблица6.П000060001404) + Раздел2Таблица6.П000060001010 / 100 * 60 / 100 * Раздел2Таблица6.П000060001404;
Иначе
ПраваяЧасть = Раздел2Таблица6.П000060001010 / 100 * (Раздел2Таблица6.П000060001103 - Раздел2Таблица6.П000060001104) + Раздел2Таблица6.П000060001010 / 100 * 60 / 100 * Раздел2Таблица6.П000060001104;
КонецЕсли;
ПоследняяЦифраКодаПодчиненности = СокрЛП(Прав(Титульный.КодПодчиненности, 1));
ПерваяДатаМесяца = НачалоМесяца(ДобавитьМесяц(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета, -1));
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + ", когда """ + ПоследняяЦифраКодаПодчиненности + """ = ""1"" или = ""2"", либо " + Раздел2Таблица6.П000060001007 + " > 0, либо """ + Формат(Раздел2Таблица6.П000060001008, "ДЛФ=Д") + """ < """ + Формат(ПерваяДатаМесяца, "ДЛФ=Д") + """";
Иначе
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
КонецЕсли;
Если НЕ (Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013) Тогда
УсловиеВыполнено = Истина;
Иначе
УсловиеВыполнено = (ПоследняяЦифраКодаПодчиненности = "1" ИЛИ ПоследняяЦифраКодаПодчиненности = "2")
И (Раздел2Таблица6.П000060001007 > 0 ИЛИ Раздел2Таблица6.П000060001008 < ПерваяДатаМесяца);
КонецЕсли;
Если НЕ УсловиеВыполнено ИЛИ (УсловиеВыполнено И (ЛеваяЧасть >= ПраваяЧасть - 1 И ЛеваяЧасть <= ПраваяЧасть + 1)) Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяЛевойЧасти = "3 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 7 должно быть " + Знак + " значение показателя по графе 10 таблицы 6 * (значение показателя по графе 3 строки 5 таблицы 6 - значение показателя по графе 4 строки 5 таблицы 6) + (значение показателя по графе 10 таблицы 6 * 60% * значение показателя по графе 4 строки 5 таблицы 6) +- 1 рубль, если последняя цифра кода подчиненности в титульном листе = 1 или = 2, раздел ""самостоятельные классификационные единицы"" отсутствует и либо значение показателя по графе 7 таблицы 6 > 0, либо дата в таблице 6 графе 8 < первой даты месяца (либо скидка, либо надбавка учитывается).";
ЛеваяЧасть = Раздел2Таблица7.П000070002301;
ПраваяЧасть = Раздел2Таблица6.П000060001010 / 100 * (Раздел2Таблица6.П000060001503 - Раздел2Таблица6.П000060001504) + Раздел2Таблица6.П000060001010 / 100 * 60 / 100 * Раздел2Таблица6.П000060001504;
ПоследняяЦифраКодаПодчиненности = СокрЛП(Прав(Титульный.КодПодчиненности, 1));
ПерваяДатаМесяца = НачалоМесяца(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + ", когда """ + ПоследняяЦифраКодаПодчиненности + """ = ""1"" или = ""2"", либо " + Раздел2Таблица6.П000060001007 + " > 0, либо """ + Формат(Раздел2Таблица6.П000060001008, "ДЛФ=Д") + """ < """ + Формат(ПерваяДатаМесяца, "ДЛФ=Д") + """";
Если (ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1
И (ПоследняяЦифраКодаПодчиненности = "1" ИЛИ ПоследняяЦифраКодаПодчиненности = "2")
И (Раздел2Таблица6.П000060001007 > 0 ИЛИ Раздел2Таблица6.П000060001008 < ПерваяДатаМесяца))
ИЛИ ((НЕ ПоследняяЦифраКодаПодчиненности = "1" И НЕ ПоследняяЦифраКодаПодчиненности = "2")
ИЛИ (НЕ Раздел2Таблица6.П000060001007 > 0 И НЕ Раздел2Таблица6.П000060001008 < ПерваяДатаМесяца)) Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
КонецЕсли;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяЛевойЧасти = "1 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 7 должно быть " + Знак + " (значение показателя по графе 6 таблицы 6 * значение показателя по графе 3 строки 3 таблицы 6) +- 1 рубль, если последняя цифра кода подчиненности в титульном листе = 3, раздел ""самостоятельные классификационные единицы"" отсутствует, значение показателя по графе 7 таблицы 6 <= 0, дата в таблице 6 графе 8 >= первой даты месяца либо дата отсутствует (ни скидка, ни надбавка не учитываются).";
ЛеваяЧасть = Раздел2Таблица7.П000070002101;
ПраваяЧасть = Раздел2Таблица6.П000060001006 / 100 * Раздел2Таблица6.П000060001303;
ПоследняяЦифраКодаПодчиненности = СокрЛП(Прав(Титульный.КодПодчиненности, 1));
ПерваяДатаМесяца = НачалоМесяца(ДобавитьМесяц(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета, -2));
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + ", когда """ + ПоследняяЦифраКодаПодчиненности + """ = ""3"", " + Раздел2Таблица6.П000060001007 + " <= 0, """ + Формат(Раздел2Таблица6.П000060001008, "ДЛФ=Д") + """ >= """ + Формат(ПерваяДатаМесяца, "ДЛФ=Д") + """ либо = пустое значение";
Если (ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1
И (ПоследняяЦифраКодаПодчиненности = "3")
И (Раздел2Таблица6.П000060001007 <= 0 )
И (Раздел2Таблица6.П000060001008 >= ПерваяДатаМесяца ИЛИ НЕ ЗначениеЗаполнено(Раздел2Таблица6.П000060001008)))
ИЛИ (НЕ ПоследняяЦифраКодаПодчиненности = "3"
ИЛИ НЕ (Раздел2Таблица6.П000060001007 <= 0 )
ИЛИ (НЕ Раздел2Таблица6.П000060001008 >= ПерваяДатаМесяца И ЗначениеЗаполнено(Раздел2Таблица6.П000060001008))) Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
КонецЕсли;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяЛевойЧасти = "2 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 7 должно быть " + Знак + " (значение показателя по графе 6 таблицы 6 * значение показателя по графе 3 строки 4 таблицы 6) +- 1 рубль, если последняя цифра кода подчиненности в титульном листе = 3, раздел ""самостоятельные классификационные единицы"" отсутствует, значение показателя по графе 7 таблицы 6 <= 0, дата в таблице 6 графе 8 >= первой даты месяца либо дата отсутствует (ни скидка, ни надбавка не учитываются).";
ЛеваяЧасть = Раздел2Таблица7.П000070002201;
ПраваяЧасть = Раздел2Таблица6.П000060001006 / 100 * Раздел2Таблица6.П000060001403;
ПоследняяЦифраКодаПодчиненности = СокрЛП(Прав(Титульный.КодПодчиненности, 1));
ПерваяДатаМесяца = НачалоМесяца(ДобавитьМесяц(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета, -1));
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + ", когда """ + ПоследняяЦифраКодаПодчиненности + """ = ""3"", " + Раздел2Таблица6.П000060001007 + " <= 0, """ + Формат(Раздел2Таблица6.П000060001008, "ДЛФ=Д") + """ >= """ + Формат(ПерваяДатаМесяца, "ДЛФ=Д") + """ либо = пустое значение";
Если (ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1
И (ПоследняяЦифраКодаПодчиненности = "3")
И (Раздел2Таблица6.П000060001007 <= 0 )
И (Раздел2Таблица6.П000060001008 >= ПерваяДатаМесяца ИЛИ НЕ ЗначениеЗаполнено(Раздел2Таблица6.П000060001008)))
ИЛИ (НЕ ПоследняяЦифраКодаПодчиненности = "3"
ИЛИ НЕ (Раздел2Таблица6.П000060001007 <= 0 )
ИЛИ (НЕ Раздел2Таблица6.П000060001008 >= ПерваяДатаМесяца И ЗначениеЗаполнено(Раздел2Таблица6.П000060001008))) Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
КонецЕсли;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяЛевойЧасти = "3 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 7 должно быть " + Знак + " (значение показателя по графе 6 таблицы 6 * значение показателя по графе 3 строки 5 таблицы 6) +- 1 рубль, если последняя цифра кода подчиненности в титульном листе = 3, раздел ""самостоятельные классификационные единицы"" отсутствует, значение показателя по графе 7 таблицы 6 <= 0, дата в таблице 6 графе 8 >= первой даты месяца либо дата отсутствует (ни скидка, ни надбавка не учитываются).";
ЛеваяЧасть = Раздел2Таблица7.П000070002301;
ПраваяЧасть = Раздел2Таблица6.П000060001006 / 100 * Раздел2Таблица6.П000060001503;
ПоследняяЦифраКодаПодчиненности = СокрЛП(Прав(Титульный.КодПодчиненности, 1));
ПерваяДатаМесяца = НачалоМесяца(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + ", когда """ + ПоследняяЦифраКодаПодчиненности + """ = ""3"", " + Раздел2Таблица6.П000060001007 + " <= 0, """ + Формат(Раздел2Таблица6.П000060001008, "ДЛФ=Д") + """ >= """ + Формат(ПерваяДатаМесяца, "ДЛФ=Д") + """ либо = пустое значение";
Если (ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1
И (ПоследняяЦифраКодаПодчиненности = "3")
И (Раздел2Таблица6.П000060001007 <= 0 )
И (Раздел2Таблица6.П000060001008 >= ПерваяДатаМесяца ИЛИ НЕ ЗначениеЗаполнено(Раздел2Таблица6.П000060001008)))
ИЛИ (НЕ ПоследняяЦифраКодаПодчиненности = "3"
ИЛИ НЕ (Раздел2Таблица6.П000060001007 <= 0 )
ИЛИ (НЕ Раздел2Таблица6.П000060001008 >= ПерваяДатаМесяца И ЗначениеЗаполнено(Раздел2Таблица6.П000060001008))) Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
КонецЕсли;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяЛевойЧасти = "1 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 7 должно быть " + Знак + " (значение показателя по графе 10 таблицы 6 * значение показателя по графе 3 строки 3 таблицы 6) +- 1 рубль, если последняя цифра кода подчиненности в титульном листе = 3, раздел ""самостоятельные классификационные единицы"" отсутствует и либо значение показателя по графе 7 таблицы 6 > 0, либо дата в таблице 6 графе 8 < первой даты месяца (либо скидка, либо надбавка учитывается).";
ЛеваяЧасть = Раздел2Таблица7.П000070002101;
ПраваяЧасть = Раздел2Таблица6.П000060001010 / 100 * Раздел2Таблица6.П000060001303;
ПоследняяЦифраКодаПодчиненности = СокрЛП(Прав(Титульный.КодПодчиненности, 1));
ПерваяДатаМесяца = НачалоМесяца(ДобавитьМесяц(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета, -2));
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + ", когда """ + ПоследняяЦифраКодаПодчиненности + """ = ""3"", либо " + Раздел2Таблица6.П000060001007 + " > 0, либо """ + Формат(Раздел2Таблица6.П000060001008, "ДЛФ=Д") + """ < """ + Формат(ПерваяДатаМесяца, "ДЛФ=Д") + """";
Если (ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1
И (ПоследняяЦифраКодаПодчиненности = "3")
И (Раздел2Таблица6.П000060001007 > 0 ИЛИ Раздел2Таблица6.П000060001008 < ПерваяДатаМесяца))
ИЛИ НЕ ПоследняяЦифраКодаПодчиненности = "3"
ИЛИ (НЕ Раздел2Таблица6.П000060001007 > 0 И НЕ Раздел2Таблица6.П000060001008 < ПерваяДатаМесяца) Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
КонецЕсли;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяЛевойЧасти = "2 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 7 должно быть " + Знак + " (значение показателя по графе 10 таблицы 6 * значение показателя по графе 3 строки 4 таблицы 6) +- 1 рубль, если последняя цифра кода подчиненности в титульном листе = 3, раздел ""самостоятельные классификационные единицы"" отсутствует и либо значение показателя по графе 7 таблицы 6 > 0, либо дата в таблице 6 графе 8 < первой даты месяца (либо скидка, либо надбавка учитывается).";
ЛеваяЧасть = Раздел2Таблица7.П000070002201;
ПраваяЧасть = Раздел2Таблица6.П000060001010 / 100 * Раздел2Таблица6.П000060001403;
ПоследняяЦифраКодаПодчиненности = СокрЛП(Прав(Титульный.КодПодчиненности, 1));
ПерваяДатаМесяца = НачалоМесяца(ДобавитьМесяц(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета, -1));
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + ", когда """ + ПоследняяЦифраКодаПодчиненности + """ = ""3"", либо " + Раздел2Таблица6.П000060001007 + " > 0, либо """ + Формат(Раздел2Таблица6.П000060001008, "ДЛФ=Д") + """ < """ + Формат(ПерваяДатаМесяца, "ДЛФ=Д") + """";
Если (ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1
И (ПоследняяЦифраКодаПодчиненности = "3")
И (Раздел2Таблица6.П000060001007 > 0 ИЛИ Раздел2Таблица6.П000060001008 < ПерваяДатаМесяца))
ИЛИ НЕ ПоследняяЦифраКодаПодчиненности = "3"
ИЛИ (НЕ Раздел2Таблица6.П000060001007 > 0 И НЕ Раздел2Таблица6.П000060001008 < ПерваяДатаМесяца) Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
КонецЕсли;
Если Год(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета) < 2013 Тогда
НазваниеПоказателяЛевойЧасти = "3 месяц";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 2 таблицы 7 должно быть " + Знак + " (значение показателя по графе 10 таблицы 6 * значение показателя по графе 3 строки 5 таблицы 6) +- 1 рубль, если последняя цифра кода подчиненности в титульном листе = 3, раздел ""самостоятельные классификационные единицы"" отсутствует и либо значение показателя по графе 7 таблицы 6 > 0, либо дата в таблице 6 графе 8 < первой даты месяца (либо скидка, либо надбавка учитывается).";
ЛеваяЧасть = Раздел2Таблица7.П000070002301;
ПраваяЧасть = Раздел2Таблица6.П000060001010 / 100 * Раздел2Таблица6.П000060001503;
ПоследняяЦифраКодаПодчиненности = СокрЛП(Прав(Титульный.КодПодчиненности, 1));
ПерваяДатаМесяца = НачалоМесяца(СтруктураРеквизитовФормы.мДатаКонцаПериодаОтчета);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + ", когда """ + ПоследняяЦифраКодаПодчиненности + " = ""3"", либо " + Раздел2Таблица6.П000060001007 + " > 0, либо """ + Формат(Раздел2Таблица6.П000060001008, "ДЛФ=Д") + """ < """ + Формат(ПерваяДатаМесяца, "ДЛФ=Д") + """";
Если (ЛеваяЧасть >= ПраваяЧасть - 1
И ЛеваяЧасть <= ПраваяЧасть + 1
И (ПоследняяЦифраКодаПодчиненности = "3")
И (Раздел2Таблица6.П000060001007 > 0 ИЛИ Раздел2Таблица6.П000060001008 < ПерваяДатаМесяца))
ИЛИ НЕ ПоследняяЦифраКодаПодчиненности = "3"
ИЛИ (НЕ Раздел2Таблица6.П000060001007 > 0 И НЕ Раздел2Таблица6.П000060001008 < ПерваяДатаМесяца) Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
КонецЕсли;
НазваниеПоказателяЛевойЧасти = "сумма";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 8 таблицы 7 должно быть " + Знак + " сумме значений показателей по строкам 1-7 графы 3 таблицы 7.";
ЛеваяЧасть = Раздел2Таблица7.П000070008003;
ПраваяЧасть = Раздел2Таблица7.П000070001003 + Раздел2Таблица7.П000070002003 + Раздел2Таблица7.П000070003003 + Раздел2Таблица7.П000070004003 + Раздел2Таблица7.П000070005003 + Раздел2Таблица7.П000070006003 + Раздел2Таблица7.П000070007003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "сумма";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 9 таблицы 7 должно быть " + Знак + " значение показателя по графе 3 строки 14 таблицы 7 - значение показателя по графе 3 строки 8 таблицы 7, если значение показателя по графе 3 строки 14 таблицы 7 > значения показателя по графе 3 строки 8 таблицы 7.";
ЛеваяЧасть = Раздел2Таблица7.П000070009003;
ПраваяЧасть = Раздел2Таблица7.П000070014003 - Раздел2Таблица7.П000070008003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + ", когда " + Строка(Раздел2Таблица7.П000070014003) + " > " + Строка(Раздел2Таблица7.П000070008003);
Если (ЛеваяЧасть = ПраваяЧасть
И Раздел2Таблица7.П000070014003 > Раздел2Таблица7.П000070008003)
ИЛИ НЕ Раздел2Таблица7.П000070014003 > Раздел2Таблица7.П000070008003 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "сумма";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 9 таблицы 7 должно быть " + Знак + " 0, если значение показателя по графе 3 строки 14 таблицы 7 <= значения показателя по графе 3 строки 8 таблицы 7.";
ЛеваяЧасть = Раздел2Таблица7.П000070009003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда " + Строка(Раздел2Таблица7.П000070014003) + " <= " + Строка(Раздел2Таблица7.П000070008003);
Если (ЛеваяЧасть = 0
И Раздел2Таблица7.П000070014003 <= Раздел2Таблица7.П000070008003)
ИЛИ НЕ Раздел2Таблица7.П000070014003 <= Раздел2Таблица7.П000070008003 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "на начало отчетного периода";
НазваниеПоказателяПравойЧасти = "отчетный период";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 11 таблицы 7 должно быть " + Знак + " 0, если расчет за 1-й квартал.";
ЛеваяЧасть = Раздел2Таблица7.П000070011001;
ОтчетныйПериод = СокрЛП(Титульный.Период);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ОтчетныйПериод + """ = ""03""";
Если ЛеваяЧасть = 0 И ОтчетныйПериод = "03"
ИЛИ НЕ ОтчетныйПериод = "03" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "сумма";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 11 таблицы 7 должно быть " + Знак + " сумме значений показателей по графе 1 строки 11 таблицы 7 ""на начало отчетного периода"" и ""за последние три месяца отчетного периода"".";
ЛеваяЧасть = Раздел2Таблица7.П000070011003;
ПраваяЧасть = Раздел2Таблица7.П000070011001 + Раздел2Таблица7.П000070011401;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "сумма";
НазваниеПоказателяПравойЧасти = "сумма";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 11 таблицы 7 должно быть " + Знак + " значению показателя по графе 4 строки 10 таблицы 8.";
ЛеваяЧасть = Раздел2Таблица7.П000070011003;
ПраваяЧасть = Раздел2Таблица8.П000080010004;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "на начало отчетного периода";
НазваниеПоказателяПравойЧасти = "отчетный период";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 1 строки 12 таблицы 7 должно быть " + Знак + " 0, если расчет за 1-й квартал.";
ЛеваяЧасть = Раздел2Таблица7.П000070012001;
ОтчетныйПериод = СокрЛП(Титульный.Период);
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда """ + ОтчетныйПериод + """ = ""03""";
Если ЛеваяЧасть = 0 И ОтчетныйПериод = "03"
ИЛИ НЕ ОтчетныйПериод = "03" Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "сумма";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 12 таблицы 7 должно быть " + Знак + " сумме значений показателей по графе 1 строки 12 таблицы 7 ""на начало отчетного периода"" и ""за последние три месяца отчетного периода"".";
ЛеваяЧасть = Раздел2Таблица7.П000070012003;
ПраваяЧасть = Раздел2Таблица7.П000070012001 + Раздел2Таблица7.П000070012401;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "сумма";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 14 таблицы 7 должно быть " + Знак + " сумме значений показателей по строкам 10 - 13 графы 3 таблицы 7.";
ЛеваяЧасть = Раздел2Таблица7.П000070014003;
ПраваяЧасть = Раздел2Таблица7.П000070010003 + Раздел2Таблица7.П000070011003 + Раздел2Таблица7.П000070012003 + Раздел2Таблица7.П000070013003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "сумма";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 15 таблицы 7 должно быть " + Знак + " значение показателя по графе 3 строки 8 таблицы 7 - значение показателя по графе 3 строки 14 таблицы 7, если значение показателя по графе 3 строки 8 таблицы 7 > значения показателя по графе 3 строки 14 таблицы 7.";
ЛеваяЧасть = Раздел2Таблица7.П000070015003;
ПраваяЧасть = Раздел2Таблица7.П000070008003 - Раздел2Таблица7.П000070014003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть) + ", когда " + Строка(Раздел2Таблица7.П000070008003) + " > " + Строка(Раздел2Таблица7.П000070014003);
Если (ЛеваяЧасть = ПраваяЧасть
И Раздел2Таблица7.П000070008003 > Раздел2Таблица7.П000070014003)
ИЛИ НЕ Раздел2Таблица7.П000070008003 > Раздел2Таблица7.П000070014003 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "сумма";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 15 таблицы 7 должно быть " + Знак + " 0, если значение показателя по графе 3 строки 8 таблицы 7 <= значения показателя по графе 3 строки 14 таблицы 7.";
ЛеваяЧасть = Раздел2Таблица7.П000070015003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " 0, когда " + Строка(Раздел2Таблица7.П000070008003) + " <= " + Строка(Раздел2Таблица7.П000070014003);
Если (ЛеваяЧасть = 0
И Раздел2Таблица7.П000070008003 <= Раздел2Таблица7.П000070014003)
ИЛИ НЕ Раздел2Таблица7.П000070008003 <= Раздел2Таблица7.П000070014003 Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "<=";
НазваниеПоказателяЛевойЧасти = "сумма";
НазваниеПоказателяПравойЧасти = "сумма";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 16 таблицы 7 должно быть " + Знак + " значению показателя по графе 3 строки 15 таблицы 7.";
ЛеваяЧасть = Раздел2Таблица7.П000070016003;
ПраваяЧасть = Раздел2Таблица7.П000070015003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
ОписаниеКС = "Сумма значений показателей по строкам 8 и 9 графы 3 таблицы 7 " + Знак + " сумме значений показателей по строкам 14 и 15 графы 3 таблицы 7.";
ЛеваяЧасть = Раздел2Таблица7.П000070008003 + Раздел2Таблица7.П000070009003;
ПраваяЧасть = Раздел2Таблица7.П000070014003 + Раздел2Таблица7.П000070015003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Если ОбщееЧислоОшибок + ОбщееЧислоБезОшибок > 0 Тогда
СтруктураРезультата.Вставить("КоличествоНайденныхОшибок", ОбщееЧислоОшибок);
СтруктураРезультата.Вставить("КоличествоНайденныхБезОшибок", ОбщееЧислоБезОшибок);
СтруктураРезультата.Вставить("СтруктураОшибок", СтруктураОшибок);
КонецЕсли;
КонецФункции
&НаСервере
Функция ПроверкаТаблицы8Раздела2(СтруктураРезультата)
ОбщееЧислоОшибок = СтруктураРезультата.КоличествоНайденныхОшибок;
ОбщееЧислоБезОшибок = СтруктураРезультата.КоличествоНайденныхБезОшибок;
СтруктураОшибок = СтруктураРезультата.СтруктураОшибок;
Раздел2Таблица8 = мДанныеОтчета.ПолеТабличногоДокументаРаздел2_8_9;
ТекстФормулы = "Проверка таблицы 8 раздела 2";
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "количество дней";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 1 таблицы 8 должно быть " + Знак + " сумме значений показателей по строкам 2 и 3 графы 3 таблицы 8.";
ЛеваяЧасть = Раздел2Таблица8.П000080001003;
ПраваяЧасть = Раздел2Таблица8.П000080002003 + Раздел2Таблица8.П000080003003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть >= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "сумма";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 1 таблицы 8 должно быть " + Знак + " сумме значений показателей по строкам 2 и 3 графы 4 таблицы 8.";
ЛеваяЧасть = Раздел2Таблица8.П000080001004;
ПраваяЧасть = Раздел2Таблица8.П000080002004 + Раздел2Таблица8.П000080003004;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть >= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "количество дней";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 4 таблицы 8 должно быть " + Знак + " сумме значений показателей по строкам 5 и 6 графы 3 таблицы 8.";
ЛеваяЧасть = Раздел2Таблица8.П000080004003;
ПраваяЧасть = Раздел2Таблица8.П000080005003 + Раздел2Таблица8.П000080006003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть >= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "сумма";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 4 таблицы 8 должно быть " + Знак + " сумме значений показателей по строкам 5 и 6 графы 4 таблицы 8.";
ЛеваяЧасть = Раздел2Таблица8.П000080004004;
ПраваяЧасть = Раздел2Таблица8.П000080005004 + Раздел2Таблица8.П000080006004;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть >= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "количество дней";
НазваниеПоказателяПравойЧасти = "сумма";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 7 таблицы 8 должно быть " + Знак + " значению показателя по графе 3 строки 8 таблицы 8.";
ЛеваяЧасть = Раздел2Таблица8.П000080007003;
ПраваяЧасть = Раздел2Таблица8.П000080008003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть >= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "количество дней";
НазваниеПоказателяПравойЧасти = "сумма";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 7 таблицы 8 должно быть " + Знак + " значению показателя по графе 4 строки 8 таблицы 8.";
ЛеваяЧасть = Раздел2Таблица8.П000080007004;
ПраваяЧасть = Раздел2Таблица8.П000080008004;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть >= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "сумма";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 10 таблицы 8 должно быть " + Знак + " сумме значений показателей по строкам 1, 4, 7, 9 графы 4 таблицы 8.";
ЛеваяЧасть = Раздел2Таблица8.П000080010004;
ПраваяЧасть = Раздел2Таблица8.П000080001004 + Раздел2Таблица8.П000080004004 + Раздел2Таблица8.П000080007004 + Раздел2Таблица8.П000080009004;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Если ОбщееЧислоОшибок + ОбщееЧислоБезОшибок > 0 Тогда
СтруктураРезультата.Вставить("КоличествоНайденныхОшибок", ОбщееЧислоОшибок);
СтруктураРезультата.Вставить("КоличествоНайденныхБезОшибок", ОбщееЧислоБезОшибок);
СтруктураРезультата.Вставить("СтруктураОшибок", СтруктураОшибок);
КонецЕсли;
КонецФункции
&НаСервере
Функция ПроверкаТаблицы9Раздела2(СтруктураРезультата)
ОбщееЧислоОшибок = СтруктураРезультата.КоличествоНайденныхОшибок;
ОбщееЧислоБезОшибок = СтруктураРезультата.КоличествоНайденныхБезОшибок;
СтруктураОшибок = СтруктураРезультата.СтруктураОшибок;
Раздел2Таблица9 = мДанныеОтчета.ПолеТабличногоДокументаРаздел2_8_9;
ТекстФормулы = "Проверка таблицы 9 раздела 2";
Знак = "<=";
НазваниеПоказателяЛевойЧасти = "численность пострадавших человек";
НазваниеПоказателяПравойЧасти = "численность пострадавших человек";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 2 таблицы 9 должно быть " + Знак + " значению показателя по графе 3 строки 1 таблицы 9.";
ЛеваяЧасть = Раздел2Таблица9.П000090002003;
ПраваяЧасть = Раздел2Таблица9.П000090001003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "=";
НазваниеПоказателяЛевойЧасти = "численность пострадавших человек";
НазваниеПоказателяПравойЧасти = "численность пострадавших человек";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 4 таблицы 9 должно быть " + Знак + " сумме значений покзателей по строкам 1 и 3 графы 3 таблицы 9.";
ЛеваяЧасть = Раздел2Таблица9.П000090004003;
ПраваяЧасть = Раздел2Таблица9.П000090001003 + Раздел2Таблица9.П000090003003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть = ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Знак = "<=";
НазваниеПоказателяЛевойЧасти = "численность пострадавших человек";
НазваниеПоказателяПравойЧасти = "численность пострадавших человек";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 5 таблицы 9 должно быть " + Знак + " значению показателя по графе 3 строки 4 таблицы 9.";
ЛеваяЧасть = Раздел2Таблица9.П000090005003;
ПраваяЧасть = Раздел2Таблица9.П000090004003;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть <= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Если ОбщееЧислоОшибок + ОбщееЧислоБезОшибок > 0 Тогда
СтруктураРезультата.Вставить("КоличествоНайденныхОшибок", ОбщееЧислоОшибок);
СтруктураРезультата.Вставить("КоличествоНайденныхБезОшибок", ОбщееЧислоБезОшибок);
СтруктураРезультата.Вставить("СтруктураОшибок", СтруктураОшибок);
КонецЕсли;
КонецФункции
&НаСервере
Функция ПроверкаТаблицы10Раздела2(СтруктураРезультата)
ОбщееЧислоОшибок = СтруктураРезультата.КоличествоНайденныхОшибок;
ОбщееЧислоБезОшибок = СтруктураРезультата.КоличествоНайденныхБезОшибок;
СтруктураОшибок = СтруктураРезультата.СтруктураОшибок;
Раздел2Таблица10 = мДанныеОтчета.ПолеТабличногоДокументаРаздел2_10;
ТаблСообщений = Новый ТаблицаЗначений;
ТаблСообщений.Колонки.Добавить("ЭтоОшибка");
ТаблСообщений.Колонки.Добавить("ТекстВыводимыйНаОсновнойЛист");
ТаблСообщений.Колонки.Добавить("ТекстВыводимыйВРасш");
ТаблСообщений.Колонки.Добавить("ТаблицаДляРасшифровки");
ТаблСообщений.Колонки.Добавить("Описание");
ТекстФормулы = "Проверка таблицы 10 раздела 2";
Знак = ">=";
НазваниеПоказателяЛевойЧасти = "общее количество рабочих мест страхователя";
НазваниеПоказателяПравойЧасти = "количество рабочих мест, на которых проведена аттестация рабочих мест по условиям труда на начало года (всего)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 3 строки 1 таблицы 10 должно быть " + Знак + " значению показателя по графе 4 строки 1 таблицы 10.";
ЛеваяЧасть = Раздел2Таблица10.П000100000103;
ПраваяЧасть = Раздел2Таблица10.П000100000104;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть >= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "количество рабочих мест, на которых проведена аттестация рабочих мест по условиям труда на начало года (всего)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 4 строки 1 таблицы 10 должно быть " + Знак + " сумме значений показателей по графам 5 и 6 строки 1 таблицы 10.";
ЛеваяЧасть = Раздел2Таблица10.П000100000104;
ПраваяЧасть = Раздел2Таблица10.П000100000105 + Раздел2Таблица10.П000100000106;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть >= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
НазваниеПоказателяЛевойЧасти = "общее количество работников, занятых на работах с вредными и (или) опасными производственными факторами, подлежащих обязательным предварительным и периодическим медицинским осмотрам (чел.)";
НазваниеПоказателяПравойЧасти = "количество работников, занятых на работах с вредными и (или) опасными производственными факторами, прошедших обязательные предварительные и периодические медицинские осмотры на начало года (чел.)";
ОписаниеКС = "Значение показателя """ + НазваниеПоказателяЛевойЧасти + """ по графе 7 строки 2 таблицы 10 должно быть " + Знак + " значению показателя по графе 8 строки 2 таблицы 10.";
ЛеваяЧасть = Раздел2Таблица10.П000100000207;
ПраваяЧасть = Раздел2Таблица10.П000100000208;
Расшифровка = Строка(ЛеваяЧасть) + " " + Знак + " " + Строка(ПраваяЧасть);
Если ЛеваяЧасть >= ПраваяЧасть Тогда
ЭтоОшибка = Ложь;
ОбщееЧислоБезОшибок = ОбщееЧислоБезОшибок + 1;
Иначе
ЭтоОшибка = Истина;
ОбщееЧислоОшибок = ОбщееЧислоОшибок + 1;
КонецЕсли;
ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка);
Если ОбщееЧислоОшибок + ОбщееЧислоБезОшибок > 0 Тогда
СтруктураРезультата.Вставить("КоличествоНайденныхОшибок", ОбщееЧислоОшибок);
СтруктураРезультата.Вставить("КоличествоНайденныхБезОшибок", ОбщееЧислоБезОшибок);
СтруктураРезультата.Вставить("СтруктураОшибок", СтруктураОшибок);
КонецЕсли;
КонецФункции
&НаСервере
Процедура ДобавитьЭлементВСтруктуруОшибок(СтруктураОшибок, ТекстФормулы, ОписаниеКС, ОбщееЧислоОшибок, ОбщееЧислоБезОшибок, Расшифровка, ЭтоОшибка)
СтруктураОшибок.Вставить("Описание" + Формат(ОбщееЧислоОшибок + ОбщееЧислоБезОшибок, "ЧГ=0"), НСтр("ru='Нарушено соотношение показателей. Возможно, показатели заполнены некорректно.'"));
СтруктураОшибок.Вставить("Расшифровка" + Формат(ОбщееЧислоОшибок + ОбщееЧислоБезОшибок, "ЧГ=0"), СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='%1'"), Расшифровка));
СтруктураОшибок.Вставить("ЭтоОшибка" + Формат(ОбщееЧислоОшибок + ОбщееЧислоБезОшибок, "ЧГ=0"), ЭтоОшибка);
СтруктураОшибок.Вставить("ТекстовоеПредставлениеФормулы" + Формат(ОбщееЧислоОшибок + ОбщееЧислоБезОшибок, "ЧГ=0"), СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='%1. %2'"), ТекстФормулы, ОписаниеКС));
КонецПроцедуры
&НаКлиенте
Процедура ПроверитьВИнтернете(Команда)
ОписаниеОповещения = Новый ОписаниеОповещения("ПроверитьВИнтернетеЗавершение", ЭтотОбъект);
Отказ = Ложь;
ОнлайнСервисыРегламентированнойОтчетностиКлиент.ПередВыгрузкойРегламентированногоОтчета(ОписаниеОповещения, ЭтотОбъект, Отказ);
КонецПроцедуры
&НаКлиенте
Процедура ПроверитьВИнтернетеЗавершение(Отказ, ДополнительныеПараметры) Экспорт
Если Отказ Тогда
Возврат;
КонецЕсли;
РегламентированнаяОтчетностьКлиент.ПроверитьВИнтернете(ЭтаФорма, "ФСС");
КонецПроцедуры
#Область ПанельОтправкиВКонтролирующиеОрганы
&НаКлиенте
Процедура ОбновитьОтправку(Команда)
ЭлектронныйДокументооборотСКонтролирующимиОрганамиКлиент.ОбновитьОтправкуИзПанелиОтправки(ЭтаФорма, "ФСС");
КонецПроцедуры
&НаКлиенте
Процедура ГиперссылкаПротоколНажатие(Элемент)
ЭлектронныйДокументооборотСКонтролирующимиОрганамиКлиент.ОткрытьПротоколИзПанелиОтправки(ЭтаФорма, "ФСС");
КонецПроцедуры
&НаКлиенте
Процедура ОтправитьНеотправленноеИзвещение(Команда)
ЭлектронныйДокументооборотСКонтролирующимиОрганамиКлиент.ОтправитьНеотправленноеИзвещениеИзПанелиОтправки(ЭтаФорма, "ФСС");
КонецПроцедуры
&НаКлиенте
Процедура ЭтапыОтправкиНажатие(Элемент)
ЭлектронныйДокументооборотСКонтролирующимиОрганамиКлиент.ОткрытьСостояниеОтправкиИзПанелиОтправки(ЭтаФорма, "ФСС");
КонецПроцедуры
&НаКлиенте
Процедура КритическиеОшибкиОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ЭлектронныйДокументооборотСКонтролирующимиОрганамиКлиент.ОткрытьКритическиеОшибкиИзПанелиОтправки(ЭтаФорма, "ФСС");
КонецПроцедуры
&НаКлиенте
Процедура ГиперссылкаНаименованиеЭтапаНажатие(Элемент)
ПараметрыИзменения = Новый Структура;
ПараметрыИзменения.Вставить("Форма", ЭтаФорма);
ПараметрыИзменения.Вставить("Организация", СтруктураРеквизитовФормы.Организация);
ПараметрыИзменения.Вставить("КонтролирующийОрган",
ПредопределенноеЗначение("Перечисление.ТипыКонтролирующихОрганов.ФСС"));
РегламентированнаяОтчетностьКлиент.ИзменитьСтатусОтправки(ПараметрыИзменения);
КонецПроцедуры
#КонецОбласти
&НаКлиенте
Процедура ОтправитьВКонтролирующийОрган(Команда)
ОписаниеОповещения = Новый ОписаниеОповещения("ПроверкаВозможностиВыгрузкиРегламентированногоОтчетаПередОтправкой", ЭтотОбъект);
Отказ = Ложь;
ОнлайнСервисыРегламентированнойОтчетностиКлиент.ПередОтправкойРегламентированногоОтчета(ОписаниеОповещения, ЭтотОбъект, Отказ);
КонецПроцедуры
&НаКлиенте
Процедура ПроверкаВозможностиВыгрузкиРегламентированногоОтчетаПередОтправкой(Отказ, ДополнительныеПараметры) Экспорт
Если Отказ Тогда
Возврат;
КонецЕсли;
ОписаниеОповещения = Новый ОписаниеОповещения("ОтправитьВКонтролирующийОрганЗавершение", ЭтотОбъект);
ОнлайнСервисыРегламентированнойОтчетностиКлиент.ПередВыгрузкойРегламентированногоОтчета(ОписаниеОповещения, ЭтотОбъект, Отказ);
КонецПроцедуры
&НаКлиенте
Процедура ОтправитьВКонтролирующийОрганЗавершение(Отказ, ДополнительныеПараметры) Экспорт
Если Отказ Тогда
Возврат;
КонецЕсли;
РегламентированнаяОтчетностьКлиент.ПриНажатииНаКнопкуОтправкиВКонтролирующийОрган(ЭтаФорма, "ФСС");
КонецПроцедуры
&НаСервере
Функция ОбъектОтчета(ЭтаФормаИмя)
Если мОбъектОтчета = Неопределено Тогда
мОбъектОтчета = РегламентированнаяОтчетностьВызовСервера.ОбъектОтчета(ЭтаФормаИмя);
КонецЕсли;
Возврат мОбъектОтчета;
КонецФункции
&НаКлиенте
Процедура ЗаписатьИЗакрыть(Команда)
ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("Форма", ЭтаФорма);
Оповещение = Новый ОписаниеОповещения("ПослеСохраненияФормыЗавершение", ЭтотОбъект, ДополнительныеПараметры);
СохранитьНаКлиенте(, Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура ПослеСохраненияФормыЗавершение(Результат, ДополнительныеПараметры) Экспорт
ДополнительныеПараметры.Форма.Закрыть();
КонецПроцедуры
&НаКлиенте
Процедура ТабличныйДокументПриАктивизации(Элемент)
Если Элементы.ТабличныйДокумент.Защита Тогда
Возврат;
КонецЕсли;
Элементы.ТабличныйДокументКонтекстноеМенюУдалитьСтроку.Доступность = Ложь;
Элементы.ТабличныйДокументКонтекстноеМенюДобавитьСтроку.Доступность = Ложь;
ИмяГруппы = РазделТекущейОбласти(ЭтаФорма, ТабличныйДокумент.ТекущаяОбласть);
Если ЗначениеЗаполнено(ИмяГруппы) Тогда
ТестовоеИмя = ИмяГруппы + "01_" + Строка(мСтруктураИсхКолвоСтрокРазделов[ИмяГруппы] + 1);
Элементы.ТабличныйДокументКонтекстноеМенюДобавитьСтроку.Доступность = Истина;
Если СтрЧислоВхождений(ТабличныйДокумент.ТекущаяОбласть.Имя, "ДобавитьСтроку") = 0 И
ТабличныйДокумент.Области.Найти(ТестовоеИмя) <> Неопределено Тогда
Элементы.ТабличныйДокументКонтекстноеМенюУдалитьСтроку.Доступность = Истина;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Функция РазделТекущейОбласти(Форма, ТекущаяОбласть, ДлИмениОбласти = 13) Экспорт
Если ТекущаяОбласть = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;
ИмяТекущейОбласти = СтрЗаменить(ТекущаяОбласть.Имя, "ДобавитьСтрокуЗначок", "ДобавитьСтроку");
Если ИмяТекущейОбласти = "ДобавитьСтроку" Тогда
Возврат Форма.СтруктураРеквизитовФормы.мИдГруппы1;
ИначеЕсли СтрНайти(ИмяТекущейОбласти, "УдалитьСтроку") > 0 Тогда
ИмяТекущейОбласти = СтрЗаменить(ИмяТекущейОбласти, "УдалитьСтроку", "");
КонецЕсли;
ИмяАктивногоРаздела = Лев(ИмяТекущейОбласти, ДлИмениОбласти);
Для Каждого ЭлементСтруктуры Из Форма.мСтруктураМногострочныхРазделов Цикл
ИмяГруппы = ЭлементСтруктуры.Ключ;
СтруктураГруппы = Форма[ЭлементСтруктуры.Значение];
Если СтруктураГруппы[0].Свойство(ИмяАктивногоРаздела) Тогда
Возврат ИмяГруппы;
КонецЕсли;
КонецЦикла;
Возврат Неопределено;
КонецФункции
&НаСервере
Процедура РазрешитьРедактированиеРеквизитовОбъекта() Экспорт
РегламентированнаяОтчетность.РазрешитьРедактированиеРеквизитовОтчета(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_РазрешитьРедактированиеРеквизитовОбъекта(Команда)
РегламентированнаяОтчетностьКлиент.РазрешитьРедактированиеРеквизитовОтчета(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОткрытьПрисоединенныеФайлы(Команда)
РегламентированнаяОтчетностьКлиент.СохранитьОтчетИОткрытьФормуПрисоединенныеФайлы(ЭтаФорма);
КонецПроцедуры
&НаКлиенте
Процедура КомментарийПриИзменении(Элемент)
Модифицированность = Истина;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Функция ИмяОтчета(ЭтаФормаИмя)
Форма_Имя = СтрЗаменить(ЭтаФормаИмя, "Внешний", "");
Возврат Сред(Лев(Форма_Имя, СтрНайти(Форма_Имя, ".Форма.") - 1), 7);
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция ИмяФормыОтчета(ЭтаФормаИмя)
Возврат Сред(ЭтаФормаИмя, СтрНайти(ЭтаФормаИмя, ".Форма.") + 7);
КонецФункции
#Область ОбработчикиСобытийФормы
#Область ОбработчикиСобытийПроцессыОбработкиДокументов
&НаКлиенте
Процедура Подключаемый_ВыполнитьЗадачуПоОбработкеДокументаОповещение(Контекст, ДополнительныеПараметры) Экспорт
ВыполнитьЗадачуПоОбработкеДокументаНаСервере(Контекст);
ВыполнитьОбработкуОповещения(ДополнительныеПараметры, Контекст);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьЗадачуПоОбработкеДокумента(Команда)
РегламентированнаяОтчетностьКлиент.ВыполнитьЗадачу(
ЭтотОбъект,
Команда,
?(ЗначениеЗаполнено(СтруктураРеквизитовФормы.мСохраненныйДок),
СтруктураРеквизитовФормы.мСохраненныйДок,
СтруктураРеквизитовФормы.ПустаяСсылкаНаРегламентированныйОтчет));
КонецПроцедуры
#КонецОбласти
#Область ПроцессыОбработкиДокументов
&НаКлиенте
Процедура Подключаемый_КомментарийНаправившегоОткрытие(Элемент, СтандартнаяОбработка)
РегламентированнаяОтчетностьКлиент.КомментарийНаправившегоОткрытие(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КомментарийСледующемуНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
РегламентированнаяОтчетностьКлиент.КомментарийСледующемуНачалоВыбора(
ЭтотОбъект, Элемент, ДанныеВыбора, СтандартнаяОбработка);
КонецПроцедуры
#КонецОбласти
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если РегламентированнаяОтчетностьКлиент.ЭтоСобытиеЗавершениеОтправки(ИмяСобытия) Тогда
ВывестиСтатусыИВыжныеСообщенияНаФормуНаСервере();
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область ПроцессыОбработкиДокументов
&НаКлиенте
Процедура Записать(ПараметрыЗаписи) Экспорт
СохранитьНаКлиенте();
КонецПроцедуры
&НаСервере
Процедура ВыполнитьЗадачуПоОбработкеДокументаНаСервере(Контекст)
РегламентированнаяОтчетность.ВыполнитьЗадачу(ЭтотОбъект, Контекст, СтруктураРеквизитовФормы.мСохраненныйДок);
КонецПроцедуры
&НаСервере
Процедура УправлениеДоступностьюРеквизитов(БлокируемыеЭлементы, ТолькоПросмотр) Экспорт
РегламентированнаяОтчетность.УправлениеДоступностьюРеквизитов(ЭтотОбъект, БлокируемыеЭлементы, ТолькоПросмотр);
КонецПроцедуры
#КонецОбласти
&НаСервере
Процедура ИнициализироватьВыводСтатусовИВажныхСообщений_85()
Если РегламентированнаяОтчетность.ДоступнаПодсистема85() Тогда
МодульЭДОСКонтролирующимиОрганами = ОбщегоНазначения.ОбщийМодуль("ЭлектронныйДокументооборотСКонтролирующимиОрганами");
МодульЭДОСКонтролирующимиОрганами.УстановитьРазмещениеНаименованияЭтапаБРО_85(ЭтотОбъект);
МодульЭДОСКонтролирующимиОрганами.ВывестиСтатусыИВыжныеСообщенияНаФорму_85(ЭтотОбъект);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ВывестиСтатусыИВыжныеСообщенияНаФормуНаСервере() Экспорт
Если РегламентированнаяОтчетность.ДоступнаПодсистема85() Тогда
МодульЭДОСКонтролирующимиОрганами = ОбщегоНазначения.ОбщийМодуль("ЭлектронныйДокументооборотСКонтролирующимиОрганами");
МодульЭДОСКонтролирующимиОрганами.ВывестиСтатусыИВыжныеСообщенияНаФорму_85(ЭтотОбъект);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ДетальноеОписаниеСтатусаПослеВыбора(Результат, ДополнительныеПараметры) Экспорт
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
Если Результат = "ОбновитьОтправку" Тогда
ОбновитьОтправку(Неопределено);
ИначеЕсли Результат = "ГиперссылкаПротокол" Тогда
ГиперссылкаПротоколНажатие(Неопределено);
ИначеЕсли Результат = "ЭтапыОтправки" Тогда
ЭтапыОтправкиНажатие(Неопределено);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВывестиСтатусыИВыжныеСообщенияНаФорму() Экспорт
ВывестиСтатусыИВыжныеСообщенияНаФормуНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбработкаНажатияКнопкиВВажномСообщении(Команда)
Если Команда.Имя = "ОтправитьНеотправленноеИзвещение" Тогда
ОтправитьНеотправленноеИзвещение(Неопределено);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбработкаНавигационнойСсылкиВВажномСообщении(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если НРег(НавигационнаяСсылкаФорматированнойСтроки) = "критическиеошибки" Тогда
КритическиеОшибкиОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбработкаЗакрытияВажногоСообщения(Команда)
МодульКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("ЭлектронныйДокументооборотСКонтролирующимиОрганамиКлиентСервер");
МодульКлиентСервер.ЗакрытьВажноеСообщение(ЭтотОбъект, Команда.Имя);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбработатьДействиеИнформационногоСообщения(ЭлементИлиКоманда, НавигационнаяСсылка = Неопределено, СтандартнаяОбработка = Неопределено)
МодульОбщегоНазначенияКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ОбщегоНазначенияКлиент");
МодульОбщегоНазначенияКлиент.ОбработатьДействиеИнформационногоСообщения(ЭтотОбъект, ЭлементИлиКоманда, НавигационнаяСсылка, СтандартнаяОбработка);
КонецПроцедуры
#КонецОбласти