|
как установить размер колонок в макете active document? | ☑ | ||
---|---|---|---|---|
0
9451523
02.05.19
✎
13:36
|
Привет
никак не получается настроить размер колонок при открытии документа word (офис 2016) тупо вываливает таблицу с одинаковым размером колонок, подскажите что не так с кодом? MSWord = Макет.Получить(); Попытка Документ = MSWord.Application.Documents(1); Документ.Activate(); Для Каждого Поле Из Документ.Fields Цикл ПолноеИмяПоля = Поле.Code.Text; Если (Найти(ПолноеИмяПоля, " MERGEFIELD") = 1) Тогда ПозицияСлеша = Найти(ПолноеИмяПоля, "\*"); КороткоеИмяПоля = СокрЛП(Сред(ПолноеИмяПоля, 12, ПозицияСлеша - 12)); ЗначениеПоля = ""; Если КороткоеИмяПоля = "НомерДок" Тогда ЗначениеПоля = Номер; ИначеЕсли КороткоеИмяПоля = "Организация" Тогда ЗначениеПоля = Организация.НазваниеОрганизации; ИначеЕсли КороткоеИмяПоля = "Менеджер" Тогда ЗначениеПоля = ФИО(Константы.Организация.Получить().МенеджерПоПродажам); ИначеЕсли КороткоеИмяПоля = "Доверенность" Тогда ЗначениеПоля = Доверенность; ИначеЕсли КороткоеИмяПоля = "ВсегоКОплате" Тогда Итог = ТаблицаТоваров.Итог("Сумма"); ИтогНДС = ТаблицаТоваров.Итог("НДС"); ИтогСумма = ТаблицаТоваров.Итог("Всего"); ЗначениеПоля = СформироватьПараметрПрописи(ИтогСумма,6); ИначеЕсли КороткоеИмяПоля = "Резюме" Тогда Если СтавкаНДС.Ставка=0 Тогда ЗначениеПоля = "Без НДС."; Иначе ЗначениеПоля = "В т.ч. НДС - " + ТаблицаТоваров.Итог("НДС"); КонецЕсли; КонецЕсли; Если ЗначениеПоля <> "" Тогда Поле.Select(); Документ.Application.Selection.TypeText(ЗначениеПоля); КонецЕсли; КонецЕсли; КонецЦикла; NR = 2; KR = 3; Документ.Tables(1).Columns(1).PreferredWidth=10; Документ.Tables(1).Columns(2).PreferredWidth=50; Документ.Tables(1).Columns(3).PreferredWidth=10; Документ.Tables(1).Columns(4).PreferredWidth=10; Документ.Tables(1).Columns(5).PreferredWidth=10; Документ.Tables(1).Columns(6).PreferredWidth=20; Документ.Tables(1).Columns(7).PreferredWidth=10; Документ.Tables(1).Columns(8).PreferredWidth=30; Документ.Tables(1).Columns(9).PreferredWidth=30; Для I = 1 по ТаблицаТоваров.Количество() Цикл Если I > KR-NR тогда Документ.Tables(1).Rows.Add(); KR = KR+1; КонецЕсли; Документ.Tables(1).Cell(I+NR-1,1).Range.Text = Строка(I); Документ.Tables(1).Cell(I+NR-1,2).Range.Text = Строка(ТаблицаТоваров[i-1].Товар); Документ.Tables(1).Cell(I+NR-1,3).Range.Text = Строка(ТаблицаТоваров[i-1].Товар.ЕдиницаИзмерения); Документ.Tables(1).Cell(I+NR-1,4).Range.Text = Строка(ТаблицаТоваров[i-1].Количество); Документ.Tables(1).Cell(I+NR-1,5).Range.Text = Строка(ТаблицаТоваров[i-1].Цена); Документ.Tables(1).Cell(I+NR-1,6).Range.Text = Строка(ТаблицаТоваров[i-1].Сумма); Документ.Tables(1).Cell(I+NR-1,7).Range.Text = Строка(СтавкаНДС.Ставка); Документ.Tables(1).Cell(I+NR-1,8).Range.Text = Строка(ТаблицаТоваров[i-1].НДС); Документ.Tables(1).Cell(I+NR-1,9).Range.Text = Строка(ТаблицаТоваров[i-1].Всего); КонецЦикла; MSWord.Application.Visible = Истина; MSWord.Activate(); Исключение Сообщить(ОписаниеОшибки()); MSWord.Application.Quit(); КонецПопытки; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |