|
v7: Операции с макетом в семерке | ☑ | ||
---|---|---|---|---|
0
sanja26
07.07.12
✎
18:59
|
Как перебрать строки макета?
|
|||
1
zak555
07.07.12
✎
19:01
|
мало данных
|
|||
2
sanja26
07.07.12
✎
19:03
|
да просто таблица с тысячей строк и четырьмя столбцами.. надо получать в цикле значения в полях строк
|
|||
3
sanja26
07.07.12
✎
19:04
|
в эксель чтоли перекидывать? так наверно проще будет
|
|||
4
MishaD
07.07.12
✎
19:09
|
Область(<?>)
Синтаксис: Область(<Адрес>) Назначение: Возвращает значение типа ''ОбластьТаблицы'' области выходной таблицы или таблицы в режиме ввода данных. Параметры: <Адрес> - необязательный параметр. Строковое выражение, задающее имя области или адрес в формате ''R1C1:R2C2''. Если метод вызван без параметров, то область задана всей таблицей. Замечание: Метод может использоваться при работе с таблицей в режиме ввода данных. |
|||
5
sanja26
07.07.12
✎
19:17
|
Макет = СоздатьОбъект("Таблица");
Макет.ИсходнаяТаблица("Макет"); Счетчик = 5; Пока Счетчик < 751 цикл Сообщить(Макет.Область("R" + Строка(Счетчик) + ":C2").Текст); Счетчик = Счетчик + 1; КонецЦикла; Сообщить(Макет.Область("R" + Строка(Счетчик) + ":C2").Текст); {L:\БАЗЫ\\ЗАВЕДЕНИЕПОСТУПЛЕНИЯ.ERT(11)}: Значение не представляет агрегатный объект (Текст) |
|||
6
BigHarry
07.07.12
✎
19:20
|
Пробелы попробуй убрать из Строка(Счетчик), вроде через TrimAll
|
|||
7
zak555
07.07.12
✎
19:21
|
(2) откуда получил таблицу ?
|
|||
8
Rie
07.07.12
✎
19:21
|
(5) R1C1 не обязательно, можно просто Область(Счетчик,2).
|
|||
9
Rie
07.07.12
✎
19:22
|
+(8) Ну и уж явно не Область("R5:C2")
|
|||
10
sanja26
07.07.12
✎
19:23
|
(7) таблица - файл мхл. в него остатки вбиты. номенклатура, остаток
|
|||
11
zak555
07.07.12
✎
19:23
|
(10) кто тебе её дал ?
|
|||
12
Rie
07.07.12
✎
19:24
|
(5) Ну и ещё момент - Макет у тебя пустой, поскольку в него ничего не выведено.
|
|||
13
sanja26
07.07.12
✎
19:25
|
(12) ага пустые строки сообщает))
|
|||
14
Rie
07.07.12
✎
19:27
|
(13)
Макет = СоздатьОбъект("Таблица"); Макет.ИсходнаяТаблица(ТутИмяТвоегоФайлаMXL); Макет.Вывести(); // ну а затем уж перебираешь строки и любуешься на их содержимое |
|||
15
MishaD
07.07.12
✎
19:28
|
Если у тебя мхл файл, то попробуй
Открыть(<?>); Синтаксис: Открыть(<ИмяФайла>) Назначение: Открыть таблицу из файла. Параметры: <ИмяФайла> - строковое выражение с именем файла. |
|||
16
sanja26
07.07.12
✎
19:29
|
(14, 15) добавил как таблицу к обработке, так что не файл..
|
|||
17
Rie
07.07.12
✎
19:29
|
(16) Тогда тем более скажи Вывести().
|
|||
18
Dimanchik
07.07.12
✎
19:32
|
А не проще сохранить в Эксель и оттуда уже вагон нароботок по чтению ?
|
|||
19
sanja26
07.07.12
✎
19:32
|
(14) спасибо, заработало
а это что за фигня <<?>>{"S","0","0","0","0","0",""} Неопознанный оператор |
|||
20
sanja26
07.07.12
✎
19:33
|
так на вывести() ругается, но это уже не важно
|
|||
21
MishaD
07.07.12
✎
19:35
|
надо было через открыть делать. правда я 100 лет назад подобное делал, уже не помню
|
|||
22
Rie
07.07.12
✎
19:36
|
(18) Открывать зонтик в правом уже левой рукой, продетой под колено, - не лучший вариант.
|
|||
23
Rie
07.07.12
✎
19:37
|
(19) А это ЗначениеВСтрокуВнутр("")
|
|||
24
Rie
07.07.12
✎
19:38
|
+(23) А вот откуда оно у тебя взялось и почему воспринимается как выражение - это уж тебе виднее.
|
|||
25
sanja26
07.07.12
✎
19:42
|
вообщем результат) может кому понадобится
//******************************************* Процедура Сформировать() СпрНоменклатура = СоздатьОбъект("Справочник.Номенклатура"); ДокПоступления = СоздатьОбъект("Документ.ПоступлениеТМЦ"); ДокПоступления.Новый(); ДокПоступления.ДатаДок = ТекущаяДата(); Макет = СоздатьОбъект("Таблица"); Макет.ИсходнаяТаблица("Макет"); Макет.Вывести(); Счетчик = 5; Пока Счетчик < 751 цикл Адрес = "R" + Строка(Счетчик) + ":C2"; Сообщить(Макет.Область(Счетчик, 2).Текст); СпрНоменклатура.НайтиПоКоду(СокрЛП(Макет.Область(Счетчик, 1).Текст)); ДокПоступления.НоваяСтрока(); ДокПоступления.Номенклатура = СпрНоменклатура.ТекущийЭлемент(); ДокПоступления.Количество = Число(СокрЛП(Макет.Область(Счетчик, 1).Текст)); ДокПоступления.Цена = 1; ДокПоступления.Сумма = 1; Счетчик = Счетчик + 1; КонецЦикла; ДокПоступления.Записать(); ОткрытьФорму(ДокПоступления.ТекущийДокумент()); КонецПроцедуры |
|||
26
big
07.07.12
✎
21:16
|
Это какое-то откровение, чесс слово!!! Причем всего лишь за 43 минуты )))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |