Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
20 мая 2024, 10:38

Загрузка данных из Exel

Автор AleksFate, 23 июн 2017, 12:37

0 Пользователей и 1 гость просматривают эту тему.

AleksFate

Добрый день. Подскажите, пожалуйста, как обратиться к реквизиту табличной части справочника.

   Функция ЗагрузитьУчебныйПлан(ИмяФайла)//Номер листа в книге Excel для получения данных

   НомерЛиста         = 1;
    //Пытаемся подключиться к Excel
    Попытка
        Excel = новый COMОбъект("Excel.Application");
    Исключение
        Сообщить("Похоже, Excel на компьютере не установлен. Необходимо выполнить установку/переустановку Excel.");
        Возврат Ложь;
    КонецПопытки;     
    //Подключились удачно, открываем файл
    Excel.Workbooks.Open(ИмяФайла);
    //Открываем необходимый лист
    Excel.Sheets(НомерЛиста).select();   
    //Получим количество строк и колонок.
    //В разных версиях 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;   
    Конецесли;
    // Выбираем данные из файла
    Для а = 10 по ФайлСтрок Цикл           
        //Получим данные из соответсвующих ячеек
        УчебныйПлан = Справочники.УчебныйПлан.СоздатьЭлемент();
      
      УчебныйПлан.Специальность=Объект.Специальность;
      УчебныйПлан.Группа=Объект.Группа;
      УчебныйПлан.Наименование=""+Объект.Специальность+" "+Объект.Группа;
      
      УчебныйПлан.Курс1.НаименовнаниеДисциплин = Excel.Cells(а,2).Value;
      УчебныйПлан.Курс1.Формы_промежуточной_аттестации = Excel.Cells(а,3).Value;
      УчебныйПлан.Курс1.МаксимальнаяНагрузка = Excel.Cells(а,4).Value;
      УчебныйПлан.Курс1.Самостоятельная_работа = Excel.Cells(а,5).Value;
      УчебныйПлан.Курс1.Всего_занятий = Excel.Cells(а,6).Value;
      УчебныйПлан.Курс1.Лекций = Excel.Cells(а,7).Value;
      УчебныйПлан.Курс1.ЛабораторныхИПрактическихЗанятий = Excel.Cells(а,8).Value;
      УчебныйПлан.Курс1.Курсовых = Excel.Cells(а,9).Value;
      УчебныйПлан.Курс1.Семестр_1 = Excel.Cells(а,10).Value;
      УчебныйПлан.Курс1.Семестр_2 = Excel.Cells(а,11).Value;

        УчебныйПлан.Записать();
    Конеццикла;
    //Закрываем Excel
    Excel.ActiveWorkbook.Close();   
     КонецФункции

Пишет, что УчебныйПлан.Курс1.НаименовнаниеДисциплин не задано. Пишу под 8.2

wise

(0) если {УчебныйПлан.Курс1} это табличная часть, ТО:
НоваяСтрока = УчебныйПлан.Курс1.Добваить();
а теперь:
НоваяСтрока.НаименовнаниеДисциплин = Excel.Cells(а,2).Value;

p.s. и при чём ЗДЕСЬ тема "Загрузка данных из Exсel" :-)
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

AleksFate

Согласен, я не совсем корректно задал заголовок.
Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск