Как программисту быстро загрузить данные из Excel

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

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

94
Встала как-то разовая задача - загрузить данные из Excel в базу...
Идея не новая, на ИС имеются уже готовые подобные разработки, но предлагается сделать самостоятельно. Пригодится в будущем.

Идея не новая, на ИС имеются уже готовые подобные разработки, например

но предлагается сделать то же самое самостоятельно. Пригодится в будущем.

 

Пример из жизни: Принесли листик с именами клиентов и суммами зарплат - нужно внести в базу.

Как быть?

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

2. Написать "простенькую" обработку загрузки из Excel через OLE (тут ключевое слово "простенькую"... Помимо наладки обмена, нужно вкратце знать как устроен Excel - и как к нему обращаться. Скорее всего - нужен хотя бы минимальный опыт написания макросов. Хотя примеров более чем достаточно).

3. Простое решение:

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

Далее на ту же форму кидаем кнопку "Выполнить" (хотя вообще-то эта кнопка уже должна быть создана автоматически) и в процедуре-обработчике описываем цикл по строкам с чтением и выполнением нужных действий:

Процедура КнопкаВыполнитьНажатие(Кнопка)

    ТабДок = ЭлементыФормы.ПолеТабличногоДокумента1;

    НачальнаяСтрока = 2;
    КонечнаяСтрока = ЭлементыФормы.ТабДок.ВысотаТаблицы;

    Док = Документы.КорректировкаЗаписейРегистровНакопления.СоздатьДокумент();
    НовСтр = Док.ТаблицаРегистровНакопления.Добавить();
    НовСтр.Имя = Метаданные.РегистрыНакопления.ВзаиморасчетыСРаботникамиОрганизаций.Имя;
    НовСтр.Представление = Метаданные.РегистрыНакопления.ВзаиморасчетыСРаботникамиОрганизаций.Представление();

    Рег = Док.Движения.ВзаиморасчетыСРаботникамиОрганизаций;

    Для сч=НачальнаяСтрока по КонечнаяСтрока Цикл

        СуммаВзаиморасчетов = СокрЛП(ТабДок.Область(сч, 2).Текст);
        СуммаВзаиморасчетов = Число(СуммаВзаиморасчетов);

        ИмяФизЛица = СокрЛП(ТабДок.Область(сч, 1).Текст);
        Если ИмяФизЛица="" Тогда

            Продолжить;

        КонецЕсли;

        ФизЛицо = Справочники.ФизическиеЛица.НайтиПоНаименованию(ИмяФизЛица);
        Если ФизЛицо.Пустая() Тогда

            Сообщить("Физ. лицо не найдено: "+ИмяФизЛица);
            Продолжить;

        КонецЕсли;

        НовЗапись = Рег.ДобавитьПриход(); 
        НовЗапись.Активность = истина;
        НовЗапись.ФизЛицо = ФизЛицо;
        НовЗапись.СуммаВзаиморасчетов = СуммаВзаиморасчетов;

    КонецЦикла;

    Док.ПолучитьФорму().Открыть();

КонецПроцедуры

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

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

Минусы: Универсальностью данное решение не обладает, но как вариант - сделать "по-быстрому" и "на один раз".

Итог: у меня рядом с обработкой "ЗагрузкаИзExcel.epf" со временем накопились обработки, которые делал по-быстрому, копируя ее и изменяя тело цикла "Для"...

 

94

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

Комментарии
Избранное Подписка Сортировка: Древо
1. murat_ 33 26.10.11 08:40 Сейчас в теме
А чем не устроила универсальная обработка с ИТС-диска "ЗагрузкаДанныхИзТабличногоДокумента" ?
Для разовых задач она самое то и писать ничего не нужно.
WanGoff; Eugeneer; Craig; +3 Ответить
5. Craig 230 02.11.11 08:15 Сейчас в теме
(1) Тоже поддерживаю. Обработка с диска ИТС ЗагрузкаДанныхИзТабличногоДокумента универсальна, там возможности куда больше чем в "простенькой" обработке написанной быстро на коленях.
7. MICK77 11 02.11.11 17:56 Сейчас в теме
Craig пишет:

(1) Тоже поддерживаю. Обработка с диска ИТС ЗагрузкаДанныхИзТабличногоДокумента универсальна, там возможности куда больше чем в "простенькой" обработке написанной быстро на коленях.

этой обработкой с диска можно загрузить только в 1 документ. а если надо их много?
Rustig; Karmerruk; b-dm; annak2980; +4 Ответить
10. 03.11.11 15:02 Сейчас в теме
(1) ей еще надо научить пользоваться пользователей. А тут можно просто написать простенькую обработку, научить пользователя в нее копировать данные и все.
11. murat_ 33 03.11.11 21:27 Сейчас в теме
(10) Автор вообще-то ясно указал "разовая задача" для "программиста", про повседневную работу пользователей речь здесь не шла.
2. DrAku1a 1301 26.10.11 08:57 Сейчас в теме
Устраивает, но порой проще и быстрее - написать самому.
3. dka80 16 26.10.11 09:25 Сейчас в теме
4. Attest 3 30.10.11 00:04 Сейчас в теме
6. kea35 02.11.11 17:53 Сейчас в теме
Обработка имеет шанс на жизнь
8. vikorn 03.11.11 13:11 Сейчас в теме
9. 03.11.11 15:01 Сейчас в теме
Вообще-то боян, но некоторые не знают, что так действительно удобнее.
Не нужно вводить имя файла.
12. Andrusha1 04.11.11 11:52 Сейчас в теме
Прикольно, идея копировать в буфер не приходила в голову. Хотя все оригинальное, просто.
13. westx 07.11.11 00:15 Сейчас в теме
Да, как-то не дошло до мозга о такой возможности, спасибо автору.
14. Alexey26 2 09.11.11 22:39 Сейчас в теме
15. petrovaUL 14.11.11 08:28 Сейчас в теме
16. Fruit83 28 19.11.11 00:10 Сейчас в теме
Спасибо за статью, для меня это сейчас самое то!:)
murat_ и Craig разница между обработкой и публикацией все-таки есть. :)
17. maloi_a 21.11.11 10:41 Сейчас в теме
Замечание.
Поправьте в примере "КонечнаяСтрока = ЭлементыФормы.ТабДок . ВысотаТаблицы ;"
на "КонечнаяСтрока = ТабДок.ВысотаТаблицы;"
18. DrAku1a 1301 21.11.11 10:55 Сейчас в теме
(17) Хорошо. Хотя оба варианта работоспособны.
19. annak2980 21.11.11 13:14 Сейчас в теме
Спасибо автору за интересную идею, описанную полностью в виде статьи
20. GTV 23.11.11 08:42 Сейчас в теме
А мне понравилось! Автор - молодец!
21. Fruit83 28 24.11.11 13:21 Сейчас в теме
У меня проблема возникла. Сперва система ругалась на СуммаВзаиморасчетов = Число(СуммаВзаиморасчетов); , писала что не может преобразовать к типу число. Теперь просто значение не присваивается.
22. DrAku1a 1301 24.11.11 18:20 Сейчас в теме
(21) Используйте СуммаВзаиморасчетов = Число(СокрЛП(СуммаВзаиморасчетов));, кроме того нужно проверять что сумма взаиморасчетов - не пустая строка, а также, если вы перекидываете данные из отчетов 8-ки - то учтите, что по-умолчанию 8-ка вставляет разделитель (пробел) между триадами числа, например код А = Число(Строка(1000)); вызовет в 8-ке ошибку.

Функция ВЧисло(знач Текст)
  ДопустимыеЗнаки = "0123456789,-";
  Текст = СокрЛП(""+Текст);
  Ответ = "";
  Для сч = 1 по СтрДлина(Текст) Цикл
    Символ = Сред(Текст, сч, 1);
    Если Найти(ДопустимыеЗнаки, Символ)>0 Тогда
      Ответ = Ответ + Символ;
    КонецЕсли;
  КонецЦикла
  Возврат ?(Ответ="", 0, Число(Ответ));
