Чтение содержимого zip-архивов для zakupki.gov.ru

20.02.24

Интеграция - Сайты и интернет-магазины

Еще одна вариация zip-архиватора, извлекающего текстовое содержание запакованных файлов напрямую в переменную.

Скачать исходный код

Наименование Файл Версия Размер
Тест чтения zip
.epf 217,25Kb
0
.epf 217,25Kb Скачать

Те, кто сталкивался с ftp госзакупок, знают, что файлы там выкладывают в виде zip-архивов, содержащих наборы xml-файлов. При этом определить по имени архива и имени файла его содержание затруднительно. Для отбора файлов по конкретной организации применяют следующий алгоритм: скачивается архив, распаковывается, после чего каждый xml-файл проверяется по неким условиям. У нас, например, применялось условие что в xml находился нужный ИНН. Алгоритм работает, но медленно.

 
 Пример файла

Способов оптимизации получения файлов с ftp не искал, а вот алгоритм поиска нужных файлов, гоняющий гигабайты по жестким дискам, показался странным.

Зная структуру запакованных xml, можно сделать вывод что для поиска ИНН достаточно распаковать шапку файла, первые 100кБ будет достаточно. Однако архиваторов, которые могут частично распаковать zip не нашел. Говорят, что zip может работать с памятью, но не типовыми средствами 1с. В итоге из исходников была собрана внешняя native-компонента, которая может распаковать первые N байт из zip-архива и вернуть их в переменную. Жесткий диск при этом не используется.

Компонента собрана в 32 и 64-битном исполнении под Windows.

Не умеет практически ничего, кроме методов:

  1. ОткрытьАрхив(ПолноеИмяАрхива)
  2. РаспаковатьФайлВСтроку(ИмяФайлаВАрхиве,ЧитатьБайт) 
  3. ЗакрытьАрхив()
  4. Версия()

Все методы используются в тестовой обработке, суть их работы понятна из названия метода. ВК в макете.

 

 

Переменная ЧитатьБайт по умолчанию 0 - в этом случае метод вернет полностью содержимое xml, опять же без распаковки архива на диск. Поиск подстроки в этом случае будет выполняться долго (использую метод Найти) - рекомендую ограничивать шапку (но все равно быстрее чем файл распакуется на диск а потом будет прочитан). После открытия обработки следует подключить ВК.

Из недостатков: 

  1. не реализован поиск в целом архиве без перебора циклом запакованных xml
  2. проверялось исключительно на zip-архивах с госзакупок и платформах 8.3.20.1710 и 8.3.21.1895.
  3. работает на честном слове, а врут все)

 

upd: Добавил в обработку замер времени выполнения. Сравнивается типовой способ распаковки файлов и поиска в них как в текстовом документе и поиск с помощью компоненты. Замер выполнялся на уставшем бытовом ssd, в качестве архива выступал zip-архив из скрина выше (280 файлов общим объемом 1308651792 байта упакованных до 59146118 байт)

 
 Замер

 

 

внешняя компонента ВК ускорение zip архив госзакупки ftp память 223-ФЗ 44-ФЗ диск

См. также

API-интеграция 1С с маркетплейсами ОЗОН, WildBerries, Я.Маркет, СберМегаМаркет, Стройландия, Леруа Мерлен, Hoff, AliExpress для УТ11, КА2, ERP2, УНФ, БП3, Розница, УТ10, УПП1.3

Сайты и интернет-магазины Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Беларусь Россия Управленческий учет Платные (руб)

Модуль для интеграции с маркетплейсами ОЗОН, WildBerries, Я.Маркет, СберМегаМаркет, Стройландия, Леруа Мерлен, Hoff, AliExpress. При помощи расширения поддерживаются следующие методы: обмен остатками товаров, обмен ценами, обработка заказов, печать стикеров, загрузка отчетов комиссионеров по API (в том числе Я.Маркет). Подходит для конфигураций Беларуси. Поддержка искусственного интелекта GigaChat

59990 руб.

05.09.2023    8663    128    74    

84

Оплата покупок "Долями" в 1С:Розница 2.3 (для работы с сервисом dolyame.ru)

Сайты и интернет-магазины Платформа 1С v8.3 1С:Розница 2 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Готовое интеграционное решение для оплаты покупок Долями в 1C:Розница 2.3. Реализовано в виде расширения. Интеграция сервиса dolyame.ru для приема платежей в рассрочку.

18000 руб.

19.12.2023    1741    14    6    

11

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

Сайты и интернет-магазины WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    16020    13    18    

13

Интеграция 1С — Битрикс24. Обмен задачами

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс24. Разработка имеет двухстороннюю синхронизацию 1С и Битрикс24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (8.3.18.1289). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    18049    10    15    

14

Обмен данными с сайтом. БП 3.0

Оптовая торговля Розничная торговля Сайты и интернет-магазины Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Обмен данными с сайтом на платформе 1С:Битрикс (и подобными) для 1С: Бухгалтерия предприятия 3.0.

12000 руб.

18.03.2019    31780    113    100    

65

Универсальный парсер интернет-магазинов

Оптовая торговля Розничная торговля Сайты и интернет-магазины Платформа 1С v8.3 Управляемые формы 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

С того времени, как я начал парсить сайты, прошло много лет. За это время я спарсил более 100 сайтов и записал эти товары в 1С. В итоге на свет появился универсальный парсер, который поможет Вам спарсить интернет-магазин и при этом не написать ни строчки кода.

9600 руб.

19.10.2018    52469    220    101    

112

SALE! 33%

«Мониторинг цен» – сервис для отслеживания цен конкурентов на ведущих маркетплейсах России

Маркетплейсы Сайты и интернет-магазины 8.3.14 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Сервис помогает отслеживать цены на ведущих маркетплейсах России только для одного региона – Москва и Московская область. Выполняйте анализ и контролируйте цены Ваших конкурентов сразу в системе 1С.

2400 1608 руб.

29.05.2023    6911    26    41    

15
Оставьте свое сообщение