Как сделать импорт в 1с из excel в?

В этой статье я расскажу как с помощью универсальной обработки “Загрузка данных из табличного документа” с диска ИТС загрузить данные в справочник номенклатура в конфигурацию Управление торговлей 10.3. Загрузка производится из файлов с расширением xls (формат excel 97-2003) в несколько этапов.

Если ваша конфигурация основана на управляемых формах 1С 8.3 или 8.2, рекомендуем к просмотру данное видео:

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

  1. Для начала перепишем обработку ЗагрузкаДанныхИзТабличногоДокумента.epf с диска ИТС. Если диска под рукой нет — скачайте её по ссылке. Для этого на диске заходим Технологическая поддержка =>1С Предприятие 8:
  • Как сделать импорт в 1с из excel в?
  • Далее Универсальные отчеты и обработки => Загрузка данных из табличного документа => Описание и установка внешней обработки “Загрузка данных из табличного документа”:
  • Как сделать импорт в 1с из excel в?
  • Нажимаем Копировать:
  • Как сделать импорт в 1с из excel в?
  • Выбираем путь для копирования кнопкой искать(в моем случае я копирую на рабочий стол) и нажимаем Копировать:

Как сделать импорт в 1с из excel в?

Ждем окончания копирования и нажимаем ОК:

Как сделать импорт в 1с из excel в?

Закрываем ИТС,больше нам диск не понадобится.

Подробнее о том как добавить внешнюю обработку, отчет или печатную форму написано здесь.

2.Запустим конфигурацию 1С Управление торговлей 10.3 в режиме Предприятие. Для начала добавим нашу обработку в состав внешних обработок базы для удобства использования и чтобы в следующий раз не искать ее на диске ИТС. Заходим Сервис => Внешние печатные формы и обработки => Внешние обработки:

Как сделать импорт в 1с из excel в?

Открывается список внешних обработок вашей базы. Нажимаем Добавить:

Как сделать импорт в 1с из excel в?

  1. Выбираем кнопкой “Открыть” скопированный ранее с диска ИТС файл ЗагрузкаДанныхИзТабличногоДокумента.epf:
  2. Как сделать импорт в 1с из excel в?
  3. Нажимаем ОК для сохранения обработки в базе 1С Управление торговлей:

Как сделать импорт в 1с из excel в?

Теперь двойным щелчком мыши можем запустить обработку из списка доступных внешних обработок:

Как сделать импорт в 1с из excel в?

  1. Мой прайс-лист выглядит следующим образом:

Убедитесь что ваш прайс-лист сохранен в формате xls, если нет, то сохраните именно в этом формате. Чтобы элементы номенклатуры попали в нужные группы (столбец А) нам необходимо предварительно создать их в справочнике Номенклатура вручную.

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

Запускаем внешнюю обработку как показано выше, либо через меню Файл=>Открыть и выбрав файл ЗагрузкаДанныхИзТабличногоДокумента.epf. Выбираем Режим загрузки — Загрузка в справочник, Вид справочника — Номенклатура. Нажимаем значок Открыть:

  • Выбираем файл вашего прайс-листа, предварительно изменив Тип файлов на Лист Excel (*.xls) и нажимаем Открыть:
  • Видим загруженный в обработку прайс лист:

Если у вас очень большой прайс-лист, его открытие займет продолжительное время, следует подождать. Я рекомендую такой прайс-лист сохранить из самой обработки в формате mxl после открытия, такой файл открывается очень быстро. Для этого нажимаем значок Сохранить, пишем название файла и нажимаем Сохранить:

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

  1. Настраиваем реквизиты для загрузки:
  2. Наименование:
  3. Режим загрузки — Искать
  4. № Колонки табличного документа — 5 (ставите свое значение)
  5. Родитель (имеется в виду группа номенклатуры):
  6. Режим загрузки — Искать
  7. № Колонки табличного документа — 1 (ставите свое значение)
  8. Артикул:

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

  • Режим загрузки — Искать
  • № Колонки табличного документа — 4 (ставите свое значение)
  • Базовая единица измерения:
  • Режим загрузки — Вычислять.
  • В поле Выражение пишем формулу:

Результат = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(ТекстыЯчеек[6]);

Это выражение означает,что обработка будет сравнить наименование из 6-ой колонки прайс-листа с наименованием в справочнике Классификатор единиц измерения и при совпадение названий присваивать соответствующую единицу из справочника.

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

  1. Весовой:
  2. Режим загрузки — Устанавливать
  3. Значение по умолчанию — Нет
  4. Полное наименование:
  5. Режим загрузки — Искать
  6. № Колонки табличного документа — 5 (ставите свое значение)

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

  • Ставка НДС:
  • Режим загрузки — Устанавливать
  • Значение по умолчанию — 18%
  • Вид номенклатуры:
  • Режим загрузки — Устанавливать
  • Значение по умолчанию — Товар

После заполнения всех настроек необходимо произвести контроль заполнения. И если ошибок нет, нажимаем Загрузить.

  1. Ждем окончания загрузки и смотрим как загрузились элементы. Я открыл один из них:

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

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

Пишем название файла и сохраняем. Формат файла будет *.mxlz:

  • Примечание:
  • Если в какой либо строке настройки стоит Режим загрузки “вычислять” или “устанавливать” то обработка не будет учитывать значение в колонке настроек “№ Колонки табличного документа” этой же строки настройки.
  • Если вы загрузили настройку из ранее сохраненной то вам придется заново вводить значения в колонку настроек “№ Колонки табличного документа”.
  • Чтобы загрузить эту настройку нажмите сюда
  1. Приступим к загрузке единиц хранения остатков и единиц для отчетов. Убираем все галочки с реквизитов кроме Артикул, Единица хранения остатков и Единица для отчетов. Ставим галочку не создавать новых элементов.
  1. Артикул:
  2. Ставим галочку поле поиска.
  3. Режим загрузки — Искать
  4. № Колонки табличного документа — 4 (ставите свое значение)
  5. Единица хранения остатков:
  6. Режим загрузки — Вычислять
  7. В поле выражение вставляем код на встроенном языке программирования 1С:

