Чтение содержимого 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С:Розница 2 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

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

22440 руб.

19.12.2023    7759    48    13    

44

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

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

24000 руб.

02.11.2024    1445    10    0    

9

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

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

36000 руб.

03.08.2020    19700    24    24    

20

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

Решение осуществляет синхронизацию задач Битрикс24 и 1С, что позволяет в одной системе ставить задачи, контролировать выполнение всего пула задач с группировкой по ответственным и проектам, формировать управленческие отчеты по работе сотрудников (загрузка, просроченные задачи), уведомлять сотрудников о ходе выполнения задач посредством чат-бот Telegram

7200 руб.

04.05.2021    21322    14    19    

19

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

Модуль выгрузки товаров услуг из 1С для сайта "Авито" раздел "Автозагрузка" выполнена в виде обработки. Обработка подходит для конфигураций УТ, УНФ и Розница. Данная обработка позволяет создавать шаблон с объявлениями для "Авито" - "Автозагрузка".

4200 руб.

07.06.2022    19530    45    56    

46

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

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

8160 руб.

31.01.2020    32602    17    7    

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