Расширение поля формы для поля картинки.ТекстНевыбраннойКартинки

Свойства · NonselectedPictureText

Тип: Строка. Содержит текст, отображаемый, если картинка не выбрана.

Полное описание, параметры и ограничения

Расширение поля формы для поля картинки.ТекстНевыбраннойКартинки (Form field extension for a picture field.NonselectedPictureText)

Расширение поля формы для поля картинки (Form field extension for a picture field)

ТекстНевыбраннойКартинки (NonselectedPictureText)

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

Использование:
Чтение и запись.
Описание:
Тип: Строка.
Содержит текст, отображаемый, если картинка не выбрана.
Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Изменение свойства на клиенте требует обращения к серверу.

Примечание:
Не используется если поле размещено в таблице (колонка).
Использование в версии:

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

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

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

Показать библиотечную картинку для собственного числового значения 0

Поле связано с числовым реквизитом 0, а КартинкаЗначений задаёт ресурс для его отображения. Двоичный TIFF из других уроков не подменяет набор картинок значений.

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

Модуль новой управляемой формы учебной внешней обработки. Код содержит готовые процедуры с директивами; вставляйте на уровне модуля, не внутрь другого обработчика. Каждую задачу запускайте в отдельной копии формы.

Подготовка

  1. Нужна отдельная учебная конфигурация без рабочих данных. В Конфигураторе создайте Общие → Общие картинки → УчебныйМаркер. Не изменяйте общие картинки КА2/УНФ/УТ.

  2. В картинку УчебныйМаркер импортируйте собственный PNG owned-book-marker-32.png из подпапки lesson-assets рядом с этим руководством. Если файла нет, в каталоге руководства запустите C:\Python314\python.exe make-lesson-picture-fixture.py. Это включённая учебная отметка 32×32, не скачивание из интернета.

  3. Обновите только учебную конфигурацию. Имя УчебныйМаркер используется в БиблиотекаКартинок.УчебныйМаркер; произвольную двоичную картинку нельзя присвоить вместо библиотечной в рассматриваемых свойствах.

  4. В этой учебной базе создайте внешнюю обработку с новой пустой управляемой формой. ПриСозданииНаСервере свяжите с одноимённой процедурой. Реквизиты, картинку и команду вручную не создавайте.

  5. Вставьте полный модуль на уровне модуля формы. Каждый урок — отдельная копия; настольный тонкий/толстый или веб-клиент. Данные не записываются в базу.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Новые = Новый Массив;
    Новые.Добавить(Новый РеквизитФормы("УчебнаяПоказана", Новый ОписаниеТипов("Булево")));
    Новые.Добавить(Новый РеквизитФормы("УчебныйИндекс", Новый ОписаниеТипов("Число")));
    ЭтаФорма.ИзменитьРеквизиты(Новые);
    ЭтаФорма.УчебнаяПоказана = Истина;
    ЭтаФорма.УчебныйИндекс = 0;
    Поле = Элементы.Добавить("УчебноеПолеКартинки", Тип("ПолеФормы"));
    Поле.Вид = ВидПоляФормы.ПолеКартинки;
    Поле.ПутьКДанным = "УчебныйИндекс";
    Поле.КартинкаЗначений = БиблиотекаКартинок.УчебныйМаркер;
    Поле.Гиперссылка = Ложь;
    Поле.ТекстНевыбраннойКартинки = "Библиотечный ресурс временно снят";


    КомандаДействия = ЭтаФорма.Команды.Добавить("УчебноеДействие");
    КомандаДействия.Действие = "УчебноеДействие";
    КомандаДействия.Заголовок = "Проверить учебную картинку";
    КомандаДействия.Подсказка = "Действие только над данными учебной формы";
    КомандаДействия.ИзменяетСохраняемыеДанные = Ложь;
    Кнопка = Элементы.Добавить("КнопкаУчебноеДействие", Тип("КнопкаФормы"));
    Кнопка.ИмяКоманды = КомандаДействия.Имя;
    Кнопка.Заголовок = КомандаДействия.Заголовок;
КонецПроцедуры

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

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

  1. Числовой ПутьКДанным — индекс картинки значения, а не строковый адрес изображения во временном хранилище.

  2. Собственный PNG содержит одну картинку: урок использует только индекс 0, не выдумывает вторую пиктограмму.

  3. КартинкаЗначений программно принимает Пустая/ИзБиблиотеки. Ветви очищают и восстанавливают ресурс, не числовой реквизит.

  4. Для булева по справке Истина соответствует индексу 0, Ложь индексу 1. Набор из двух картинок нужен для обоих состояний; этот однокартинный урок не моделирует его.

  5. КоличествоКадров TIFF и НаборВариантов картинки не являются этой коллекцией значков.

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

  1. Первое нажатие: сообщение о снятии и Истина. Второе: два Истина, индекс всё ещё 0.

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

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

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

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

  1. Не присваивайте Новый Картинка(ДанныеTIFF) в КартинкаЗначений.

  2. Не переключайте индекс на 1 без реальной второй картинки в библиотечном наборе.

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

Скрыть и восстановить собственную картинку по адресу

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

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

Модуль новой управляемой формы учебной внешней обработки. Код содержит готовые процедуры с директивами; вставляйте на уровне модуля, не внутрь другого обработчика. Каждую задачу запускайте в отдельной копии формы.

