В начале 2019 года, в связи с доведением приказа Министра обороны Российской Федерации от 8 октября 2018г. № 554 “Об определении порядка и сроков представления организациями, выполняющими государственный оборонный заказ, в которых созданы военные представительства Министерства обороны Российской Федерации, отчета об исполнении государственного контракта …”  и приказа от 19 ноября 2018г. №670 “Об определении состава и формата представления головным исполнителем, исполнителем информации, содержащейся в отчете об исполнении государственного контракта …” появилась соответствующая задача, лежащая на стыке экономической области и информационных технологий.

Тогда, в условиях малой освещенности технических аспектов и отсутствия готовых программных средств, данная задача была решена «в лоб», с применением MS Excel для заполнения формы, установленной Постановлением Правительства РФ № 47 от 19.01.1998 года (в  редакции Постановления Правительства РФ от 04.05.2018 N 543), а также разработки программного обеспечения, задачей которого было исправление полученного в результате выгрузки из Excel документа xml файла, объединение информации по нескольким контрактам в один файл, подписания итогового файла ЭЦП и создание ZIP-архива, готового для загрузки в систему.

Несмотря на то, что формирование отчетности в Excel нельзя назвать «наилучшей практикой» в виду повышенного риска технических ошибок и требовательности к квалификации исполнителя, однако, в ряде случав данный подход может позволить быстро и эффективно решить необходимую задачу. В связи с этим, данный материал публикуется в надежде, что может быть полезен в работе, позволит сократить временные и финансовые издержки, повысить качество работы в рамках ГОЗ.

Формирования отчета в ЕИС ГОЗ было выполнено в несколько этапов:

1. Разработка документа MS Excel, содержащего форму отчета об исполнении государственного контракта в соответствии с Постановлением Правительства РФ от 4.05.2018 г. N 543 “О внесении изменений в постановление Правительства Российской Федерации от 19 января 1998 г. N 47”;

2. Создание файла схемы XML (XSD-файла) и реализацию интерфейса формы c полями xml (установление соответствий).

3. Организацию контроля целостности документа Excel, защиту от технических ошибок, а также автоматизированную выгрузку файла xml, не требующую настройки в режим “разработчика”. В итоге реализации пунктов 1-3 был получен xml-файл, в целом отвечающий требованиям, однако требующий ручной корректировки формата даты и времени формирования отчета, а также удаления тегов namespace.

4. Для автоматизации процесса ручной корректировки, а также формирования итогового message.xml на основе нескольких отчетов за один период по разным контрактам, было разработано небольшое приложение для ОС Windows (7-10) – далее программа «IonEisExporter». Таким образом, первым итогом стало формирование файла message.xml по своей структуре и составу, удовлетворяющему требованиям системы ЕИС ГОЗ.

5. Следующим шагом является подписание файла message.xml посредством ЭЦП по ГОСТ Р 34.11-2012 – формирование файла message.sign. Для выполнения данного этапа были подобраны ключи запуска csptest.exe, входящего в состав “КрипроПро CSP”, учитывающие требования руководящей документации и позволяющие получить detached подпись в верном формате. Для удобства работы с ЭЦП при подписании отчетов, данный функционал был интегрирован в IonEisExporter.

6. Заключительным этапом является формирование zip-архива, имеющего регламентированное наименование и содержащего созданные файлы message.xml и message.sign. Для удобства, функционал формирования данного архива также был интегрирован в IonEisExporter.  

Алгоритм формирования отчета ЕИС ГОЗ с помощью IonEisExporter следующий:

1. Документ MS Excel, содержащий шаблон формы отчета и обеспечивающий выгрузку xml-файлов входит в состав IonEisExporter и может быть всегда выгружен непосредственно из программы (рис.1). По нажатию на соответствующий пункт меня программа предложит выбрать путь для сохранения книги MS Excel.

Рисунок 1. Выгрузка шаблона формы отчета

По умолчанию, выгружаемая книга имеет название IonEisReportTemplate.xlsm, которое рекомендуется изменить в соответствии с рабочим названием контракта. Книга содержит два листа: «ввод данных» и «выгрузка xml», которые связаны между собой. Копирование листов внутри книги скорее всего приведет к повреждению структуры и, как следствие, нарушению работоспособности. С наступлением нового отчетного периода рекомендуется создавать копию книги и вносить соответствующие изменения.

Книга содержит макросы, назначением которых является автоматизация выгрузки xml-файла и операции с приведением даты/времени к формату, предусмотренному руководящей документацией. Для корректной работы книги необходимо разрешить макросы (рис. 2).

Для минимизации технических ошибок и защиты от случайного нарушения работоспособности формы, ввод разрешен только в предназначенные для этого поля – подсвечены зеленым цветом. В случае, если в структуре формы будут выявлены ошибки или иные предпосылки к доработке, необходимо снять ограничения на изменение (пароль по умолчанию: 12345).