КонецФункции
Показать
23. Fruit83 28 24.11.11 19:19 Сейчас в теме
СуммаВзаиморасчетов = Число(СокрЛП(СуммаВзаиморасчетов)) не помогло, а вот функция помогла. Добавил ее в форму и вызвал СуммаВзаиморасчетов = ВЧисло(СуммаВзаиморасчетов);
Спасибо!
24. Fruit83 28 24.11.11 19:41 Сейчас в теме
Чем отличается Текст = СокрЛП(""+Текст) от Текст = СокрЛП(Текст)?
25. DrAku1a 1301 25.11.11 02:49 Сейчас в теме
(24) По-сути ничем, но есть один ньюанс:

ИМХО, проверено методом тыка: 1С при анализе выражений использует правило сложения переменных вариантного типа, как в Basic (результат выражения имеет такой же тип, как первая переменная (операнд) выражения, все остальные выражения приводятся к типу первого операнда).

Т.е. конструкция ""+Текст - это указание 1С, что если Текст не является строкой - то его нужно преобразовать в строку. Хотя 1С должна сама делать такое преобразование внутри СокрЛП() - я на это не полагаюсь и лишний раз перестраховываюсь от ошибок при выполнении кода.
26. Fruit83 28 25.11.11 23:21 Сейчас в теме
А как обойти обойти проблему контроля уникальности кодов? При загрузке справочника их надо указывать, но, если идет совпадение по кодам, загрузка прерывается...Мне сейчас приходится страховаться и указывать коды, которые наверняка не встретятся в справочнике.
27. DrAku1a 1301 26.11.11 04:06 Сейчас в теме
(26) Сделайте предварительную выборку по справочнику (до цикла загрузки) на предмет максимального кода - можно запросом, можно вручную. Поместите в отдельную переменную. Затем при добавлении нового значения в справочник - увеличивайте эту переменную на 1 и присваивайте код новому элементу.
28. nurislam 17.12.11 14:37 Сейчас в теме
Спасибо.Иногда нужна такая.
29. Koles 28.12.11 10:04 Сейчас в теме
Интересный приемчик. Спасибо.
30. Murom 28.12.11 11:00 Сейчас в теме
Очень интересный прием. Да и правда быстро и удобно.
Но я по-старинке пользуюсь универсальной "ЗагрузкаДанныхИзТабличногоДокумента". Хотя идея имеет место на жизнь. И еще удобно, если у клиента надо что-то загрузить, а "ЗагрузкаДанныхИзТабличногоДокумента" нет под рукой, то можно очень быстро набросать такую обработочку.
31. baton_pk 392 28.12.11 11:24 Сейчас в теме
Да! Определённо наш метод!

Ещё можно табличный документ засунуть в макет внешней обработки и брать данные оттуда. Я использую это, когда мне надо одни и те же данные загрузить в пару тестовых баз по паре десятков раз, а потом отправить клиенту (ну или своими руками) для загрузки в рабочую. Единоразовый копипаст и дальше всё уже решается нажатием одной кнопки - товарищ Бух это любит.
32. Fruit83 28 10.01.12 12:01 Сейчас в теме
(31) baton_pk, не могли бы вы по-подробнее рассказать о том, как засунуть макет внешней обработки?
33. baton_pk 392 10.01.12 12:07 Сейчас в теме
(32) Fruit83!
Всё то же самое:
во внешней обработке добавляем новый макет - табличный документ и копипастом из Excel вставляем табличку в макет.
Потом в коде просто вызываем ПолучитьМакет("НашаТабличка") и пробегаемся по табличке.

Можно посмотреть типовые - заполнение первоначальных данных в пустой базе или подбор из классификатора валют, например.
34. DrAku1a 1301 10.01.12 16:54 Сейчас в теме
(33) Можно обойтись и без макета - а вставить данные из Excel в поле табличного документа на форме - в режиме конфигуратора. И они сохранятся с обработкой.
35. baton_pk 392 10.01.12 17:13 Сейчас в теме
(34) DrAku1a.
Можно, но оно тогда наружу торчать будет. В моих случаях хотелось всё это дело скрыть: таблиц для загрузки было несколько да и на форме были другие элементы, более нужные пользователю.
А так, да, Ваш вариант на все 100% справедлив.
36. nshrek 8 23.01.12 23:25 Сейчас в теме
спасибо, хоть и полно в инете аналогичных обработок но думаю пригодится и эта.
37. ivn75 23.01.12 23:30 Сейчас в теме
Смысл темы? В инете полно примеров решений загрузки из Excel при помощи DCOM объектов, при помощи которых можно не только загружать из Excel и Open office, но и выгрузки обратно с форматированием, проставлением формул и гиперссылок.
38. DrAku1a 1301 24.01.12 01:58 Сейчас в теме
(37) Чтобы использовать имеющиеся в инете примеры - нужно вникать в чужой код, возможно - читать документацию... и еще - немао подводных камней встретится... Правда, есть у меня в арсенале функция, которая Excel-файл через OLE считывает в таблицу значений - но пользуюсь ей редко. А так - не выходя из комфортной среды 1С, без изучения доп. материалов можно сделать загрузку данных. Быстро просто и удобно.
42. Bezeus 11.06.12 07:06 Сейчас в теме
(38) Вот именно из таких редко используемых функций и строятся "программерские запасы".
39. BalVlad 24.01.12 22:07 Сейчас в теме
40. Yury1001 1430 24.01.12 22:29 Сейчас в теме
Мысль верная (идея рабочая), дубовая (надёжная), помнится копирование документов между базами так писал, и даже из 8 в 7.7 было. Только я в многострочную строку вставлял, потом Список.ИзСтрокиСРазделителями() и вот готовое соответствие так сказать, пользуй не хочу.
+
41. sai-2010 07.02.12 15:30 Сейчас в теме
Спасибо автору.
Очень четко и толково все написал.
Действительно выгрузка и загрузка справочников, это часто возникающая задача.
Надо срочно и именнно этот справочник.
Эта статья очень помогла мне.
Огромное спасибо.
Удачи.
43. vladismi 161 12.07.12 09:36 Сейчас в теме
Отличная идея. А то, как правило, начинаешь вспоминать, как подключиться к Ёкселю... :)
44. olezhe 20 09.10.12 16:00 Сейчас в теме
Немедля использовал для загрузки множества документов из единой таблицы. Плюсанул. Спасибо за подсказку.
45. ledogora 7 12.11.12 21:26 Сейчас в теме
Полезная статья.Спасибо.
46. wbazil 122 08.07.13 11:56 Сейчас в теме
обычно копировал подключение к Excel из другой обработки, но часто бывало что потом в процессе отладки этих екселей плодиться много, приходиться прибивать процессы, а тут красиво и элегантно.
Спасибо за идею!
47. WanGoff 130 01.08.13 00:23 Сейчас в теме
Ну как-то слишком уж несерьезно, на мой взгляд. Статья для тех, кто второй месяц занимается 1С.
48. DrAku1a 1301 01.08.13 02:07 Сейчас в теме
(47) Да, но... Посмотри сколько народу сказали что классная идея!..
49. WanGoff 130 01.08.13 03:54 Сейчас в теме
(48) Сложно спорить. Видимо, многим и правда помогло. Ну что ж, и то хорошо.
50. Ele1234567 23.12.13 10:28 Сейчас в теме
Все зависит от решаемой задачи. Но стоит взять на заметку
51. Dionisy_nb 14.02.14 12:15 Сейчас в теме
Отличная идея, если нужно что-то одноразовое. Или редкоиспользуемое.
52. Andrey@ 16.03.14 13:43 Сейчас в теме
Как вариант можно использовать при разовой загрузке данных, а то и настроить загрузку номенклатуры из накладной в Excel от поставщика.Спасибо.
53. SurmachAU 19 10.01.18 10:48 Сейчас в теме
Спасибо! Даже сейчас ваша статься помогла. Но вот у меня вопрос, так получилось, что при загрузке не считывает 1-й столбец, т.е. постоянно надо контролировать, чтобы данные не по подали в первый столбец.
Оставьте свое сообщение

См. также

Выгрузка из 1С номенклатуры со штрихкодами без программирования 3

