|   |   | 
| 
 | 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 минуты )))     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |