helpf.pro
Регистрация
 0 
Распечатать

1С 8.x : Загрузка списка номенклатуры в ТЗ из Excel

Код 1C v 8.х
   
Попытка
XLSОбъектОсновной = Новый COMОбъект("Excel.Application");
Исключение
Предупреждение("Невозможно загрузить MS EXCEL !!!" + Символы.ПС + ОписаниеОшибки(), 10, "Ошибка");
Возврат;
КонецПопытки;

XLSОбъектКниги = XLSОбъектОсновной.WorkBooks;

Попытка
XLSОбъект = XLSОбъектКниги.Open(элементыформы.пвИмяФайла.Значение);
Исключение
Предупреждение("Невозможно открыть файл " + элементыформы.пвИмяФайла.Значение + " !!!" + Символы.ПС + ОписаниеОшибки(), 10, "Ошибка");
Возврат;
КонецПопытки;

XLSОбъект.Application.Caption = "Открыто из 1С";
//определим диапозоны
Если НомерСтрокиСДанными = 0 Тогда
// То с первой строки
НомерСтрокиСДанными = 1;
КонецЕсли;

Если НомерСтраницы = 0 Тогда
// То с первой страницы
НомерСтраницы = 1;
КонецЕсли;

Лист = XLSОбъект.Sheets(НомерСтраницы);

Если КолВоКолонок = 0 Тогда
//КолВоКолонок не установлено, будем автоматически заполнять
КолВоКолонок = Лист.Cells(1,1).SpecialCells(11).Column;
КонецЕсли;

Если КолВоСтрок = 0 Тогда
// КолВоСтрок не уставновлено, Будем автоматически заполнять количество строк.
КолВоСтрок = Лист.Cells(1,1).SpecialCells(11).Row;
КонецЕсли;
// ТЗДанных - Таблица значений на форме
ТЗДанных.Очистить();
Лист = XLSОбъект.Sheets(НомерСтраницы);
Для чС = (НомерСтрокиСДанными + 1) По КолВоСтрок Цикл
Состояние("Загружаем строки:" + чС);
ностр=ТЗДанных.Добавить();
попытка
//грузим номенклатуру
Ячейка = Лист.Cells(чС,1);
ностр.НоменклатураЕксел = Ячейка.Value;
исключение
сообщить("Номенклатура - строка - "+чс + Символы.ПС + ОписаниеОшибки());
конецпопытки;
попытка
//грузим количество
Ячейка = Лист.Cells(чС, 2);
ностр.Количество = Ячейка.Value;
исключение
сообщить("Количество - строка - "+чс + Символы.ПС + ОписаниеОшибки());
конецпопытки;
попытка
//грузим сумму
Ячейка = Лист.Cells(чС, 3);
ностр.Сумма = Ячейка.Value;
исключение
сообщить("Сумма - строка - "+чс + Символы.ПС + ОписаниеОшибки());
конецпопытки;
попытка
//грузим единица измерения
Ячейка = Лист.Cells(чС, 4);
ностр.ЕдИзмеренияЕксел = Ячейка.Value;
исключение
сообщить("Ед. измерения - строка - "+чс + Символы.ПС + ОписаниеОшибки());
конецпопытки;
//КонецЦикла;
КонецЦикла;

XLSОбъект.Application.Quit();
Разместил:   Версии: | 8.x |  Дата:   Прочитано: 19957
 0 
Распечатать
Возможно, вас также заинтересует
COM-подключение к базе 7.7 из 8.2 1С 7
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе=" D:ВашаБаза1с77" ; Пользователь=
Excel файл как Внешний источник данных 17
Подключимся и загрузим из файла Excel данные в таблицу значений 1С. Сделать теперь это очень просто. 1. В конфигурации добавляет новый объект метаданных типа " Внешние источники данных" и назовем его просто " Excel" . https://helpf.pro/uploads/img
Google maps : вывод точек на карту и режим панорамы 9
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора
Активация открытой книги Excel для корректировки 0
Нужно было получить для изменения уже открытую книгу Excel, а если она закрыта, то открыть и изменять. Ниже код, который данную задачу решает. Попытка Эксель = Неопределено; Книга = Неопределено; Лист = Неопределено; Состояние(" Выполняется
Быстрая загрузка данных большого размера файла Excel в многомерный Массив 0
// OldthiefXXX Перем СерверExcel; Процедура КнопкаВыполнитьНажатие(Кнопка) ФайлХЛС=СерверExcel.Application.Workbooks.Open(ДокументХЛС); КонечнаяСтрокаДанных=ФайлХЛС.ActiveSheet.UsedRange.Rows.Count; КоличествоКолонокДанных=ФайлХЛС.ActiveSheet
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.