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