Подготовка

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

  2. Свяжите ПриСозданииНаСервере формы с одноимённой процедурой. Реквизиты, поле картинки и кнопку вручную не создавайте.

  3. Двухстраничный TIFF 32×32 включён в код: первая страница светло-серая, вторая тёмно-серая. Это собственные контрольные пиксели, не скан рабочего документа.

  4. Картинка помещается во временное хранилище с идентификатором этой формы. Адрес действителен в её сеансе; не сохраняйте его в справочник как постоянный файл.

  5. Нет загрузки из сети, чтения чужого файла, записи документа или печати. Настольный тонкий/толстый клиент; отдельные визуальные свойства можно сравнить в веб-клиенте.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Новые = Новый Массив;
    Новые.Добавить(Новый РеквизитФормы("АдресУчебнойКартинки", Новый ОписаниеТипов("Строка")));
    Новые.Добавить(Новый РеквизитФормы("ПолныйУчебныйАдрес", Новый ОписаниеТипов("Строка")));
    ЭтаФорма.ИзменитьРеквизиты(Новые);
    ДанныеTIFF = Base64Значение("SUkqAAgAAAAJAAABBAABAAAAIAAAAAEBBAABAAAAIAAAAAIBAwABAAAACAAAAAMBAwABAAAAAQAAAAYBAwABAAAAAQAAABEBBAABAAAA7AAAABUBAwABAAAAAQAAABYBBAABAAAAIAAAABcBBAABAAAAAAQAAHoAAAAJAAABBAABAAAAIAAAAAEBBAABAAAAIAAAAAIBAwABAAAACAAAAAMBAwABAAAAAQAAAAYBAwABAAAAAQAAABEBBAABAAAA7AQAABUBAwABAAAAAQAAABYBBAABAAAAIAAAABcBBAABAAAAAAQAAAAAAADw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQA==");
    СвояКартинка = Новый Картинка(ДанныеTIFF);
    Если СвояКартинка.КоличествоКадров() <> 2 Тогда
        ВызватьИсключение "В учебном TIFF должно быть две страницы";
    КонецЕсли;
    ЭтаФорма.ПолныйУчебныйАдрес = ПоместитьВоВременноеХранилище(СвояКартинка, ЭтаФорма.УникальныйИдентификатор);
    ЭтаФорма.АдресУчебнойКартинки = ЭтаФорма.ПолныйУчебныйАдрес;
    Поле = Элементы.Добавить("УчебнаяКартинка", Тип("ПолеФормы"));
    Поле.Вид = ВидПоляФормы.ПолеКартинки;
    Поле.ПутьКДанным = "АдресУчебнойКартинки";
    Поле.Заголовок = "Собственные две страницы TIFF";
    Поле.Гиперссылка = Ложь;
    Поле.РазрешитьНачалоПеретаскивания = Ложь;
    Поле.РазрешитьПеретаскивание = Ложь;
    Поле.СпособПеретаскиванияФайлов = СпособПеретаскиванияФайлов.КакСсылкаНаФайл;
    Поле.ТекстНевыбраннойКартинки = "Учебная картинка временно скрыта";
    Поле.ЦветТекста = Новый Цвет(24, 40, 60);
    Поле.Шрифт = Новый Шрифт(Поле.Шрифт, , 11, Ложь);

    КомандаДействия = ЭтаФорма.Команды.Добавить("УчебноеДействие");
    КомандаДействия.Действие = "УчебноеДействие";
    КомандаДействия.Заголовок = "Проверить свою картинку";
    КомандаДействия.Подсказка = "Действие только над данными учебной формы";
    КомандаДействия.ИзменяетСохраняемыеДанные = Ложь;
    Кнопка = Элементы.Добавить("КнопкаУчебноеДействие", Тип("КнопкаФормы"));
    Кнопка.ИмяКоманды = КомандаДействия.Имя;
    Кнопка.Заголовок = КомандаДействия.Заголовок;
КонецПроцедуры

&НаКлиенте
Процедура УчебноеДействие(Команда)
    Если ПустаяСтрока(ЭтаФорма.АдресУчебнойКартинки) Тогда
        ЭтаФорма.АдресУчебнойКартинки = ЭтаФорма.ПолныйУчебныйАдрес;
    Иначе
        ЭтаФорма.АдресУчебнойКартинки = "";
    КонецЕсли;
    Элементы.УчебнаяКартинка.Обновить();
    Сообщить(ПустаяСтрока(ЭтаФорма.АдресУчебнойКартинки));
    Сообщить(Не ПустаяСтрока(ЭтаФорма.ПолныйУчебныйАдрес));
КонецПроцедуры

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

  1. Реквизит адреса и поле ПолеКартинки — разные объекты. У этого вида поля нет свойства Картинка, как у декорации.

  2. При очистке текущего адреса исходный адрес остаётся во втором собственном реквизите; сам объект временного хранилища не удаляется.

  3. Обновить повторно получает картинку для поля, связанного со Строка. Здесь вызывается после изменения адреса.

  4. ТекстНевыбраннойКартинки отображается для самостоятельного поля, не колонки таблицы; шрифт и цвет относятся к тексту.

  5. Повторное нажатие возвращает тот же адрес в рамках этой формы, без загрузки внешнего файла.

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

  1. Первое нажатие: Истина, Истина; изображение скрывается и видно учебное пояснение.

  2. Второе: Ложь, Истина; собственный TIFF возвращается. Закрытие формы завершает срок жизни адреса.

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

Переключается реальный источник картинки, а не только имя свойства.

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

  1. Адрес временного хранилища не является постоянным файловым путём.

  2. Не используйте Обновить как произвольную загрузку неизвестного URL.

  3. Для колонки ТекстНевыбраннойКартинки не используется.

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

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

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

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

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