1С 8 Excel

  • автор:

06.06.2017

Как из прайс-листа в Excel загрузить справочник номенклатуры в типовую конфигурацию «1С:Бухгалтерия предприятия» редакция 3.0

Получить доступ к облаку 1С:Фреш бесплатно на 30 дней!
В реальной практике часто возникает необходимость загрузить в 1С:Бухгалтерию справочник номенклатуры из файла в формате excel (например из прайс-листа).
Необходимость автоматической загрузки особенно актуальна, когда число элементов, которые необходимо вводить, составляет десятки, сотни или даже тысячи, и ручной ввод такого объема данных является довольно трудоемкой работой.
Естественно в 21 веке нам хотелось бы избежать напрасных потерь сил и драгоценного времени.
В таких случаях многие обращаются к услугам программистов, но это дополнительные расходы денежных средств и времени.
Удивительно, но многие пользователи (и даже специалисты) до сих пор не знают, что в типовой конфигурации «1С:Бухгалтерия предприятия» редакция 3.0 такая возможность уже встроена в конфигурацию!

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

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

Открываем справочник номенклатуры.

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

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

Если файл успешно прочитался, то в табличной части окна 1С мы увидим содержание файла.

Сначала необходимо подготовить данные к загрузке.

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

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

Когда все колонки будут сопоставлены нажимаем кнопку «Далее».
Здесь можно увидеть, сколько из загружаемых позиций являются новыми, а какие из них уже имеются в программе.
Новые позиции будут отмечены знаком «+», который означает, что при загрузке будет создан новый элемент номенклатуры.
Также могут появится строки, отмеченные знаком «!», который означает, что было обнаружено несколько позиций с совпадающими реквизитами и программе необходимо указать соответствие в ручную из списка.
Далее необходимо настроить общие реквизиты для загружаемой номенклатуры: указать группу справочника номенклатуры, в которую необходимо загружать данные из прайс-листа, вид номенклатуры (Товары, Услуги, Материалы, Продукция и т.д.), номенклатурную группу, единицу измерения и ставку НДС.
Нажимаем «Загрузить».
Если все делали правильно, то программа должна загрузить из прайс-листа и создать новые элементы в указанной группе справочника номенклатуры.
Проверяем карточку номенклатуры.
На закладке «Цены» проверяем стоимость загруженного товара.
Если все Ок, то лайкаем статью в соцсетях или даем ссылку на форуме ))).

Продолжение следует…

Компания «Онлайн», 2017

Ключевые слова

загрузка данных в 1С из Excel, порядок загрузки справочника номенклатуры в 1с бухгалтерию из excel, как загрузить прайс в 1с бухгалтерию, загрузка товаров в 1с из excel, перенос номенклатуры из Excel в 1С, штатная загрузка из excel в 1с бухгалтерию 3.0, как загрузить номенклатуру из excel в 1с бухгалтерию 8.3, загрузка номенклатуры в 1с бухгалтерию 3.0, загрузка прайс листа в 1с бухгалтерию 8.3, загрузка справочника товаров в 1с бухгалтерию из excel, загрузка номенклатуры в 1с бухгалтерию из excel, загрузка данных в 1с бухгалтерию из excel, как загрузить номенклатуру в 1с бухгалтерию из excel, загрузить данные из excel в 1с 8.3, загрузка товаров в 1с бухгалтерию из прайс-листа, загрузка новых товаров в 1с из excel, загрузка из excel в 1с, загрузка в 1с из прайса excel, 1с 8 загрузка номенклатуры из прайс-листа excel, 1с бухгалтерия загрузка из excel, импорт из excel в 1с бухгалтерию, экспорт номенклатуры из excel в 1с, загрузка товаров из excel в 1с, номенклатура из excel в 1с, перенос из excel в 1с справочника номенклатуры, загрузка справочника номенклатуры из excel в 1с бухгалтерию 8.3, 1с загрузка номенклатуры из excel, как загрузить в 1с бухгалтерия предприятия номенклатуру из excel, загрузка в 1с бухгалтерию из excel новой номенклатуры, загрузка справочника товаров в 1с бухгалтерию 3.0, загрузка из exel в 1с бухгалтерию, загрузка из экселя в 1с бухгалтерию, загрузка в 1с из экселя номенклатуры, прайс-лист excel 1c бухгалтерия обработка загрузка, обработка для загрузки номенклатуры из excel в 1с бухгалтерия предприятия, обработка для загрузки данных из Excel в справочник номенклатуры 1С Бухгалтерии 8.3, 1c xls, из xls в 1с, загрузка из xls в 1с, загрузка xls в 1с, импорт xls в 1с, загрузка данных из xls в 1с, загрузка справочников из xls в 1с, загрузка справочника номенклатуры из xls в 1с, загрузка из xls в 1с 8, загрузка xls в 1с 8, импорт xls в 1с 8, загрузка данных в 1с 8 из xls, загрузка справочников в 1с 8 из xls, загрузка справочника номенклатуры в 1с 8 из xls, из xls в 1с бухгалтерию 8, загрузка из xls в 1с бухгалтерию, загрузка xls в 1с бухгалтерию, импорт xls в 1с бухгалтерию, загрузка данных из xls в 1с бухгалтерию, загрузка справочников из xls в 1с бухгалтерию, загрузка справочника номенклатуры из xls в 1с бухгалтерию, загрузка из xls в 1с бухгалтерию 8, загрузка из xls в 1с бухгалтерию 8.3, загрузка xls в 1с бухгалтерию 8, загрузка из xls в 1с 8.3, импорт xls в 1с бухгалтерию 8, импорт из xls в 1с бухгалтерию 8.3, загрузка данных в 1с бухлатерию 8 из xls, загрузка товаров в 1с бухгалтерию 8.3 из файла xls, загрузка справочника в 1с бухгалтерию 8 из xls, загрузка справочника номенклатуры в 1с 8.3 из xls, загрузка справочника номенклатуры в 1с бухгалтерию 8 из xls, загрузка справочника номенклатуры в 1с 8.3 из xls, 1c 8.3 xls, из xls в 1с 8.3, загрузка из xls в 1с 8.3, загрузка xls в 1с бухгалтерию 3.0, импорт xls в 1с 3.0, загрузка данных из xls в 1с 8.3, загрузка справочников из xls в 1с 8.3, загрузка справочника номенклатуры из xls в 1с 8.3

Теги: Загрузка номенклатуры в 1С Бухгалтерию 8.3 из Excel, Загрузка справочника номенклатуры из excel в 1С Бухгалтерию, Загрузка товаров из excel в 1С Бухгалтерию 3.0, импорт номенклатуры из excel в 1С Бухгалтерию 8.3, экспорт номенклатуры в 1С 8.3 из excel

Часто возникает потребность прочитать данные из таблицы MS Excel или из источника 1С записать (выгрузить) данные в книгу MS Excel. Можно ли средствами 1С решить эти задачи? Ответ прост — можно и это не особо затруднительно. Чтение данных по большому счету вообще не представляет больших проблем. При выгрузке данных в MS Excel возможны некоторые трудности, что может быть связано с особенностями VBA. Для выгрузки данных из 1С в MS Excel можно воспользоваться заранее созданным шаблоном или, если состав данных не известен до самой выгрузки, создать файл MS Excel на ходу. Здесь будет приведен пример чтения данных из файла MS Excel и выгрузки данных с созданием файла.
Допустим, стоит задача прочитать данные из файла MS Excel, каким-то образом их обработать и выгрузить полученный результат в другой файл MS Excel.
Открываем конфигуратор и создаем новую внешнюю обработку.

Добавляем форму обработку и на нее помещаем две кнопки: Загрузить данные и Выгрузить данные. Поскольку цель данного примера показать приемы работы с загрузкой и выгрузкой данных в файл MS Excel, то на форму промежуточные данные выводить не будем. Они будут помещены в таблицу значений и затем выгружены из нее.

Теперь поместим в обработчики кнопкок «Загрузить данные» и «Выгрузить данные»функционал чтения данных из файла MS Excel.
В обработчиках кнопок получается следующий код:

Процедура ЗагрузитьДанныеНажатие(Элемент) Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); Диалог.Заголовок = «Выберите имя файла для чтения»; Диалог.МножественныйВыбор = Ложь; Диалог.Фильтр = «Файл MS Excel (.xlsx)| *.xlsx»; //Диалог.Фильтр = «Все файлы (*.*)| *.*»; Если Не Диалог.Выбрать() Тогда Сообщить(«Файл для обработки не выбран!»); Иначе //подключаемся к Excel ФайлДанных = Диалог.ПолноеИмяФайла; Попытка Excel = Новый COMОбъект(«Excel.Application»); Excel.WorkBooks.Open(ФайлДанных); Состояние(«Обработка файла Microsoft Excel…»); Исключение Сообщить(«Ошибка при открытии файла с помощью Excel! Загрузка не будет произведена!»); Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; Попытка //Открываем необходимый лист Excel.Sheets(1).Select(); // лист 1, по умолчанию Исключение //Закрываем Excel Excel.ActiveWorkbook.Close(); Excel = 0; Сообщить(«Файл » + Строка(ФайлДанных) + » не соответствует необходимому формату! Первый лист не найден!»); Возврат; КонецПопытки; //Получим количество строк и колонок. //В разных версиях Excel получаются по-разному, поэтому сначала определим версию Excel Версия = Лев(Excel.Version,Найти(Excel.Version,».»)-1); Если Версия = «8» Тогда ФайлСтрок = Excel.Cells.CurrentRegion.Rows.Count; ФайлКолонок = Макс(Excel.Cells.CurrentRegion.Columns.Count, 13); Иначе ФайлСтрок = Excel.Cells(1,1).SpecialCells(11).Row; ФайлКолонок = Excel.Cells(1,1).SpecialCells(11).Column; КонецЕсли; ТЗ.Очистить(); Попытка //Если случится ошибка, то закроем файл, чтобы не висел в процессах Для Сч = 2 По ФайлСтрок Цикл Состояние(«Обрабатывается строка » + Строка(Сч) + » из » + Строка(ФайлСтрок)); Если НЕ СокрЛП(Excel.Cells(Сч, 1).Value) = «» Тогда НоваяСтрока = ТЗ.Добавить(); НоваяСтрока.НомерПоПорядку = СокрЛП(Excel.Cells(Сч, 1).Value); НоваяСтрока.ТестовыйТекст = СокрЛП(Excel.Cells(Сч, 2).Text); НоваяСтрока.ТестовоеЧисло1 = СокрЛП(Excel.Cells(Сч, 3).Value); НоваяСтрока.ТестовоеЧисло2 = СокрЛП(Excel.Cells(Сч, 4).Value); НоваяСтрока.ТестовоеЧисло3 = СокрЛП(Excel.Cells(Сч, 5).Value); НоваяСтрока.ТестовоеЧисло4 = СокрЛП(Excel.Cells(Сч, 6).Value); НоваяСтрока.ТестовоеЧисло5 = СокрЛП(Excel.Cells(Сч, 7).Value); НоваяСтрока.ТестовоеЧисло6 = СокрЛП(Excel.Cells(Сч, 8).Value); НоваяСтрока.ТестовоеЧисло7 = СокрЛП(Excel.Cells(Сч, 9).Value); НоваяСтрока.ТестоваяДата = СокрЛП(Excel.Cells(Сч, 10).Value); КонецЕсли; КонецЦикла; Исключение //Закрываем Excel Excel.ActiveWorkbook.Close(); Excel.Quit(); Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; Попытка Сообщить(«Файл Excel прочитан!»); Excel.Quit(); Исключение Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; КонецЕсли; КонецПроцедуры //ЗагрузитьДанныеНажатие() Процедура ВыгрузитьДанныеНажатие() Для Каждого ТекСтрока Из ТЗ Цикл // Какая-то задача по обработке прочитанных данных ТекСтрока.ТестовоеЧисло5 = ТекСтрока.ТестовоеЧисло5 — Число(ТекСтрока.НомерПоПорядку); КонецЦикла; //Теперь выгрузим результат в файл MS Excel Если ТЗ.Количество() = 0 Тогда Возврат; КонецЕсли; Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); Диалог.Заголовок = «Выберите имя файла для сохранения»; Диалог.МножественныйВыбор = Ложь; Диалог.Фильтр = «Файл MS Excel *.xlsx)| *.xlsx»; //Диалог.Фильтр = «Все файлы (*.*)| *.*»; Если Диалог.Выбрать() Тогда ФайлДанных = Диалог.ПолноеИмяФайла; //подключаемся к MS Excel Попытка Excel = Новый COMОбъект(«Excel.Application»); Исключение Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; Попытка Книга = Excel.WorkBooks.Add(); //Зададим первому листу имя Лист = Книга.WorkSheets(1); Лист.Name = «Выгрузка данных»; Excel.ActiveWindow.View = 2; // Режим страничного просмотра Excel.ActiveWindow.Zoom = 100; // Масштаб Лист.PageSetup.Orientation = 2; // Альбомная ориентация Лист.Columns(1).ColumnWidth = 10; // Ширина первой колонки Лист.Columns(2).ColumnWidth = 25; // Ширина второй колонки Лист.Columns(10).ColumnWidth = 13; Лист.Columns(11).ColumnWidth = 13; //Изготовим шапку Лист.Cells(1, 1).Value = «Номер по порядку»; Лист.Cells(1, 2).Value = «Выгружаемый текст»; Лист.Cells(1, 3).Value = «Выгружаемые числа»; Лист.Cells(1, 10).Value = «Выгружаемая дата»; Лист.Cells(1, 11).Value = «Программная формула»; Лист.Cells(2, 3).Value = «Число 1»; Лист.Cells(2, 4).Value = «Число 2»; Лист.Cells(2, 5).Value = «Число 3»; Лист.Cells(2, 6).Value = «Число 4»; Лист.Cells(2, 7).Value = «Число 5»; Лист.Cells(2, 8).Value = «Число 6»; Лист.Cells(2, 9).Value = «Число 7»; Лист.Range(«A1:A2»).MergeCells = Истина; Лист.Range(«A1:A2»).WrapText = Истина; Лист.Range(«B1:B2»).MergeCells = Истина; Лист.Range(«B1:B2»).WrapText = Истина; Лист.Range(«J1:J2»).MergeCells = Истина; Лист.Range(«J1:J2»).WrapText = Истина; Лист.Range(«K1:K2»).MergeCells = Истина; Лист.Range(«K1:K2»).WrapText = Истина; Лист.Range(«C1:I1»).MergeCells = Истина; Лист.Range(«C1:I1»).WrapText = Истина; Лист.Range(«A1:K2»).Borders.Linestyle = 1; //Линия границы Лист.Range(«A1:K2»).HorizontalAlignment = 3; //Выравнивание по горизонтали Лист.Range(«A1:K2»).VerticalAlignment = 2; //Выравнивание по вертикали Лист.Range(«A1:K2»).Font.Bold = 1; //Установим жирный шрифт в шапке // Шапка готова, выгружаем данные в таблицу СчетчикСтрок = 3; //Заполнение ТЧ начинаем с третьей строки Для Каждого ТекСтрока Из ТЗ Цикл Лист.Cells(СчетчикСтрок, 1).Value = ТекСтрока.НомерПоПорядку; Лист.Cells(СчетчикСтрок, 2).Value = ТекСтрока.ТестовыйТекст; Лист.Cells(СчетчикСтрок, 3).Value = ТекСтрока.ТестовоеЧисло1; Лист.Cells(СчетчикСтрок, 4).Value = ТекСтрока.ТестовоеЧисло2; Лист.Cells(СчетчикСтрок, 5).Value = ТекСтрока.ТестовоеЧисло3; Лист.Cells(СчетчикСтрок, 6).Value = ТекСтрока.ТестовоеЧисло4; Лист.Cells(СчетчикСтрок, 7).Value = ТекСтрока.ТестовоеЧисло5; Лист.Cells(СчетчикСтрок, 8).Value = ТекСтрока.ТестовоеЧисло6; Лист.Cells(СчетчикСтрок, 9).Value = ТекСтрока.ТестовоеЧисло7; Лист.Cells(СчетчикСтрок, 10).Value = ТекСтрока.ТестоваяДата; Лист.Cells(СчетчикСтрок, 11).Formula = «=F» + Строка(СчетчикСтрок) + «+G» + Строка(СчетчикСтрок); СчетчикСтрок = СчетчикСтрок + 1; КонецЦикла; СчетчикСтрок = СчетчикСтрок — 1; //Завершающая строка для форматирования Лист.Range(«A3:K» + Строка(СчетчикСтрок)).Borders.Linestyle = 1; //Линия границы Лист.Range(«A3:K» + Строка(СчетчикСтрок)).VerticalAlignment = 2; //Выравнивание по вертикали Для НомерСтроки = 3 По СчетчикСтрок Цикл //Установим числовой формат Для Столбец = 4 По 9 Цикл Лист.Cells(НомерСтроки, Столбец).NumberFormat = «0.00»; КонецЦикла; Лист.Cells(НомерСтроки, 11).NumberFormat = «0.00»; КонецЦикла; Исключение Excel.Quit(); Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; Попытка Книга.SaveAs(ФайлДанных); Сообщить(«Файл » + ФайлДанных + » успешно сохранен»); Исключение Сообщить(ОписаниеОшибки() + » Файл не сохранен!»); Возврат; КонецПопытки; Попытка Excel.Quit(); Исключение Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; КонецЕсли; КонецПроцедуры //ВыгрузитьДанныеНажатие() В результате получилась обработка, в которой сначала из файл считываются данные, а затем — по нажатию кнопки выгрузки данных как-то обрабатываются и выгружаются в файл. Либо в пустой, либо указанный пользователем. При этом существующий файл пересоздается. При выгрузке показаны некоторые примеры форматирования файла.

На этом пока все.

Пример обработки и файла для чтения данных можно скачать

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *