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

20.02.24

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

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Тест чтения zip
.epf 217,25Kb
0 2 450 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Те, кто сталкивался с 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-ФЗ диск

См. также

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

Интеграция сервиса dolyame.ru с 1С:Розница 2.3 для приема платежей в рассрочку. Готовое интеграционное решение для оплаты покупок Долями в 1C:Розница 2.3. Реализовано в виде расширения. Интеграция сервиса dolyame.ru для приема платежей в рассрочку. Поддерживает работу от разных юридических лиц. Работа: в составе РИБ, отдельно от РИБ, тонкий, толстый клиент, web-клиент (через интернет-браузер), поддерживается старый РМК, работа через чек ККМ.

24000 руб.

19.12.2023    10329    59    14    

54

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

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

36000 руб.

03.08.2020    21681    30    24    

24

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

Данный модуль предоставляет возможность выгружать заказы из 1С: Управление торговлей 11 версии в "MEASOFT" (ранее "Курьерская служба 2008").

9600 руб.

27.04.2022    12461    22    3    

13

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

Готовое интеграционное решение для оплаты покупок Долями в 1C:Розница 3.0. Реализовано в виде расширения. Интеграция сервиса dolyame.ru для приема платежей в рассрочку. Поддерживает работу от разных юридических лиц. Работа: в составе РИБ, отдельно от РИБ, тонкий, толстый клиент, web-клиент (через интернет-браузер). Интегрировано в Чек ККМ, Рабочее место кассира (РМК)

26400 руб.

02.11.2024    2755    13    2    

11

Файловый обмен (TXT, XML, DBF), FTP Сайты и интернет-магазины 1С v8.3 1С:Управление торговлей 11 Россия Платные (руб)

Загрузка файла YML (формат Yandex Market Language(YML) — собственный стандарт Яндекса, основанный на XML) в УТ11.5 Создание дерева номенклатуры, создание карточек номенклатуры и доп реквизитов, загрузка картинок в карточку. Оптимизировано для выгрузки в Битрикс. Возможна загрузка нескольких Фид - предусмотрено разделение по площадкам

7000 руб.

01.11.2024    1202    1    1    

2

Прайсы Оптовая торговля Ценообразование, анализ цен Сайты и интернет-магазины Пользователь 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Легкая обработка для мониторинга цен практически любого сайта (парсинга), не требует специальных знаний при настройке.

6960 руб.

17.04.2017    33430    30    28    

43
Для отправки сообщения требуется регистрация/авторизация