Вы больше не будете разбирать Excel как раньше

Публикация № 824670

Разработка - Обмен данными 1С - Загрузка и выгрузка в Excel

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

Согласитесь, было бы неплохо получить инструмент, который принимал бы запросы к данным со слабовыраженной и нестабильной структурой в том виде, в котором человек объяснял бы другому человеку правила по которым он глазами находит колонку "цена" в УПД. Ну, например:

о цене мы точно знаем, что это число, оно находится в колонке с названием содержащим слово "цена", и оно располагается между наименованием и ставкой НДС

Сформулированный "запрос" содержит основные критерии (тип, название колонки) и "подстраховку" (расположение относительно других данных), которые не позволят выбрать что-то лишнее. При этом, как вы могли заметить, такой "запрос" не привязан к какому-то одному формату, с помощью него можно успешно найти цену и в УПД и в Накладной и в ТОРГ-12. И уж тем более, там ничего не написано ни про номер колонки в которой стоит цена ни про номер строки с которой начинаются товары.

Но если так может человек, почему так не может 1С?

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

Фактически, такой "запрос" можно получить в виде фразы ГДЕ языка запросов 1С, построив нужным (и автоматическим) образом фразу ИЗ. Фраза ВЫБРАТЬ особого интереса не представляет и будет статичной. Если "перевести" описание колонки Цена, данное выше, с человеческого на язык запросов 1С, получится примерно такое:

ГДЕ ТипЗначения(Слово) = Тип(Число) И СловаВыше ПОДОБНО ""%ЦЕНА%"" И СловаСлева ПОДОБНО ""%[А-Я]%"" И СловаСлева.Длина > 3 И ТипЗначения(СловаСправа) = Тип(Число)

Разберемся, в том, что тут понаписано.

Основные параметры

Во-первых надо понять, что мы имеем дело с обычным запросом, ну т.е. с его фразой "ГДЕ". Соответственно, для описания условий нам доступны все возможности языка запросов: сравнения, равенства, манипуляции периодами, математические выражения, оператор "ПОДОБНО", и все остальное, что только можно написать в обычном запросе.

Во-вторых, для рассмотрения доступно само поле. О нем доступны следующие сведения:

  • в реквизите Слово.Значение хранится "чистое" значение поля.
  • в реквизите Слово.ОригинальноеЗначение хранится значение поля в том виде, в котором оно было в изначальном экселе, без очистки.
  • в реквизитах Слово.НомерСтроки и Слово.НомерКолонки хранятся координаты позиции слова в исходной таблице.
  • Слово.Длина содержит длину строки (для не строк - длину строкового представления соответствующего значения).

Для наглядности и простоты написания, выражения "Слово.Значение" и "Слово" - эквивалентны, т.е. когда вы не уточняете какое имеете ввиду поле у таблицы "Слово" - будет подставлено поле по-умолчанию "Значение".

В-третьих, доступно все окружение каждого поля. Например, если мы хотим описать какое-то поле через его предшественника - ставку НДС, мы можем написать "СловаСлева ПОДОБНО "18\%". Другой пример - описание поля через заголовок столбца: "СловаСверху ПОДОБНО "%ЦЕНА%". Ну и так далее, всего возможно 8 вариантов обращения к окружению, все описаны в справке. Каждое из окружающих слов содержит туже структуру его описания, что и само Слово (Значение, ОригинальноеЗначение, НомерСтроки, НомерКолонки, Длина). И также, при опускании ".Значение" - оно будет поставлено автоматически (т.е. записи "СловаСлева" и "СловаСлева.Значение" эквивалентны).

В-четвертых, требуется осознать следующую вещь: "Слева" - это не значит "непосредственно в соседней слева ячейке". Это значит где-то слева. Такой подход помогает нам легче обращаться к наименованиям колонок (они же могли быть и 3 и 10 строк назад), а также не иметь проблем при объединениях ячеек. Но, если есть уверенность в непосредственной близости каких-то данных, всегда можно написать "СловаСлева.НомерКолонки + 1 = Слово.НомерКолонки"

В-пятых, в каждом направлении (влево, вверх...) мы можем анализировать не одно поле. В таком случае мы можем обзывать поля как хотим, главное - оставить префикс из того набора, который у нас есть. Например, при поиске количества хотим чтобы оно следовало за "шт" и "796": "СловаСлеваИмяЕдИзм = "ШТ" И СловаСлеваКодЕдИзм = 796". Естественно, если написать еще какое-то условие для синонима СловаСлеваКодЕдИзм - будет понятно, что это требование к тому же самому полю, а не к третьему.

Углубимся в технику

Технически, весь объем данных (Excel, табличный документ, Word, не важно) помещается в таблицу значений с колонками Значение, ОригинальноеЗначение, НомерСтроки, НомерКолонки, Длина, где каждая запись соответствует одной ячейке. Далее, таблица значений помещается в запрос и она соединяется сама с собой по правилам, в результате которых каждому слову (синоним Слово) получаются сопоставлены слова стоящие в той же строке слева от него (синоним СловаСлева), в той же строке справа от него (СловаСправа) в той же колонке выше него (СловаВыше) и в той же колонке ниже (СловаНиже). Области этих четырех соединений схематично показаны ниже, на первой схеме.

Кроме того, есть еще 4 таблицы: представляющие все ячейки справа (ВсеСловаСправа) и все ячейки слева (ВсеСловаСлева), независимо от строки - вторая схема. И все ячейки сверху (ВсеСловаВыше) и все ячейки снизу (ВсеСловаНиже) независимо от колонки - третья схема. Т.е. если предыдущие таблицы представляли собой "линию" из ячеек, то эти таблицы - это поле ячеек. Соединения всех таблиц происходит по координатам ячейки в реквизитах НомерСтроки и НомерКолонки. И, естественно, реально объявляются во фразе ИЗ только те таблицы, которые используются во фразе ГДЕ.

