Убрать картинки из собственного поля и кнопки выбора

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

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

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

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

Подготовка

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

  2. В форме создайте реквизиты УчебноеКоличество (Число 9.0), УчебноеОписание (Строка неограниченной длины), УчебныйСтатус (Строка 20), УчебныйПароль (Строка 100). Добавьте поля ввода ПолеКоличество, ПолеОписание, ПолеСтатуса, ПолеПароля, свяжите их Данные с соответствующими реквизитами.

  3. Добавьте обычную кнопку УчебнаяКоманда. Свяжите её действие и событие ПриОткрытии формы с одноимёнными процедурами. Каждый урок заменяет полный модуль только этой собственной формы.

  4. Рабочие данные не используются. Пароль в примере NOT_A_REAL_SECRET — вымышленная учебная строка; не вводите реальные секреты. Значения нигде не сохраняются и не отправляются.

Процедура ПриОткрытии()
    УчебноеКоличество = 3;
    УчебноеОписание = "Книга" + Символы.ПС + "Ручка";
    УчебныйСтатус = "";
    УчебныйПароль = "NOT_A_REAL_SECRET";
    Поле = ЭтаФорма.ЭлементыФормы.ПолеСтатуса;
    ПустаяКартинка = Новый Картинка;
    Поле.Картинка = ПустаяКартинка;
    Поле.КартинкаКнопкиВыбора = ПустаяКартинка;
    Поле.КнопкаВыбора = Ложь;
    УчебныйСтатус = "draft";
КонецПроцедуры

Процедура УчебнаяКоманда(Кнопка)
    Поле = ЭтаФорма.ЭлементыФормы.ПолеСтатуса;
    Сообщить(ТипЗнч(Поле.Картинка) = Тип("Картинка"));
    Сообщить(ТипЗнч(Поле.КартинкаКнопкиВыбора) = Тип("Картинка"));
    Сообщить(УчебныйСтатус = "draft");
КонецПроцедуры

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

  1. Новый Картинка без аргументов создаёт пустое значение, а не загружает изображение с диска.

  2. Картинка поля и КартинкаКнопкиВыбора относятся к двум разным местам интерфейса.

  3. Пустое значение соответствует разрешённому виду картинки у кнопки выбора; произвольный PNG не подставляется в API с ограничением Пустая/ИзБиблиотеки.

  4. Кнопка выбора здесь выключена, потому что учебная строка не связана с формой выбора рабочего объекта.

  5. Значение draft в собственном реквизите не меняется при очистке картинок.

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

  1. Три сообщения Истина.

  2. Нет загрузки, создания или удаления файла изображения.

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

Очистка картинок отделена от очистки значения поля.

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

  1. Пустая картинка и пустая строка реквизита — разные значения.

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

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

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

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

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

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