Имя: Пароль:
1C
1С v8
работа с Word
0 cyberandr
 
25.11.11
15:39
Всем привет! Народ не подскажите как напечатать в Word таблицу? Имеем договор. В нем уже есть таблица с фиксированным количеством колонок. Как правильно  с позиционироваться на строку и по необходимости увеличить количество строк?
1 Масянька
 
25.11.11
15:41
Счет.ВыбратьСтроки();

// заполнение таблицы номенклатуры        
       
Для СчетчикЦикла = 1 По Счет.КоличествоСтрок() Цикл
           
   мОбъект.Tables(1).Rows.Add();        // добавляем строку в конец таблицы
           
   Счет.ПолучитьСтрокуПоНомеру(СчетчикЦикла);
           
   мОбъект.Tables(1).Cell(СчетчикЦикла + 2,1).Range.Text = Счет.НомерСтроки;
   мОбъект.Tables(1).Cell(СчетчикЦикла + 2,2).Range.Text = СокрЛП(Счет.Номенклатура.ПолнНаименование);
   мОбъект.Tables(1).Cell(СчетчикЦикла + 2,3).Range.Text = СокрЛП(Формат(Счет.Количество, "Ч010.2"));
   мОбъект.Tables(1).Cell(СчетчикЦикла + 2,4).Range.Text = Строка(Счет.Единица);
   мОбъект.Tables(1).Cell(СчетчикЦикла + 2,5).Range.Text = глФрм(Счет.Цена);
   мОбъект.Tables(1).Cell(СчетчикЦикла + 2,6).Range.Text = глФрм(Счет.СуммаНДС);
   мОбъект.Tables(1).Cell(СчетчикЦикла + 2,7).Range.Text = глФрм(Счет.Сумма);
КонецЦикла;
2 cyberandr
 
25.11.11
15:54
спасибо большое. все ок
3 Масянька
 
25.11.11
16:02
(2) И это всё!?
4 vmv
 
25.11.11
16:06
(3) Египет, Рио, Картахена сегодня не принимают пассажирок, попробуйте завтра)
5 Масянька
 
25.11.11
16:09
(4) Не-е, этого я не хочу...
6 cyberandr
 
25.11.11
16:36
(3)Целую ваши ручки!
7 cyberandr
 
25.11.11
16:40
а кстати как границы ячеек нарисовать?
8 SuperMario
 
25.11.11
16:46
(7) Сейчас Масянька ответит и обязан жениться! :))) Никак не меньше ;)
9 cyberandr
 
25.11.11
16:47
эх пропадай моя телега все четыре колеса, женюсь...
10 SuperMario
 
25.11.11
17:28
(9) Не боись! Нашел, что тебе нужно. Пришлось за ноутом в машину бежать.
В мыло сейчас скину обработку. Она там таблицу в шаблоне WORD рисует и оформляет границы.
11 Масянька
 
25.11.11
17:28
Во-первых, я уже замужем. Удачно. Но за готовность - спасибо!
Во-вторых, (6) - самое то :))))).
В-третьих, про границы ячеек - не скажу, с этим не долбалась.

(10) Ну, вот, все испортил :)
12 Масянька
 
25.11.11
17:31
(10) Выкладывай код сюда - мне тоже интересно.
13 SuperMario
 
25.11.11
17:31
(11) Могу и тебе закинуть.
14 Масянька
 
25.11.11
17:32
(13) Если не трудно - кинь, пожалуйста. Спасибо!
15 SuperMario
 
25.11.11
17:38
(14) Мыло скрыто.
16 SuperMario
 
25.11.11
17:38
Процедура ВывестиТаблицу( ActiveDocumet , ДокументWord )
   Товары =  СсылкаНаОбъект.Товары;
   
   Таблица = ДокументWord.Tables.Add(ActiveDocumet.Selection.Range,  Товары.Количество() + 1 , 5);
   Для СтрокаТаблицы = 1 По 5 Цикл  // Установим шрифт в шапке = 12
       Таблица.cell(1,СтрокаТаблицы ).Range.Font.size = 12;
       Таблица.cell(1,СтрокаТаблицы ).Range.Font.Bold = Истина;
   КонецЦикла;
   Яч = Таблица.Cell(1, 1).Range;
   Яч.Text = "№";
   Яч = Таблица.Cell(1, 2).Range;
   Яч.Text = "Наименование программного обеспечения";
   Яч = Таблица.Cell(1, 3).Range;
   Яч.Text = "Количество лицензий";
   Яч = Таблица.Cell(1, 4).Range;
   Яч.Text = "Цена за одну лицензию, руб.";
   Яч = Таблица.Cell(1, 5).Range;
   Яч.Text = "Стоимость, руб.";
   // --ширины колонок ----
   Таблица.Columns(1).Width = 30;
   Таблица.Columns(2).Width = 350;
   Таблица.Columns(3).Width = 50;
   Таблица.Columns(4).Width = 50;
   Таблица.Columns(5).Width = 60;

   Для СтрокаЦикла  = -6 По -1 Цикл
   // ---- для истории -----
   //Таблица.Borders(-2).LineStyle = 1; //Лево
   //Таблица.Borders(-2).LineWidth = 4;
   //Таблица.Borders(-1).LineStyle = 1; //Верх
   //Таблица.Borders(-1).LineWidth = 4;
   //Таблица.Borders(-3).LineStyle = 1; // Низ
   //Таблица.Borders(-3).LineWidth = 4;
   //Таблица.Borders(-4).LineStyle = 1; //Право
   //Таблица.Borders(-4).LineWidth = 4;
   //Таблица.Borders(-5).LineStyle = 1; //Горизонтальное
   //Таблица.Borders(-5).LineWidth = 4;
   //Таблица.Borders(-6).LineStyle = 1; //Вертикальное
   //Таблица.Borders(-6).LineWidth = 4;
   Таблица.Borders( СтрокаЦикла ).LineStyle = 1;
   Таблица.Borders( СтрокаЦикла ).LineWidth = 4;
   КонецЦикла;
   Для Каждого СтрокаТовары Из Товары Цикл
       Яч = Таблица.Cell( СтрокаТовары.НомерСтроки+1 , 1 ).Range;
       Яч.Text =  СтрокаТовары.НомерСтроки;
       Яч = Таблица.Cell( СтрокаТовары.НомерСтроки+1 , 2 ).Range;
       Яч.Text =  СтрокаТовары.Номенклатура.ПолноеНаименование();
       Яч = Таблица.Cell( СтрокаТовары.НомерСтроки+1 , 3 ).Range;
       Яч.Text =  СтрокаТовары.Количество;
       Яч = Таблица.Cell( СтрокаТовары.НомерСтроки+1 , 4 ).Range;
       Яч.Text =  СтрокаТовары.Цена;
       Яч = Таблица.Cell( СтрокаТовары.НомерСтроки+1 , 5 ).Range;
       Яч.Text =  СтрокаТовары.Сумма;
   КонецЦикла;
КонецПроцедуры
17 cyberandr
 
25.11.11
17:39
спасибо
18 Масянька
 
25.11.11
17:40
Открыла.
19 Масянька
 
25.11.11
17:41
Спасибо!
2 + 2 = 3.9999999999999999999999999999999...