Есть также дополнительный вариант, для "условно-не-табличных" данных (например, требуется вычленить из шапки документа номер, дату) - хорошо работает принцип когда каждое слово по одному помещаются в таблицу (получается, что каждое конкретное слово становится доступно для анализа отдельно от остального окружения в ячейке). За это отвечает реквизит РежимРаботы функции ТаблицаСловПоМассиву. Нумерация строк и колонок при этом остается как в оригинале. Так очень эффективно бороться, например, с датами (их пишут все кому как в голову взбредет: кто-то в одной ячейке, кто-то в трех, кто-то еще псевдо-печатное оформление оставляет в стиле "___")

Также отдельное внимание стоит обратить на разборщика входящих данных (функция ОкультуритьТекст). Эта функция строит т.н. "чистое" значение по оригинальному значению, без нее весь банкет был бы невозможен. Она работает так:

  • переводит все в верхний регистр
  • определяет соответствует ли значение одному из шаблонов даты, если да - пытается привести значение к типу дата.
  • определяет можно ли привести значение к числу. если да - приводит. при этом разные написания вроде "1 234.50", "1`234,50", "1.234,50" и т.п. будут обработаны успешно.
  • для строк - все символы кроме букв, цифр и символов "-", "/", "(", ")", заменяет на пробелы, удаляет пробелы в начале и конце строки, удаляет повторяющиеся пробелы.

В результате ее работы мы получаем т.н. "чистое" значение, однако, если нам все-же захочется проанализировать оригинальное значение - оно сохраняется в реквизите ОригинальноеЗначение.

Визуальная консоль запросов

Для проверки запросов в процессе разработки функциональности (ну и для поиграться) предназначена визуальная консоль, которую вы видите в гифках и можете скачать ниже. Пользоваться консолью проще простого:

  • в табличный документ консоли копи-пастим эксель
  • пишем текст своего запроса
  • жмем выполнить - соответствующие запросу ячейки будут подсвечены

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

Методика программного использования

При разборе документов у меня методика использования получилась следующая:

  • Думаем, какой столбец будет опорным. Это должен быть столбец, определить элементы которого можно с наименьшей погрешностью. Я выбрал цену. (многообещающе выглядела ставка НДС, но ее нет в некоторых форматах)
  • Делаем запрос ко всем значениям опорного столбца. Для цены у меня такой запрос: "ГДЕ СловаСлева ПОДОБНО ""%[А-Я]%"" И СловаСлева.Длина > 3 И ТипЗначения(СловаСправа) = Тип(Число) И СловаВыше ПОДОБНО ""%ЦЕНА%"" И ТипЗначения(Слово) = Тип(Число)"
  • Далее, пишем по одному запросу к каждому типу значений (один запрос - количество, второй - наименование, третий - сумма и т.д.), используя в них конструкции типа Слово.НомерСтроки В (&НомераСтрокОпорныхЗначений).
  • Если нужно получить одно значение, а получить четко одно невозможно - можно приоритезировать результаты поиска по каким-то критериям, например, по номеру колонки или длине строки (при программном использовании доступна также установка фразы УПОРЯДОЧИТЬ ПО) Вроде как не совсем красиво выбирать наименование между "шт" и "Туфли женские" опираясь на длину строки, но мне не встречалась ситуация, когда такой критерий подводил.

Есть и более простой вариант: написать по одному запросу, каждый из которых вернет значения всех соответствующих областей независимо ни от какого другого, но при таком подходе существенно возрастает риск, что запрос "зацепит" какие-то данные, которые вы не планировали получать, хотя если в консоли такие запросы успешно обкатаются - можно и так.

Код полностью открыт, запароленных и/или обфусцированных участков кода нет. Писал на платформе 8.3.9.2233. Удачи!

Скачать файлы

Наименование Файл Версия Размер
Больше вы не будете разбирать Excel как раньше:

.epf 15,26Kb
07.05.18
66
.epf 15,26Kb 66 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. gubanoff 48 07.05.18 11:23 Сейчас в теме
Почерпнул несколько идей, есть оригинальные моменты, спасибо.
chebser; KEV8383; Liris; +3 Ответить
2. Evil Beaver 6788 07.05.18 13:04 Сейчас в теме
А можно что-то типа мастер-класса для тупых? мол, "вот задача, вот файл эксель, а вот так мы теперь сможем делать"...

А то звучит круто, но непонятно. Жажду демонстрации на живых людях данных
Dmitri93; chebser; rpgshnik; zqzq; kadild; +5 Ответить
5. m-rv 853 07.05.18 15:39 Сейчас в теме
(2) Непонятно в чем вопрос, если пример использования в техногенном смысле - консоль как раз реализует программный интерфейс. Если в более прикладном смысле - то суть то весьма проста - берем эксель и разбираем где цена где количество, где артикул и записываем в документ.
23. Evil Beaver 6788 09.05.18 22:49 Сейчас в теме
(5) пошаговый пример: как взять Вашу консоль и с ее помощью разобрать какой-нибудь excel?
paybaseme; kalyaka; azhilichev; kadild; +4 Ответить
3. dandykry 5 07.05.18 14:06 Сейчас в теме
Как-то сталкивался с проблемой "плавающих колонок". пошел от обратного и сделал обработку с пользовательской настройкой.
1) Пользователь читает файл с таблицей
2) Выбирает на каждый предопределенный параметр область ТД. (К примеру контрагент у меня вот в этой ячейке, а колонка с номенклатурой тут. А вот тут сумма и цена)
3) Обзывает свое творение "ТОРГ-12 от Рога и копыта"
4) Загружает