Статья Программист Пользователь Стажер Нет файла v8 УТ11 Россия Бесплатно (free) Загрузка и выгрузка в Excel Внешние источники данных

Я так и не смог найти простой инструкции или обработки, чтобы выгрузить из 1С: Управление торговлей 11 номенклатуру вместе со штрихкодами, поэтому решил написать собственную инструкцию.

28.08.2019    1551    user1114182    4       

Загрузка картинок в справочники (Универсальная загрузка из табличного документа) 8

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Обработка справочников Загрузка и выгрузка в Excel

Пример загрузки картинок в справочник Номенклатура (с помощью обработки универсальная загрузка данных из табличного документа). Проверялось на конфигурации УТ 11.4.7.

28.05.2019    2103    rasdag    2       

Преобразование EXCEL в таблицу значений без COM и других извращений 208

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Загрузка и выгрузка в Excel

Получение таблицы значений из excel в 1С v8, без COM, внешних источников данных и т.д. EXCELВТаблицуЗначений() - За 10 строчек кода! Реализация протестирована на 1С 8.3.12.1714 (x64).

18.04.2019    12063    9    Eret1k    43       

Копирование числовых ячеек из 1С в Excel 26

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Загрузка и выгрузка в Excel Администрирование данных 1С

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

15.01.2019    10429    itriot11    21       

Запись одной книги Excel на нескольких листах средствами 1С (без внешних компонент) 139

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Загрузка и выгрузка в Excel

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

14.01.2019    11678    starik-2005    23       

Как легко загружать данные из электронных таблиц (Excel, OpenOffice и т.д) 35

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Загрузка и выгрузка в Excel

Как легко загружать данные из электронных таблиц (Excel, OpenOffice и т.д). На примере загрузки в табличную часть документа Поступление товаров и услуг в УТ 11.4.

09.01.2019    6727    rasdag    14       

Работа с Excel через COM 20

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Загрузка и выгрузка в Excel

Несколько примеров работы с excel (ms office 2010, в моем случае) через COM.

01.10.2018    5051    jaroslav.h    0       

Выгрузка в Excel с использованием формата OpenXML, разбор файла sheet1.xml 13

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Загрузка и выгрузка в Excel

Судя по количеству просмотров темы https://infostart.ru/public/900022/ решил описать структуру файла Листа excel. На полноту не претендую, опишу то, что знаю.

21.09.2018    4116    user1045404    2       

Excel: создание в формате xlsx без COM технологии 112

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Загрузка и выгрузка в Excel

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

10.09.2018    7703    user1045404    16       

Из Excel в 1С запросом 33

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Загрузка и выгрузка в Excel

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

14.08.2018    13529    m-rv    5       

Загрузка из Excel в управляемом приложении 25

Статья Программист Нет файла v8::УФ Windows Бесплатно (free) Загрузка и выгрузка в Excel

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

30.11.2017    21636    alex_bitti    15       

Функция сохранения картинок из книги Excel в каталог с определением координат на листе 8

Статья Программист Нет файла v8 Бесплатно (free) Загрузка и выгрузка в Excel Универсальные функции

Разбор файла *.xlsx как Web-архива, выгрузка изображений без потери качества, с определением положения изображений.

12.11.2017    7131    user634820_zergemoth    1       

Работа с Excel 288

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel

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

23.10.2017    24664    arakelyan    39       

Невалидный XLSX при сохранении Табличного документа 3

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Загрузка и выгрузка в Excel

Ошибка открытия XLSX файлов, созданных при сохранении Табличного документа. (Невалидный формат файла)

21.10.2017    8773    saddy    3       

Почему при загрузке таблицы Excel в 1С возникают ошибки? 9

Статья Программист Нет файла v8 Бесплатно (free) Загрузка и выгрузка в Excel

При загрузке из EXCEL в 1С методом MS ADODB.Connection столкнулся с некоторыми проблемами, которые попытался устранить в ниже приведенной статье. Надеюсь, что статья поможет вам сократить время разработки.  Особая благодарность Андрею М. за публикацию //infostart.ru/public/163640/

28.04.2017    12394    dakork    4       

Загрузка значений свойств номенклатуры в Альфа-Авто с использованием обработки загрузки данных из табличного документа 15

