Домой / Безопасность / Загрузить данные из excel в 1с 8.3. Возможно ли загрузить данные из Excel в справочник "Номенклатура"? Подключение внешнего загрузчика

Загрузить данные из excel в 1с 8.3. Возможно ли загрузить данные из Excel в справочник "Номенклатура"? Подключение внешнего загрузчика

Конфигурация: 1С:Бухгалтерия

Версия конфигурации: 3.0.44.177

Дата публикации: 20.01.2017

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

Загрузка из Excel 1С:Бухгалтерия 8.3 ред. 3.0

К примеру мы имеем вот такой табличный документ Excel для загрузки списка номенклатуры и цены(розничной и закупочной).

Заходи в .

В верхней части нажимаем Номенклатура и Цены - Загрузить . Именно в этом спрятана загрузка и выгрузка из табличных документов.

Загрузка поддерживает форматы xls(старый формат Excel 97-2003) и xlsx(новый формат), а так же mxl и ods форматы. Теперь выбираем наш файл с номенклатурой и ждем загрузки.

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

Нажимаем на Укажите реквизит и выбираем нужный пункт из списка.

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

Теперь удаляем столбец с закупочной ценой, обратите внимание, что обработка умеет за 1н раз заполнять только 1н вид цены!!! Потом вы можете проделать эту операцию снова и загрузить 2й вид цены, за 1ю загрузку Розничную за 2ю закупочную.

Заполняем не заполненные данные, Тип цены, Установить цены на. Кнопки Все, Найденные, Новые, Дубли существенно облегчат поиск и помогут сопоставить номенклатуру. Заполняем и нажимаем Загрузить после чего данные будут загружены в 1С:Бухгалтерия.

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

Как видите, загрузка создала 2 документа установка цен номенклатуры, для Закупочной цены и для Розничной. Отличие этой обработки по Загрузке из Excel в 1С:Бухгалтерия 8.3, в том что это штатная обработка и она работает без сбоев и учитывая все особенности заполнения документа.

Выгрузка в Excel из 1С:Бухгалтерия 8.3 ред. 3.0

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

Все там же в справочнике Номенклатура - Номенклатура и Цены - Выгрузить .

В пункте Колонки , выбираем те колонки которые надо построить в документе Excel. Отбор служит для отбора номенклатуры по Группам, свойствам, названиям... итд.

Для выгрузки в excel мы будем добавлять новую колонку, а именно ставку НДС, вроде не очень надо, но мы практикуемся.

  • При выполнении обменом информацией между контрагентами (прайс-листы, акты сверки и т.д.);
  • Для облегчения работы операторов в случаях, когда основной учет ведется в 1С, а некоторая его часть выполняется в таблицах Excel;
  • При первичном заполнении базы данных.

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

Универсальный механизм

На дисках ИТС, а также на портале 1С, зайдя в меню «Технологическая поддержка» -> «Универсальные отчеты и обработки», в папке «Загрузка данных из табличного документа» находится соответствующая обработка.

При ее запуске открывается форма (Рис.1):

Как видно из формы, она позволяет выполнять перенос информации в следующие объекты конфигурации:

  1. Справочник;
  2. Табличную часть документа или справочника;
  3. Регистр сведений.

В зависимости от того, в какое положение установлен переключатель, меняется поле выбора объекта.

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

Типовая обработка поддерживает выгрузки из:

  • Разработанного специалистами фирмы 1С, файлов формата mxl;
  • Листа xls, сохраненного в формате Excel 97-2003;
  • Текстового файла txt;
  • Таблицы dbf.

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

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

Теперь перейдем к закладке «Настройка» (Рис.2):

Рис.2

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

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

Колонки «Настройки»

Пометка – установкой или снятием флажка в строке определяется, будет ли заполняться соответствующий реквизит.

Представление реквизита – здесь прописывается синоним (наименование) реквизита метаданных, как оно задано в конфигураторе.

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

Описание типов – отображает тип данных, который имеет тот или иной реквизит метаданных.

Режим загрузки – предлагает три варианта на выбор (Рис.3):

Рис.3

  • Искать – будет осуществляться поиск соответствующего элемента, в случае его отсутствия может быть создан новый;
  • Устанавливать – подчиненным образом устанавливается определенное значение;
  • Вычислять – в этом случае в поле создаваемого элемента будет установлен результат вычисления выражения, указанного в колонке «Условие связи/Выражение для значения».