При открытии очередного файла с таблицей, происходит поиск наиболее подходящей из сохраненных настроек (Проверялись предопределенные Дата, Контрагент, колонка номенклатуры, Сумма, цена по нескольким алгоритмам).
Если таких много, то дает выбрать. Так же дает выбрать, если поиск не увенчался успехом (К примеру критерий того же контрагента провалился, а на самом деле просто формат текста был неверный)

Если приходит что-то новое, пользователь начинает настраивать новую настройку. (Зато сам видит, что изменились колонки/ячейки, а не "программист плохой снова денег хочет")
7. m-rv 853 07.05.18 15:43 Сейчас в теме
(3) все привыкли вбивать параметры "номер первой строки товары" и "номер колонки цены" цифрами, ваш вариант гораздо более юзерс-френдли. а если его еще раскрасить разными цветами (цена фиолетовым, количество зеленым...) - наверно весьма футуристично будет выглядеть ))
9. dandykry 5 07.05.18 15:58 Сейчас в теме
(7) Цветасто было) Как раз для выбора существующего варианта подкрашивались области, но вообще идея в целом провальная.
В целом закончилось все тем, что "программист плохой". Воткнулось все в алгоритмы поиска данных. Только для поиска номенклатуры было где-то 15 штук, и этого оказывалось мало. По артиклу, штрих-коду, наименованию, парсингу Наименование+характеристика (штук 5 кажется)...... Поэтапный поиск. Комбинированные. И в итоге вариантов становилось больше. Сначала делал все новые и новые функции, после решил, что возможность загрузки алгоритма через тхт (чтобы на коленке можно было бы им отправить тхт с новой функцией, которую можно было бы вставить в Выполнить(ТекстИзФайла)). После решил, что иметь регистр сведений с "Контрагент", "Номенклатрура", "Как выглядит в ехсел" куда дешевле, чем исполнять сотни запросов. Оказалось нужно хранить для разных баз. В итоге родилась конфигурация к которой через COM (в перспективе планировался web-сервис) можно было получить гуид номенклатуры или контрагента по текстовому представлению. ( к счастью до этого не дошло, развитие этого франкенштейна окончилось)
33. CheBurator 3425 10.10.19 23:47 Сейчас в теме
(3) у меня практически точно также сделана загрузка в 77.
визуально выбирает колонки табличногодокумента(йоксель, прочитан эксель) соответсвующие предопределенным параметрам. Получаем схему данных. Эта настройка привязывается к контрагенту (или юзер простовыбирает схему из перечня схем). выбранную/привязаную схему можно оценить - показывает "раскраску" документа по текущей схеме. жмакает юзер загрузить, дальше как обычно.
конечно это исключительно интерактивная работа.
слава богу что таких "обменов данными" все меньше...
4. bulpi 174 07.05.18 15:10 Сейчас в теме
Во людям делать не фиг :)
Sersh2010; paybaseme; chebser; rpgshnik; kuzyara; zzumma; kadild; depresnjak; +8 Ответить
6. KapasMordorov 428 07.05.18 15:41 Сейчас в теме
Автор молодец.
В реальной жизни можно проще.
Для названий колонок мне хватило массивов подстрок по каждой колонке и разбор наименований колонок в двух строках.
Что-то нестандартное пришлось придумывать для разделения артикула и наименования номенклатуры.
Всё.
8. m-rv 853 07.05.18 15:47 Сейчас в теме
(6) кстати да, артикул из наименования у меня тоже выделяется. это самая спорная часть функциональности, поэтому в основной статье не стал писать, но раз уж вы затронули эту тему: наименование номенклатуры помещается в отдельный запрос в варианте "ПоСловам", далее ищутся слова, содержащие цифры (в моем варианте в артикуле всегда есть хотябы одна цифра) и самое длинное слово считается артикулом.
10. depresnjak 2 07.05.18 19:06 Сейчас в теме
По зависимостям: только платформа или есть ещё БСП etc?
11. m-rv 853 07.05.18 19:39 Сейчас в теме
12. CheBurator 3425 08.05.18 00:18 Сейчас в теме
все равно все алгоритмы - эмпирические. без предварительного визуального исследования человеком - не разобрать. а хотелось бы сказать "торг12" и получить на выходе "линенынй данные"
14. m-rv 853 08.05.18 07:42 Сейчас в теме
(12) да, все так. думаю, что можно построить некую "матрицу" в которой будут предопределенные настройки запросов для каждого вида входящих документов и предопределенные параметры записи в объект системы, но это уже следующий "слой".
13. HAMMER_59 207 08.05.18 06:53 Сейчас в теме
Красно было на бумаге, да забыли про овраги, а по ним ходить...

Так я и не уловил, для каждой ячейки будем делать проверку, а нет ли где-то там там выше, ячейки со словом цена? Это же сколько проверок будет для 1000 строк и 20 колонок?

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

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

Допускаю, что возможно, есть какая-то задача, для которой подходит решение предложенное в данной статье,
15. m-rv 853 08.05.18 09:05 Сейчас в теме
(13)
про 1000 строк - вопрос интересный, теоретически понятно, что язык запросов, на котором все построено способен переваривать и не такие объемы, но на всякий случай проверил, нашел документ на 1300 строк, результаты такие:
- обработка строк (см. разборщик входящих данных) работает порядка 45 секунд. это вообще довольно затратная с точки зрения производительности история.
- запрос в том виде, в котором он приведен выше выполняется около 120 сек.
- если выкинуть из него условие по наличию справа числа (цены) - запрос выполняется около 5 сек.
- если добавить условие на значение поля ниже - запрос работал 10 минут, я не дождался.
таким образом, имеет место экспоненциальный рост времени выполнения в зависимости от количества используемых таблиц (что логично), но в целом, для условий фоновой обработки и очень большого документа для разора (99% документов, это все-таки до 100 строк) - результат считаю удовлетворительным.
BigB; romankoav; HAMMER_59; +3 Ответить
16. user971146 08.05.18 09:11 Сейчас в теме
Мда уж) Время идет а велосипеды у нас все придумывают)