Статья Программист Руководитель проекта Нет файла v8 1cv8.cf Автомобили, автосервисы Россия УУ Windows Учет ТМЦ Бесплатно (free) Загрузка и выгрузка в Excel

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

13.10.2016    14200    miavolas    15       

Решение проблемы медленной загрузки из файла Excel, защищенного паролем 11

Статья Программист Нет файла v8 Россия Бесплатно (free) Загрузка и выгрузка в Excel

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

27.09.2016    7914    HAMMER_59    4       

Быстрая выгрузка больших плоских отчетов в Excel 22

Статья Программист Нет файла v8 Windows Бесплатно (free) Загрузка и выгрузка в Excel

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

29.11.2015    12885    matveev.andrey.v    17       

Экспорт нескольких MXL таблиц в один XLS файл, на отдельные листы. Простой алгоритм 20

Статья Программист Нет файла v7.7 v8 Windows Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel

Статья посвящена распространённому вопросу - как сохранить несколько таблиц (отчетов) в формате MXL, с которым работает 1С, на отдельные листы одного Excel файла. Освещается простой алгоритм решения проблемы штатными средствами, без использования внешних модулей и библиотек (не относящихся к 1С и Excel).

23.11.2015    13940    etmarket    14       

Внедрение адресного склада в логистическом операторе 25

Статья Системный администратор Программист Бизнес-аналитик Пользователь Нет файла v8 v8::ОУ УТ11 Оптовая торговля, дистрибуция, логистика Россия УУ Windows Оптовая торговля Розничная торговля Учет ТМЦ УСН Бесплатно (free) Загрузка и выгрузка в Excel Бухгалтерский учет Рабочее место

Каких-то 10 лет назад бюджет внедрений адресных складов составлял десятки тысяч долларов и месяцы работ целой команды, а теперь - типовое решение от 1С вполне рабочее и без кастомизации: немного интеграции, немного консультирования – и в продуктив. Внедрение адресного склада, в массе внедрений 1С:Управление торговлей, ред. 11.1 (далее УТ), штука до сих пор довольно-таки редкая. Данная статья описывает опыт одного маленького, но свежего внедрения адресного склада в УТ (11.1.10) и может быть интересна как практический кейс.

1 стартмани

10.08.2015    18359    papche    12       

Выгрузка таблицы значений в Excel 30

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Загрузка и выгрузка в Excel

Примитивно, грубо, без дизайна, но очень быстро.

28.06.2015    17084    Yashazz    31       

Скорость закачки с EXCEL при работе с большими файлами 26

Инструменты и обработки Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Производительность и оптимизация (HighLoad) Загрузка и выгрузка в Excel

Поставлена задача уменьшить время загрузки данных с EXCEL. Пока ждал ответа от разработчиков ядра, сам начал копать всё, что угодно. ЗАДАЧА решена, с чем спешу поделиться.

09.06.2015    13739    ybatiaev    31       

Чтение из Эксель-файла 9

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel

Некоторые выдержки из моих наработок, связанных с работой 1С и приложений майкрософт-оффис

26.05.2015    9926    nikitin19819    7       

Загрузка из EXCEL в 1С на платформе 8.3.6/8.3.7/8.3.8/8.3.9/8.3.10 (с картинками) 319

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel

Импорт содержимого из файлов в форматах XLS (Microsoft Excel 97), Microsoft Office OpenXML (Microsoft Excel 2007- 2010) и ODS (OpenDocument) в таблицу значений.

06.04.2015    205840    StepByStep    72       

Вывод таблицы значений в Excel 17

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel

Изложена методика вывода таблицы значений в Excel с помощью именованных ячеек.

21.01.2015    13174    scientes    6       

Хитрости сохранения табличного документа в Excel для дальнейшей работы с ним 78

Статья Программист Нет файла v7.7 v8 1cv8.cf 1cv7.md Windows Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel

Все пользователи 1С всех версий (начиная с 7-й) сталкиваются с проблемой нормальной работы с данными, сохраненными в Excel файл. Есть некоторые хитрости, которые позволяют облегчить работу с сохраненными данными из 1С в формат Excel.