В последнем случае, активация поля Выражение вызовет открытие формы (Рис.4).

Рис.4

Номер колонки – поле, используемое для указания, из какой колонки экселевской таблицы необходимо брать данные для заполнения.

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

Условие связи/Выражение для значения – частично мы уже коснулись этого поля, когда рассматривали вычисляемые поля, дополнительно в нем можно указать условие, в соответствии с которым будут синхронизированы исходные данные.

Вот, в принципе и вся информация, которая доступна на закладке «Настройка».

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

Проверить корректность переносимых данных можно нажатием на кнопку «Контроль заполнения» (Рис.1). После этого можно запускать процесс загрузки. Об успешном выполнении процедуры или нестандартных ситуациях Вы будете оповещены отдельно.

Для загрузки данных из Экселя в информационных базах «Управление и торговля» существует еще один механизм. Он менее универсален, чем приведенный выше способ, однако не требует подписки ИТС и содержится в типовой поставке.

Эту обработку можно найти на закладке «Закупки» , в меню «Сервис», она носит наименование «Загрузка цен поставщика из файлов»(Рис.5)

Рис.5

Форма обработки содержит:

  1. Поле выбора даты, которая будет указывать, на какое время актуальна данная цена;
  2. Поле выбора контрагента, который прислал свой прайс-лист;
  3. Кнопку, позволяющую выбрать тип устанавливаемых цен;
  4. Табличную часть, которую можно заполнить загружаемыми данными.

Эту форму можно увидеть на Рис.6

Рис.6

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

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

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

Рис.7

После этого мы, используя буфер обмена, сможем переносить информацию из одной таблицы в другую. Когда необходимые нам колонки («Артикул», «Наименование», «Цена») будут заполнены, мы нажимаем кнопку «Далее» и переходим на вторую страницу (Рис.8)

Рис.8

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

  • Регистрировать все подряд;
  • Регистрировать только те, которые изменились по сравнению с уже имеющимися в базе.

В текстовом поле можно внести комментарий, который будет записан в документе (Рис.9):

Рис.9

После выполнения обработки:

  • В справочнике «Номенклатура поставщика» будет создан соответствующий элемент (если его не было);
  • Ему будет сопоставлен элемент справочника «Номенклатура»;
  • Будет создан и проведен документ «Установка цен номенклатуры» с указанием: поставщика, типа цен и даты фиксации данных.

Аналогичным образом работает обработка «Загрузка товаров из внешних файлов».

Варианты обработки переноса своими руками

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

  • Через Microsoft ADODB – достаточно быстрый способ, который, как правило, применим и для файлового и для клиент-серверного варианта хранения базы;
  • Через использование Microsoft Office – метод, который иногда сбоит при работе с SQL базами, как правило, работает несколько медленнее первого способа, к тому же требуется установленный Office;
  • Через Libre Office – в отличие от предыдущего метода бесплатен, помимо xls и xlsx форматов поддерживает еще и собственные таблицы, но требует установленного пакета LibreOffice и некоторой подготовки загружаемого файла (первая строка таблицы должна содержать имена колонок).

Рассмотрим подробнее различные способы и варианты.

Через ADODB.Connection

Вообще ADO расшифровывается как ActiveX Data Object и служит для программного доступа к различным базам данных. Самая большая проблема при создании любого подключения к стороннему файлу (в том числе и к экселевскому) – грамотно составить строку подключения.

Для файлов Excel тут возможны три варианта:

Параметры строки подключения:

  • Provider – здесь определяется используемый драйвер;
  • Data Source – определяет имя файла, который мы будем открывать;
  • Extended Properties – здесь можно указать: нужна ли строка-заголовок для таблицы (HDR = YES говорит о том, что данные будут считываться с первой строки, HDR = NO – что со второй), открывается ли файл только для чтения (ReadOnly) и некоторые другие дополнительные параметры.

Создав строку подключения, мы можем соединиться с загружаемым файлом (Рис.13)

Рис.13

Теперь мы можем с помощью простого запроса (Рис.14) запустить выборку информации из загружаемого файла.

В данном случае параметр «Лист» определяет, с каким листом из экселевской книги нам предстоит работать.

Набор записей, хранящихся на листе можно прочитать с помощью объекта Recordset. При этом первую запись листа можно получить параметром BOF (начало файла), а последнюю EOF (конец файла).

