Связать сообщение с ценой собственного товара

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

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

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

Серверный обработчик своей учебной базы. Это пример синтаксиса: здесь 1С, файлы, базы и сеть не запускались.

Подготовка

  1. Создайте свой справочник Товары с числовым реквизитом Цена и товаром с кодом BOOK. Для отрицательной проверки вручную задайте ему учебную отрицательную цену.

  2. В собственной управляемой форме товара основной реквизит называется Объект, поле связано с Объект.Цена. Выполняйте серверный фрагмент при работе с этой формой.

Товар = Справочники.Товары.НайтиПоКоду("BOOK");
Если Товар.Пустая() Тогда
    ВызватьИсключение "Создайте свой учебный товар BOOK";
КонецЕсли;
ОбъектТовара = Товар.ПолучитьОбъект();
Если ОбъектТовара.Цена < 0 Тогда
    Сообщение = Новый СообщениеПользователю;
    Сообщение.Текст = "Цена товара не должна быть отрицательной";
    Сообщение.КлючДанных = Товар;
    Сообщение.ПутьКДанным = "Объект.Цена";
    Сообщение.Сообщить();
КонецЕсли;

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

  1. Находим настоящее собственное значение ссылки.

  2. Читаем цену без записи объекта.

  3. Сообщение связывается с объектом и точным путём своего поля.

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

  1. При отрицательной цене показано адресное сообщение.

  2. Для неотрицательной цены сообщение не создаётся.

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

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

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

  1. Путь должен соответствовать реальной форме. Строка Объект.Цена не заменяет ссылку в КлючДанных, а произвольный текст не заменяет правильный ключ.

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

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

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

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

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