Сведения о неполной занятости и движении работников Форма П-4(НЗ)
Учетные задачи - Регламентированный учет и отчетность
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Во вложении есть возможность увидеть готовый к отправке и проверенный 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 в блоке для платного скачивания.
Вступайте в нашу телеграмм-группу Инфостарт