16.01.2015    70783    shmellevich    35       

Загрузка из EXCEL в 1С. Чтение файла XLSX средствами 1С. ПостроительDOM 100

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Универсальные обработки Загрузка и выгрузка в Excel Обмен через XML

ПРАКТИЧЕСКОЕ ПОСОБИЕ РАЗРАБОТЧИКА: Метод "NativeXLSX" (ПостроительDOM). Обрабатываются данные EXCEL типов: "Строка", "Число", "Дата" ("Время"), "Булево", "Процент", а также изображения.

11.09.2014    63272    StepByStep    26       

Простой способ программного сохранения больших отчетов из СКД в формат Excel 39

Статья Программист Нет файла v8::СКД 1cv8.cf Windows Бесплатно (free) Загрузка и выгрузка в Excel Универсальные функции

Перерыв весь интернет не смог найти простого способа сохранить отчет с большим числом строк в формате Excel. Везде предлагалось писать процедуры построчной записи, ADO, COMSafeArray и прочее. Метод же, используемый во всех найденный публикациях "Результат.Записать(ИмяФайла,ТипФайлаТабличногоДокумента.XLSX)", не работает при большом числе строк. Публикация http://infostart.ru/public/77128/ натолкнула на простую идею, которую и реализовал.

07.08.2014    27168    den_valley    14       

Преобразование Универсального отчета в сводную таблицу Excel. 6

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Загрузка и выгрузка в Excel

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

16.06.2014    14462    Mos    4       

Как предотвратить возникновение ошибки при одновременном обращении пользователя и обработки к Excel. 40

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Загрузка и выгрузка в Excel

Если открыт (или открыть) файл Excel (к которому будет обращаться обработка), и активировать какую-либо ячейку или любое диалоговое окно и при этом обработка обратится к этому файлу, то возникнет ошибка. Так же, ошибка может возникнуть, если обработка запустила один экземпляр Excel, если пользователь, во время работы обработки откроет другой файл Excel или тот, к которому обращается обработка, то этот файл откроется в том же экземпляре приложения Excel и тогда опять возможна ошибка. Как этого избежать?

30.03.2014    16737    akor77    13       

Загрузка из EXCEL в 1С. Чтение файла XLSX средствами 1С. ЧтениеXML 165

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel Обмен через XML

ПРАКТИЧЕСКОЕ ПОСОБИЕ РАЗРАБОТЧИКА: Метод "NativeXLSX" (ЧтениеXML). Обрабатываются данные EXCEL типов: "Строка", "Число", "Дата" ("Время"), "Булево", "Процент".

01.11.2013    96764    StepByStep    73       

Работа с Excel в фоновом задании 129

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Загрузка и выгрузка в Excel

Встала задача. По электронной почте приходят письма с вложениями таблиц Excel. Получение почты производится встроенным клиентом 1С фоновым заданием. Необходимо было по расписанию несколько раз в день извлекать из новых писем вложения и загружать из них данные. Тут я столкнулся с проблемой - работать с Excel в фоновом задании ни через COM, ни через ADO не удавалось. Вываливалась ошибка. Нигде в сети четкого решения проблемы я не обнаружил. В итоге, собирая информацию по крупицам из разных источников (порой и вовсе не связанных с 1с) и нескольких дней мучений все же я решил данную проблему. Ниже я опишу свое решение, чтобы помочь таким же, как я )

01.08.2013    56701    ltfriend    58       

Выгрузка Таблицы значений из 1С 8 в Excel с помощью MS ADO 38

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Загрузка и выгрузка в Excel

Функции для выгрузки Таблицы значений из 1С 8 в таблицу Excel с использованием объектов Microsoft ActiveX Data Objects (ADO) и Microsoft ActiveX Data Objects Extensions (ADOX).

10.06.2013    23731    AzagTot    17       

Подсистема "COMExchange": прямой доступ к EXCEL через ADO 8

Статья Системный администратор Программист Нет файла v8 1cv8.cf УТ10 УПП1 Россия Windows Бесплатно (free) Файловые протоколы обмена, FTP Загрузка и выгрузка в Excel Внешние источники данных

