1С загрузка из Excel и выгрузка из 1С в Excel

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

  • Пользователи системы 1С Предприятие
  • Программисты 1С

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

1С загрузка из Excel и выгрузка из 1С в Excel глазами рядового пользователя 1С

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

Почему нет универсальной обработки по загрузке данных из Excel в 1С ?

Давайте ответим на этот вопрос и рассмотрим его основные моменты:

  1. У каждого пользователя есть различные файлы Excel, данные из которых он хочет перенести в 1С, конечно же эти файлы имеют разные количество строк и столбцов, а также несут разную смысловую нагрузку.
  2. Каждый пользователь работает с отдельной конфигурацией, т.е. конфигурации могут быть различными, то что работает в одной конфигурации, в другой конфигурации без модернизации работать не будет.
  3. Данные из Excel должны переноситься в различные объекты ,соответственно нужен разный код, ведь у каждого пользователя свои требования.

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

Только у нас лучшая цена за час работы программиста 1с

Как происходит загрузка и выгрузка данных из Excel в 1С на примере реальной разработки

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

пример реальной обработки которая выгружает данные из excel в 1с

 

образец excel файла из которого будет произведена загрузка в 1с

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

Мне нужна обработка по загрузке и/или выгрузке данных из Excel, что мне делать?

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

Загрузка и выгрузка данных из Excel в 1С глазами рядового программиста 1С

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

процедура установки соединения с excel для загрузги данных в 1с

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

открытие книги excel для выгрузки или загрузки данных в 1с

 
Теперь нам необходимо выбрать лист книги эксель, на рисунке выше мы видим как выбирается лист под определенным номером. Номер листа хранится в переменной «Номер листа»:

процедура для получения номера листа книги excel в 1с

 
Мы можем узнать количество листов книги эксель с помощтю поля "Count":

узнаем кол-во листов excel для выгрузки данных в 1с

 
Чтобы получить имя листа под поределенным номером, нужно написать подобную строчку:

можем узнать имя листа текущей книги excel

 
Если нам необходимо прочитать определенную ячейку нужно вызывать метод Cells(), после чего обратится к полю Value. Можно конечно прочитать сразу весь файл экселя, но об этом чуть позже:

читаем данные ячейки под x и y для загрузки данных в 1с из excel

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

обязательная процедура для закрытия excel в 1с
 

Пример функции которая загружает отдельные ячейки из Excel в 1С

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

процедура для считывания данных отдельных ячеек excel для загрузки в 1с

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

Пример функции которая загружает все данные из Excel в табличную часть 1С

Мы рассмотрели функцию которая выводит на экран отдельные ячейки экселя. А как быть если нам требуется выгрузить весь лист экселя сразу и обходить его последовательно? Здесь нам пригодится код который приводится ниже:

пример функции которая выгружает все данные из excel в 1с

Только у нас лучшая цена за час работы программиста 1с

Пример функции которая выгружает данные из 1С в Excel

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

пример функции которая выгружает все данные из 1с в excel

Остались вопросы? Задавайте, поможем!