По теме из базы знаний
- Поместится ли текст в ячейке? (с примерами использования: авторазмер шрифта, перенос строк)
- Как увеличить размер шрифта на 1С: 8.3.7 (с модификацией кода управляемой формы)
- Программная работа с графическими схемами. Готовое решение
- Программная корректировка при выводе отчета СКД
- Пример программной работы с отчетом на основе СКД. Запуск типового перестроенного программно отчета по событию формы
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) 3762515,
для начала нужно понять, что такое
Атрибут Области имеет тип "КоллекцияОбластейТабличногоДокумента"
его метод .Индкес() возвращает вообще-то не ячейку, а число:
КоллекцияОбластейТабличногоДокумента (SpreadsheetDocumentAreaCollection)
Индекс (IndexOf)
Синтаксис:
Индекс(<Область>)
Параметры:
<Область> (обязательный)
Тип: ОбластьЯчеекТабличногоДокумента; РисунокТабличногоДокумента.
Область ячеек или рисунок.
Возвращаемое значение:
Тип: Число.
Индекс области или рисунка в коллекции. Если такой области или рисунка нет, возвращает -1.
Описание:
Получает индекс области или рисунка в коллекции областей табличного документа.
Показать
для начала нужно понять, что такое
ячейка = ТабДок.Области.Индекс("R1C5:R1C26");
Атрибут Области имеет тип "КоллекцияОбластейТабличногоДокумента"
его метод .Индкес() возвращает вообще-то не ячейку, а число:
КоллекцияОбластейТабличногоДокумента (SpreadsheetDocumentAreaCollection)
Индекс (IndexOf)
Синтаксис:
Индекс(<Область>)
Параметры:
<Область> (обязательный)
Тип: ОбластьЯчеекТабличногоДокумента; РисунокТабличногоДокумента.
Область ячеек или рисунок.
Возвращаемое значение:
Тип: Число.
Индекс области или рисунка в коллекции. Если такой области или рисунка нет, возвращает -1.
Описание:
Получает индекс области или рисунка в коллекции областей табличного документа.
(4)
если лень копаться в мануале, вот:
ТабличныйДокумент (SpreadsheetDocument)
Область (Area)
Вариант синтаксиса: По имени
Синтаксис:
Область(<ИмяОбласти>)
Параметры:
<ИмяОбласти> (обязательный)
Тип: Строка.
Имя области или адрес в формате "R1C1:R2C2", где число после "R" обозначает номер строки, число после "C" - номер колонки, символом ":" (двоеточие) разделяются координаты левого верхнего и правого нижнего угла области. В качестве имени также можно передавать пересечение двух областей, записываемое как "<Имя области 1> | <Имя области 2>".
Вариант синтаксиса: По адресу
Синтаксис:
Область(<НомерПервойСтроки>, <НомерПервойКолонки>, <НомерПоследнейСтроки>, <НомерПоследнейКолонки>)
Параметры:
<НомерПервойСтроки> (необязательный)
Тип: Число.
Номер первой строки области таблицы.
Если отсутствует, то указывается область, состоящая из колонок.
<НомерПервойКолонки> (необязательный)
Тип: Число.
Номер первой колонки области таблицы.
Если отсутствует, то указывается область, состоящая из строк.
<НомерПоследнейСтроки> (необязательный)
Тип: Число.
Номер последней строки области таблицы.
Если выделяется область из колонок (параметр <НомерПервойСтроки> не задан), то указывается номер строки, из которой берется формат строк.
<НомерПоследнейКолонки> (необязательный)
Тип: Число.
Номер последней колонки области таблицы.
Описание варианта метода:
Если последняя строка и последняя колонка отсутствуют, то область задана единственной ячейкой. Если строки или колонки отсутствуют, то область задана диапазоном строк или колонок соответственно. Если метод вызван без параметров, то область задана всей таблицей.
Возвращаемое значение:
Тип: ОбластьЯчеекТабличногоДокумента; РисунокТабличногоДокумента.
Описание:
Получает область табличного документа как область ячеек табличного документа, либо как рисунок с указанным именем. Область может состоять из нескольких расположенных подряд строк или колонок, либо быть прямоугольной областью таблицы.
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Пример:
ИменованнаяОбласть = ТабДок.Область("Шапка");
Ячейка = ТабДок.Область("R2C5");
ПрямоугольнаяОбластьЯчеек = ТабДок.Область("R2C2:R3C5");
ОбластьСтрока = ТабДок.Область("R2");
ОбластьСтрок = ТабДок.Область("R2:R4");
ОбластьКолонка = ТабДок.Область("C4");
ОбластьКолонок = ТабДок.Область("C4:C5");
Показать
если лень копаться в мануале, вот:
ТабличныйДокумент (SpreadsheetDocument)
Область (Area)
Вариант синтаксиса: По имени
Синтаксис:
Область(<ИмяОбласти>)
Параметры:
<ИмяОбласти> (обязательный)
Тип: Строка.
Имя области или адрес в формате "R1C1:R2C2", где число после "R" обозначает номер строки, число после "C" - номер колонки, символом ":" (двоеточие) разделяются координаты левого верхнего и правого нижнего угла области. В качестве имени также можно передавать пересечение двух областей, записываемое как "<Имя области 1> | <Имя области 2>".
Вариант синтаксиса: По адресу
Синтаксис:
Область(<НомерПервойСтроки>, <НомерПервойКолонки>, <НомерПоследнейСтроки>, <НомерПоследнейКолонки>)
Параметры:
<НомерПервойСтроки> (необязательный)
Тип: Число.
Номер первой строки области таблицы.
Если отсутствует, то указывается область, состоящая из колонок.
<НомерПервойКолонки> (необязательный)
Тип: Число.
Номер первой колонки области таблицы.
Если отсутствует, то указывается область, состоящая из строк.
<НомерПоследнейСтроки> (необязательный)
Тип: Число.
Номер последней строки области таблицы.
Если выделяется область из колонок (параметр <НомерПервойСтроки> не задан), то указывается номер строки, из которой берется формат строк.
<НомерПоследнейКолонки> (необязательный)
Тип: Число.
Номер последней колонки области таблицы.
Описание варианта метода:
Если последняя строка и последняя колонка отсутствуют, то область задана единственной ячейкой. Если строки или колонки отсутствуют, то область задана диапазоном строк или колонок соответственно. Если метод вызван без параметров, то область задана всей таблицей.
Возвращаемое значение:
Тип: ОбластьЯчеекТабличногоДокумента; РисунокТабличногоДокумента.
Описание:
Получает область табличного документа как область ячеек табличного документа, либо как рисунок с указанным именем. Область может состоять из нескольких расположенных подряд строк или колонок, либо быть прямоугольной областью таблицы.
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Пример:
ИменованнаяОбласть = ТабДок.Область("Шапка");
Ячейка = ТабДок.Область("R2C5");
ПрямоугольнаяОбластьЯчеек = ТабДок.Область("R2C2:R3C5");
ОбластьСтрока = ТабДок.Область("R2");
ОбластьСтрок = ТабДок.Область("R2:R4");
ОбластьКолонка = ТабДок.Область("C4");
ОбластьКолонок = ТабДок.Область("C4:C5");
//Вот как проще;
Надеюсь все просто и понятно.
Макет = Отчеты.ПрайсЛист.ПолучитьМакет("Макет");// Получаем Макет,
//здесь ПрайсЛист это имя Отчета который мы создали Отчеты->ПрайсЛист
ОблЭлемент = Макет.ПолучитьОбласть("Элемент"); Получаем область из Макета.
//Но надо понимать, что когда создавали макет,
// то там назначали область(если не знаешь как это то посмотри урок по созданию макетов)
Выборка = Справочники.Номенклатура.ВыбратьИерархически();
// Переменная Выборка принимает коллекцию из справочника Номенклатура
//(Т.е. будет содержать значения таблицы Номенклатура)
//Нужно не забывать что потом нужно обходить коллекцию,
// т.е. пройтись в цикле по всей таблице Номенклатура и взять данные каждой строки.
//Цикл простой:
Пока Выборка.Следующий() Цикл
ОблЭлемент.Параметры.Заполнить(Выборка);
ТабДок.Вывести(ОблЭлемент);
ячейка = ТабДок.Область("Элемент"); Получаем Область Табличного документа
// с названием области которое создавали в Макете
мШрифт = Новый Шрифт(, 10, Истина, , , ) ; Создаем новый шрифт Жирный.
//Если хотим не жирный то тогда 3-й параметр меняаем на Ложь
//пример - мШрифт = Новый Шрифт(, 10, Ложь, , , ) ;
ячейка.Шрифт = мШрифт; И записываем в ячейку этот шрифт.
КонецЦикла;
ПоказатьНадеюсь все просто и понятно.
если нужно поменять шрифт в конкретной области с параметром (Например, параметр ИмяНоменклатуры) то в макете надо назначить области с параметром имя
и тогда получить ее через ВремОбласть = ТабДок.Область("ОбластьСПараметромИмяНоменклатуры"); будет легко.
и тогда получить ее через ВремОбласть = ТабДок.Область("ОбластьСПараметромИмяНоменклатуры"); будет легко.
Это работает!!!
Процедура КнопкаПовернутьТекстНажатие(Элемент)
ТабДок = ЭлементыФормы.ТабДок;
ОбТекст = ТабДок.Область("Информация");
ТекущееПоложение = ОбТекст.ОриентацияТекста;
ОбТекст.ОриентацияТекста = ?(ТекущееПоложение = 0, 90, 0);
ОриентацияТекста = ?(ТекущееПоложение = 0, 90, 0);
КонецПроцедуры
Процедура РазмерШрифтаПриИзменении(Элемент)
ТабДок = ЭлементыФормы.ТабДок;
ОбТекст = ТабДок.Область("Информация");
ОбТекст.Шрифт = Новый Шрифт(ОбТекст.Шрифт, ,РазмерШрифта);
КонецПроцедуры
Показать
Надо было изначально работать не с ТабДоком а с макетом, если работать через ячейки. Например, есть именованная область "Строка" и внутри есть интервал ячеек
Можно, естественно, сохранить шрифт, потом его восстановить.
Макет = ПолучитьМакет("Макет1");
...
ОбластьПодСтрока = Макет.Область("R7C4:R7C13");
ОбластьПодСтрока.Шрифт = Новый Шрифт(ОбластьПодСтрока.Шрифт, ,16);
ОбластьМакета = Макет.ПолучитьОбласть("Строка");
...
ТабДок.Вывести(ОбластьМакета);
Можно, естественно, сохранить шрифт, потом его восстановить.
Шрифт:
Новый Шрифт("Arial",8,Ложь,Ложь,Ложь,Ложь); //имя,размер,полужирный,наклонный,подчеркивание,зачеркивание
(20)
Шрифт (Font)
На основании другого шрифта
Синтаксис:
Новый Шрифт(<Шрифт>, <ИмяШрифта>, <Размер>, <Полужирный>, <Наклонный>, <Подчеркнутый>, <Зачеркнутый>, <Масштаб>)
Параметры:
<Шрифт> (обязательный)
Тип: Шрифт.
Шрифт, на основании которого будет формироваться новый шрифт.
<ИмяШрифта> (необязательный)
Тип: Строка.
Системное наименование шрифта. Если параметр не задан, то не изменять относительно исходного шрифта.
Значение по умолчанию: Пустая строка.
<Размер> (необязательный)
Тип: Число.
Размер шрифта. Если параметр не указан, то не изменять относительно исходного шрифта.
Значение по умолчанию: -1.
<Полужирный> (необязательный)
Тип: Булево.
Признак жирности шрифта. Если параметр не указан, то не изменять относительно исходного шрифта.
<Наклонный> (необязательный)
Тип: Булево.
Признак наклонного начертания шрифта. Если параметр не указан, то не изменять относительно исходного шрифта.
<Подчеркнутый> (необязательный)
Тип: Булево.
Признак подчеркнутого начертания шрифта. Если параметр не указан, то не изменять относительно исходного шрифта.
<Зачеркнутый> (необязательный)
Тип: Булево.
Признак зачеркнутого начертания шрифта. Если параметр не указан, то не изменять относительно исходного шрифта.
<Масштаб> (необязательный)
Тип: Число.
Задает значение свойства Масштаб.
Значение по умолчанию: 100.
Описание:
Создает шрифт на основании имеющегося шрифта. Все параметры могут быть взяты из исходного шрифта, при этом параметры, указанные в конструкторе, имеют приоритет над исходными.
Пример:
Шрифт:
Шрифт (Font)
На основании другого шрифта
Синтаксис:
Новый Шрифт(<Шрифт>, <ИмяШрифта>, <Размер>, <Полужирный>, <Наклонный>, <Подчеркнутый>, <Зачеркнутый>, <Масштаб>)
Параметры:
<Шрифт> (обязательный)
Тип: Шрифт.
Шрифт, на основании которого будет формироваться новый шрифт.
<ИмяШрифта> (необязательный)
Тип: Строка.
Системное наименование шрифта. Если параметр не задан, то не изменять относительно исходного шрифта.
Значение по умолчанию: Пустая строка.
<Размер> (необязательный)
Тип: Число.
Размер шрифта. Если параметр не указан, то не изменять относительно исходного шрифта.
Значение по умолчанию: -1.
<Полужирный> (необязательный)
Тип: Булево.
Признак жирности шрифта. Если параметр не указан, то не изменять относительно исходного шрифта.
<Наклонный> (необязательный)
Тип: Булево.
Признак наклонного начертания шрифта. Если параметр не указан, то не изменять относительно исходного шрифта.
<Подчеркнутый> (необязательный)
Тип: Булево.
Признак подчеркнутого начертания шрифта. Если параметр не указан, то не изменять относительно исходного шрифта.
<Зачеркнутый> (необязательный)
Тип: Булево.
Признак зачеркнутого начертания шрифта. Если параметр не указан, то не изменять относительно исходного шрифта.
<Масштаб> (необязательный)
Тип: Число.
Задает значение свойства Масштаб.
Значение по умолчанию: 100.
Описание:
Создает шрифт на основании имеющегося шрифта. Все параметры могут быть взяты из исходного шрифта, при этом параметры, указанные в конструкторе, имеют приоритет над исходными.
Пример:
ЖирныйШрифт = Новый Шрифт(Макет.Область(1,1).Шрифт,,,Истина);
(20)
Шрифт (Font)
На основании описания шрифта
Синтаксис:
Новый Шрифт(<ИмяШрифта>, <Размер>, <Полужирный>, <Наклонный>, <Подчеркнутый>, <Зачеркнутый>, <Масштаб>)
Параметры:
<ИмяШрифта> (необязательный)
Тип: Строка.
Системное наименование шрифта. Если параметр не задан, то не изменять относительно стиля.
Значение по умолчанию: Пустая строка.
<Размер> (необязательный)
Тип: Число.
Размер шрифта. Если параметр не указан, то не изменять относительно стиля.
Значение по умолчанию: -1.
<Полужирный> (необязательный)
Тип: Булево.
Признак жирности шрифта. Если параметр не указан, то не изменять относительно стиля.
<Наклонный> (необязательный)
Тип: Булево.
Признак наклонного начертания шрифта. Если параметр не указан, то не изменять относительно стиля.
<Подчеркнутый> (необязательный)
Тип: Булево.
Признак подчеркнутого начертания шрифта. Если параметр не указан, то не изменять относительно стиля.
<Зачеркнутый> (необязательный)
Тип: Булево.
Признак зачеркнутого начертания шрифта. Если параметр не указан, то не изменять относительно стиля.
<Масштаб> (необязательный)
Тип: Число.
Задает значение свойства Масштаб.
Значение по умолчанию: 100.
Описание:
Создает шрифт из отдельных параметров.
Пример:
Шрифт:
Шрифт (Font)
На основании описания шрифта
Синтаксис:
Новый Шрифт(<ИмяШрифта>, <Размер>, <Полужирный>, <Наклонный>, <Подчеркнутый>, <Зачеркнутый>, <Масштаб>)
Параметры:
<ИмяШрифта> (необязательный)
Тип: Строка.
Системное наименование шрифта. Если параметр не задан, то не изменять относительно стиля.
Значение по умолчанию: Пустая строка.
<Размер> (необязательный)
Тип: Число.
Размер шрифта. Если параметр не указан, то не изменять относительно стиля.
Значение по умолчанию: -1.
<Полужирный> (необязательный)
Тип: Булево.
Признак жирности шрифта. Если параметр не указан, то не изменять относительно стиля.
<Наклонный> (необязательный)
Тип: Булево.
Признак наклонного начертания шрифта. Если параметр не указан, то не изменять относительно стиля.
<Подчеркнутый> (необязательный)
Тип: Булево.
Признак подчеркнутого начертания шрифта. Если параметр не указан, то не изменять относительно стиля.
<Зачеркнутый> (необязательный)
Тип: Булево.
Признак зачеркнутого начертания шрифта. Если параметр не указан, то не изменять относительно стиля.
<Масштаб> (необязательный)
Тип: Число.
Задает значение свойства Масштаб.
Значение по умолчанию: 100.
Описание:
Создает шрифт из отдельных параметров.
Пример:
ШрифтШапки = Новый Шрифт("Verdana", 20,Истина);
Макет = ПолучитьМакет("Счет");
Если ЭтаИБ <> "1''УТ" Тогда
Если ЭтаИБ = "2''УТ" Тогда
НовШрифт = Новый Шрифт( , , Ложь, Истина);
ИначеЕсли ЭтаИБ = "3''УТ" Тогда
НовШрифт = Новый Шрифт( , , Истина, Ложь);
КонецЕсли;
Для Каждого Обл Из Макет.Области Цикл
// Не всегда шрифт у области доступен, поэтому через попытку.
Попытка
Обл.Шрифт = НовШрифт;
Исключение
КонецПопытки;
КонецЦикла;
КонецЕсли;
ПоказатьНовый Шрифт( , , Полужирный, Наклонный);
Таким образом меняются только характеристики шрифта - Полужирный, Наклонный
Если указать шрифт в первом параметре, то программа примет размер шрифта для всех областей, для правильного изменения шрифта нужно в 1вый параметр вносить ссылку на шрифт изменяемых ячеек а он недоступен у области.
Мне необходимо было установить в одной ячейке строки выделенный шрифт по условию,
а из статьи это не получалось.
Получилость так:
[******
ОбластьСтрока1 = Макет.ПолучитьОбласть("Строка|ДокументОснование");
ОбластьСтрока2 = Макет.ПолучитьОбласть("Строка|Документ");
ТекШрифт = ОбластьСтрока2.ВыделенныеОбласти[0].Шрифт;
ВыдШрифт = Новый Шрифт(ТекШрифт,,,Истина);
*******
ТекДокументОснованиеТЗ = МСдвиг+Строка(ДокументОснованиеТЗ);
ТекДокументТЗ = МСдвиг+Строка(ДокументТЗ);
ОбластьСтрока1.Параметры.ДокументОснованиеТЗ = ДокументОснованиеТЗ;
ОбластьСтрока2.Параметры.ДокументТЗ = ДокументТЗ;
ОбластьСтрока1.Параметры.ТекДокументОснованиеТЗ = ТекДокументОснованиеТЗ;
ОбластьСтрока2.Параметры.ТекДокументТЗ = ТекДокументТЗ ;
Если ДокументТЗ = ДокументСсылка_НаФорме Тогда
ОбластьСтрока2.ВыделенныеОбласти[0].Шрифт = ВыдШрифт;
Иначе
ОбластьСтрока2.ВыделенныеОбласти[0].Шрифт = ТекШрифт;
КонецЕсли;
ТабДок.Вывести(ОбластьСтрока1,ТекУровень);
ТабДок.Присоединить(ОбластьСтрока2,ТекУровень);
********
Сильно не пинайте, что неотформатировал код.
а из статьи это не получалось.
Получилость так:
[******
ОбластьСтрока1 = Макет.ПолучитьОбласть("Строка|ДокументОснование");
ОбластьСтрока2 = Макет.ПолучитьОбласть("Строка|Документ");
ТекШрифт = ОбластьСтрока2.ВыделенныеОбласти[0].Шрифт;
ВыдШрифт = Новый Шрифт(ТекШрифт,,,Истина);
*******
ТекДокументОснованиеТЗ = МСдвиг+Строка(ДокументОснованиеТЗ);
ТекДокументТЗ = МСдвиг+Строка(ДокументТЗ);
ОбластьСтрока1.Параметры.ДокументОснованиеТЗ = ДокументОснованиеТЗ;
ОбластьСтрока2.Параметры.ДокументТЗ = ДокументТЗ;
ОбластьСтрока1.Параметры.ТекДокументОснованиеТЗ = ТекДокументОснованиеТЗ;
ОбластьСтрока2.Параметры.ТекДокументТЗ = ТекДокументТЗ ;
Если ДокументТЗ = ДокументСсылка_НаФорме Тогда
ОбластьСтрока2.ВыделенныеОбласти[0].Шрифт = ВыдШрифт;
Иначе
ОбластьСтрока2.ВыделенныеОбласти[0].Шрифт = ТекШрифт;
КонецЕсли;
ТабДок.Вывести(ОбластьСтрока1,ТекУровень);
ТабДок.Присоединить(ОбластьСтрока2,ТекУровень);
********
Сильно не пинайте, что неотформатировал код.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот