РисунокТабличногоДокумента.Расположить

Методы · Place

Помещает рисунок в указанной области ячеек табличного документа.

Синтаксис

Расположить(<ОбластьЯчеек>)

Примеры платформы

ТабДок = Новый ТабличныйДокумент;
МояКартинка = Новый Картинка("C:\My Documents\qwerty.bmp");
Рис=ТабДок.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
Индекс=ТабДок.Рисунки.Индекс(Рис);
ТабДок.Рисунки[Индекс].Картинка = МояКартинка;
ТабДок.Рисунки[Индекс].Расположить(ТабДок.Область("R1C1:R4C4"));
ТабДок.Показать();
Полное описание, параметры и ограничения

РисунокТабличногоДокумента.Расположить (SpreadsheetDocumentDrawing.Place)

РисунокТабличногоДокумента (SpreadsheetDocumentDrawing)

Расположить (Place)

Доступен, начиная с версии 8.0.

Синтаксис:
Расположить(<ОбластьЯчеек>)
Параметры:

<ОбластьЯчеек> (обязательный)
Тип: ОбластьЯчеекТабличногоДокумента.
Область, в которой будет расположен рисунок.
Описание:

Помещает рисунок в указанной области ячеек табличного документа.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.

Пример:

ТабДок = Новый ТабличныйДокумент;
МояКартинка = Новый Картинка("C:\My Documents\qwerty.bmp");
Рис=ТабДок.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
Индекс=ТабДок.Рисунки.Индекс(Рис);
ТабДок.Рисунки[Индекс].Картинка = МояКартинка;
ТабДок.Рисунки[Индекс].Расположить(ТабДок.Область("R1C1:R4C4"));
ТабДок.Показать();

Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Заполнить собственную диаграмму табличного документа и восстановить обновление при ошибке

Разбираем Обновление в его контексте обычного толстого клиента. В управляемых формах отключение этого свойства не является ускорением.

Где и как запускать

Учебное обычное приложение, толстый клиент Windows: собственная обычная форма внешней обработки. Это не модуль управляемой формы и не серверный вызов.

Подготовка

  1. Отдельная пустая учебная конфигурация для ОБЫЧНОГО приложения, толстый клиент Windows. Не переключайте рабочую конфигурацию и не запускайте урок в тонком клиенте.

  2. В собственной внешней обработке создайте обычную форму, добавьте кнопку УчебныйПример и назначьте её Действие одноимённой процедуре. Код — полный обработчик модуля формы, без &НаКлиенте.

  3. Документ и его рисунок создаются кодом заново. Макет типового отчёта, рабочий табличный документ и исходные файлы не используются.

Процедура УчебныйПример(Кнопка)
    Документ = Новый ТабличныйДокумент;
    Рисунок = Документ.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Диаграмма);
    Рисунок.Расположить(Документ.Область(1, 1, 20, 12));
    Диаграмма = Рисунок.Объект;
    Диаграмма.ТипДиаграммы = ТипДиаграммы.Гистограмма;
    ПрежнееОбновление = Диаграмма.Обновление;
    Диаграмма.Обновление = Ложь;
    Попытка
        Продажи = Диаграмма.УстановитьСерию("sales");
        Продажи.Текст = "Продано, шт.";
        Для Месяц = 1 По 3 Цикл
            Точка = Диаграмма.УстановитьТочку(Месяц);
            Точка.Текст = "Месяц " + Строка(Месяц);
            Диаграмма.УстановитьЗначение(Точка, Продажи, Месяц * 5);
        КонецЦикла;
        Диаграмма.ОбластьЗаголовка.Текст = "Собственные значения 5/10/15";
        Диаграмма.Обновление = ПрежнееОбновление;
    Исключение
        Диаграмма.Обновление = ПрежнееОбновление;
        ВызватьИсключение;
    КонецПопытки;
    Сообщить(Диаграмма.Обновление = ПрежнееОбновление);
    Сообщить(Диаграмма.Точки.Количество() = 3);
    Документ.Показать("Учебная диаграмма — без файла и печати");
КонецПроцедуры

Разбор по шагам

  1. Коллекция рисунков нового табличного документа создаёт рисунок типа Диаграмма. Рисунок.Объект содержит именно диаграмму.

  2. Расположить принимает область ячеек, а не четыре отдельных числа. Используем собственную область 1,1–20,12.

  3. Сохраняем прежний режим Обновление, отключаем его на время пакетного заполнения и возвращаем при успехе и при исключении.

  4. Создаются три собственные точки 5/10/15. Показать открывает новый документ, но не вызывает печать или сохранение.

  5. Смысл свойства сверяется со справкой платформы; похожая работа с Обновление найдена в исходном отчёте УТ 10.3, но этот пример не вызывает его код.

Как проверить результат

  1. Два сообщения Истина: режим обновления восстановлен, точек три.

  2. Открытый собственный табличный документ показывает 5/10/15. Файл не создаётся и печать не запускается.

  3. Для отрицательного теста добавьте ВызватьИсключение внутри Попытка: перед повторным выбросом прежний режим всё равно восстанавливается.

Ожидаемый результат

Пакетное заполнение и восстановление состояния разобраны в подходящем клиентском контексте, без обещания ускорения управляемой формы.

