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

Загрузка из excel в 1С номенклатуры (для примера) реализуется следующим образом:

  1. Подготавливается файл-шаблон, по образу и подобию которого всегда будут создаваться файлы с данными для загрузки в 1С из эксель;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
// Пытаемся подключиться к Excel.
Попытка
 
     ExcelПриложение = Новый COMОбъект("Excel.Application");
     Книга = ExcelПриложение.Workbooks.Open(ПутьКФайлу);
     Лист = Книга.WorkSheets(1);
 
Исключение
 
     Сообщить(ОписаниеОшибки());
     Возврат;
 
КонецПопытки;
 
ExcelПриложение.Application.Visible = Ложь;
ExcelПриложение.Application.DisplayAlerts = Ложь;
 
// По координатам "последней" ячейки (SpecialCells(11)) получаем
// количество используемых колонок и строк
ВсегоКолонок = Лист.Cells(1,1).SpecialCells(11).Column;
ВсегоСтрок = Лист.Cells(1,1).SpecialCells(11).Row;
 
// Указываем номер строки, с которой начинается чтение листа
НомерПервойСтроки = 1;
 
// Указываем номера колонок, данные из которых будем читать
КолонкаНаименованиеПолное = 2;
КолонкаАртикул = 5;
КолонкаЦена = 8;
 
// Добавляем номенклатуру в систему
СчетчикСтрок = НомерПервойСтроки;
Пока СчетчикСтрок <= ВсегоСтрок Цикл
 
     НоваяНоменклатура = Справочники.Номенклатура.СоздатьЭлемент();
     // Мы по координатам (номер строки, номер колонки) находим ячейку и читаем её значение
     НоваяНоменклатура.НаименованиеПолное = СокрЛП(Лист.Cells(СчетчикСтрок, КолонкаНаименованиеПолное).Value);
     НоваяНоменклатура.Артикул = СокрЛП(Лист.Cells(СчетчикСтрок, КолонкаАртикул).Value);
     НоваяНоменклатура.Цена = СокрЛП(Лист.Cells(СчетчикСтрок, КолонкаЦена).Value);
 
     Попытка
          НоваяНоменклатура.Записать();
     Исключение
          СообщениеПользователю = Новый СообщениеПользователю;
          СообщениеПользователю.Текст = "Не удалось записать номенклатуру + " + НоваяНоменклатура.НаименованиеПолное + "! " + ОписаниеОшибки();
          СообщениеПользователю.Сообщить();
     КонецПопытки;
 
     СчетчикСтрок = СчетчикСтрок + 1;
 
КонецЦикла;
 
// Закрываем книгу и эксель
ExcelПриложение.ActiveWorkbook.Close();
ExcelПриложение.Quit();

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

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

WP-SpamFree by Pole Position Marketing