helpf.pro
Регистрация
 +8 
Распечатать

Сообщение пользователю с привязкой текста к полю из контекста клиента в форме СообщениеПользователю

Частенько нужно сообщить пользователю какую-то информацию, раньше использовали Сообщить() или

Для вывода информации пользователю начиная с версии 1С:Предприятия 8.2 существует специальный механизм сообщений. В этом механизме используется объект встроенного языка СообщениеПользователю. Предполагается, что сообщения выводятся для того, чтобы сообщить пользователю об ошибках. А для информирования о выполняемом действии рекомендуется использовать метод встроенного языка ПоказатьОповещениеПользователя().

Код 1C v 8.3
 Сообщение = Новый СообщениеПользователю();
Сообщение.Текст = "Комментарий не указан";
Сообщение.Поле = "КомментарийКЗадаче";//ИмяТабличнойЧасти[ИндексСтроки].ИмяРеквизита
Сообщение.УстановитьДанные(Объект);
Сообщение.Сообщить();

//////////////////// КОД для ТИПОВЫХ конфигураций:
//Для БСП:
//в модуле объекта
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(“Текст ошибки”,                
                        ЭтотОбъект,
                        "Договор",,
                        Отказ);
//в форме объекта
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(НСтр("ru = 'Дублирование пременной'"), ,
"Запросы["+ИдентификаторСтроки+"].ИмяПеременнойЗапроса",//путь к данным
 "Объект", Отказ);

Пока управление не передано обратно на клиента, можно получить массив сообщений методом глобального контекста ПолучитьСообщенияПользователю().

еще примеры:

Код 1C v 8.3
 

// Сообщение.КлючДанных = Ссылка на объект базы или ключ записи

// Сообщение.ПутьКДанным = содержит путь в форме до объекта.

// показываем сообщение из обработки

// КлючДанных и ПутьКДанным - пустые

Сообщение = Новый СообщениеПользователю;

Сообщение.Поле = "Комментарий";

Сообщение.Текст = "Заполните комментарий";

Сообщение.Сообщить();

// показываем сообщение из документа

// КлючДанных - пустой, ПутьКДанным заполнится автоматически

Сообщение = Новый СообщениеПользователю;

Сообщение.Поле = "Товары[0].Количество";

Сообщение.Текст = "Не заполнено количество товара в первой строке!";

Сообщение.УстановитьДанные(ЭтотОбъект);

Сообщение.Сообщить();

Разместил:   Версии: |  Дата:   Прочитано: 42775
 +8 
Распечатать
Возможно, вас также заинтересует
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 52
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
1C и Google Maps 21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш
1С 7.x : Как получить курсы валют с сайта НБУ http://www.bank.gov.ua/ за любую дату ? 6
Функция ПолучитьТаблицуКурсовНБУ(ДатаКурса, Ежедневно = 1) // если в качестве второго параметра указать число отличное от 1 - получем валюты, которые котируются на ежемесячной основе Перем Reader, Url, Точки, HtmlTab, Строк, Р, НомСтроки, НомЯче
COM-подключение к базе 7.7 из 8.2 1С 7
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе=" D:ВашаБаза1с77" ; Пользователь=
Cклонения по падежам 6
НаКлиенте Процедура Команда1(Команда) ФИО = " Иванов Иван Иванович" ; Падеж = 2; Пол = 1; Результат = СклонениеФИО(ФИО, Падеж, пол); Сообщить(Результат); КонецПроцедуры НаСервере Функция СклонениеФИО(ФИО, Падеж, пол) Результат = " " ;
Посмотреть все результаты поиска похожих
Комментарии
EvgeTrofi
09.03.2022 07:43Комментарий: 1
EvgeTrofi

Небольшое уточнение:В модуле формы  на клиенте нужно указать только текст сообщения и поле.Если указать ПутьКДанным то поле не активируется!Пример правильного вызова:&НаКлиенте

Процедура Заполнить(Команда)

Если НЕ ЗначениеЗаполнено(Объект.НачалоПериодаСтатистики) Тогда

ОбщегоНазначенияКлиентСервер.СообщитьПользователю(

"Укажите период статистики",,

"ПериодСтатистики"

);

Возврат;

КонецЕсли;

ЗаполнитьНаСервере();

КонецПроцедуры

Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.