Имя: Пароль:
1C
1С v8
Подскажите как добавить строку в таблицу вордовского документа
0 RomaH
 
naïve
27.12.11
09:12
АктивныйДокумент = ПолучитьМакет("Макет");    
   
   КомОбъект    = АктивныйДокумент.Получить();

в документе уже есть таблица - шапка + 1 строка
надо добавить строку в таблицу
как?
1 RomaH
 
naïve
27.12.11
09:17
нашел через добавление ячеек от курсора

       MsWord.Application.Visible = 0;
       Word = MsWord.Application;
       Док=Word.Documents(1);
       Док.Activate();


       Если Массив.Количество()>1 Тогда
           //Переместиться вниз на 10 строк от начала документа
           Word.Selection.MoveDown(,10); //10 строка - первая строка таблицы
           //назад на 1 символ (окончание строки таблицы)
           Word.Selection.MoveLeft(,1);
           //кво документов которые необходимо забить в табличную часть
           Word.Selection.InsertRows(Массив.Количество()-1);

           Word.Selection.MoveLeft(,1);
           Для й = 11 по Массив.Количество()+9 Цикл
               ЗаполнитьСтрокуТЧ(0,Word);
               Word.Selection.MoveRight(,1);
           КонецЦикла;
       КонецЕсли;


а без "интерактивных" действий?
2 Stim213
 
27.12.11
09:20
юзать макросы
3 Масянька
 
27.12.11
09:20
мWord = СоздатьОбъект("Word.Application");

мNewDoc = мWord.Documents;
мДок = мNewDoc.Add(мШаблон, 0, 0, 1);  
мОбъект = мДок.Content;

мОбъект.Tables(1).Rows.Add();        // добавляем строку в конец таблицы
4 RomaH
 
naïve
27.12.11
09:46
(3) о - т.е. к таблицы это коллекция, и строки - коллекция

и ячейки в строке ...

думаю все же будем от этого плясать
5 Масянька
 
27.12.11
10:00
(4) Нечто в этом роде. Если в Add указать число, то строка добавляется после строки с указанным числом.
6 RomaH
 
naïve
27.12.11
10:41
в итоге:

               СтрокаДок = КомОбъект.Tables(1).Rows.Add(КомОбъект.Tables(1).Rows(МестоВставки));
               
               МестоВставки = МестоВставки + 1;
               
               СтрокаДок.Cells(1).Range.Text = ?(ПустаяСтрока(СтрокаНадбавки.ВидРасчета.ДКБ_ОфициальноеНаименование),СтрокаНадбавки.ВидРасчета.Наименование,СтрокаНадбавки.ВидРасчета.ДКБ_ОфициальноеНаименование);
               
               Если СтрокаНадбавки.ВидРасчета.СпособРасчета = Перечисления.СпособыРасчетаОплатыТруда.Процентом Тогда
                   
                   СтрокаДок.Cells(2).Range.Text = СтрокаНадбавки.Показатель;
                   
               КонецЕсли;
               
               СтрокаДок.Cells(3).Range.Text = Формат(СтрокаНадбавки.РазмерНадбавки,"ЧЦ=15; ЧДЦ=2; ДФ=");
7 RomaH
 
naïve
27.12.11
10:43
для вставки форматированой строки надо иметь одну строку шаблон - КомОбъект.Tables(1).Rows(МестоВставки)

её по окончании формирования можно удаить, или использовать по назначению
AdBlock убивает бесплатный контент. 1Сергей