На что обратить внимание

  1. В управляемых формах установка Обновление не влияет на производительность. Используйте для них обычные уроки Диаграмма без этого приёма.

  2. Показать — интерактивная клиентская операция; серверный фрагмент не может открыть пользователю это окно.

  3. Сохранённый прежний режим может быть Ложь. Возвращаем именно его, а не безусловно включаем чужое состояние.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Выделить мартовское значение на диаграмме табличного документа

Методы рисунка работают с элементами диаграммы: точкой, серией или значением. Это не выделение самого рисунка в документе.

Где и как запускать

Полный модуль управляемой формы собственной учебной внешней обработки. Построение выполняется на сервере без контекста; показ — на клиенте. Вставляйте на уровне модуля.

Подготовка

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

  2. На форме создайте команду УчебныйПример и перетащите её на форму как кнопку. В действии команды выберите процедуру УчебныйПример(Команда).

  3. Вставьте весь модуль из примера: УчебныйПример, ПостроитьУчебныйДокумент и УчебнаяТаблица. Серверный вызов возвращает собственный табличный документ клиенту; директивы не удаляйте.

  4. Никакие макеты, документы и справочники конфигурации не нужны. Всё построение — в памяти, без печати, записи файлов и отправки в сервисы.

  5. Показ и ручную проверку выполняйте в тонком клиенте Windows 8.5.1.1343. Каждый урок — отдельная копия формы с пустым модулем до вставки.

&НаКлиенте
Процедура УчебныйПример(Команда)
    ТабДок = ПостроитьУчебныйДокумент();

    ТабДок.Показать("Учебный документ — без печати и сохранения");
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПостроитьУчебныйДокумент()
    ТабДок = Новый ТабличныйДокумент;
    Рисунок = ТабДок.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Диаграмма);
    Рисунок.Имя = "УчебнаяДиаграмма";
    Рисунок.Расположить(ТабДок.Область(1, 1, 20, 10));
    Диаграмма = Рисунок.Объект;
    Диаграмма.ТипДиаграммы = ТипДиаграммы.Гистограмма;
    План = Диаграмма.УстановитьСерию("plan");
    План.Текст = "План, шт.";
    Факт = Диаграмма.УстановитьСерию("actual");
    Факт.Текст = "Факт, шт.";
    Месяцы = Новый Массив;
    Месяцы.Добавить(Новый Структура("Ключ,Название,План,Факт", "2026-01", "Январь", 10, 8));
    Месяцы.Добавить(Новый Структура("Ключ,Название,План,Факт", "2026-02", "Февраль", 12, 11));
    Месяцы.Добавить(Новый Структура("Ключ,Название,План,Факт", "2026-03", "Март", 15, 16));
    Для Каждого Месяц Из Месяцы Цикл
        Точка = Диаграмма.УстановитьТочку(Месяц.Ключ);
        Точка.Текст = Месяц.Название;
        Диаграмма.УстановитьЗначение(Точка, План, Месяц.План);
        Диаграмма.УстановитьЗначение(Точка, Факт, Месяц.Факт);
    КонецЦикла;

    Диаграмма.РежимВыделения = РежимВыделенияДиаграммы.ВыделениеЗначений;
    Март = Диаграмма.УстановитьТочку("2026-03");
    МартФакт = Диаграмма.ПолучитьЗначение(Март, Факт);
    Выделение = Новый Массив;
    Выделение.Добавить(МартФакт);
    Рисунок.УстановитьВыделенныеЭлементы(Выделение);
    Выбранные = Рисунок.ПолучитьВыделенныеЭлементы();
    Сообщить(Выбранные.Количество() = 1);
    Сообщить(ТипЗнч(Выбранные.Получить(0)) = Тип("ЗначениеДиаграммы"));
    Сообщить(МартФакт.Значение = 16);
    Рисунок.УстановитьВыделенныеЭлементы(Новый Массив);
    Сообщить(Рисунок.ПолучитьВыделенныеЭлементы().Количество() = 0);
    ТабДок.ТолькоПросмотр = Истина;
    Возврат ТабДок;
КонецФункции

Разбор по шагам

  1. Рисунок типа Диаграмма создаёт объект диаграммы. Расположить принимает область ячеек; это другой способ задания геометрии, не четыре числовых аргумента.

  2. В собственной матрице мартовский факт равен 16. ПолучитьЗначение возвращает объект ЗначениеДиаграммы для пары точка/серия.

  3. УстановитьВыделенныеЭлементы получает массив именно объектов диаграммы. Проверяем количество/тип, затем снимаем выделение пустым массивом.

  4. В финальном показе выделение снято намеренно. Для демонстрации выделенного марта временно не выполняйте последние две строки снятия/проверки.

Как проверить результат

  1. Четыре проверки дают Истина.

  2. В показе план/факт за три месяца: 10/8, 12/11, 15/16. Выделение элементов и изменение чисел — разные операции.

Ожидаемый результат

Управление выделением одного значения без редактирования данных диаграммы.

На что обратить внимание

  1. Эти методы предназначены для рисунка типа Диаграмма, не для картинки или надписи.

  2. Массив неподходящих типов игнорируется платформой; не передавайте строку 2026-03 вместо объекта точки/значения.

  3. ВыделенныеОбласти табличного документа выделяют другой уровень объектов и здесь не используются.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.