Функция для определения вместимости текста в ячейку табличного документа
//Функция для определения вместится ли текст в ячейку:
//
// Параметры:
// пОбласть -Область табличного документа- Область табличного документа, которую надо проверить на вместимости.
// "пОбласть = пТабДок.Области.ТекстЗаготовки;". "ТекстЗаготовки" имя ячейки.
//
// Для возможности использования этого метода необходимо соблюдать следующие условия:
//
// пТабДок - Табличный документ - Табличный документ, в котором происходит проверка.
// "пТабДок = Макет.ПолучитьОбласть("ТекстЗаготовки");"
//
// пТекст - Строка - Проверяемый текст.
//
// 1. Необходимо как-нибудь назвать область.
// 2. Заполнение области = Текст, а не Параметр или Шаблон.
// Во всяком случае, я ничего простого не придумал. И так как жизнь это усложняет не сильно не стал заморачиваться из-за этого.
// 3. Размещение текста (Параметр ячейки) = Перенос. Вот это нужно обязательно! Размещение текста програмно поставить можно, но эффект от изменения,
// насколько я понял, появляется только после отображения табличного документа с этой ячейкой.
//
// Возвращаемое значение:
// Булево.
//
Функция ТекстУмещаетсяВЯчейке(пОбласть, пТабДок, пТекст) Экспорт
ВысотаДо = ВысотаОбластиВмм(пОбласть, пТабДок);
// Скопируем область в новый табличный документ.
// И там уже будем играть с её свойствами.
ВремТабДок = Новый ТабличныйДокумент;
ВремТабДок.Вывести(пТабДок);
ВремОбласть = ВремТабДок.Область(пОбласть.Имя);
ВремОбласть.АвтоВысотаСтроки = Истина;
ВремОбласть.ВысотаСтроки = 0;
ВремОбласть.Текст = пТекст + "Щ"; // Для исключения ситуаций вида "на грани переноса"
ВысотаПосле = ВысотаОбластиВмм(ВремОбласть, ВремТабДок);
Возврат ВысотаДо >= ВысотаПосле;
КонецФункции
//Функция возвращает высоту области таб. документа в мм
//
// Параметры:
// пОбласть - Область табличного документа - Область табличного документа которую надо проверить.
//
// пТабДок - Табличный документ - Табличный документ, в котором происходит проверка.
//
// Возвращаемое значение:
// число.
//
Функция ВысотаОбластиВмм(пОбласть, пТабДок)
Надпись = пТабДок.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Текст);
Надпись.Расположить(пОбласть);
Высота = Надпись.Высота;
пТабДок.Рисунки.Удалить(Надпись);
Возврат(Высота);
КонецФункции
Орфографическая ошибка в нибудь: нибудь Орфографическая ошибка в заморачиваться: заморачиваться Орфографическая ошибка в програмно: програмно
Заполнение табличного документа
ТабличныйДокументПоДвоичнымДанным (БСП)
РаспечататьТабличныеДокументы (БСП)
ПриНажатииНаГиперссылкуВДокументеОписанияОбновлений (БСП)
Отправка сформированного отчета на почту (в виде html текста)
Объединение табличных документов
Как загрузить в табличную часть одного документа табличную часть другого документа?