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 |  Дата:   Прочитано: 20156
 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
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.
Загрузка... Дождитесь завершения!