На примере этой, очень популярной, темы наглядно продемонстрированы нетривиальные возможности консоли запросов в составе подсистемы: 1. использование событий выполнения запроса (в том числе для запуска на выполнение других запросов) 2. запуск на выполнение запроса в цикле с подстановкой значений параметров из таблицы значений.

20.01.2013    21184    yuraos    7       

Загрузка из EXCEL в 1С. Список листов EXCEL 34

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Универсальные обработки Загрузка и выгрузка в Excel Обмен через XML

ПРАКТИЧЕСКОЕ ПОСОБИЕ РАЗРАБОТЧИКА: Методы получения списка листов файлов типа EXCEL. Поддерживаемые типы: *.xls,*.xlsx,*.ods,*.sxc.

30.11.2012    45710    StepByStep    5       

Функция получения массива из Экселя 18

Статья Программист Нет файла v8 Windows Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel Универсальные функции

Функция, возвращающая содержимое эксель-файла в виде массива структур (работает в тонком клиенте и может результат передавать на сервер)

21.10.2012    5424    yermak    5       

Загрузка материалов из программы Командор Дизайнер в 1С: Бухгалтерия 8. 4

Статья Системный администратор Программист Нет файла v8 БП2.0 Россия БУ Windows Учет ТМЦ Бесплатно (free) Пользователю системы Загрузка и выгрузка в Excel Внешние источники данных

Komandor Designer - программа для проектирования шкафов купе. Ее используют многие предприятия, которые производят мебель. Также они используют для учета программу 1С. Поэтому возникает проблема обмена данными между этими программами. Что важно для плодотворного общения двух людей — правильно — они должны понимать друг друга, разговаривать на одном языке. То же правило и в нашем случае, программы должны одинаково правильно понимать, какой материал находится в заказе, расходе сырья по заказу.

22.08.2012    9307    knigula    1       

Обработка событий документов MS Office из 1С8.х. и кольцевые ссылки. 11

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel

Обработка событий документов MS Office из 1С8.х. Возникновение кольцевых ссылок при работе с документами MS Office из 1С8.х

18.07.2012    8210    План счетов    1       

Выгрузка данных в Excel 30

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Загрузка и выгрузка в Excel

Часто в ходе работы в 1С требуется выбирать данные одновременно из разных источников (справочников, документов, регистров и т.д.) и сохранять эту сводную информацию в формате Excel (*.xls) или Табличных документов 1С (*.mxl). Затем, с помощью универсальной обработки "Загрузка данных из табличного документа", можно загрузить данные, например, в другую базу. В данной статье представлен метод выгрузки информации во внешнюю таблицу через Табличный Документ с сохранением форматов данных.

15.06.2012    38089    volconok27    12       

Чтение файлов *.xlsx средствами 1С 8.2 134

Инструменты и обработки no Внешняя обработка (ert,epf) v8 1cv8.cf Россия Бесплатно (free) Загрузка и выгрузка в Excel

Формат файлов *.xlsx представляет собой фактически ZIP-архив, внутри которого находятся xml-файлы, что позволяет считывать значения ячеек исключительно средствами 1С 8.2

13.06.2012    31369    1249    Abadonna    43       

Функция получения таблицы значений из файла Excel 30

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel Универсальные функции

Функция получения таблицы значений из файла Excel. Использует запрос в среде самого Excel. Параметры функции: ПутьКФайлу (строка) - полный путь к файлу Excel ИмяНомерСтраницы - имя (строка) или порядковый номер (число) страницы файла Excel Заголовок (булево) - является ли первая строка строкой заголовка. Если Истина, то колонки будущей ТЗ проименуются из строки заголовка Excel, если Ложь, то колонки проименуются системно "F1", "F2" и т.д ПерваяСтрока (число) - номер первой строки считывания с листа Excel ВАЖНО!!! Типы колонок будущей ТЗ будут определяться типом первой строки данных Excel (именно данных, не заголовка). Поэтому важно соблюдать в Excel тип колонок данных Функцию достаточно разместить в общем модуле своей конфигурации.

31.05.2012    26512    sbv2005    8