Загрузка данных из табличного документа (оптимизация для работы с MS Excel)

19.06.11

Интеграция - Загрузка и выгрузка в Excel

Оптимизация обработки с диска ИТС "Загрузка данных из табличного документа" с целью ускорения загрузки в табличный документ файла MS Excel

Файлы

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

Наименование Скачано Купить файл
ЗагрузкаДанныхИзТабличногоДокумента 8.2 (Damian Edition).epf
.epf 61,48Kb
1129 2 500 руб. Купить

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

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

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

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • Поиск от одного разработчика до ИТ-команд под проект.
  • Обмен любыми контактами разрешён.
  • 0% комиссии, допускаются расчёты напрямую.

В последнее время что-то все чаще приходится пользоваться этой обработкой. И постоянно напрягает, что файл Excel загружается в табличный документ чрезвычайно долго (иногда успеваю два раза сходить покурить :).

В представленной обработке немного изменен механизм чтения данных из файла MS Excel.

Основой для такой оптимизации послужила публикация "Быстрая функция чтения данных с листа Excel" от wildhog.

В результате файл, содержащий 15900 строк и 6 колонок вместо 5 минут загружается 8 секунд.

Кроме ускорения загрузки есть еще одно принципиальное различие.

Стандартный алгоритм получает данные, используя свойство ячейки Text. Оптимизированный алгоритм получает данные, используя свойство Value. Основное их различие в том, что свойство Text содержит отформатированные данные. Вот выдержка из справки по VBA MS Excel:


This example illustrates the difference between the Text and Value properties of cells that contain formatted numbers.

Visual Basic for Applications

Set c = Worksheets("Sheet1").Range("B14")
c.Value = 1198.3
c.NumberFormat = "$#,##0_);($#,##0)"
MsgBox c.Value
MsgBox c.Text


Так что, по большому счету, разницы практически никакой.

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

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Загрузка и выгрузка в Excel Маркетплейсы Программист Бухгалтер Пользователь 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Управленческий учет Платные (руб)

Реальный помощник, с помощью которого Вы преобразуете необходимые документы для Wildberries, OZON, ЯндексМаркет, Мегамаркет, Aliexpress, Детский мир, Магнит Маркет (быв.МагнитЭкспресс), Лемана про, ЭНФАНТА (Акушерство), ЛаМода, Летуаль, Твой дом, Золотое Яблоко, Каспи в документы "Отчет комиссионера (агента) о продажах" и другие. Работает в 1С:БП 3.0, 1С:БП 3.0 КОРП, 1С:УТ 11, 1С:УНФ, 1С:ERP.

5490 руб.

12.08.2021    45440    567    71    

218

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Системный администратор Программист 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Загрузка номенклатуры из файлов Excel (xls, xlsx, ods, csv, mxl) в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

12444 руб.

29.10.2014    231307    745    532    

495

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 27.03.2026, версия 9.3.1 - 10.7.1)

20740 руб.

20.11.2015    173533    426    396    

542

Загрузка и выгрузка в Excel Маркетплейсы Программист Бухгалтер Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Загружает данные из Акта приемки товара от ООО «Вайлдберриз», полученный из личного кабинета в формате *.xlsx или API в документ "Реализация (акты, накладные, УПД)" для конфигурации: Бухгалтерия предприятия, редакция 3.0, в документ "Реализация товаров и услуг" для Управление торговлей, редакция 11; Комплексная автоматизация 2; ERP 2 Управление предприятием и в документ "Расходная накладная" для Управление нашей фирмой 3.0; Розница 3.0

6100 руб.

24.01.2021    24641    121    0    

