Во вложении есть возможность увидеть готовый к отправке и проверенный xml-файл. Для корректной работы возможно потребуется внести изменения в модуль формы документа ВыгрузкаРегламентированныхОтчетов (присутствует во вложении за платное скачивание). Для экономного варианта можно внести изменения самостоятельно:
1. В Процедура СформироватьТекстыВыгрузки и Процедура ПроверитьОтчеты() обязательно должны присутствовать:
ОтчетыФСГС = Новый СписокЗначений;
ОтчетыФСГС.Добавить("РегламентированныйОтчетСтатистикаФорма11К");
ОтчетыФСГС.Добавить("РегламентированныйОтчетСтатистикаФорма1РП");
ОтчетыФСГС.Добавить("РегламентированныйОтчетСтатистикаФорма1Т");
ОтчетыФСГС.Добавить("РегламентированныйОтчетСтатистикаФорма1И");
ОтчетыФСГС.Добавить("РегламентированныйОтчетСтатистикаФорма3Информ");
ОтчетыФСГС.Добавить("РегламентированныйОтчетСтатистикаФорма3Ф");
ОтчетыФСГС.Добавить("РегламентированныйОтчетСтатистикаФорма5З");
ОтчетыФСГС.Добавить("РегламентированныйОтчетСтатистикаФормаП1");
ОтчетыФСГС.Добавить("РегламентированныйОтчетСтатистикаФормаП1Приложение3");
ОтчетыФСГС.Добавить("РегламентированныйОтчетСтатистикаФормаП2");
ОтчетыФСГС.Добавить("РегламентированныйОтчетСтатистикаФормаП2к");
ОтчетыФСГС.Добавить("РегламентированныйОтчетСтатистикаФормаП3");
ОтчетыФСГС.Добавить("РегламентированныйОтчетСтатистикаФормаП4");
ОтчетыФСГС.Добавить("РегламентированныйОтчетСтатистикаФормаП4НЗ"); //добавить в случае отсутствия
2. Примерно через 10 строчек ниже необходимо присутствовие блока:
Если ОтчетыФЛ.НайтиПоЗначению(Отч) <> Неопределено Тогда
Продолжить;
КонецЕсли;
Если ОтчетыФСГС.НайтиПоЗначению(Отч) <> Неопределено Тогда
Продолжить;
КонецЕсли;
Если ОтчетыЗаявления.НайтиПоЗначению(Отч) <> Неопределено Тогда
Продолжить;
КонецЕсли;
3. Кроме выгрузок в разном формате должен присутствовать блок:
//выгрузка в формате ФСГС
Если ОтборФСГС.Количество() <> 0 И (НЕ ВыгрузкаПрервана) Тогда
Текст = Новый ТекстовыйДокумент;//текст, объединяющий все выгруженные документы в формате 5.00
ТекТекст = Новый ТекстовыйДокумент;//текст выгрузки текущего документа
//последовательно, для каждого документа из списка, инициализируем "контекст"
//(создаем окружение) и вызываем экспортную процедуру, формирующую текст выгрузки
Для Каждого Стр Из ОтборФСГС Цикл
ТекДок = Стр.Док;
НомОтч = НомОтч + 1;
Состояние("Обработка отчета " + РегламентированнаяОтчетность.ПредставлениеДокументаРеглОтч(ТекДок) + " (" + НомОтч + " из " + (ВерсииИОтчеты.Количество()) + ") ...");
ТекстВыгрузкиВXML = ""; ИмяФайлаXML = "";
Попытка
ИмяТекФормы = ТекДок.ВыбраннаяФорма;
Если ПустаяСтрока(ИмяТекФормы) Тогда
ИмяТекФормы = РегламентированнаяОтчетность.РеглОтчеты(ТекДок.ИсточникОтчета).ПолучитьФорму(, , Новый УникальныйИдентификатор).ПолучитьФормуДляПериода(ПериодПо);
КонецЕсли;
ТекФорма = РегламентированнаяОтчетность.РеглОтчеты(ТекДок.ИсточникОтчета).ПолучитьФорму(ИмяТекФормы, , Новый УникальныйИдентификатор);
ТекФорма.мСохраненныйДок = ТекДок;
ТекФорма.мДатаНачалаПериодаОтчета = ТекДок.ДатаНачала;
ТекФорма.мДатаКонцаПериодаОтчета = ТекДок.ДатаОкончания;
ТекФорма.мПериодичность = ТекДок.Периодичность;
ТекФорма.мВыбраннаяФорма = ТекДок.ВыбраннаяФорма;
ТекФорма.Организация = ТекДок.Организация;
Если ПроверкаБлокировкиФормы Тогда
Отказ = Ложь;
РегламентированнаяОтчетность.ПередОткрытиемФормыРегламентированногоОтчета(ТекФорма, Отказ);
Если Отказ Тогда
ВызватьИсключение Неопределено;
КонецЕсли;
КонецЕсли;
Если ТекФорма.УниверсальнаяВыгрузка(ТекстВыгрузкиВXML, Истина, ИмяФайлаXML) Тогда
СчетчикВыгруженныхДокументов = СчетчикВыгруженныхДокументов + 1;
Иначе
ВызватьИсключение Неопределено;
КонецЕсли;
Исключение
Попытка
Для Каждого СтрСообщ Из ТекФорма.ТаблицаСообщений Цикл
НовСтр = ТаблицаСообщений.Добавить();
НовСтр.ОтчетДок = ТекДок.Ссылка;
НовСтр.Отчет = РегламентированнаяОтчетность.ПредставлениеДокументаРеглОтч(ТекДок);
НовСтр.Раздел = СтрСообщ.Раздел;
НовСтр.Страница = СтрСообщ.Страница;
НовСтр.Строка = СтрСообщ.Строка;
НовСтр.СтрокаПП = СтрСообщ.СтрокаПП;
НовСтр.ИмяЯчейки = СтрСообщ.ИмяЯчейки;
НовСтр.Графа = СтрСообщ.Графа;
НовСтр.Описание = СтрСообщ.Описание;
КонецЦикла;
Исключение
КонецПопытки;
ТекстСообщения = "Не удалось выгрузить " + РегламентированнаяОтчетность.ПредставлениеДокументаРеглОтч(ТекДок.Ссылка) + "!";
Сообщить(ТекстСообщения, СтатусСообщения.Важное);
ОшибкаВыгрузки = Истина;
ОтобразитьФормуНавигацииПоОшибкам();
ВыгрузкаПрервана = Истина;
Прервать;
КонецПопытки;
Если ТекДок.НаименованиеОтчета = "Статистика: Форма П-1" Тогда
ТекстВыгрузкиВXML_П1Пр3 = ""; ИмяФайлаXML_П1Пр3 = "";
КритерийОтбораОтчета = Новый Структура("Организация, Периодичность, Период");
КритерийОтбораОтчета.Вставить("Организация", ТекДок.Организация);
КритерийОтбораОтчета.Вставить("Периодичность", ТекДок.Периодичность);
КритерийОтбораОтчета.Вставить("Период", ТекДок.Период);
ТекДокП1Пр3 = Неопределено;
ТекФормаП1Пр3 = ТекФорма.ПолучитьФормуП1Пр3(КритерийОтбораОтчета, ТекДокП1Пр3);
Если ТекФормаП1Пр3 = Неопределено Тогда
Сообщить("Не найден сохраненный отчет ""П-1 Приложение 3"" для выгрузки в файл XML - соответствующий раздел будет пустым.", СтатусСообщения.Внимание);
Иначе
Попытка
ТекФормаП1Пр3.мСохраненныйДок = ТекДокП1Пр3;
ТекФормаП1Пр3.мДатаНачалаПериодаОтчета = ТекДокП1Пр3.ДатаНачала;
ТекФормаП1Пр3.мДатаКонцаПериодаОтчета = ТекДокП1Пр3.ДатаОкончания;
ТекФормаП1Пр3.мПериодичность = ТекДокП1Пр3.Периодичность;
ТекФормаП1Пр3.мВыбраннаяФорма = ТекДокП1Пр3.ВыбраннаяФорма;
ТекФормаП1Пр3.Организация = ТекДокП1Пр3.Организация;
Если ПроверкаБлокировкиФормы Тогда
Отказ = Ложь;
РегламентированнаяОтчетность.ПередОткрытиемФормыРегламентированногоОтчета(ТекФормаП1Пр3, Отказ);
Если Отказ Тогда
ВызватьИсключение Неопределено;
КонецЕсли;
КонецЕсли;
Если ТекФормаП1Пр3.УниверсальнаяВыгрузка(ТекстВыгрузкиВXML_П1Пр3, Истина, ИмяФайлаXML_П1Пр3) Тогда
СчетчикВыгруженныхДокументов = СчетчикВыгруженныхДокументов + 1;
Иначе
ВызватьИсключение Неопределено;
КонецЕсли;
ТекстВыгрузкиВXML = ТекФорма.ОбъединитьТекстыXML_П1(ТекстВыгрузкиВXML, ТекстВыгрузкиВXML_П1Пр3);
ТекстСообщения = "Сохраненный отчет """ + РегламентированнаяОтчетность.ПредставлениеДокументаРеглОтч(ТекДокП1Пр3) +
""" выгружен вместе с отчетом ""Форма П-1"".";
Сообщить(ТекстСообщения , СтатусСообщения.Информация);
Исключение
Попытка
Для Каждого СтрСообщ Из ТекФормаП1Пр3.ТаблицаСообщений Цикл
НовСтр = ТаблицаСообщений.Добавить();
НовСтр.ОтчетДок = ТекДокП1Пр3.Ссылка;
НовСтр.Отчет = РегламентированнаяОтчетность.ПредставлениеДокументаРеглОтч(ТекДокП1Пр3);
НовСтр.Раздел = СтрСообщ.Раздел;
НовСтр.Страница = СтрСообщ.Страница;
НовСтр.Строка = СтрСообщ.Строка;
НовСтр.СтрокаПП = СтрСообщ.СтрокаПП;
НовСтр.ИмяЯчейки = СтрСообщ.ИмяЯчейки;
НовСтр.Графа = СтрСообщ.Графа;
НовСтр.Описание = СтрСообщ.Описание;
КонецЦикла;
Исключение
КонецПопытки;
ТекстСообщения = "Не удалось выгрузить " + РегламентированнаяОтчетность.ПредставлениеДокументаРеглОтч(ТекДокП1Пр3.Ссылка) + "!";
Сообщить(ТекстСообщения, СтатусСообщения.Важное);
ОшибкаВыгрузки = Истина;
ОтобразитьФормуНавигацииПоОшибкам();
ВыгрузкаПрервана = Истина;
Прервать;
КонецПопытки;
КонецЕсли;
КонецЕсли;
Если НЕ ВыгрузкаПрервана Тогда
НовСтр = Выгрузки.Добавить();
НовСтр.ИмяФайла = ИмяФайлаXML;
НовСтр.Тип = Перечисления.ВерсииФорматовВыгрузки.ВерсияФСГС;
НовСтр.Текст = ТекстВыгрузкиВXML;
ТекСтр = Основания.Найти(ТекДок, "Ссылка");
Если ТекСтр <> Неопределено И ТекСтр.Пометка Тогда
ТекСтр.НомерСтрокиТекстаВыгрузки = НовСтр.НомерСтроки;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
//конец выгрузки в формате ФСГС
Для ленивых берем готовый текст модуля в формате docx в блоке для платного скачивания.