Встроенная проверка целостности направлена на выявление ошибок в преобразовании данных, указываемых на листе «ввод данных» в формат, предусмотренный XSD-схемой.

Кнопка «выгрузить xml» вызывает окно выбора пути для сохранения результата работы в формате xml. По умолчанию, имя xml-файла будет соответствовать имени книги, из которой осуществляется выгрузка. В случае, если у предприятия несколько контрактов, предусматривающих формирование отчета для системы ЕИС ГОЗ, то название xml-файла на данном этапе рекомендуется присваивать в соответствии с рабочим наименованием контракта. Формирование консолидированного файла message.xml будет осуществляться на следующем этапе.   

Рисунок 2. Общий вид книги IonEisReportTemplate.xlsm, разрешение макросов.

2. Выгруженные из документа Excel отчеты в формате xml требуют корректировки – удаления тегов namespace (пространства имен), добавляемых Excel, но не воспринимаемых системой ЕИС ГОЗ. Также, для удобства подписания отчетов и их передачи военному представителю, рекомендуется объединять отчеты за текущий отчетный период по разным контрактам в консолидированный файл message.xml. Для выполнения перечисленных выше операций необходимо загрузить сформированные xml-файлы в программу IonEisExporter. Для этого достаточно «перекинуть» файлы по одному, или группой в поле списка, либо воспользоваться пунктом меню «добавить» для указания пути к файлам.

Рисунок 3. Добавление файлов xml в IonEisExporter

3. После успешной загрузки xml файлов в IonEisExporter, в главном окне программы станет доступна кнопка выгрузить, нажатие которой вызывает вспомогательное окно «формирование message.xml» (рис. 4). Данное окно позволяет в случае необходимости изменить путь, где будет создана папка с файлом message.xml. Наименование папки формируется в соответствии с руководящими документами и повторяет имя будущего zip-архива. В случае, если выгружается корректировка отчета, последние цифры в наименовании папки будут изменяться, увеличиваясь на единицу. После нажатия на кнопку «выгрузить message.xml» соответствующая папка будет создана, а консолидированный файл размещен.

Рисунок 4. Окно «формирование message.xml”

4. В случае успешного формирования файла message.xml необходимо перейти к его подписанию посредством ЭЦП. Данный функционал реализован в окне «формирование ЭЦП для message.xml» (рис. 5), вызов которого осуществляется из главного окна с помощью кнопки «подписать».

Для формирования ЭЦП, в соответствии с руководящими документами, программа IonEisExporter использует программный комплекс «КриптоПро SCP», в частности csptest.exe.

Для подписания отчета (кнопка «подписать») необходимо, чтобы были выполнены следующие условия:

  • message.xml – «готов»: подписываемый документ создан в ходе предыдущих шагов;
  • КриптоПро SCP – «готов»: программный комплекс КриптоПро SCP установлен на компьютере;
  • Валидных сертификатов – 1 и боле: сертификаты для подписания отбираются из числа установленных личных сертификатов по ИНН предприятия, указанного в отчете.

После нажатия кнопки «подписать» будет открыта консоль «КриптоПро SCP»:

  • на короткое время в случае, если не требуется выбор личного сертификата и секретный ключ обнаружен;
  • до ввода номера сертификата (в случае, если их 2и более), а также в случае, когда требуется выбор ключа или ввод пин-кода.

Завершающим этапом, после успешного формирования ЭЦП, является объединение файлов message.xml и message.sign в архив zip, название которого сформировано в соответствии с руководящими документами.

Данная операция осуществляется нажатием на кнопку «выгрузить архив». После завершения данной операции, полученный архив должен быть скопирован на оптический носитель и передан для загрузки в ЕИС ГОЗ в установленном порядке.

После успешного формирования архива, становится доступной кнопка «данные для служебной записки», которая открывает вспомогательное окно, содержащее сводные данные: имя архива для передачи, а также перечень номеров контрактов, данные которых были включены в консолидированный отчет – message.xml

Рисунок 5. Подписание и архиваций message.xml

В ходе работы, IonEisExporter не создает каких-либо записей в реестре, либо файлов, не описанных в краткой инструкции. Для полного удаления программы необходимо и достаточно удалить исполняемый файл.

Условия использования IonEisExporter:

IonEisExporter является свободным программным обеспечением, распространяется бесплатно в надежде, что он может быть полезен, но без каких-либо гарантий, включая гарантии годности для коммерческой реализации и годности для решения конкретной задачи. Вы можете использовать его бесплатно при соблюдении следующих условий:

1) Данное программное обеспечение не может быть изменено каким-либо образом без разрешения ООО «ОКБ «ИОН».

2) Использование данного программного обеспечения не ограничено.

3) Распространение данного программного обеспечения допускается при условии публикации ссылки на наш веб-сайт: https://ionspb.ru/

Скачивая и запуская IonEisExporter Вы автоматически соглашаетесь с данными условиями.