63
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Поручик 4609 20.06.11 00:43 Сейчас в теме
Я делал копи-пастом из открытого Excel в табличное поле. Получалось ещё быстрее :D
2. Yashazz 4915 20.06.11 01:53 Сейчас в теме
3. RustIG 1952 21.06.11 11:07 Сейчас в теме
(0) Спасибо! Статья небольшая, но отлично подготовлена и написана! Некоторая информация пригодилась! При этом я чаще копирую из Эксель в ТабличныйДокумент 1С и дальше обрабатываю уже ТД, чем пользуюсь стандартной обработкой.
4. Yashazz 4915 21.06.11 15:25 Сейчас в теме
А вообще забавно, как все пытаются читать обычным com-обменом, напрочь игнорируя прямой доступ к файлам Excel, ADO, csv-чтение и другие полезные вещи. Которые, к слову, гораздо быстрее любых Sheets и Range.
cool.vlad4; +1 Ответить
5. cool.vlad4 2 21.06.11 15:27 Сейчас в теме
6. cool.vlad4 2 21.06.11 15:29 Сейчас в теме
имеет смысл пользоватся комом, если используются специфичные вещи приложения(цвет ячейки например), но здесь не тот случай
7. mc-sim 28.07.11 21:13 Сейчас в теме
Ребята, а подскажите, использую платформу 8.2 с конфигурацией управление торговлей 11, так вот обработка не открывается! Точнее открывается но в маленьком окне и без кнопок...
8. Alex@ander 20.09.11 03:49 Сейчас в теме
Оптимизировал хорошо, только вот у меня в результате в табличный документ число из текстового поля артикул загрузилось не числом, как оно загружается "не оптимизированным способом", а как строка с неразрывным пробелом (КодСимвола 160) между триадами. Считаю что так не должно быть по умолчанию ))
9. Tristania 21.09.11 09:42 Сейчас в теме
10. natik86 27.09.11 13:22 Сейчас в теме
Похожая обработка есть на ИТС.
11. aleksey2 95 30.09.11 09:43 Сейчас в теме
в названии не должно быть пробелов так как скачивается без расширения ЗагрузкаДанныхИзТабличногоДокумента
12. Solid 17.10.11 15:21 Сейчас в теме
Зачем вводить в заблуждение, обработка не для управляемого приложения. За это надо банить.
Какого ... я потратил свои тугрики на это г... :)
15. Damian 912 27.10.11 00:03 Сейчас в теме
(12) никто и не говорил, что она для управляемого приложения.
13. Likusia 21.10.11 10:27 Сейчас в теме
спасибо, очень хорошо помогает в работе
14. Nick5k 26.10.11 20:59 Сейчас в теме
А где на итс лежат обработки? Не могу найти!
16. AntoxaVR6 04.11.11 05:01 Сейчас в теме
Хорошая штука! Я доволен
17. reik 11.11.11 13:58 Сейчас в теме
18. dpagon 8 16.11.11 18:34 Сейчас в теме
Отличная вещь, главное достоинство что существует 2 варианта загрузки, это очень удобно поскольку при загрузке *.xls, ячейки а которых числовые значения при преобразовании в строку, как в оптимизированном варианте этой обработки, так и новой версии этой обработки от 1с, разделяются на триады, и при загрузке появляются пробелы...
19. пользователь 24.11.11 19:09
Сообщение было скрыто модератором.
...
20. It-developer 26 01.12.11 17:54 Сейчас в теме
21. Damian 912 01.12.11 20:46 Сейчас в теме
(20), согласен, ADO быстрее отработает (+ еще и от наличия установленного MS Excel не зависит), но на тот момент решил не заморачиваться.
22. Bacbka 13.01.12 00:57 Сейчас в теме
Спасибо, очень пригодилось. Действительно, выводились не все кнопки, помогла перезагрузка, как написано выше. Загружает на порядок быстрее стандартной, удобнее и время экономит
23. пользователь 13.01.12 01:17
Сообщение было скрыто модератором.
...
24. natik86 25.01.12 16:44 Сейчас в теме
Что то не могу разобраться в обработке...
25. unoDosTres 01.03.12 12:24 Сейчас в теме
отличная обработка, значительно быстрей работает, даже не ожидал
26. dyuha 53 31.05.12 10:02 Сейчас в теме
Мне помнится в 8.1 по кнопке обновить загружалась текущая информация из справочника, а в 8.2 этого не происходит. Подскажите, пожалуйста, может я что-то не так делаю?
27. s_uu 22 09.06.13 16:33 Сейчас в теме
а у меня выходит ошибка "{ВнешняяОбработка.ЗагрузкаДанныхИзТабличногоДокумента.МодульОбъекта(1982)}: Поле объекта не обнаружено (ЭлементыФормы)
Для каждого ЭлементФормы Из Форма.ЭлементыФормы Цикл
"
29. Damian 912 10.06.13 09:53 Сейчас в теме
(27) Странно, по указанному номеру строки подобной конструкции нет...
Такой цикл есть ниже по коду, в строке 2038 и выполняется, когда выбираем режим загрузки "В табличную часть документа".
Опишите поподробнее, какие действия приводят к ошибке.
28. s_uu 22 09.06.13 16:36 Сейчас в теме
а у меня выходит ошибка "{ВнешняяОбработка.ЗагрузкаДанныхИзТабличногоДокумента.МодульОбъекта(1982)}: Поле объекта не обнаружено (ЭлементыФормы)
Для каждого ЭлементФормы Из Форма.ЭлементыФормы Цикл
"
30. lelvisl 22.07.13 13:43 Сейчас в теме
Просьба подсказать в чем может быть проблема- - обработчик загружает данные в любой справочник, кроме нуменклатуры.
При попытке загрузки в нуменклатуру не выдает ошибок, но потом загруженных данных там не отображается.
При чем загрузка в любое другое место проходит успешно. В чем может быть проблема?
31. KliMich 13.08.13 12:59 Сейчас в теме
Спасибо! Переделал. А то страндартным образом у меня загрузка почти всю ночь шла...
32. Gendalf_beliy 22.01.14 12:34 Сейчас в теме
Спасибо, теперь сотня тысяч строк загружается намного быстрее
33. lesenoklenok 34 23.01.14 13:50 Сейчас в теме
Спасибо за обработку, очень помогла при загрузке 35000 строк.
34. abdurohman 14.10.18 01:41 Сейчас в теме
{ВнешняяОбработка.ЗагрузкаДанныхИзТабличногоДокумента.МодульОбъекта(2203)}: Поле объекта не обнаружено (ДлинаКода)
Если МетаданныеИсточника.ДлинаКода > 0 Тогда
Для отправки сообщения требуется регистрация/авторизация