Сделано 10 лет назад, живое видео
https://www.youtube.com/watch?v=eVQQYeg8zKo
17. sonGodv 42 08.05.18 09:32 Сейчас в теме
Так же сталкивался с такими задачами и искал оптимальное решение. Склонился все же к пути 1С. Вставляем данные из Excel в табличный документ и в нем уже определяем где и что. Пример в БП 3.0 в справочнике номенклатура Загрузить
Прикрепленные файлы:
Irwin; swimdog; alex-l19041; baton_pk; +4 Ответить
18. user971146 08.05.18 09:50 Сейчас в теме
(17) не очень себе решение. Учитывая что из УПД, Торг12 - не так просто и колонку скопировать с "чистыми" данными - все будет с лишним мусором. И колонок там много разных.
И если номенклатура отличается и нет записей в номенклатуре поставщиков - ничего не найдет.
Точно также как не распознает половину добавочных данных типа единиц (которые могут быть у поставщика криво названы), ндс, и прочего.
Ну и напоследок не сможет работать с характеристиками.

Подходит исключительно когда нет характеристик, номенклатура 100 процентное совпадение, единицы и все остальное - тоже самое.
Короче под идеальную таблицу, номенклатуру и тп...
Много ручной работы и ковыряние со вставками колонок - где же тут автоматизация.
22. kuzyara 1041 09.05.18 21:32 Сейчас в теме
(18) Автоматизация ручной загрузки из excel - ну как сказать... Кто-то же сделал ручную работу на входе - на выходе получаем что получаем. Есть же стандартизированные форматы, протоколы, EDI, EnterpriseData...
19. m-rv 853 08.05.18 09:58 Сейчас в теме
(17) (16)
в первую очередь решение предлагается для автоматической обработки. то, что вы видите в консоли - это всего лишь метод проверки написанного запроса. далее, запрос должен работать сам по себе, без пользователей, которые ему подсказывают.
20. МимохожийОднако 130 09.05.18 07:42 Сейчас в теме
Вопрос рядом с темой. При автоматической обработке файла через регламентное задание СОМ-соединение читает файлы XLS не всех форматов и это усугубляется наличием сервера 1С на 64-разрядах. Как в этом случае быть? В моём случае контрагенты шлют файлы на почту и нет возможности заставить их менять форматы, удобные нам. Приходится эти "неправильные" файлы разбирать запуском клиентского приложения через планировщик операционной системы.
21. user971146 09.05.18 13:39 Сейчас в теме
(20) а что в поиске никаких готовых решений нет? Мне кажется загрузок уже несколько тысяч.
25. taurus__ 65 20.06.18 17:31 Сейчас в теме
(20)ADODB. Установка одновременно 32 и 64 версии AccessDatabaseEngine на сервере 1с. + 64х битный обычный офис. Читаем файл ADODB, если проблема "unexpected format", делает пересохранение через excel.application и заново открываем ADODB. На практике читает 100% текстовых и 95% эксельных файлов, которые шлют разные поставщики. (5% - обычно не "родной" эксель - а программно сформированный с косяками из всяких кривых приложений)
31. МимохожийОднако 130 26.06.18 22:30 Сейчас в теме
(25) Вот из-за этих 5% пришлось делать запуск через планировщик для чтения не прочитанных с первой попытки файлов кривого формата через excel.application
24. kadild 20.06.18 11:46 Сейчас в теме
Вы больше не будете разбирать Excel как раньше

Будем, будем. Подсмотрите, например, как в типовой реализована загрузка номенклатуры из файла.
26. buganov 153 21.06.18 05:23 Сейчас в теме
А как будет работать, если, например, нужна цена, а этих несколько? Цена начало конец акции, полки, закупки, продажи и т.п.?
27. m-rv 853 21.06.18 08:08 Сейчас в теме
(26) Если вы можете определить значение через его окружение - значит у вас все получится, нужно только аккуратно сформулировать правила. В вашем случае, полагаю, поможет анализ названий колонок, если цен фиксированное количество, или выбор минимального (максимального) значения, если количество цен заранее неизвестно.
28. kembrik 3 25.06.18 11:27 Сейчас в теме
Идея конечно интересная, но только для самых простых случаев. "Загрузка здорового человека" должна из одной колонки делать запись в номенклатуру поставщика, тут же создавать номенклатуру с определенным видом, определять нужна ли характеристика, знать правила именования в трёх справочниках, привязывать их к номенклатуре поставщика, ориентироваться какие доп. реквизиты и свойства необходимы но не заполнены, а какие даром не нужны, делать проверку по штрихкоду "а ну как у нас такое уже есть" наплевав на наименование, понимать данные в каких колонках пойдут в допсвойства, а в каких в реквизиты, уметь создавать наборы допреквизитов как номенклатуры, так и характеристик и прочее прочее прочее

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

