gifts2017

Сведения о неполной занятости и движении работников Форма П-4(НЗ)

Опубликовал Andrey Milan (inter1980) в раздел Отчеты - Статистические

За основу взят отчет http://infostart.ru/public/100071/ и адаптирован под конфигурацию УПП редакция 1.3 с заполнением в утвержденной Росстатом и действующей форме с выгрузкой в формате xml. ПРОВЕРЕНО НА РЕАЛЬНОЙ БАЗЕ.

Во вложении есть возможность увидеть готовый к отправке и проверенный 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 в блоке для платного скачивания.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Отчет П-4(НЗ)
.erf 51,67Kb
26.02.13
83
.erf 51,67Kb 83 Скачать
Измененный модуль ФормыДокумента ВыгрузкаРегламентированныхОтчетов
.docx 74,60Kb
26.02.13
22
.docx 74,60Kb 22 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Костя С (doom2good) 27.03.13 15:46
Чё-то на форме пипец какой-то с привязками. И я не понял, зачем что-то нужно в коде менять? Отчет можно просто добавить в справочник "рег отчеты".
2. Andrey Milan (inter1980) 28.03.13 09:55
1. Не понял про пипец с привязками, не хватает конкретики в вопросе. 2. Если вы не обновляете 1С с каждым новым релизом, тогда и код документа ВыгрузкаРегламентированныхОтчетов вам никто не обновил. Без внесения изменений отчет формируется, а вот выгрузка в xml работать не будет.
3. Катерина Шах (e-katerina) 02.04.13 14:33
Спасибо за отчет. Сэкономили массу времени.

С привязками на форме действительно есть проблема: если форма "ФормаОтчета2013Кв1" не развернута на весь экран, то "ПанельЭУВерхняя" практически полностью прячется. А если сузить форму на пол-экрана (чтобы, допустим, видеть рядом еще один отчет), то и "КоманднаяПанельФормы" съезжает куда-то влево, что видно только надпись "внешний отчет".
4. Andrey Milan (inter1980) 02.04.13 15:37
Над этим работа не велась, форму взял из другой публикации, а сам провел адаптацию под УПП и проработал выгрузку в XML.
5. Тим К (nbv8608) 09.04.13 10:08
Помогите!!!
Не удалось выгрузить Статистика: Форма П-4 НЗ за 1 квартал 2013 г. (Первичный)!
Не удалось сформировать тексты выгрузки!
Для исправления ошибок используйте окно навигации по ошибкам.
В окне навигации просто написано "Ошибок в отчете:1". В справочник добавил, даже код копировать пробовал.Подскажите в какую сторону копать
6. Andrey Milan (inter1980) 09.04.13 13:11
(5) nbv8608, На каком-то отчете П-4 или П-4(НЗ) было у меня такое. Попробуйте следующие действия:
1. Проверьте заполнение полей внизу самой формы, а именно Должностное лицо, ответственное за предоставление статистической информации (лицо, уполномоченное предоставлять статистическую информацию от имени юридического лица), ФИО лица, номер телефона и Дата. В крайнем случае добавьте вручную, если поля не заполняются автоматически и не забудьте записать.Ну и соответственно записанный отчет в выгрузку.
2. Проверьте модуль формы документа ВыгрузкаРегламентированныхОтчетов, а именно блок с выгрузкой в формате ФСГС, его присутствие, как вы понимаете, обязательно. Описание присутствует на странице публикации.
7. Катерина Шах (e-katerina) 21.06.13 11:13
(6) inter1980,
В типовом функционале наконец-то появилась данная форма, правда без возможности заполнения. Можно теперь саму форму и формат выгрузки взять оттуда, добавив только блок заполения.
8. Andrey Milan (inter1980) 21.06.13 13:14
Конечно, добавляйте заполнение и будет работать.
9. Марина Чирина (chmv) 16.09.13 10:36
нет мне нужно в ЗУПЕ как то выцепить выгрузку
10. Марина Чирина (chmv) 16.09.13 10:36
При том не меняя кофигурацию
11. Andrey Milan (inter1980) 16.09.13 11:17
(10) chmv, здесь стоит определиться: 1.внесение изменений в модуль формы документа ВыгрузкаРегламентированныхОтчетов и соответственно требование подправлять конфигурацию в случае если там отсутствует описание отчета П4 является обязательным. 2. Другой вопрос, если описание механизма в модуле присутствует, но не работает. Вот тут тогда уточните на каком этапе и что у вас идет не так.
12. Марина Чирина (chmv) 17.09.13 13:50
вставила в документ "Выгрузка" строчку идет сообщение об ошибке, а самой ошибки не печатает
13. Andrey Milan (inter1980) 19.09.13 10:07
(12) chmv, давненько это было, постараюсь помочь. Однозначно попробуйте заполнить в самой форме в пользовательском режиме следующие поля: должность лица, ответственного за предоставление информации, его фио и тел номер. Из-за этого точно выгрузка не пройдет, если одно из полей пустое. Попробуйте после этого записать отчет, удостоверьтесь, что все заполнено. Должно получится.
14. Марина Чирина (chmv) 20.09.13 10:09
15. Andrey Milan (inter1980) 20.09.13 15:03
(14) chmv, видел ваше сообщение, но сейчас занят своей темой. Как только разрулю, выйду на вас, и смоделируем ситуацию с картинками. Было-было у меня такое, когда разбирался с этим...напишите свою почту в личку, опишите последовательно, что вы делаете и картинку заполненной формы пришлите, хочу посмотреть какие параметры в верхней и нижней частях формы у вас заполняются.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа