Имя: Пароль:
1C
1С v8
Вставка текста в таблицу
0 Никенэйм
 
21.03.18
07:27
Существует макет актив документ. Получилось вывести информацию из табличной части документа, нужно поместить значения в ячейки таблицы, при чем у этой таблицы не фиксированное значение количества строк.

MSWord.ActiveWindow.Selection.GoTo(-1, , ,"Rabot");
    Для каждого ТекСтр Из Объект.ПереченьРабот Цикл
        НаименованиеЗадачи1 = СокрЛП(ТекСтр.НаименованиеЗадачи);
        Исполнитель1 = СокрЛП(ТекСтр.Исполнитель);
        Результат1 = СокрЛП(ТекСтр.Результат);
        
        MSWord.ActiveWindow.Selection.TypeText(НаименованиеЗадачи1);
        MSWord.ActiveWindow.Selection.TypeText("   ");
        MSWord.ActiveWindow.Selection.TypeText(Исполнитель1);
        MSWord.ActiveWindow.Selection.TypeText("   ");
        MSWord.ActiveWindow.Selection.TypeText(Результат1);
        MSWord.ActiveWindow.Selection.TypeParagraph();
    КонецЦикла;


файл можно с базой можно найти тут:http://forum-1c.ru/index.php?topic=69828.new;topicseen#new
1 Никенэйм
 
31.03.18
21:33
вопрос закрыт. тема решена
2 Лефмихалыч
 
31.03.18
21:44
(1) добродетельные люди при этом описывают решение
3 b_ru
 
31.03.18
23:04
Не надо тут описывать кривые решения, если в программе творится такой ужас, как ActiveWindow и Selection.

Нормальные ребята делают примерно так:


        Для Каждого Т Из Таблицы Цикл
            ДанныеТаблицы = Т.Значение;
            Если ДанныеТаблицы.Получить("УдалитьТаблицу") = Истина Тогда
                Doc.Content.Tables(Т.Ключ).Delete();
            Иначе
                tbl = Doc.Content.Tables(Т.Ключ);
                й = ДанныеТаблицы.Получить("ПерваяСтрока");
                Если й = Неопределено Тогда
                    й = 1;
                КонецЕсли;
                Строки = ДанныеТаблицы["Строки"];
                Для Каждого Стр Из Строки Цикл
                    й = й + 1;
                    tbl.rows.add();
                    Для Каждого Стлб Из Стр Цикл
                        tbl.cell(й, Стлб.Ключ).range().text = Стлб.Значение;
                    КонецЦикла; //столбцы
                КонецЦикла; //Строки
            КонецЕсли;
        КонецЦикла; //Таблицы
Независимо от того, куда вы едете — это в гору и против ветра!