sem
Егор Ширялин
0 ответов 600 17.09.2018

Загрузка данных из эксель



Очередное внедрение загрузки данных из эксель не заставило себя долго ждать. К нам пришел клиент – интернет-магазин одежды с большим ассортиментом товаров со следующими исходными данными:

У него было несколько поставщиков, с одним из которых он договорился о формировании файла, для загрузки товаров в базу 1С.

Файл регулярно обновлялся, но какие именно изменения он в себе содержал было неизвестно. Объем файла не позволял следить за этим вручную.

При изменении цены на хотя бы один цвет или размер в линейке, необходимо было менять цены на весь размерный ряд со схожими свойствами товара.

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

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

Что это свойства?

  • Штрих-коды. Скрупулезное ведение ШК позволяет клиенту сориентировать свой бизнес на быстрые продажи и качественную сквозную аналитику на всех этапах жизненного цикла товара от оприходования до реализации в розничной точке. Для быстрой оборачиваемости товаров их наличие – жизненно необходимо любому бизнесу.

    Поэтому одним из главных условий работы загрузчика была необходимость загружать штрих-коды в систему и при необходимости обновлять их. Штрих-код содержал в себе информацию обо всех остальных свойствах товара, что само по себе было важным для клиента.
  • Цвета, размеры, состав. Классический набор свойств при оптовой и розничной торговле одеждой. Шел по умолчанию в комплекте задачи 
  • Группа цветов. Дополнительный аналитический признак, который мы загружали в составе данных из файла эксель.
  • Дата изготовления. Редкий признак в торговле одеждой. Хотя правильнее было бы сказать, что ранее мы никогда его не видели. Тем не менее, клиент использовал его для понимания «свежести» товара и его принадлежности той или иной коллекции.

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

Это делало загрузку из файла более универсальной.

Что было сделано нами для корректной загрузки данных в 1С?

  1. Была определена структура файла, позволяющая 1С корректно получать и обрабатывать данные из эксель.
  2. Утвержден внешний вид загрузчика, удобный для клиента:
  3. Разработан программный код с обработкой возможных ошибок при загрузке данных. Код был отлажен на реальной загрузке данных, предоставленных поставщиком. При разработке были учтены популярные ошибки, часто допускаемые при внедрении аналогичных загрузок из эксель.

Хочу остановиться на этом подробнее, т.к. зачастую клиенты вынуждено пользуются «недозагрузчиками», сделанными на коленке, а то и вовсе, скачанными в интернете. Часто в них содержится множество неочевидных ляпов, мешающих нормальному использованию продукта.

Популярные ошибки при загрузке данных из эксель в 1С

  • Эксель не закрывается. Точнее визуально он закрывается, но в памяти остается незавершенный процесс. Когда процессов накапливается слишком много система начинает тормозить и может привести к принудительной перезагрузке и непреднамеренной потере данных. Для компаний, где важна непрерывная работа пользователей, это может обернуться большими проблемами.
  • Загрузку не удается использовать в клиент-серверных версиях 1С. Если вы небольшая компания, то прямо сейчас у вас может стоять файловая база. Когда вы перейдете на клиент-серверную версию, то ваш загрузчик может сломаться. Но сейчас вы об этом не узнаете.
  • Объем жесткого диска резко уменьшается. При неправильном программировании вы можете заметить (или, еще хуже, не заметить), как спустя некоторое время у вас закончится место на жестком диске. Это будет вызвано работой загрузчика, который не подчищает за собой временные файлы, создаваемые при загрузке.
  • Обработка зависает, а 1С закрывается. Плохие загрузки данных не ориентированы на большой объем обрабатываемой информации. Если вы тестируете загрузчик на специальном отладочном файле, то будьте готовы к тому, что на реальных данных он будет вести себя по-другому. У нас есть клиенты, которые загружают из эксель данные объемом до 3Гб. При этом для таких загрузок нами используются принципиально другие алгоритмы обработки файлов, которые не «вешают» 1С и выполняют свою работу за приемлемое время не загружая работу других пользователей системы.
  • Загружаемые данные дублируются или вовсе не обрабатываются. Дурацкие ошибки, которые не всегда выявляются вовремя. Характерны резким увеличением объема базы и накоплением в ней ненужного мусора. При этом вы можете не замечать этот мусор, пока база данных не распухнет настолько, что станет неповоротливой и ворчливой. Ошибки необработанных данных несут не меньше проблем для пользователей и бизнеса в целом.
Хотя для ваших клиентов, возможно, будет приятным сюрпризом, когда в кассовом чеке они увидят старую цену бейсболки. При этом цена ее закупа резко выросла, но загрузчик этого не заметил. Но будет ли это приятным сюрпризом для вас? :)

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

Как будет выглядеть загрузка данных в 1С в действии?

Вернемся к нашим баранам, ну в смысле к экселям. Посмотрим, что получилось у нас в результате обработки файла 1С-кой. Кстати, в данном кейсе речь идет о конфигурации «Управление Торговлей» ред. 11.4, если вдруг это важно.

Итак.

В базе создались новые виды номенклатуры, каждый со своим уникальным набором свойств:

Загрузились новые товары с этими свойствами:

Появились характеристики товаров, так же со своими свойствами:

Создались установки цен номенклатуры с пометкой, что они созданы обработкой:

В эту установку цен не попадают товары, цена которых не изменилась. Только необходимая информация!

Образовались новые документы «Регистрация цен поставщика» (тоже с защитой от дублей):

Хотите такой же загрузчик, сделанный специально для вас – удобный и функциональный? Заказывайте прямо сейчас по звонку на телефон готовых решений или через форму обратной связи.


Руководитель проекта разработки решения: Алексей К.

e2df9ba2c8-aleksej

Комментарии (0)

Для добавление комментария необходимо авторизоваться.

Вход | Регистрация