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



За основу взят отчет 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 в блоке для платного скачивания.

15 Comments

  1. doom2good

    Чё-то на форме пипец какой-то с привязками. И я не понял, зачем что-то нужно в коде менять? Отчет можно просто добавить в справочник «рег отчеты».

    Reply
  2. inter1980

    1. Не понял про пипец с привязками, не хватает конкретики в вопросе. 2. Если вы не обновляете 1С с каждым новым релизом, тогда и код документа ВыгрузкаРегламентированныхОтчетов вам никто не обновил. Без внесения изменений отчет формируется, а вот выгрузка в xml работать не будет.

    Reply
  3. e-katerina

    Спасибо за отчет. Сэкономили массу времени.

    С привязками на форме действительно есть проблема: если форма «ФормаОтчета2013Кв1» не развернута на весь экран, то «ПанельЭУВерхняя» практически полностью прячется. А если сузить форму на пол-экрана (чтобы, допустим, видеть рядом еще один отчет), то и «КоманднаяПанельФормы» съезжает куда-то влево, что видно только надпись «внешний отчет».

    Reply
  4. inter1980

    Над этим работа не велась, форму взял из другой публикации, а сам провел адаптацию под УПП и проработал выгрузку в XML.

    Reply
  5. nbv8608

    Помогите!!!

    Не удалось выгрузить Статистика: Форма П-4 НЗ за 1 квартал 2013 г. (Первичный)!

    Не удалось сформировать тексты выгрузки!

    Для исправления ошибок используйте окно навигации по ошибкам.

    В окне навигации просто написано «Ошибок в отчете:1». В справочник добавил, даже код копировать пробовал.Подскажите в какую сторону копать

    Reply
  6. inter1980

    (5) nbv8608, На каком-то отчете П-4 или П-4(НЗ) было у меня такое. Попробуйте следующие действия:

    1. Проверьте заполнение полей внизу самой формы, а именно Должностное лицо, ответственное за предоставление статистической информации (лицо, уполномоченное предоставлять статистическую информацию от имени юридического лица), ФИО лица, номер телефона и Дата. В крайнем случае добавьте вручную, если поля не заполняются автоматически и не забудьте записать.Ну и соответственно записанный отчет в выгрузку.

    2. Проверьте модуль формы документа ВыгрузкаРегламентированныхОтчетов, а именно блок с выгрузкой в формате ФСГС, его присутствие, как вы понимаете, обязательно. Описание присутствует на странице публикации.

    Reply
  7. e-katerina

    (6)

    В типовом функционале наконец-то появилась данная форма, правда без возможности заполнения. Можно теперь саму форму и формат выгрузки взять оттуда, добавив только блок заполения.

    Reply
  8. inter1980

    Конечно, добавляйте заполнение и будет работать.

    Reply
  9. chmv

    нет мне нужно в ЗУПЕ как то выцепить выгрузку

    Reply
  10. chmv

    При том не меняя кофигурацию

    Reply
  11. inter1980

    (10) chmv, здесь стоит определиться: 1.внесение изменений в модуль формы документа ВыгрузкаРегламентированныхОтчетов и соответственно требование подправлять конфигурацию в случае если там отсутствует описание отчета П4 является обязательным. 2. Другой вопрос, если описание механизма в модуле присутствует, но не работает. Вот тут тогда уточните на каком этапе и что у вас идет не так.

    Reply
  12. chmv

    вставила в документ «Выгрузка» строчку идет сообщение об ошибке, а самой ошибки не печатает

    Reply
  13. inter1980

    (12) chmv, давненько это было, постараюсь помочь. Однозначно попробуйте заполнить в самой форме в пользовательском режиме следующие поля: должность лица, ответственного за предоставление информации, его фио и тел номер. Из-за этого точно выгрузка не пройдет, если одно из полей пустое. Попробуйте после этого записать отчет, удостоверьтесь, что все заполнено. Должно получится.

    Reply
  14. chmv

    Пробую. Никак.

    Reply
  15. inter1980

    (14) chmv, видел ваше сообщение, но сейчас занят своей темой. Как только разрулю, выйду на вас, и смоделируем ситуацию с картинками. Было-было у меня такое, когда разбирался с этим…напишите свою почту в личку, опишите последовательно, что вы делаете и картинку заполненной формы пришлите, хочу посмотреть какие параметры в верхней и нижней частях формы у вас заполняются.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *