Имя: Пароль:
1C
1С v8
Работа с Excel
,
0 GrandOpera
 
25.05.16
20:34
При считывании документа Excel из 10 строк  в последнюю пустую колонку  записывать наименование и код  первых выбранных 10- ти номенклатур.
я примерно реализовал так , но не правильно:
&НаСервере
Процедура Команда1НаСервере()
    Попытка
        Ex = Новый COMObject("Excel.Application");
    Исключение
        Сообщить(ОписаниеОшибки());
        Возврат;
    КонецПопытки;
    Книга = Ex.WorkBooks.Open("F:\1с\1с.xlsx");
    //Ex.Visible = 1;
    Лист = Книга.WorkSheets(1);
    ВсегоКолонок = Лист.Cells(1,1).SpecialCells(11).Column;
    ВсегоСтрок = Лист.Cells(1,1).SpecialCells(11).Row;
    для Строка = 1 по ВсегоСтрок цикл
        для Колонка = 1 по ВсегоКолонок цикл
        //не знаю что сюда вписать    
        КонецЦикла;
    КонецЦикла;
КонецПроцедуры
1 GrandOpera
 
25.05.16
20:49
up
2 mikecool
 
25.05.16
20:52
Лист.Cells(Строка,Колонка).Value или Text
3 mikecool
 
25.05.16
20:53
я вот с другой фигней столкнулся
читаю олей в ТЗ, если в первой строке тип в ячейке дата, а во второй - общий, то 1с ругается ошибкой :(
видимо типизирование колонки тз происходит
4 GrandOpera
 
25.05.16
20:53
(2) там value мне необходимо:
При считывании документа Excel из 10 строк  в последнюю пустую колонку  записывать наименование и код  первых выбранных 10- ти номенклатур.
5 mikecool
 
25.05.16
20:55
(4) тогда
ист.Cells(Строка,ВсегоКолонок + 1).Value = Номенклатура
6 mikecool
 
25.05.16
20:58
для Строка = 1 по ВсегоСтрок цикл
Лист.Cells(Строка,ВсегоКолонок + 1).Text = Номенклатура.Наименование;
Лист.Cells(Строка,ВсегоКолонок + 2).Text = Номенклатура.Код;
    КонецЦикла;
7 mikecool
 
25.05.16
20:58
+6 ну и получать нужную номенклатуру в этом цикле
8 GrandOpera
 
26.05.16
21:56
Я вот так сделал но он не работает
&НаСервере
Процедура Команда1НаСервере()
    Попытка
        Эксель = Новый COMObject("Excel.Application");
    Исключение
        Сообщить(ОписаниеОшибки() + " Программа Exсel не установлена на данном компьютере!");
        Возврат;
    КонецПопытки;
    Книга = Эксель.WorkBooks.Open("F:\1с\1с.xlsx");
    Лист = Книга.WorkSheets(1);
    Массив = Новый Массив;
    Для Код = 1 по 2 Цикл
        Для Наим = 1 по 10 Цикл
            Значение = Лист.Cells(Код, Наим).Value;
            Массив.Добавить(Значение);
        КонецЦикла;
    КонецЦикла;
КонецПроцедуры
9 Fram
 
26.05.16
22:53
Если не ошибаюсь, сначала строка указывается при работе с эксельными таблицами
10 Fram
 
26.05.16
22:56
покажи хоть таблицу, а то из (0) нифига непонятно
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn