Имя: Пароль:
1C
1С v8
8.2 ADO Excel как получить значение конкретной ячейки
0 Aswed
 
24.11.11
11:44
Зная её номер строки и колонку?
По типу Лист.Cells(1,2).Text
1 smaharbA
 
24.11.11
11:45
а где тут адо ?
2 shuhard
 
24.11.11
11:45
(0) сделай нужное количество movenext и возьми нужный fields
3 Aswed
 
24.11.11
11:45
(1) Это пример как через COM)))
4 smaharbA
 
24.11.11
11:46
ааа
запросом с  запрос * из ххх когда строка=5 и колонка=10
5 Aswed
 
24.11.11
11:46
(2) Думал так, как то не комильфо.

Хочу сделать перебор экселевского файла вначале по колонкам потом по строкам.
6 smaharbA
 
24.11.11
11:47
можно сразу поместить в массив

.GetRows() на сколько помню
7 shuhard
 
24.11.11
11:47
(5) не взлетит
8 Aswed
 
24.11.11
11:48
(6) О, а это интересно.
Примерчика нет?
9 Aswed
 
24.11.11
11:48
(7) тоже кажется но решил спросить всё таки)))
10 Aswed
 
24.11.11
11:50
Ладно, буду загонять все в ТЗ и там уже перебирать как удобно.
Всем спасибо.
11 smaharbA
 
24.11.11
11:52
как то так

Скрипт=СоздатьОбъект("MSScriptControl.ScriptControl");
Скрипт.language="javascript";
Скрипт.AddObject("Запрос",Запрос);
Массив=Скрипт.Eval("new VBArray(Запрос.GetRows())");
Для Сч=0 По Массив.ubound(2) Цикл
   Тмп=ЗначениеИзСтрокиВнутр(Массив.getItem(2,Сч));
   глСписокПодчиненных.ДобавитьЗначение(Тмп,глПечДок(Тмп));
КонецЦикла;
12 smaharbA
 
24.11.11
11:52
Запрос == результат Recordset
13 Aswed
 
24.11.11
11:53
(12) Спасибо, попробую.
14 smaharbA
 
24.11.11
11:53
в восьмерке просто
Массив=Запрос.GetRows();

и далее перебрать массив
15 smaharbA
 
24.11.11
11:53
без скрипт-обертки
16 shuhard
 
24.11.11
11:54
(14) не умеет GetRows(99)
взять с 10 по 109 записи
только с начала выборки
17 smaharbA
 
24.11.11
11:55
(16) согласен, а select * разве не умеет перед тем ?
18 aleks-id
 
24.11.11
11:57
(17) селект умеет всё ;)
19 Aswed
 
24.11.11
12:03
(11) ругается что не видит метода ubound()
20 shuhard
 
24.11.11
12:04
(19) ну ты приколист,
откуда в 1С такой метод у двумерного массива
21 smaharbA
 
24.11.11
12:05
(19) для восьмерки смотри методы у массивов COMSafe наверное
22 Aswed
 
24.11.11
12:05
(20) Эт ни я приколист)))
Я взял из (11) и тупо у себя попробовал))))

Как перебрать массив в таком случае?
23 Aswed
 
24.11.11
12:06
(21) для COMSafe требуется установленный Эксель:(
24 smaharbA
 
24.11.11
12:06
(22)
Для каждого Х из Массив
  Для кахдого ХХ из Х

наверное должно канать
25 shuhard
 
24.11.11
12:07
(23)[для COMSafe требуется установленный Эксель]
с какого бодуна ?
26 Aswed
 
24.11.11
12:15
(25) На Мисте же и читал)
Сам не работал ещё с COMSafe

ЗЫ Метод Для Каждого проканал кстати
27 Aswed
 
24.11.11
12:16
+ 26 массив только оказался одномерным, но и так отлично.
28 shuhard
 
24.11.11
12:20
(27)[массив только оказался одномерным]
если зажать в Select Одно поле - то будет одномерным
29 Aswed
 
24.11.11
12:22
(28) Спасибо, понял.