Создание "всего и сразу", да "на лету" с таким уровнем доверия к входящим данным -ну, не знаю.
29. m-rv 853 26.06.18 11:28 Сейчас в теме
(28) Вы говорите о том, что у вас сложный алгоритм работы с полученными данными. Надо много всего проверить в базе данных, создать несколько объектов и т.п. Иными словами, вы говорите что у вас сложности на этапе использования данных.
Предложенный метод же отвечает на вопрос о том "как данные взять", а не о том "как данные использовать".
30. kembrik 3 26.06.18 15:09 Сейчас в теме
(29) Да если бы не заголовок - и зануду бы не включал. Способ наверное прекрасно подходит для загрузки многоообразия табличных вариантов Торг-12, но я не вижу как его приспособить для загрузки прайсов и свойств номенклатуры. Как в вашем алгоритме будеть обработано объединение ячеек? Пример на картинку. Справится ли чудо запрос c конструкцией "Если наименование поля включено в подшапку Свойства Харакреристики, то положить его в ячейку Характеристика_ЭтоСвойство_ИмяСвойства?
Прикрепленные файлы:
32. m-rv 853 27.06.18 07:44 Сейчас в теме
(30) куда ж без колхозного маркетинга?! )))
над вопросом с объединением я на самом деле голову ломал не одну неделю. в итоге оставил "по умолчанию": значение будет только в левой верхней ячейке. второй вариант был - заполнять соответствующим значением все объединенные ячейки. наверно, нужно было сделать это опцией.
а что касается прайс-листа - то в нем вероятно не одна тысяча строк - для такого этот инструмент действительно ограниченно годен, поскольку сильно деградирует производительность с ростом объема файла (там, как вы понимаете все на полных соединениях)
34. d.zhukov 754 10.01.20 07:51 Сейчас в теме
Больше не требуется создавать очередную обработку загрузки из Excel. Есть универсальный загрузчик из Excel в 1С, который загружает все что нужно из любых товарных документ и при этом ничего настраивать и программировать не нужно. Просто выбираете файл Excel, документ 1С и нажимаете кнопку "Загрузить".

Подробнее: https://infostart.ru/public/560551/
Оставьте свое сообщение

См. также

Загрузка табелей рабочего времени из файлов Excel Промо

Зарплата Обработка документов Учет рабочего времени Загрузка и выгрузка в Excel v8 v8::СПР ЗУП3.x Россия БУ Абонемент ($m)

Обработка по загрузке в типовой документ «Табель» конфигурации ЗУП 3.1 данных из файлов MS Excel, согласно шаблону.

18.10.2019    8817    6    HostHost    0    

Простой способ загрузить файл Excel на тонком клиенте.

Загрузка и выгрузка в Excel Универсальные функции v8 1cv8.cf Абонемент ($m)

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

1 стартмани

30.10.2019    7137    2    John_d    16    

Загрузка из Excel (без использования com-объектов, без установленного Excel)

Обработка документов Загрузка и выгрузка в Excel v8 1cv8.cf Абонемент ($m)

Обработка не использует com-объект для чтения из файла, не нужен установленный Excel.

1 стартмани

22.03.2019    15062    136    Смешной 1С    27    

Конфигурация "Обмен данными Excel"

Загрузка и выгрузка в Excel v8 1cv8.cf Россия Абонемент ($m)

Что будет, если скрестить Конвертацию 2.0, Модуль загрузки преобразования в значения БД от конвертации 3.0 и Excel шаблоны? Правильно, получится отличная подсистема "Обмен данными Excel", которую можно встраивать в существующие конфигурации и получить универсальный механизм по загрузке данных из Excel и вводу начальных данных. Данная подсистема позволит заменить множество различных обработок по загрузкам из Excel. Хочу отметить, что все интеграции через веб сервисы 1С по загрузкам soap пакетов (документов xml) можно адаптировать и универсально загружать через данную подсистему, правда, это потребует двух доработок конфигурации, но это возможно, архитектурное решение и идея включены в подсистему "Обмен данными Excel" и хочу Вам сообщить, что уже реализованы и доступны в новом обновлении 1.1.1.1.

2 стартмани

05.03.2019    7245    21    Алексей777    19    

Прыг-Скок...или из MS EXCEL в 1С (8.2) (открытый код) Промо

Обработка документов Обработка справочников Загрузка и выгрузка в Excel v8 1cv8.cf Абонемент ($m)

Универсальная загрузка данных из Microsoft Office Excel. Автоматическая загрузка из любых по форме документов с очень удобным редактором. Почти готовый шаблон для любой конфигурации. Не требует регистрации-бесплатно.

1 стартмани

16.09.2015    61010    353    Tatitutu    48    

Регулярные выражения, способ 3-й

Практика программирования v8 1cv8.cf Бесплатно (free)

На момент написания статьи на Инфостарте предлагали 2 способа проверки строки на соответствие шаблону. Первый с использованием внешних компонент, второй с использованием фабрики XDTO (голый парсинг текста не считаем). Предлагаю третий - с использованием языка запросов.

28.04.2018    10451    m-rv    13    

Загрузка номенклатуры в базу "Управление торговлей 11.4", с возможностью создания номенклатуры поставщика, через табличный документ Excel, Word

Загрузка и выгрузка в Excel Обработка справочников Оптовая торговля Учет ТМЦ Оптовая торговля Учет ТМЦ Розничная торговля v8 ERP2 УТ11 БУ УУ Абонемент ($m)

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

2 стартмани

15.03.2018    29356    274    appolon321    77    

Расчет начисления зарплаты со сложной формулой, по данным из внешнего источника. ЗУП 3.1

Обработка документов Загрузка и выгрузка в Excel Зарплата Зарплата v8 v8::СПР ЗКГУ3.0 ЗУП3.x БУ Абонемент ($m)

Расчет начисления зарплаты со сложной формулой, по данным из внешнего источника по данным экономического отдела. ЗУП 3.1.

3 стартмани

20.12.2017    46194    31    mvv1975    7    

Выгрузка и загрузка данных из файла Excel с поиском по любым полям (есть поиск по ссылке, всего три итерации поиска. Управляемые формы или "Такси") Промо

Загрузка и выгрузка в Excel Обработка документов v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка позволяет загружать данные с поиском по ссылке как для загружаемого объекта, так и его свойств. Загружает справочники, документы, планы видов характеристик. Будет полезна как замена использования конвертации данных для задач переноса, а также как классическая загрузка из табличного документа (Excel). Поиск объекта при загрузке выполняется до трех раз с разными полями поиска (поля поиска настраиваются). Также реализована выгрузка в Excel по ссылкам. У обработки удобный интерфейс, в котором разберется даже начинающий пользователь. Загрузка накладных из файлов xls реализована с интеллектуальным поиском колонок с данными. В интеллектуальном поиске поддерживаются все основные типовые печатные формы.

5 стартмани

16.10.2015    58239    503    primat    33    

Приемы эффективной загрузки данных из Excel в 1С

Загрузка и выгрузка в Excel v8 1cv8.cf Абонемент ($m)

Показаны приемы эффективной работы с Excel для загрузки данных в 1С.

1 стартмани

13.12.2017    47939    93    alexey.kutya    82    

Загрузка и создание номенклатуры из Excel, и создание документа Поступление товаров и услуг. УТ 11, Розница 2 и ERP Управление предприятием 2

Обработка документов Загрузка и выгрузка в Excel Оптовая торговля Учет ТМЦ Обработка справочников Оптовая торговля Учет ТМЦ v8 v8::ОУ Розница УТ11 Россия УУ Абонемент ($m)

Обработка для загрузки номенклатуры из Excel в любом формате, создание недостающей номенклатуры и автоматическое создание документа Поступление товаров.

1 стартмани

13.10.2017    19136    120    Amur_MVS    26    

Загрузка дополнительных реквизитов и сведений справочника Номенклатура из Excel и таблиц УТ 11, ERP 2

Обработка справочников Загрузка и выгрузка в Excel Учет ТМЦ Учет ТМЦ v8 v8::ОУ ERP2 УТ11 Россия УУ Абонемент ($m)

Внешняя обработка "Загрузка дополнительных реквизитов и сведений справочника Номенклатура"

1 стартмани

07.08.2017    38374    241    Windyhead    32    

Универсальное средство чтения файлов Excel Промо

Универсальные обработки Загрузка и выгрузка в Excel v8 1cv8.cf Абонемент ($m)

Унифицируем чтение файлов Excel, читаем "неудобные" файлы, переносим содержимое таблиц Excel через буфер обмена.

5 стартмани

27.03.2013    29198    35    Infector    4    

Загрузка из Excel-файла данных в документ Поступление товаров и услуг

Обработка документов Загрузка и выгрузка в Excel Оптовая торговля Розничная торговля Учет ТМЦ Оптовая торговля Розничная торговля Учет ТМЦ v8 Розница БП3.0 УТ11 КА2 Россия БУ УУ Абонемент ($m)

Загрузка из произвольного Excel-файла документов Поступление товаров и услуг с возможностью создания номенклатуры, обработка позволяет автоматизировать процесс оформления новых поступлений товара.

1 стартмани

04.03.2017    29118    379    gzharkoj    104    

Выгрузка в XML и загрузка из XML. Пример с передачей файла с клиента на сервер и обратно

Загрузка и выгрузка в Excel v8 1cv8.cf Абонемент ($m)

Столкнулся с проблемой передачи файла с клиента на сервер и обратно для выгрузки и загрузки данных в XML. Много примеров для выгрузки/загрузки, но не встретил ни одного, где описывался бы механизм передачи файла на сервер и обратно

1 стартмани

03.02.2017    48178    69    Anchoret    6    

Внешняя обработка заполнения табличной части из Excel (с созданием Номенклатуры)

Загрузка и выгрузка в Excel Оптовая торговля Оптовая торговля v8 v8::БУ БП3.0 БУ Абонемент ($m)

Внешняя обработка заполнения табличной части из Excel (с созданием Номенклатуры)

1 стартмани

22.01.2017    17701    154    Batman    34    

Загрузка УПД в Бухгалтерию 3.0 Промо

Обработка документов Загрузка и выгрузка в Excel Оптовая торговля Оптовая торговля v8 v8::БУ БП3.0 Россия БУ Абонемент ($m)

Загрузка УПД из Excel в Бухгалтерию предприятия 3.0, с добавлением номенклатуры, ГТД, стран происхождения.

3 стартмани

20.10.2015    21461    16    teyana    12    

 Интеграция 1С и C#. Обращение к 1С через COM. Создание номенклатуры и выполнение запроса к 1С из C# на примере интеграции с Союз-PLM (система информационной поддержки жизненного цикла изделий). Обработка «Загрузка заказа на сборку». (ERP)

Загрузка и выгрузка в Excel Внешние источники данных Интеграция v8 ERP2 Абонемент ($m)

Союз-PLM представляет собой полнофункциональный программный комплекс для решения  широкого спектра задач управления инженерной технической информацией наукоемких изделий и сложных инженерных объектов в области машиностроения, приборостроения, архитектуры, строительства. На практике, это управление конструкторской документацией, интегрированное с САПР, бизнес-процессы, файловый архив. Все это работает в SQL и шевелится с помощью скриптов на C#. Скрипты свободно  отлаживаются в MS Visual Studio. Подробнее смотрите на их сайте: http://www.programsoyuz.ru/products/system-soyuz-plm.html  Редактирование, конструирование и использование бизнес-процессов на порядок лучше систем на базе 1С из тех, что я изучил.

1 стартмани

25.07.2016    42643    5    milkers    2    

[FREE] Универсальная загрузка данных в регистры сведений и справочники, включая дополнительные реквизиты (можно через буфер из Excel)

Универсальные обработки Загрузка и выгрузка в Excel Обработка справочников v8 v8::УФ БП2.0 ЗУП2.5 УТ10 УНФ ERP2 ЗКГУ3.0 БП3.0 УТ11 КА2 Абонемент ($m)

Универсальная обработка для загрузки данных в регистры сведений и справочники (поддерживает загрузку в дополнительные реквизиты). Открытый код.

1 стартмани

30.06.2016    23286    221    pridecom    0    

Групповая обработка номенклатуры "Крутотенюшка": выгрузка из 1С в Excel, правка и обратная загрузка в 1С с учетом изменений

Загрузка и выгрузка в Excel v8 УТ10 Абонемент ($m)

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

1 стартмани

11.04.2016    23563    62    O-Planet    41    

Загрузка данных из Excel Промо

Загрузка и выгрузка в Excel Обработка документов v8 1cv8.cf Абонемент ($m)

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

1 стартмани

02.04.2012    49507    295    TSer1    78    

Полезные приемы при работе с Excel из 1С (Версия 3.1)

Практика программирования Разработка внешних компонент Загрузка и выгрузка в Excel v8 1cv8.cf Абонемент ($m)

Программисту 1С часто приходится работать с таблицами Excel из 1С. Я постарался собрать небольшой FAQ и набор функций для работы с файлами Excel. Надеюсь, кому-то будет полезна данная статья.

1 стартмани

22.09.2015    186042    432    Zerocl    65    

Обмен прайс-листами и анализ ценовой политики конкурентов, партнёров и поставщиков в программе 1С:Предприятие

Ценообразование, прайсы Обработка документов Загрузка и выгрузка в Excel Ценообразование, анализ цен Ценообразование, анализ цен v8 УТ10 УПП1 УУ Абонемент ($m)

Универсальная программа для загрузки Прайс-листов в базу 1С:Предприятия 8. Основные достоинства: простота использования и широкие функциональные возможности поиска товаров для записи цен. Область применения: обмен прайс-листами и анализ ценовой политики конкурентов, партнёров и поставщиков в программе 1С:Предприятие.

10 стартмани

16.07.2015    31744    3    Destroy    2    

Просмотр файлов разных форматов (PDF, DOC, XLS, MXL, видео, картинок и др.) в управляемой форме 1С

Работа с интерфейсом Универсальные обработки Загрузка и выгрузка в Excel v8 1cv8.cf Абонемент ($m)

Просмотр файлов разных форматов (PDF, DOC, XLS, MXL, видео, картинок и др.) в управляемой форме 1С. Не надо веб-сервера, ActiveX и т.д.

8 стартмани

23.06.2015    35974    98    sss123    30    

И снова "Как сжать картинки для экспорта в EXCEL?" или Умная картинка 8.2

Практика программирования Загрузка и выгрузка в Excel v8 1cv8.cf Абонемент ($m)

Прошла уже эпоха , когда экономили на трафике интернета. Но все же...повторюсь. Я предлагаю совершенно новый способ сжатия картинки - эффект в 20 раз !!!

1 стартмани

17.06.2015    29023    43    Tatitutu    10    

Загрузка товаров из таблицы в реализацию и поступление УТ 10.3 по артикулу и производителю + создание товаров и ГТД

Обработка документов Загрузка и выгрузка в Excel Оптовая торговля Учет ТМЦ Оптовая торговля Учет ТМЦ v8 УТ10 Россия УУ Абонемент ($m)

Обработка встраивается в конфигурацию (только кнопка для вызова обработки) и позволяет быстро и просто загрузить список товаров в реализацию или поступление. В процессе загрузки создаются отсутствующие товары и ГТД.

2 стартмани

03.03.2015    14395    2    taurus__    0    

Работа с Excel. Объединение, Стыковка, Свертка

Универсальные обработки Загрузка и выгрузка в Excel v8 1cv8.cf Абонемент ($m)

Обработка позволяет работать как с одним, так и с несколькими файлами Excel: Объединять файлы со сходной структурой в одну таблицу, Стыковать файлы с разной структурой по ключевому полю, Группировать результат по выбранным полям и суммировать числовые поля.

1 стартмани

19.02.2015    24897    23    Ekovichev    7    

Импорт из EXCEL и других источников (xls, xlsx, xlsb, ods, sxc, dbf, mxl, csv, clipboard, sql) в 1С Промо

Загрузка и выгрузка в Excel Внешние источники данных Обработка справочников Практика программирования Обработка документов v8 КА1 БП2.0 УТ10 Розница Беларусь Украина Россия БУ Абонемент ($m)

-Наглядная, контролируемая загрузка иерархической номенклатуры с различными атрибутами и картинками из прайсов, файлов табличного вида xls,xlsx,xlsb,ods,sxc,dbf,mxl,csv произвольной структуры по указанному диапазону строк, а также из буфера обмена и внешнего SQL-источника данных в основные, дополнительные и пользовательские реквизиты. -Вариантный поиск номенклатуры. -Создание сопутствующей справочной информации. -Создание документов в национальной/иностранной валюте. -Обычное и управляемое приложение. Файл и Клиент-Сервер.

1 стартмани

16.03.2012    361554    2854    StepByStep    733    

Нестандартная загрузка из Excel

Загрузка и выгрузка в Excel v8 1cv8.cf Абонемент ($m)

Взгляд на привычную задачу под неожиданным углом - пусть пользователь прямо в Excel решает, что ему надо, и грузит в 1С только нужное. Установите любой отбор, выделите фрагмент, и вот он уже в 1С. Для обычных и УФ 8.3

1 стартмани

12.11.2014    29424    51    Yashazz    46    

Загрузка данных из табличного документа (УФ)

Обработка документов Обработка справочников Загрузка и выгрузка в Excel v8 v8::УФ 1cv8.cf Абонемент ($m)

Загрузка данных из табличного документа (УФ) с сохранением/восстановлением настроек, загрузкой в план счетов, загрузкой реквизитов объектов типа ПВХ

1 стартмани

22.05.2014    26134    76    blindcat2006    15    

Универсальная загрузка табличных данных из файла Microsoft Excel

Загрузка и выгрузка в Excel v8 1cv8.cf Абонемент ($m)

Мастер загрузки произвольных табличных данных из книг Microsoft Excel в объекты информационной базы 1С: Предприятие (управляемое приложение).

1 стартмани

30.04.2014    28533    145    McSeem    20    

[x1c.ru] Загрузка Табеля учета рабочего времени из Excel-отчета системы "Таймформер" для ЗУП Редакция 2.5

Загрузка и выгрузка в Excel Учет рабочего времени Учет рабочего времени v8 ЗУП2.5 Россия БУ УУ Абонемент ($m)

Обработка для загрузки данных об отработанном времени из Excel-файла системы "Таймформер". Загружает Excel-файлы, содержащие подробный месячный отчет.

1 стартмани

16.04.2014    23047    6    GusevNA    1    

NEW! Быстрый способ выгрузки в Excel без «геморроя» с помощью COMSafeArray.

Загрузка и выгрузка в Excel v8 1cv8.cf Абонемент ($m)

Как очень быстро, легко и без всяких препятствий (драйвера ADODB, права пользователя Windows и т.п.) выгрузить данные в Excel с помощью COMSafeArray.

1 стартмани

30.03.2014    24669    40    akor77    10    

Загрузка данных из табличного документа (управляемые формы)

Загрузка и выгрузка в Excel v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Обработка загрузки данных из табличного документа на основе стандартной от 1С, переделанная для тонкого клиента. Для 8.2 и 8.3

1 стартмани

28.03.2014    94848    1384    proal    83    

Обработка выгрузки/загрузки табеля учета рабочего времени

Зарплата Учет рабочего времени Загрузка и выгрузка в Excel Зарплата Учет рабочего времени v8 ЗУП2.5 БУ УУ Абонемент ($m)

Обработка предназначена для выгрузки и загрузки табеля учета рабочего времени. Обработка выгружает шаблоны табеля учета рабочего времени в файлы Excel по подразделениям (для каждого подразделения один файл). И загружает введённые данные из этих же файлов.

1 стартмани

04.02.2014    20817    21    arr    5    

Иерархическая загрузка номенклатуры из Excel-файла

Загрузка и выгрузка в Excel Учет ТМЦ Учет ТМЦ v8 1cv8.cf Абонемент ($m)

Столкнулся с задачей загрузки данных из Excel-файла в 1С с учетом представленной в файле иерархией. Сам по себе процесс перекачки данных из экселя в 1с трудностей не представляет. В сети очень много обработок и примеров кода, которые позволяют общаться с Excel. Но облазив много форумов, я нигде не нашел внятного объяснения как произвести загрузку с учетом иерархии, при условии что количество уровней этой самой иерархии произвольно и разные уровни группировок находятся в одной колонке, а не каждый уровень в своей. Хочу поделиться тем, что получилось у меня. Может кому-то пригодится.

1 стартмани

22.01.2014    28870    83    lisrws    16    

Выгрузка товаров и цен из Excel в документ установки цен

Загрузка и выгрузка в Excel Ценообразование, анализ цен Обработка документов Ценообразование, анализ цен v8 Розница БП3.0 УТ11 Россия Абонемент ($m)

Данная обработка предназначена для выгрузки из прайс-листа Excel товаров и цен в документ установки цен. Поддерживает следующие конфигурации: Бухгалтерия 3.0, Управление торговлей 11.1, Розница 2.0

1 стартмани

20.01.2014    19828    26    rsvp201    9    

Универсальная загрузка из EXCEL MXL и Google таблиц для управляемого приложения

Загрузка и выгрузка в Excel v8 1cv8.cf Абонемент ($m)

версия обработки "Универсальная загрузка из EXCEL для управляемого приложения" (c) авторства uzhelas добавлена возможность грузить из MXL и Google spreadsheet

1 стартмани

14.11.2013    19696    55    bxz    18    

Как рисовать диаграммы в Excel

Загрузка и выгрузка в Excel Работа с интерфейсом v8 Абонемент ($m)

Что делать, если средствами 1С не получается нарисовать диаграмму, которую хочет Заказчик? Выход есть!

1 стартмани

10.10.2013    20611    73    Сисой    1    

Универсальная загрузка из EXCEL для управляемого приложения

Загрузка и выгрузка в Excel v8 Абонемент ($m)

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

1 стартмани

27.09.2013    13616    63    uzhelas    35    

Все константы MS Office

Инструментарий разработчика Загрузка и выгрузка в Excel v8 1cv8.cf 1cv7.md Абонемент ($m)

16000+ констант MS Office 2013 для Excel, Word, Access, Outlook, PowerPoint, Project и Visio с краткими описаниями из MSDN, переведены в формат "mxl", с удобной оболочкой в виде обработки для отбора и преобразования в другие форматы. Примеры использования. Пример получения значений напрямую из Excel (без ВК).

1 стартмани

22.07.2013    27999    27    TrashMaster    22    

Универсальная загрузка таблицы Еxcel в документ или справочник 8.2.

Универсальные обработки Загрузка и выгрузка в Excel v8 1cv8.cf Абонемент ($m)

Предназначена для загрузки таблицы из Excel в табличную часть документа, движения документа, создание элементов справочника, создание документов(без табличной части).

1 стартмани

19.04.2013    11604    22    lap_soft    22