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

20.02.24

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Тест чтения zip
.epf 217,25Kb
0
0 Скачать (3 SM) Купить за 2 450 руб.

Те, кто сталкивался с 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С:Розница 3.0 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

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

24000 руб.

02.11.2024    1283    10    0    

8

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

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

22440 руб.

19.12.2023    7313    45    12    

41

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

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

36000 руб.

03.08.2020    19340    24    22    

20

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

Внешняя обработка адаптирована для 1C: УТ 11, предназначена для наполнения вашей базы данных товарами и сопутствующей информацией, предоставляемой b2b.4tochki.ru, обновления остатков и цен.

8160 руб.

31.01.2020    32457    17    7    

16

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

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

9600 руб.

27.04.2022    11873    21    3    

12

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

Расширение предоставляет возможность создавать и редактировать номенклатуру с большим количеством характеристик и фотографий для них в один присест. Экономит время наполнения сайта товарами с нескольких минут на позицию до одной. Встроенный функционал сжатия фотографий. Простота и удобство позволяют значительно сэкономить время на типовых операциях и дисковое место под фотографии товара.

3600 руб.

25.05.2020    21182    16    16    

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