Как импортировать в 1с
Форум
На практике очень часто возникает необходимость в осуществлении переноса данных из одной программы в другую. Система 1С:Предприятие предоставляет мощные механизмы для выполнения таких операций.
Для работы с файлами в системе используется специальный агрегатный тип данных – «ФС». По умолчанию в системе всегда доступен уже существующий объект с именем «ФС», к которому можно применять методы объекта типа «ФС». Кроме того, можно создать произвольное число объектов типа «ФС» при помощи функции «СоздатьОбъект(«ФС»)».
У объекта типа «ФС» имеются стандартные функции для работы с файлами: «ВыбратьФайл()» – открывает диалог выбора файла, «ВыбратьКаталог()»– открывает диалог выбора каталога, «СуществуетФайл()» – проверяет, существует ли файл с указанным именем, «КопироватьФайл()», «УдалитьФайл()», «ПереименоватьФайл()» и др.
Для работы с текстами в системе используется специальный тип данных «Текст». Средства языка позволяют выводить строк в текстовые файлы и считывать из имеющихся файлов текст с последующим разбором его по строкам.
- КоличествоСтрок() – количество строк в тексте.
- ПолучитьСтроку() – получить строку текста по номеру
Пример. Из файла «exp_imp.txt» загружается справочник номенклатуры
- ВставитьСтроку(,) – вставить строку с указанным номером.
- ЗаменитьСтроку(,) – заменить строку с указанным номером.
- УдалитьСтроку() – удалить строку с указанным номером.
- ДобавитьСтроку() – добавить строку в конец текста.
- Очистить() –удалить все строки текста.
Пример. В файл «exp_imp.txt» выгружается справочник номенклатуры
Для работы с базами данных в формате «DBF» используется объект типа «XBase». При этом надо учитывать следующие ограничения:
- Не поддерживаются поля типа memo.
- База данных открывается монопольно
- Поддерживаются только индексные файлы в формате “CDX”
Доступ к полям базы данных осуществляется через точку с именем поля.
Для запуска системы 1С:Предприятие в качестве OLE Automation сервера из внешнего приложения (например, из другой программы 1С), выполняется следующая последовательность действий:
![]()
skype: live:di-sem
@programmist_1C
Импорт в 1С данных из любых документов (сделать свою обработку импорта из внешних источников))
Часто нужно импортировать данные в 1С из внешних источников (Excell,Word,Pdf,Txt, Csv, Html и т.д.).
Чтобы не подключаться к каждому документу через Com объект, нужно создать свою обработку импорт из внешних источников в 1С.
В типовых конфигурациях есть такая обработка.
В данном примере мы будем создавать свою.
Алгоритм
1 В табличный документ подгружаем нужный макет
2 Пользователь копирует в табличный документ нужные данные
3 Программа 1с анализирует данные и готовит их к загрузке в нужные объекты 1с (документы/справочники)
4 Загрузка данных
Реализация
1 Создаем форму
Создаем реквизит формы ТабДок - табличный документ.
В него пользователь будет копировать нужные данные, а наша задача будет программно взять их оттуда и загрузить в 1С.
Перетащим реквизит ТабДок на форму и установим свойства как на рисунке.
Но сейчас ТабДок представляет собой обычный неразмеченный документ.
Куда будет пользователь грузить нужные колонки.
Для этого мы создадим макет:
При открытии формы мы подгрузим этот макет в наш табличный документ "ТабДок" и пользователь будет знать куда ему грузить данные.
На рисунке я выделил где можно посмотреть адрес ячейки, адрес нам понадобится при импорте данных.
Создадим на форме реквизит "Данные" - таблица значений.
Сюда мы предварительно будем грузить введенные пользователем данные.
Это нужно для того чтобы пользователь мог скорректировать введенные данные, а мы могли бы ему точно указать на ошибку в загружаемых данных.
Реквизит "Данные" перенесем на другую страницу. В моем случае это "Создание участников".
Создадим процедуру, которой мы загрузим данные в 1с в таблицу значений "Данные", которую создали ранее и вывели на вторую страницу.
Работает это так:
1 открываем обработку ввода данных:
2 копируем нужные данные из Эксель для импорта в 1С:
3 Вставляем в 1С в нашу обработку:
4 Смотрим чтобы данные соответствовали столбцам:
5 Жмем далее (этой кнопкой вызывается процедура, указанная выше) и получаем результат:
Мы получили данные в 1С. Теперь при нажатии "Создать участников" будут созданы элементы справочника "Участники".
При написании публикации использовалась версия платформы 8.3.6 .1760.
Модифицирована на версии платформы 8.3.10 .2168.
Одним из полезных нововведений на платформе 8.3.6 стала возможность возможность импорта содержимого из файлов в форматах XLS (Microsoft Excel 97), Microsoft Office OpenXML (Microsoft Excel 2007- 2010) и ODS (OpenDocument) в табличный документ.
На платформе 8.3.10 появилась возможность считывания данных с отдельных листов книги EXCEL.
Данная возможность доступна как в интерактивном режиме, так и из встроенного языка.
Реализована поддержка вставки из буфера обмена областей, скопированных из Microsoft Excel и OpenOffice Calc.
Реализация импорта из EXCEL на встроенном языке стала возможна в результате нововведений в функционал объекта "ТабличныйДокумент":
Для метода "Прочитать" объекта "ТабличныйДокумент" реализован параметр "СпособЧтенияЗначений" (Новое системное перечисление "СпособЧтенияЗначенийТабличногоДокумента").
В данной публикации приводится пример реализации функционала импорта из файлов EXCEL (xlsx, xls, ods) в таблицу значений в режиме 1С:Предприятие на платформе 8.3.6.
О файле EXCEL:
В общем случае файл EXCEL содержит несколько листов с данными.
Метод табличного документа "Прочитать" читает все листы в 1 (один) табличный документ на платформах 8.3.6-8.3.9, а на платформе 8.3.10 можно считать отдельные листы файла EXCEL.
Поэтому для использования данного функционала на версиях платформы 8.3.6-8.3.9 необходимо использовать файлы EXCEL, содержащие 1 (один) лист с данными, для платформы 8.3.10, такого ограничения нет.
О листе файла EXCEL:
Содержимое на листе должно быть разнесено по соответствующим колонкам по назначению.
В качестве примера содержимого листа может служить обычный прайс.
Рекомендутся ячейки таблицы на листе файла оформлять рамкой "Все границы" .
Колонки результирующей таблицы значений формируются по количеству, определяемому свойством "ШиринаТаблицы" табличного документа.
В последствии для удобства пустые колонки удаляются из результирующей таблицы значений.
О типах значений файла EXCEL:
Числа - как "число", даты - как "дата", Стоки - как "строка", Булево - как "строка" вида "ИСТИНА" ("TRUE") или "ЛОЖЬ" ("FALSE") .
В результирующую таблицу значений записываются типизованные значения.
О картинках файла EXCEL:
В исходном файле EXCEL это могут быть как ссылки на файлы, разделенные между собой символом "Перевод строки" в пределах одной ячейки, так и собственно картинки .
Картинки должны находиться в пределах ячейки. В одной ячейке может быть несколько картинок.
В результирующую таблицу значений записываются ссылки на файлы картинок.
Каждая ячейка колонки может, в общем случае, содержать несколько ссылок на файлы, разделенные между собой символом "Перевод строки".
Иногда в работе сталкиваешься с ситуацией, когда возникает необходимость перенести данные из одной конфигурации 1С в другую. Для переноса данных между идентичными конфигурациями существует обработка Выгрузка и загрузка данных xml .
Внешняя обработка выгрузка и загрузка данных в xml 1с 8.3
В некоторых конфигурациях имеется типовой функционал для обмена данными (например, выгрузка из конфигурации Зарплата и управление персоналом в Бухгалтерию предприятия или из Управления торговлей в Бухгалтерию предприятия, из Зарплата и кадры государственного учреждения в Бухгалтерию государственных учреждений и т.п.).
В случае, если конфигурации разные, приходится создавать правила переноса в конфигурации 1С: Конвертация данных. Также некоторые данные можно загрузить из табличного документа Excel, с помощью обработки Загрузки данных из табличного документа.
Для переноса данных между идентичными конфигурациями существует обработка Выгрузка и загрузка данных XML. Для корректной работы обработки база, в которую загружаются данные, должна быть того же релиза, что и база выгруженных данных.
Данная обработка поставляется в составе конфигурации 1С: Конвертация данных 2, а также скачать ее можно с сайта 1С или с диска ИТС.
Это универсальная обработка, которая подходит для любых конфигураций, с ее помощью можно произвести полную или частичную выгрузку данных в формате xml и соответственно загрузить их в другую информационную базу. Примером использования может быть выгрузка и загрузка справочников, обмен данными (выгрузка и загрузка документов) между конфигурациями, выгрузка для восстановления информации при сбое информационной базы.
Рассмотрим принцип работы данной обработки.
Выгрузка данных из 1С 8.3 в xml
Откроем обработку в базе Источнике, т.е. информационной базе, откуда будем выгружать наши данные: меню Файл — Открыть .
Выберем и откроем файл обработки Выгрузка и загрузка данных XML .
Откроется обработка, в которой необходимо произвести настройку выгрузки.
Данные объектов выгрузки отображены в таблице, где надо отметить, что будем выгружать. При этом у каждого поля стоит отметка Выгружать при необходимости . Это означает, что если выгружаемый объект связан с другими объектами, то при анализе объекта выгрузки программа 1С 8.3 (кнопка Определить данные, выгружаемые по ссылке ) покажет связанные объекты. При необходимости выгрузки их нужно будет также отметить.
Например, при выгрузке справочника Номенклатура можно загрузить Единицы измерения . При выгрузке справочника Контрагенты или Организации можно выгрузить Банковские счета и Договора . Если их не выгрузить, то при загрузке этих данных не будет, а при переносе документов эти поля окажутся пустыми и в этих полях вместо данных будет надпись .
Предусмотрено два варианта выгрузки данных из 1С 8.3 в xml — на клиентский компьютер и в файл на сервере. При установленном переключателе выгрузить данные На клиентский компьютер выгрузка начинается сразу, при выборе варианта В файл на сервере можем указать место выгрузки.
При выгрузке можно установить галочку выгружать в формате FastInfoSet . Данный формат использует альтернативный синтаксис отображения xml-данных, обеспечивает меньший объем файлов и более высокую скорость обработки, чем скорость обработки данных, записанных в обычном xml-формате. Файл этого формата имеет расширение .fi или .finf.
Для примера, в новую созданную базу 1С 8.3 выгрузим справочники Организации , Контрагенты и Номенклатура .
О том, как создать новую базу 1С подробнее читайте в статье Как создать информационную базу в 1С 8.3
Отметив в списке необходимые для выгрузки объекты, нажимаем кнопку Определить данные, выгружаемые по ссылке и галочками программа 1С 8.3 отметит связанные объекты и при необходимости их также нужно пометить для выгрузки, поэтому отметим также справочники Договоры Контрагентов , Банки и Банковские счета . Затем только нажимаем кнопку Выгрузить . После формирования файла программа спросит, что делать с подготовленным файлом: Открыть или Сохранить .
Нажимаем Сохранить и указываем папку. В нашем примере папка Выгрузка из 1С.
Нажимаем кнопку Сохранить — файл выгружен.
Загрузка данных из xml файла в базу 1С 8.3
Откроем информационную базу-приемник, т.е. базу 1С 8.3, куда будем загружать наши данные.
В том случае, если планируется загрузить данные в рабочую базу (не пустую) необходимо выполнить резервное копирование перед загрузкой.
Открываем обработку Выгрузка и загрузка данных XML (меню Файл — Открыть ) и нажимаем кнопку Загрузить данные .
В открывшемся окне выбираем наш ранее сохраненный файл, нажимаем кнопку Открыть и ждем окончания загрузки данных из файла.
Проверяем наши справочники.
Справочник Контрагенты ( Справочники — Контрагенты ).
Проверим, перенесся ли справочник Договоры . Проверим вкладу Договоры в элементе справочника Контрагенты .
Есть. Но для этого при выгрузке мы его тоже отметили.
Проверим справочник Номенклатура ( Справочники — Номенклатура ).
- Как выгрузить документ, отчет из 1С 8.3 в Excel
- Загрузка из Excel в 1С 8.3
- Как выгрузить базу 1С 8.3 на флешку
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
-
Иногда возникают ситуации, когда необходимо сделать копию информационной базы 1С.Часто у пользователей 1С возникает вопрос: как загрузить (сохранить) документ.В справочник Контрагенты можно загружать данные из таблиц. Это особенно..
(7 оценок, среднее: 4,29 из 5)
Публикацию можно обсудить в комментариях ниже.
Обратите внимание!
В комментариях наши эксперты не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно в Личном кабинете
Задача: требуется настроить обмен данными через файл из 1С: Управление торговлей 11 (далее УТ) в 1С: Бухгалтерия 3.0 (далее Бухгалтерия).
- платформа 1С: Предприятие 8.3 (8.3.13.1690),
- конфигурация Управление торговлей, редакция 11 (11.4.7.150),
- конфигурация Бухгалтерия предприятия (базовая), редакция 3.0 (3.0.72.72)
- режим Файловый (без сжатия).
- настроить параметры подключения,
- настроить правила отправки и получения данных,
- выполнить начальную выгрузку данных.
- настроить правила отправки и получения данных,
- выполнить сопоставление и загрузку данных,
- выполнить начальную выгрузку данных.
ШАГ 1. Настройка в УТ
Переходим в раздел «НСИ и администрирование» и выбираем пункт «Синхронизация данных». Обязательно должен быть указан префикс информационной базы. В нашем случае это «ЦБ».
Устанавливаем флаг «Синхронизация данных» и переходим по ссылке «Настройки синхронизации данных». Нажимаем кнопку «Новая синхронизация данных». В открывшемся окне выбираем конфигурацию, с которой будем настраивать обмен. В нашем случае это «Бухгалтерия предприятия, редакция 3.0».
Откроется окно настройки синхронизации. Выберем пункт «Настроить параметры подключения».
Так как обмен будет настраивать через файл, то выбираем пункт «синхронизация данных через файл, без подключения к другой программе».
Далее укажем каталог и настроим архивацию файлов.
Далее укажем префикс базы бухгалтерии и название файла с настройками синхронизации.
Обратите внимание: если указать префикс, по которому уже есть обмен, то будет ошибка, программа предложит указать уникальный код. Нажимаем «Далее» и на этом заканчивается первый шаг настройки.
В результате у нас появится два файла в указанной папке: файл с данными (Message_ЦБ_БП.zip) и файл с настройками обмена (Синхронизация данных через универсальный формат.xml). Обратите внимание: если в УТ попробовать перейти к этапу «Настроить правила отправки и получения данных», то будет ошибка.
ШАГ 2. Настройка в Бухгалтерии
Перед настройкой синхронизации в Бухгалтерии нам понадобятся два файла, созданных на предыдущем шаге. Разместим файлы Message_ЦБ_БП.zip и Синхронизация данных через универсальный формат.xml в любую папку на компьютере с базой Бухгалтерии. Внимание: если Бухгалтерия находится на одном компьютере с УТ, то ничего переносить не нужно. Будем использовать ту же папку, что и для УТ.
Сначала перейдем в раздел «Администрирование» и выберем пункт «Синхронизация данных». В открывшемся окне проверим, чтобы префикс указанной базы совпадал с префиксом, который мы указали на первом шаге.
Устанавливаем флаг «Синхронизация данных» и переходим по ссылке «Настройки синхронизации данных». Нажимаем кнопку «Новая синхронизация данных». В открывшемся окне выбираем конфигурацию, с которой будет настроен обмен. В нашем случае это «1С: Управление торговлей, редакция 11».
Откроется окно настройки синхронизации. Выберем пункт «Настроить параметры подключения».
Так как обмен настраиваем через файл, то выбираем пункт «синхронизация данных через файл, без подключения к другой программе». На Шаге 1 мы уже создали файл с настройками обмена Синхронизация данных через универсальный формат.xml, поэтому выберем его. Если был создан другой каталог и туда скопировали файл с настройками обмена, то выбираем его.
Далее укажем каталог и настроим архивацию файлов. В данном случае каталог может быть тот же самый или тот, в который перенесли два файла.
Далее проверяем настройки префиксов и на этом настройка параметров подключения в Бухгалтерии завершена.
Далее переходим к следующему этапу «Настройка правил отправки и получения данных».
Так как задачи выгрузки из Бухгалтерии у нас нет, то в настройках отправки данных укажем «не отправлять».
В настройках получения данных укажем типовые настройки. При необходимости можно указать свои настройки.
Нажимаем «Записать и закрыть». Далее переходим к следующему этапу «Выполнить начальную выгрузку данных».
После выполнения операции будет создан в каталоге обмена файл с данными Message_БП_ЦБ.zip. На этом этап настройка обмена в Бухгалтерии закончена.
ШАГ 3. Окончание настройки в УТ
Вернемся в УТ. Если использовался другой каталог, то в папку обмена УТ перенесем файл, созданный на прошлом шаге Message_БП_ЦБ.zip.
Продолжим настройку синхронизации в УТ с этапа «Настроить правила отправки и получения данных».
В настройках обратим внимание на два поля.
1.Отправлять только используемую в документах нормативно-справочную информацию.
2.Отправлять все, начиная с даты. Это поле полезно, так как бывает, что нужно начать синхронизацию с определенного времени. Например, учет в УТ уже был настроен ранее, а в
Бухгалтерии только начинаем вести учет. Тогда нет необходимости переносить все документы из УТ в Бухгалтерию. Или второй случай: нужно поменять настройки обмена, но чтобы они действовали только для документов с определенной даты.
Все остальные поля заполняем в зависимости от учета.
В нашем случае настройка получения данных не требуется. Оставляем ее без изменений.
Нажимаем «Записать и закрыть». Переходим к следующему этапу «Выполнить сопоставление и загрузку данных».
В нашем случае программа ничего загружать не будет и перейдет к следующему этапу.
На последнем этапе «Выполнить начальную выгрузку данных» программа выгрузит данные из УТ в файл Message_ЦБ_БП.zip.
Обратите внимание (для случая с двумя каталогами): полученный файл Message_ЦБ_БП.zip копируем в каталог обмена Бухгалтерии. В Бухгалтерии выполняем синхронизацию. При этом Бухгалтерия сначала загрузит данные из присланного файла Message_ЦБ_БП.zip, потом обновит свой файл выгрузки Message_БП_ЦБ.zip Этот файл выгрузки Message_БП_ЦБ.zip нужно скопировать обратно в каталог обмена УТ и в УТ выполнить синхронизацию. При этом УТ сначала загрузит данные (если они там есть) из файла Message _БП_ЦБ.zip, а потом обновит свой файл выгрузки Message _ЦБ_БП.zip и т.д.
ШАГ 4. Итоги
В результате мы получили файл с настройками обмена Синхронизация данных через универсальный формат.xml и два файла с данными: Message_БП_ЦБ.zip (данные из Бухгалтерии) и Message_ЦБ_БП.zip (данные из УТ).
Читайте также: