Получить картинку своей карты маршрута

Учебные задачи

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

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

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.

  2. Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.

  3. Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.

  4. Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.

  5. Создайте серверный общий модуль УчебныеЗадачи и команду учебной обработки, вызывающую ВыполнитьПример() Экспорт. Каждый фрагмент выполняйте отдельно, не склеивайте их в одну процедуру.

  6. В этой отдельной пустой конфигурации Учебная85 добавьте Задачи → УчебнаяЗадача: длина номера 9, тип Строка, автонумерация; наименование длиной 100. Добавьте реквизит Комментарий (Строка, 100), без проверки заполнения.

  7. Добавьте Бизнес-процессы → УчебныйПроцесс: длина номера 9, тип Строка, автонумерация, реквизит Комментарий (Строка, 100), без проверки заполнения. В свойстве Задача выберите УчебнаяЗадача.

  8. Карта маршрута: одна точка старта Старт → одна одиночная точка действия ПодготовитьКнигу → одна точка завершения Финиш. Соедините их стрелками; в представлении точки действия укажите Подготовить учебную книгу.

  9. Адресацию задач, групповые/условные/вложенные точки и обработчики маршрута для этой задачи не добавляйте. Модули задачи и процесса, подписки и внешние действия должны быть пустыми. Обновите конфигурацию базы данных.

  10. Все имена здесь относятся к новым учебным объектам, не к рабочей КА2/УНФ/УТ/БП. Каждый фрагмент запускайте отдельно на сервере в ВыполнитьПример() Экспорт общего модуля УчебныеЗадачи.

  11. В этих упражнениях процесс не записывается и не запускается. Исследуется копия карты маршрута в памяти; печать на физический принтер не вызывается.

Если Метаданные.БизнесПроцессы.Найти("УчебныйПроцесс") = Неопределено
    Или Метаданные.Задачи.Найти("УчебнаяЗадача") = Неопределено Тогда
    ВызватьИсключение "Сначала создайте учебные процесс, задачу и карту маршрута";
КонецЕсли;
Процесс = БизнесПроцессы.УчебныйПроцесс.СоздатьБизнесПроцесс();
Схема = Процесс.ПолучитьКартуМаршрута();
Если ТипЗнч(Схема) <> Тип("ГрафическаяСхема") Тогда
    ВызватьИсключение "Учебный процесс не вернул графическую схему";
КонецЕсли;
КартинкаМаршрута = Схема.ПолучитьКартинку(640, 360, ФорматКартинки.PNG);
Если ТипЗнч(КартинкаМаршрута) <> Тип("Картинка") Тогда
    ВызватьИсключение "Схема не вернула собственную картинку";
КонецЕсли;
БайтыКартинки = КартинкаМаршрута.ПолучитьДвоичныеДанные();
Если БайтыКартинки = Неопределено Тогда
    ВызватьИсключение "Нет двоичных данных картинки маршрута";
КонецЕсли;
Сообщить(КартинкаМаршрута.Ширина() > 0);
Сообщить(КартинкаМаршрута.Высота() > 0);
Сообщить(БайтыКартинки.Размер() > 0);
Сообщить("Фактический размер: " + Строка(КартинкаМаршрута.Ширина()) + " × " + Строка(КартинкаМаршрута.Высота()));

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

  1. Параметры 640 и 360 задаются в пикселях. Это другие единицы, чем печатные поля и логический шаг сетки.

  2. Формат PNG задан явно, не выбран путём переименования расширения файла.

  3. Проверяем тип результата и наличие его двоичных данных до чтения размера.

  4. Картинка не является редактируемой картой маршрута. На диске ничего не сохраняется, процесс не запускается.

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

  1. Три проверки Истина и сообщение о фактическом размере.

  2. Просмотр содержания картинки в отладчике или отдельном элементе формы выполняется отдельно; непустые байты сами по себе не доказывают хорошую читаемость всех подписей.

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

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

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

  1. Не подменяйте графическую схему картинкой, если далее нужны точки маршрута.

  2. Для векторного исходного изображения действуют отдельные ограничения формата; этот урок формирует растровое представление карты.

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

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

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

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

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