Поиск Написать

1С: Самвестимо. Открытые данные.

В одной из тем про открытые данные опубликованные ФНС как-то так получилось, что мой аккаунт налаял на своих собеседников. Краснею до сих пор.
Все последующие дни вожусь с этими данными.
Оказалось, что просто так, вручную, их не возьмешь.
Стало понятно и то, почему данные выложены в таком виде - их очень большой объем.
Поэтому они выложены кусочками в среднем по 160 фирм в файле.
Например, архив сведений об уплаченных налогах содержит 11358 файлов, т.е. сведения о примерно 11358*160=1 817 280 юрлицах.
Ясно, что даже "слить" эти файлы в одну таблицу Эксель, например, не получится - у листа есть ограничение на количество строк и колонок. Типа 32000 или 64000, не помню, но это все равно в сотни раз меньше, чем нужно.
Еще 3 файла данных имеют примерно такое же (+- 100 000 - 150 000) количество записей в сумме.
Несколько дней прошли в бесплодных попытках написать обработку для 1С для работы с этими данными.
Сама обработка данных проблем не вызывает поиски по ИНН, части наименований и т.п., проблема в том, что у обработки 1С нет подходящего инструмента для оперирования таким количеством записей. Например т.н. Таблица значений валится на примерно 1 200 000 записях. Т.е. в нее не получается загрузить даже один файл из 4-х (5-й - маленький).

Комментарии:
Страница 2 из 2
< 1 2
После небольшой оптимизации, скорость загрузки достигла ~1% за 10 минут.
Причем, осталось еще процентов 5, самая затратная по времени часть загрузки пройдет и скорость должна заметно возрасти.
используй более подходящие технологии

общее время загрузки около 25-30 минут
используй более подходящие технологии
Кому более подходящие, тот пусть и использует ...
Допиленная обработка для поиска (работает в любой базе 1С и просто перебирает файлы xml без загрузки данных в базу) работает и так вполне удовлетворительно - поиск по ИНН ~ 10 сек., поиск по названию - ~ 1 мин.
Та же самая обработка но уже в базе работает ~ в 50 раз быстрее, т.е. по ИНН поиск мгновенный, по названию - несколько секунд, при том, что в результаты поиска могут попасть несколько тысяч названий ...
Я считаю свои разработки достаточно эффективными и эффектными.
А загрузка, которая идет так "медленно" сейчас - это разовое мероприятие. Она будет выполнена только 1 (Один) раз в жизни.
А загрузка, которая идет так "медленно" сейчас - это разовое мероприятие. Она будет выполнена только 1 (Один) раз в жизни.
в смысле? налоговая же будет эти файлы периодически обновлять
в смысле? налоговая же будет эти файлы периодически обновлять
Там данные за 2017 год.
Следующее "обновление" будет через год.
И это будет, скорее всего, не обновление, а новый набор файлов с данными за 2018 год.
99,9% времени при загрузке сейчас тратится на запись новой "карточки" организации, а заполнение реквизитов уже записанного элемента справочника занимает 0.1% времени, т.е. происходит очень быстро.
Поскольку, количество юрлиц за год увеличится незначительно, данные за 2018 год загрузятся значительно быстрее.
Кошки Рyлят, И зачем тебе это все?
Вилен Гарбузов, не думай об этом - все равно не поймешь, да и не нужно это тебе ...

Файл уже перевесил 2 гига, но загрузка продолжается.
Загрузилось ...
Время загрузки: 4 ч. 33 мин.10 с.
А файл все-таки 2 гига не превысил ...

Сейчас почищу немного, а то на волоске висит.
Выкину 91, 92 регионы. Надо было сразу при загрузке проверять и не давать их загружать ...
И длину наименования уменьшу.
В описании формата указано, что это поле строка длиной от 1 до 1000 знаков, у меня в базе 500, но даже и этого наверное много и из-за этого так файл разросся.
Сейчас обработочку напишу, пусть пробежится и посчитает самое длинное название, до него и уменьшу ...
Архив базы весит меньше 200 метров.
Твари рукожопые!
Длина наименования 363
ИНН 7722277364
Наименование ОБЩЕСТВО_С_ОГРАНИЧЕННОЙ_ОТВЕТСТВЕННОСТЬЮ_"ВИДЛЭНД"_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ОБЩЕСТВО_С_ОГРАНИЧЕННОЙ_ОТВЕТСТВЕННОСТЬЮ_"ВИДЛЭНД"
здесь пробелы заменены символом _ чтобы было понятно а то движок форума их схлопнет.
Впрочем, второе место не на много короче
Длина наименования 322
Наименование ОБЩЕСТВО_С_ОГРАНИЧЕННОЙ_ОТВЕТСТВЕННОСТЬЮ_"МЕЖРЕГИОНАЛЬНОЕ_ПРОИЗВОДСТВЕННО_-_КОММЕРЧЕСКОЕ_ОБЪЕДИНЕНИЕ_"ПЕРСПЕКТИВА_-_СГ"_САМАРСКОГО_РЕГИОНАЛЬНОГО_ОТДЕЛЕНИЯ_ОБЩЕСТВЕННОЙ_ОРГАНИЗАЦИИ_"ОБЩЕРОССИЙСКИЙ_СОЮЗ_ИНВАЛИДОВ_ВНУТРЕННИХ_ВОЙСК,_ВООРУЖЕННЫХ_СИЛ,_ПОГРАНИЧНЫХ_ВОЙСК,_СЛУЖБ_БЕЗОПАСНОСТИ,_СПОРТА_И_ПРАВООХРАНИТЕЛЬНЫХ_ОРГАНОВ."
ИНН 6454047473
Но оно хотя бы осмысленное.
ВИДЛЭНД укорочу на пробелы и сделаю длину полного наименования 322
Надо логотип для конфигурации сделать.
Есть тут художники?
А то я рисовать не умею.
У меня вот только такие варианты.
Помните давно-давно был такой логотип про который злые языки говорили "сделано человеком без головы"? Мне кажется только, что надо его модернизировать немного чтобы показать откуда у них растут руки (см. выше) ...
Вот 2 варианта:




Какой выбрать?
Или, может, кто поможет сделать?
Плашку могу дать ...
После "оптимизации" структуры базы (уменьшения длины наименования с 500 до 322 символов), 2 гигабайтовый файл этого справочника уменьшился до 1,4!
Великоват, конечно, но вполне терпимо.
И, кроме того, теперь в эту базу можно будет заливать данные еще много лет и она не лопнет ...
Клерк выложил базу "Открытые данные" от ФНС в открытый доступ с поиском по ИНН: https://www.klerk.ru/tools/opendata/

Страница 2 из 2
< 1 2
 

Подтвердите удаление записи