Через Excel приложение

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

У этого COM объекта есть несколько дочерних параметров, но главным для нас, при текущих условиях задачи, является параметр WorkBooks (Рис.17).

После инициализации книги необходимо определить лист, с которого будут считываться данные (Рис.18).

После этого можно перебирать внутри циклов строки и колонки таблицы открываемого файла.

Несколько слов о возможных ошибках

Львиная доля ошибок при подключении к файлу возникает из-за того, что файл уже занят другим приложением. Хорошо, если в панели задач видно, что Excel запущен на компьютере, но если Вы или другой пользователь открыли его из внешней обработки, визуально это можно определить только через «Диспетчер задач», так что не забывайте перед окончанием процедуры переноса закрыть подключение:

В случае работы через ADO (Рис.19);

Рис.19

  • В случае работы с приложением (Рис. 20).

Рис. 20.

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

Отвечает специалист:

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

Чтобы загрузка из excel в 1с 8.3 произошла без искажения данных – необходимо сначала подготовить таблицу непосредственно в excel. Список, который загружается в1с, должен быть правильно структурирован, т.е. не допускается наличие в одном столбце или одной ячейке несколько типов данных (количество, номер, фамилия и т.д.).

Если таблица будет предельно доступной, то и в 1с загрузка из excel пройдёт без каких-либо проблем. Далее следует выполнить обработку 1с для загрузки данных изexcel. Для совершения обработки заходим в меню Файл, указываем ЗагрузкаДанныхИзТабличногоДокумента.epf Во всплывшим окошке в строчке Режим загрузкинаписано Загрузка в справочник. Строчкой ниже указываем вид справочника – Номенклатура. Потом открываем файл и в списке ищем Лист Excel(*.xls), выбираем файл, который содержит необходимую нам информацию для загрузки. Далее перейдем в настройки, в строчке Первая строка данных табличного документа указывает цифру 2, поскольку в верхней строчке находится шапка нашей таблицы.

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

Остаётся только указать единицу измерения и ставку НДС, если не поставить сразу, то в последствии придётся проставлять вручную по одной позиции. Отмечаемыйфлажками Ставка НДС Базовая единица измерения, режим – Устанавливать, устанавливаемые Значение по умолчанию и непосредственно18% в строчку Ставка. Подготовку завершили. Указываем Табличный документ и кликаем Контроль заполнения. Должна появиться табличка с информацией об отсутствии ошибок.

Теперь можно спокойно загружать. В программу 1с загрузка номенклатуры из excel завершена

Как в «1С:Бухгалтерии 8» редакции 3.0 можно загрузить документы от поставщика по электронной почте?

Видеоролик выполнен в программе «1С:Бухгалтерия 8» (релиз 3.0.42.84).

Существенно упростить процесс обмена документами между контрагентами, а также снизить затраты на доставку документов, приобретение расходных материалов и хранение архивов поможет переход на электронный документооборот (ЭДО). С 8 апреля 2011 года действует Федеральный закон от 06.04.2011 № 63-ФЗ «Об электронной подписи», который определил порядок получения и использования электронной подписи и обязанности участников обмена электронными документами. Подробнее об обмене электронными документами см. в справочнике «Обмен электронными документами» в разделе «Бухгалтерский и налоговый учет» .

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

Документы учетной системы Счет покупателю , Реализация (акт, накладная), Счет-фактура выданный можно отправить контрагенту по электронной почте (по кнопке Отправить по электронной почте с изображением конверта). Документ отправляется в виде приложенного к письму файла в формате, выбранном пользователем. Также к письму приложен файл, предназначенный для загрузки получателем в «1С:Бухгалтерии 8» (ред. 3.0).

Загрузить полученные от поставщика документы можно в формах списков документов.

Счета на оплату загружаются в форме списка документов Платежные поручения . Накладные и акты - в списке Поступление (акты, накладные).

Получатель может загрузить документы вида или УПД из файлов с расширением xls, mxl или в формате, утвержденном ФНС России. Загружать документы можно из файла или из электронной почты. Выбрать способ загрузки можно в форме списка документов поступления по кнопке Загрузить . При загрузке программа проверяет соответствие формату и сообщает о результатах проверки.

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

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

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

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

В данной статье мы рассмотрим с Вами две очень важные темы, первая это , а вторая это конечно же выгрузка данных из 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С .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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