СсылкаНоменклатуры = Справочники.Номенклатура.НайтиПоРеквизиту(«Артикул», ТекущиеДанные[«Артикул»]); БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(ТекстыЯчеек[6]); ТекСпр=Справочники.ЕдиницыИзмерения.НайтиПоРеквизиту(«ЕдиницаПоКлассификатору»,БазоваяЕдиницаИзмерения,,СсылкаНоменклатуры); Если ТекСпр.Пустая() Тогда НайденнаяЕдиницаОбъект = Справочники.ЕдиницыИзмерения.СоздатьЭлемент(); НайденнаяЕдиницаОбъект.Наименование = СокрЛП(БазоваяЕдиницаИзмерения); НайденнаяЕдиницаОбъект.ЕдиницаПоКлассификатору = БазоваяЕдиницаИзмерения; НайденнаяЕдиницаОбъект.Коэффициент = 1; НайденнаяЕдиницаОбъект.Владелец = СсылкаНоменклатуры; Попытка НайденнаяЕдиницаОбъект.Записать(); Результат = НайденнаяЕдиницаОбъект.Ссылка; Исключение Сообщить(«Не удалось записать»); КонецПопытки; Иначе Результат =ТекСпр.Ссылка; КонецЕсли;

  • Далее Единица для отчетов аналогично Единице хранения остатков.
  • После заполнения настроек, нажимаем контроль заполнения и если нет ошибок нажимаем Загрузить:
  • Открываем любой из загруженных элементов номенклатуры и проверяем загрузились ли единицы измерений:
  • Сохраним настройки в файл и приступим к следующему этапу.
  • Чтобы загрузить эту настройку нажмите сюда
  1. Загрузим 2-типа цен: Цена Розница 1 и Цена Розница 2. Заходим Справочники => Номенклатура => Типы цен номенклатуры:
  1. Добавляем новый тип цен:
  2. Заполняем необходимые реквизиты и сохраняем:
  3. Аналогично добавляем еще один тип цен.
  4. После сохранения типов цен, создадим два пустых документа Установка цен номенклатуры, так как загрузка производится с помощью заполнения обработкой табличной части документа “Установка цен номенклатуры”.
  5. Заходим Документы => Ценообразование => Установка цен номенклатуры:
  6. Добавляем новый документ:
  7. В документе выбираем один из двух созданных типов цен и сохраняем его пустым:
  8. Аналогично создаем второй документ.
  9. В итоге должно получиться следующим образом:

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

  • Переходим во вкладку табличный документ и загружаем ваш прайс. Снова перейдем во вкладку настройки для ввода настроек:
  • Вводим настройки:
  • Нумерация колонок — Ручная нумерация колонок.
  • Номенклатура:
  • Режим загрузки — Искать
  • № Колонки табличного документа — 5 (ставите свое значение).
  • Цена:
  • Режим загрузки — Искать
  • № Колонки табличного документа — 8 (ставите свое значение для первого типа цен).
  • Валюта:
  • Режим загрузки — Устанавливать
  • Значение по умолчанию — руб. (ставите свое значение)
  • Единица измерения:
  • Режим загрузки — Вычислять
  • В поле выражение вводим код на встроенном языке программирования 1С:

СсылкаНоменклатуры = Справочники.Номенклатура.НайтиПоНаименованию(ТекущиеДанные[«Номенклатура»]);

Результат=СсылкаНоменклатуры.ЕдиницаХраненияОстатков;

  1. Тип цен:
  2. Режим загрузки — Устанавливать
  3. Значение по умолчанию — Цена Розница 1 (выбираете свое значение)
  4. После того как ввели все настройки, нажимаем контроль заполнения во вкладке табличный документ. Если все правильно нажимаем Загрузить:
  5. После окончания загрузки заходим в заранее созданный документ Установка цен номенклатуры, проверяем все ли правильно загрузилось и нажимаем ОК:
  6. Для второго типа цен выбираем по Ссылке второй документ Установка цен номенклатуры, меняем номер колонки реквизита цена,меняем тип цен на Цена Розница 2 и нажимаем Загрузить:
  7. Аналогичным образом открываем второй документ Установка цен номенклатуры и нажимаем ОК для перепроведения.
  8. Результат загрузки можно увидеть если зайти в элемент номенклатуры и во вкладку Цены номенклатуры.Там видим два созданных типа цен и по нажатию кнопки Перечитать текущие цены мы увидим загруженные нами цены:

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

Сохраняем наши настройки в файл и переходим к следующему этапу.

Чтобы загрузить эту настройку нажмите сюда

  1. Загрузим штрих-коды для нашей номенклатуры. Штрих-коды хранятся в регистре сведений, поэтому выбираем Режим загрузки — В регистр сведений, Вид регистра — Штрих-коды.Загружаем наш прайс во вкладке табличный документ.
  • Для реквизита Владелец заходим в описание типов и оставляем галочку только напротив номенклатура:
  • Для реквизита Владелец в поле Искать по выбираем Артикул:

Далее убираем галочки с тех реквизитов с которых возможно. Выбираем ручную нумерацию колонок.

  1. Вводим настройки:
  2. Штрих-код:
  3. Режим загрузки — Искать
  4. № Колонки табличного документа — 7 (ставите свое значение).
  5. Владелец:
  6. Режим загрузки — Искать
  7. № Колонки табличного документа — 4 (ставите свое значение для колонки с артикулом).
  8. Тип штрих-кода:
  9. Режим загрузки — Устанавливать
  10. Значение по умолчанию — EAN13 (ставите свое значение)
  11. Единица измерения:
  12. Режим загрузки — Вычислять
  13. В поле выражение вводим код на встроенном языке программирования 1С:
Читайте также:  Как сделать независимые колонки в Word?

СсылкаНоменклатуры = Справочники.Номенклатура.НайтиПоРеквизиту(«Артикул», ТекстыЯчеек[4]); БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(ТекстыЯчеек[6]); ТекСпр=Справочники.ЕдиницыИзмерения.НайтиПоРеквизиту(«ЕдиницаПоКлассификатору»,БазоваяЕдиницаИзмерения,,СсылкаНоменклатуры); Если ТекСпр.Пустая() Тогда НайденнаяЕдиницаОбъект = Справочники.ЕдиницыИзмерения.СоздатьЭлемент(); НайденнаяЕдиницаОбъект.Наименование = СокрЛП(БазоваяЕдиницаИзмерения); НайденнаяЕдиницаОбъект.ЕдиницаПоКлассификатору = БазоваяЕдиницаИзмерения; НайденнаяЕдиницаОбъект.Коэффициент = 1; НайденнаяЕдиницаОбъект.Владелец = СсылкаНоменклатуры; Попытка НайденнаяЕдиницаОбъект.Записать(); Результат = НайденнаяЕдиницаОбъект.Ссылка; Исключение Сообщить(«Не удалось записать»); КонецПопытки; Иначе Результат =ТекСпр.Ссылка; КонецЕсли;

  • Качество:
  • Режим загрузки — Устанавливать
  • Значение по умолчанию — Новый
  • Остальные реквизиты:
  • Режим загрузки — Устанавливать
  • Значение по умолчанию — оставляем пустым
  • После заполнения выполняем контроль заполнения во вкладке табличный документ и нажимаем Загрузить.
  • После успешной загрузки сохраняем настройки в файл.
  • Чтобы загрузить эту настройку нажмите сюда.

Источник: https://1s83.info/programmirovanie/zagruzka-v-1c-iz-excel.html

Загрузка данных в 1С Бухгалтерия 8 из Excel

Как загрузить данные Exel в 1С

Как сделать импорт в 1с из excel в?

Большинство организаций в своей повседневной практике для ведения учёта различных бухгалтерских операций по старинке используют программный продукт Excel из офисного пакета Microsoft.

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

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

  • Решать эту проблему можно разными способами: одни организации предпочитают доверить эту работу своему IT-отделу, другие нанимают разработчиков, работающих в компании франчайзи, но это довольно дорого и отнимает кучу времени.
  • Гораздо более выгодным выходом из сложившейся ситуации будет использование соответствующей конфигурации 1С, которая абсолютно бесплатно обработает данные и станет универсальным помощником при интеграции документов 1С и «экселевских» таблиц.
  • В данном разделе мы поможем разобраться с тем ,как настроить загрузку данных из файла формата .xls в одну из конфигураций ПО от компании 1С на базе «1С:Предприятие 8»

У каждого пользователя профессиональной версии 1С:Предприятие 8 подобная обработка уже есть! На диске ИТС!

Типовая обработка «ЗагрузкаДанныхИзТабличногоДокумента.epf», находиться в разделе: «Технологическая поддержка» > «Методическая поддержка 1С:Предприятие 8» > «Универсальные отчеты и обработки» > «Загрузка данных из табличного документа».

D:1CItsEXEEXTREPSUNIREPS82UploadFromTableDocument Скачать

Обратите внимание, начиная с Февраля 2010 г. на диске ИТС данная обработка для конфигураций на платформе 8.1 находиться в другом разделе: «Технологическая поддержка» > «Методическая поддержка 1С:Предприятие 8» > «Платформа 1С:Предприятие 8.1» > «Универсальные отчеты и обработки» > «Загрузка данных из табличного документа».

  1. D:1CItsEXEEXTREPSUNIREPS81UploadFromTableDocument Скачать
  2. Скачать обработку (ЗагрузкаДанныхИзТабличногоДокумента)
  3. Имеются исходные данные:
  • Прайс-лист в Excel «ПрайсОнлайнХимСнаб.xls» — Microsoft Office Excel 97-2003 (.xls)
  • Типовая конфигурация Бухгалтерия предприятия Редакция 2.0, релиз 2.0.12.2, платформа 8.2 (8.2.10.77)
  • Необходимо загрузить в 1С из Excel наименования товаров и цены

Как сделать импорт в 1с из excel в?

Из Прайс-листа необходимо загрузить справочник номенклатуры в 1С:Бухгалтерию 8.

Запускаем программу 1С. Для запуска обработки выбираем пункт меню «Файл»>«Открыть»

Как сделать импорт в 1с из excel в?

В отрывшемся окне находим файл обработки

Располагается на диске ИТС в каталоге 1CItsEXEEXTREPSUNIREPS82UploadFromTableDocument

Если предварительно вы скопировали файл обработки на свой компьютер, то можете выбрать его.

Как сделать импорт в 1с из excel в?

Откроется окно

Как сделать импорт в 1с из excel в?

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

Загрузка наименований

Устанавливаем «Режим загрузки» — Загрузка в справочник «Вид справочника» — Номенклатура

Как сделать импорт в 1с из excel в?

В закладке «табличный документ»

Нажимаем кнопку ex1_b01.jpg «Открыть файл», в появившемся окне выбора находим каталог, в котором у нас находиться прайс-лист в Excel из которого мы планируем загружать данные в 1С.

Как сделать импорт в 1с из excel в?

Первоначально файл может не отобразиться. Установите тип файла «Лист Excel (*.xls)»

Как сделать импорт в 1с из excel в?

Выбираем наш файл

Как сделать импорт в 1с из excel в?

Файл успешно прочитался

Далее выбираем закладку «Настройка»

Как сделать импорт в 1с из excel в?

Отражаются реквизиты карточки номенклатуры.

Настраиваем параметры загрузки наименований

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

  • Дублирующих наименований сложно избежать, особенно трудно приходится сотрудникам, которые будут использовать подобный тип загрузки не для разового ввода данных в перечень, а для систематической загрузки информации в автоматическом режиме.
  • Дело осложняется тем, что работнику приходится сталкиваться с различными аббревиатурами и другими сокращениями, двояким написанием наименования и использование различных знаков препинания.
  • При многократном использовании и значительном массиве загружаемых сведений мы советуем применять другое программное обеспечение из серии «1С:Предприятие 8»,например «1С:Управление торговлей 8», «1С:Управление небольшой фирмой 8», или «1С:Комплексная автоматизация 8»,в которых имеется параметр «Артикул», обеспечивающий надёжность распознавания загружаемых в номенклатурные справочники данных и исключающий возможность дублирования наименований.

Строка «Базовая единица измерения» — в колонке «Режим загрузки» выбираем «Устанавливать», в колонке «Значение по умолчанию» выбираем единицу измерения (в нашем случае — шт.)

Строка «Ставка НДС» — в нашем случае для всех загружаемых элементов устанавливаем НДС 18%, для этого в колонке «Режим загрузки» выбираем «Устанавливать», в колонке «Значение по умолчанию» выбираем «18%».

Если товары идут с разным НДС, который указывается в отдельной колонке загружаемого прайс-листа, то в колонке «Режим загрузки» установите «Искать» и номер соответствующей колонки прайс-листа в «№ Колонки табличного документа».

Строка «Услуга» — в колонке «Режим загрузки» выбираем «Устанавливать», в колонке «Значение по умолчанию» выбираем «Нет» (в нашем случае все позиции это товары).

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

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

Если вы готовы задать значения данных реквизитов сейчас, то укажите. Нажимаем «Загрузить» в правом нижнем углу, на вопрос нажимаем «Да»

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

Проверяем наличие новых элементов в соответствующей группе справочника номенклатуры

Открываем карточку товара, проверяем правильность загрузки реквизитов

Если всё правильно, то можно приступить ко второму этапу — загрузке цен из прайс-листа в Excel.

Если в будущем планируется использовать данную процедуру загрузки данных с такими же настройками параметров загрузки, то рекомендуем сохранить текущие настройки. Для этого нажмите кнопочку ex1_b03.jpg «Сохранить настройки» и понятно назовите текущую настройку, например, «Загрузка наименований товаров из прайс-листа Excel».

В следующий раз сможете загрузить сохраненные настройки, нажав на кнопкуex1_b03.jpg «Восстановить настройки» и выбрав нужную из списка.

Загрузка цен

В «Бухгалтерии предприятия» Ред.2.0 установка цен производится с помощью документа «Установка цен номенклатуры».

Устанавливаем «Режим загрузки» — «Загрузка в табличную часть»

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

После этого в поле «Ссылка» снова нажимаем на кнопку выбора. Открывается журнал документов «Установка цен номенклатуры».

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

Нажимаем «Ок» и сохраняем пока пустой документ. Теперь выбираем этот новый сохранённый документ из журнала в строке «Ссылка». В поле «Табличная часть» выбираем «Товары»

Cейчас нужно перейти закладку «Табличный документ»

Cнова выберите наш прайс-лист в Excel из которого мы загрузили наименования, а теперь будем загружать цены (см. пункт 5).

Настраиваем параметры нагрузки

Опять устанавливаем «Первая строка данных табличного документа» — как и при загрузке наименований, ставим «9» В строке «Номенклатура» устанавливаем режим загрузки «Искать», «№ Колонки табличного документа» — в нашем примере ставим «3»

В строке «Цена» устанавливаем режим загрузки «Искать», «№ Колонки табличного документа» — ставим номер колонки с ценами, которые хотим загрузить — в нашем случае «4».

  1. В строке «Валюта» устанавливаем Режим загрузки «Устанавливать», выбираем валюту (в примере «руб.»)
  2. Если в вашем прайс-листе цены товаров приведены в разных валютах, которая указывается в отдельной колонке загружаемого прайс-листа, то в колонке «Режим загрузки» установите «Искать» и номер соответствующей колонки прайс-листа в «№ Колонки табличного документа».
  3. Нажимаем «Загрузить» и отвечаем «Да»

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

Открываем документ «Установка цен номенклатуры», в который загружали данные (нажав кнопочку с изображением лупы ex1_b02.jpg в строке «Ссылка»)

Проверяем документ, если всё в порядке нажимаем «Ок». Цены должны установиться.

Открываем справочник номенклатуры, проверяем закладку «Цены» в карточке загруженных элементов

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

Если в будущем планируется использовать данную процедуру загрузки данных с такими же настройками параметров загрузки, то рекомендуем сохранить текущие настройки. Для этого нажмите кнопочку ex1_b03.jpg «Сохранить настройки» и понятно назовите текущую настройку, например, «Загрузка Розничных Цен из прайс-листа Excel».

В следующий раз сможете загрузить сохраненные настройки, нажав на кнопкуex1_b03.jpg «Восстановить настройки» и выбрав нужную из списка.

Источник: https://center-comptech.ru/articles/1s_zagruzka_eksel.html

Загрузка из Excel в 1С 8.3

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

 Этот вопрос актуален для пользователей конфигураций Управление торговлей, Бухгалтерия предприятия, Розница и т.п., которым в работе приходится сталкиваться с большими объемами информации.

 В программах имеется встроенный механизм загрузки файлов формата Excel.

Читайте также:  Как сделать группировку в excel 2003?

Рассмотрим на примере программы 1С: Бухгалтерия 3.0 загрузку данных из документа. Скачаем любой прайс в формате Excel документа и загрузим его в справочник Номенклатура.

Как загрузить номенклатуру в 1C 8.3 из файла Excel

Как сделать импорт в 1с из excel в?

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

Как сделать импорт в 1с из excel в?

В таблицу обработки Загрузка номенклатуры из файла будут перенесены все данные из документа Excel. Нажав кнопку Убрать все лишнее программа 1С автоматически убирает ненужные строки. Если останется лишняя строка (или колонка) ее можно убрать, нажав кнопку — Удалить строку (Удалить колонку).

Как сделать импорт в 1с из excel в?

Далее, в шапке нашей таблицы, нажав ссылку Укажите реквизит, необходимо задать соответствие каждой колонке. В нашем примере это Артикул, Наименование и Цена.

Как сделать импорт в 1с из excel в?

В результате у нас получается такая таблица. Нажимаем кнопку Далее.

Как сделать импорт в 1с из excel в?

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

В случае нахождения наименования номенклатуры в базе, она будет показана на закладке Все без знака «+» и повторно создаваться не будет. PDF

Как сделать импорт в 1с из excel в?

Нажав на ссылку Реквизиты новой номенклатуры, укажем необходимые параметры. В нашем примере укажем, что все загружаемые элементы принадлежат группе номенклатуры Запчасти Тайга. Нажимаем ОК и Загрузить.

  • Как сделать импорт в 1с из excel в?
  • Проверяем справочник — номенклатура загружена.
  • Как сделать импорт в 1с из excel в?

Загрузка в 1С документов поставщика в формате Excel

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

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

Рассмотрим, на примере программы 1С: Бухгалтерия предприятия 3.0. Создадим документ Реализация (акт, накладная) и нажав кнопку Сохранить, выберем формат Лист Microsoft Excel.

Как сделать импорт в 1с из excel в?

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

  1. Выбираем файл, полученный от поставщика.
  2. В том случае, если загрузка производится впервые, то программа 1С предложит сопоставить номенклатуру поставщика с имеющийся у вас номенклатурой.
  3. Сопоставив все элементы, нажимаем кнопку Записать и закрыть.

Если сопоставление справочников производилось ранее, то программа 1С 8.3 автоматически загрузит сразу все данные в документ.

  • Остается только проверить правильность документа и провести его.
  • Таким образом, загрузка в программу 1С данных используя табличные документы Excel повышает эффективность работы в программе, снижает риск возникновения ошибок, тем самым облегчая работу пользователей.
  1. См. также:
  2. Если Вы еще не являетесь подписчиком системы БухЭксперт8:
  3. Активировать демо-доступ бесплатно →
  4. или
  5. Оформить подписку на Рубрикатор →
  6. После оформления подписки вам станут доступны все материалы по 1С Бухгалтерия, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.

Помогла статья?

Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

Источник: https://BuhExpert8.ru/obuchenie-1s/administrirovanie-1s/zagruzka-iz-excel-v-1s-8-3.html

Загрузка в 1С 8.3 из Excel или табличного документа

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

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

  • Если Вы программист и хотите разработать «свою» загрузку из Excel, подробная инструкция по ссылке;
  • Пример загрузки прайс-листа в 1С Управление торговлей можно найти по ссылке.

Чтобы запустить внешнюю обработку, нужно зайти в меню «Файл», далее «Открыть» и выбрать эту обработку из каталога, в котором она была сохранена:

Как сделать импорт в 1с из excel в?

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

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

Как сделать импорт в 1с из excel в?

Я хочу привести пример на справочнике «Номенклатура«. Я создал некий файл с данными в формате xls.

Обращу внимание, что файл нужно сохранить в формате «Книга Excel 97 – 2003, то есть расширение должно быть именно xls (если мы загружаем из Excel-я). Другие обработка не видит.

Обработка умеет загружать также файлы формата:

  • mxl,
  • xls,
  • txt,
  • dbf,
  • любой другой формат, откуда можно скопировать данные.
  • Вот так выглядит файл Excel с исходными данными, который мы будем загружать в справочник «Номенклатура»:
  • Как сделать импорт в 1с из excel в?
  • Получите 267 видеоуроков по 1С бесплатно:

Я не стал прописывать все поля справочника, так как этого достаточно для понимания принципа загрузки. Кроме того, этих данных хватает для начала работы с данными позициями.

Данных позиций пока нет в информационной базе 1С, и мы сейчас туда их загрузим.

Нажимаем на значок «Открыть» (на рисунке обозначен как «Выбор источника») и выбираем файл с данными. Можно использовать простое копирование информации. Мой файл с примером можно скачать здесь. Данные загрузятся в обработку автоматически. Теперь проверим, правильно ли мы заполнили наши данные. Для этого нажимаем кнопку «Контроль заполнения».

Как сделать импорт в 1с из excel в?

Как видно, у нас появились ошибки! Будем устранять. Заходим на закладку «Настройка»:

Как сделать импорт в 1с из excel в?

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

Я предпочитаю искать по коду, так как он, как правило, уникален. В колонке «Поле поиска» в строке «Код» ставим галочку. Теперь, если запись с таким кодом будет найдена, она будет заменена, в другом случае — создана.

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

Теперь посмотрим, почему ругается на поле «Единица». Дело в том, что единицы измерения в 1С 8.3 хранятся в отдельном справочнике, и обработка по умолчанию ищет эту единицу по наименованию. А на самом деле словом единица прописана в поле «Полное наименование».

К сожалению, обработка может вести поиск только по «Наименованию» и «Коду» (для программиста возможности шире). Если обратите внимание на рисунки выше, то увидите, что в колонке «Единица» у меня стоит код. И в обработке нужно указать, что поиск нужно вести по коду. Щелкаем два раза по колонке «Условие связи» напротив «Единицы» и меняем на «Код».

Теперь смотрим, что нам что-то там про «Услугу» говорят в списке ошибок. Еще одно важное замечание. Колонки в файле должны располагаться строго в том же порядке, как и строки полей справочника. А у нас «Вид номенклатуры» находится в самом низу, а в файле после колонки «Комментарий».

Для того чтобы поднять строку «Вид номенклатуры» вверх, существуют синие стрелочки вверху формы. С помощью стрелки «Вверх» поднимаем нужную строку и ставим под «Комментарием».

  1. Как сделать импорт в 1с из excel в?
  2. Жмем «Загрузить данные», и на этот раз все проходит без ошибок:
  3. Как сделать импорт в 1с из excel в?
  4. Видеоурок по загрузке товаров в 1С из файлов Excel:
  5. Другие статьи по 1С:
  6. Если вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Источник: https://programmist1s.ru/zagruzka-nomenklaturyi-v-1s-8-3-iz-excel-ili-dbf/

Бесплатные программы русские. Программирование 1С

Как сделать импорт в 1с из excel в?

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

В этой статье я приведу пример несложной обработки 1С, позволяющей сделать импорт из Excel в 1С, в таблицу значений 1С.

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

  • Для понимания материала рекомендую прочесть предыдущую статью Из Excel в 1С, получение списка листов (имен листов) из файла Excel.
  • В предыдущей статье есть ссылка на скачивание свежей версии драйверов MDAC, которые вы можете бесплатно установить на любой компьютер, чтобы импорт таблиц из Excel в 1С поддерживался для формата последней версии Microsoft Office (в состав которого входит и Excel).
  • Итак, вот перед вами код функции ФайлExcel_ИмпортироватьЛист()
Исходный код    

// Функция импортирует (загружает данные) из указанного листа файла в формате Microsoft Excel в таблицу значений 1С
// Возвращается таблица значений, содержащая импортированные данные, либо Неопределено, если импорт данных не удался.
// Входные параметры:
// — строка, полный путь и имя файла рабочей книги Excel, с расширением xls, xlsx
// — строка или число, имя листа в рабочей книге (должно заканчиваться символом «$»), либо порядковый номер листа
// в книге Excel. Нумерация листов начинается с 1.
// — тип булево, «Истина» или «Ложь».
// Если «Истина», тогда в качестве имен колонок таблицы значений (таблицы результата)
// будут использованы заголовки столбцов в исходном листе Excel. В этом случае первая строка импортируемого листа
// обязательно должна содержать заголовки в каждом столбце, и текст заголовка должен соответствовать правилам
// наименования идентификаторов в языке 1С (последовательность букв, цифр и знаков подчеркивания,
// начинающаяся только с букв или знака подчеркивания)
// Если «Ложь», тогда имена колонок результирующей таблицы значений будут сформированы автоматически, по принципу
// F1, F2…Fn В этом случае первая строка импортируемого листа может быть любой, к ней не предъявляется никаких
// требований.
// Возвращаемая таблица значений будет содержать в себе строки и колонки, заполненные данными, в том же порядке, соответствующем строкам
// и колонкам в исходном листе Excel
Функция ФайлExcel_ИмпортироватьЛист(ИмяФайла, ИмяИлиНомерЛиста = 1, ИспользоватьЗаголовок = Ложь) adFalse = 0; // формируем строку подключения к OLE DB источнику данных с именем «Microsoft.ACE.OLEDB.12.0» HDR = ?(ИспользоватьЗаголовок, «Yes», «No»); СтрокаСоединения = ФорматСтроки(«Provider=Microsoft.ACE.OLEDB.12.0;Data Source=%1; Extended Properties=»»Excel 12.0;HDR=%2″»», ИмяФайла, HDR); // если лист задан не именем, а номером, требуется сначала найти имя листа Если ТипЗнч(ИмяИлиНомерЛиста) = Тип(«Число») Тогда // проверяем, чтобы номер листа был не меньше единицы Если ИмяИлиНомерЛиста МассивИменЛистов.Количество() Тогда Сообщить(«Ошибка. Номер запрошенного листа больше, чем общее число листов в книге Excel»); Возврат Неопределено; КонецЕсли; ИмяЛиста_ = МассивИменЛистов[ИмяИлиНомерЛиста — 1]; // запоминаем имя листа для дальнейшего чтения данных Иначе Сообщить(«Ошибка. Не удалось получить имя листа в книге Excel по его номеру»); Возврат Неопределено; КонецЕсли; Иначе // проверяем, чтобы последним символом в имени листа был знак $ Если Прав(ИмяИлиНомерЛиста, 1) «$» Тогда Сообщить(«Ошибка в параметре. Имя листа должно оканчиваться знаком доллара '$'»); Возврат Неопределено; КонецЕсли; ИмяЛиста_ = ИмяИлиНомерЛиста; // запоминаем имя листа для дальнейшего чтения данных КонецЕсли; // формируем текст запроса к источнику данных книги Excel. По-сути это SQL запрос с выборкой всех столбцов и строк указанной таблицы (листа) // В языке SQL такой запрос не гарантирует никакой порядок следования записей, но на практике, в нашем случае, // из листа Excel строки будут выбраны в правильном, последовательном порядке, от 1-ой строки к последней ТекстКоманды = ФорматСтроки(«SELECT * FROM [%1]», ИмяЛиста_); // создаем специальный com-объект ADODB.Recordset, который будет содержать выбранные данные (некий аналог таблицы значений 1С) Recordset = Новый COMОбъект(«ADODB.Recordset»); Попытка // заставляем Recordset выполнить запрос к данным. Текст запроса в переменной , // а параметры соединения указаны в строке , сформированной в начале функции // После успешного выполнения запроса объект Recordset содержит в себе копию данных из листа Excel // т.е. имеет внутри себя строки и колонки с данными. Recordset.Open(ТекстКоманды, СтрокаСоединения); Исключение Сообщить(ОписаниеОшибки()); Возврат Неопределено; КонецПопытки; ТЗ = Новый ТаблицаЗначений; КоличествоКолонок = Recordset.Fields.Count; // получаем количество колонок с данными, после выполнения запроса // Создаем колонки результирующей таблицы значений, копируя имена колонок из объекта Recordset // Имена колонок либо автоматически сформированы системой, либо взяты из имен столбцов листа Excel // Это зависит от вх.параметра Для НомерКолонки = 0 По КоличествоКолонок — 1 Цикл ТЗ.Колонки.Добавить(Recordset.Fields(НомерКолонки).Name); КонецЦикла; // перебираем записи(строки) объекта Recordset Пока Recordset.EOF() = adFalse Цикл НоваяСтрока = ТЗ.Добавить(); // копируем данные каждого столбца (поля) в новую строку таблицы значений Для НомерКолонки = 0 По КоличествоКолонок — 1 Цикл НоваяСтрока[НомерКолонки] = Recordset.Fields(НомерКолонки).Value; КонецЦикла; Recordset.MoveNext(); // переходим на следующую запись(строку) объекта Recordset КонецЦикла; Возврат ТЗ;
КонецФункции

Читайте также:  Как сделать фото из презентации powerpoint?

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

Наша функция ФайлExcel_ИмпортироватьЛист() извлекает информацию для импорта из Excel в 1С с одного конкретного листа.

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

Имя листа в Excel всегда заканчивается знаком «$«, например «Лист1$«, когда это имя используется для ссылки на нужный лист.

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

(Важно! Иногда нумерация листов в книге Excel не соответствует видимому порядку отображения листов при открытии книги. Например, лист, который вы видите первым по-счету, может иметь номер 4 или другой, не равный единице.

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

Мы имеем, таким образом, некую универсальность, при выборе нужного листа с данными для импорта из Excel в 1С.

Это достигается тем, что изнутри функции ФайлExcel_ИмпортироватьЛист() вызывается другая функция, ФайлExcel_ПолучитьСписокЛистов() (описанная в прошлой статье), благодаря которой извлекается имя листа, соответствующее переданному номеру листа. А далее, запрос на чтение выстраивается с использованием заранее полученного имени листа Excel.

Функция ФайлExcel_ИмпортироватьЛист() имеет еще и третий параметр. Дело в том, что возвращаемая после импорта из Excel в 1С таблица значений имеет колонки. Разумеется, эти колонки должны иметь какие-то имена. Для управления наименованием колонок и нужен третий параметр, который я назвал ИспользоватьЗаголовок.

Если мы присвоим этому параметру значение Истина то для именования колонок в результирующей таблицы значений — будут использованы значения ячеек из первой строки импортируемого листа Excel.

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

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

Надеюсь, что не запутал Вас. В случае, если мы присвоим параметру ИспользоватьЗаголовок = Ложь, результирующая таблица значений получить стандартные имена колонок, по порядку: «F1, F2 .. Fn» и первая строка исходного листа будет импортирована в первую строку таблицы значений.

Как сделать импорт в 1с из excel в?

Исходный файл-пример, чтобы показать импорт из Excel в 1С

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

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

Выше был размещен исходный текст отдельно взятой функции ФайлExcel_ИмпортироватьЛист().

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

Как сделать импорт в 1с из excel в?

Тестовая обработка по импорту из Excel в 1С

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

Если комментариев внутри исходного кода недостаточно, то пишите вопросы в х к этой статье. Хотя, функцию можно с успехом использовать и без понимания принципов ее работы. Бывает, зачастую, просто некогда детально разбираться в вопросе, лишь бы «быстрее заработало». Тоже вариант! 🙂

Скачать тестовую обработку по импорту таблиц из Excel в 1С

Как научиться программировать в 1С с нуля?

Как работать программистом 1С и получать до 150 000 рублей в месяц?

Как сделать импорт в 1с из excel в?

  1. ЗАПИШИСЬ НА БЕСПЛАТНЫЙ
  2. 2-НЕДЕЛЬНЫЙ КУРС
  3. «ПРОГРАММИРОВАНИЕ в 1С ДЛЯ НОВИЧКОВ»

Как сделать импорт в 1с из excel в?

Курс придет на электронную почту. Стань программистом, выполняя пошаговые задания.

Для участия нужен только компьютер и интернет

Бесплатный доступ на курс:

Источник: http://fast-soft.ru/iz-excel-v-1s-import-tablicy-excel-v-1s/

экспорт и импорт в 1С из листа MS Excel

  • Процедура гМногострочка_Экспортировать(Док) Экспорт
  •      Д=СоздатьОбъект(«Документ»);
  •      Д.НайтиДокумент(Док);
  •      Оле=СоздатьОбъект(«Excel.Application»);
  •      Если ФлагВидимость=1 Тогда
  •           Оле.Visible=1;
  •      КонецЕсли;

     Книга=Оле.Workbooks().Add();

     Книга.Windows(1).Caption=Д.ПредставлениеВида()+» «+СокрЛП(Д.НомерДок);

     Лист=Книга.Activesheet;

     Колонка=0;

     Для i=1 По Метаданные.Документ(Д.Вид()).РеквизитТабличнойЧасти() Цикл

          Ж=Метаданные.Документ(Д.Вид()).РеквизитТабличнойЧасти(i);

          Колонка=Колонка+1;

          Ячейка=Лист.Cells(1,Колонка);

          Ячейка.Value=Ж.Идентификатор;

          Ячейка.Font.Bold=1;

          Если Ж.Тип=»Число» Тогда

               Попытка

                    Лист.Columns(Колонка).NumberFormat=»# ##0.00″;

               Исключение

                    Лист.Columns(Колонка).NumberFormat=»# ##0,00″;

  1.                КонецПопытки;
  2.           КонецЕсли;
  3.      КонецЦикла;
  4.      Д.ВыбратьСтроки();
  5.      Пока Д.ПолучитьСтроку()=1 Цикл

          Лист.Range(«A»+Число(Д.НомерСтроки+1)).Select();

          Колонка=0;

          Для i=1 По Метаданные.Документ(Д.Вид()).РеквизитТабличнойЧасти() Цикл

               Ж=Метаданные.Документ(Д.Вид()).РеквизитТабличнойЧасти(i);

               Колонка=Колонка+1;

               Значение=Д.ПолучитьАтрибут(Ж.Идентификатор);

               Лист.Cells(Д.НомерСтроки+1,Колонка).Value=СокрЛП(Значение);

          КонецЦикла;

     КонецЦикла;

     Лист.Cells.EntireColumn.AutoFit();

     Лист.Range(«A2»).Select();

     Оле.ActiveWindow.FreezePanes=1;

     Оле.Visible=1;

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

Функция гКнига_Открыть(Файл,Каталог,Область,Высота,Ширина) Экспорт

     Оле=СоздатьОбъект(«Excel.Application»);

          Для i=1 По Оле.Workbooks.Count Цикл

  •           ТекКнига=Оле.Workbooks(i);
  •           Если ТекКнига.Name=Файл Тогда
  •                Книга=ТекКнига;
  •                Прервать;
  •           КонецЕсли;
  •      КонецЦикла;
  •           Если ПустоеЗначение(Книга)=1 Тогда

          Книга=Оле.Workbooks.Open(Каталог+Файл);

     КонецЕсли;

     Оле.Visible=1;

          Если Книга.Worksheets.Count=1 Тогда

  1.           НомерЛиста=1;
  2.      Иначе
  3.           Список=СоздатьОбъект(«СписокЗначений»);

          Для i=1 По Книга.Worksheets.Count Цикл

               Список.ДобавитьЗначение(i,Книга.Worksheets(i).Name);

          КонецЦикла;

          Если Список.ВыбратьЗначение(НомерЛиста,»Выбор листа — «+Книга.Name)=0 Тогда

  •                Возврат(0);
  •           КонецЕсли;
  •      КонецЕсли;
  •           Лист=Книга.Worksheets(НомерЛиста);
  •      Лист.Activate();

          Область=Книга.Worksheets(НомерЛиста).Cells.CurrentRegion;

     Высота=Область.Rows.Count;

     Ширина=Область.Columns.Count;

  1.           Возврат(1);
  2. КонецФункции
  3. //поиск элемента справочника проводится по полному коду
  4. Процедура ИмпортироватьЦеныТовара()
  5.      Перем Файл,Каталог,Область,Высота,Ширина;
  6.      Каталог=КаталогПользователя();
  7.      Файл=»»;

     Если ФС.ВыбратьФайл(0,Файл,Каталог,»Открыть файл»,»Файлы MS Excel|*.xls»)=0 Тогда

  •           Возврат;
  •      ИначеЕсли гКнига_Открыть(Файл,Каталог,Область,Высота,Ширина)=0 Тогда
  •           Возврат;
  •      КонецЕсли;
  •      С=СоздатьОбъект(«Справочник.Товары»);
  •      С.ИспользоватьРодителя(«»);
  •      С.ИспользоватьДату(РабочаяДата(),1);
  •      Для Стр=2 По Высота Цикл
  •           Состояние(«Прогресс: «+Цел(Стр/Высота*100)+»%»);

          ТекКод=СокрЛП(Область.Cells(Стр,1).Text);

  1.           Если С.НайтиПоКоду(ТекКод,2)=0 Тогда
  2.                Сообщить(«Не найден товар по коду: «+ТекКод,»!»);
  3.                Продолжить;
  4.           КонецЕсли;

          ТекЦена=Число(Область.Cells(Стр,2).Text);

  •           Если ТекЦена=0 Тогда
  •                Продолжить;
  •           КонецЕсли;
  •           С.УстановитьАтрибут(«Цена»,ТекЦена);
  •           Попытка
  •                С.Записать();
  •           Исключение
  •                Сообщить(«Ошибка записи: «+ОписаниеОшибки(),»!»);
  •           КонецПопытки;
  •      КонецЦикла;
  •      Предупреждение(«Импортированы цены для «+Высота+» наименований товаров»);
  • КонецПроцедуры

Источник: http://vip1c.ru/page/eksport-i-import-v-1s-iz-lista-ms-excel

Ссылка на основную публикацию
Adblock
detector