![]() |
![]() |
![]() |
|
СообщениеПользователю() для дерева значений | ☑ | ||
---|---|---|---|---|
0
riv40rus
22.06.11
✎
16:01
|
Нужно выдать сообщение об ошибке заполнения с привязкой к конкретной строке дерева значений на управляемой форме. Кто нибудь делал подобное? Или в платформе 8.2 не реализовано?
|
|||
1
butterbean
22.06.11
✎
16:02
|
не можешь сам строку выделить??
|
|||
2
riv40rus
22.06.11
✎
16:05
|
Нет я хочу чтобы было все одинаково. На форме есть таблица и дерево. И что мне для таблицы выводить сообщение со стандартным окошком, а для дерева выделять строчку? Как то криво будет на мой взгляд...
|
|||
3
riv40rus
22.06.11
✎
16:08
|
up
|
|||
4
Stepa86
22.06.11
✎
16:09
|
а чо мешает попробовать?
|
|||
5
riv40rus
22.06.11
✎
16:11
|
(4) пробовал не получается, сообщение не привязывается к конкретной строке дерева, а выводится снизу и привязывается ко всему дереву как бы
|
|||
6
Stepa86
22.06.11
✎
16:12
|
(5) покажи код, как пробовал
|
|||
7
riv40rus
22.06.11
✎
16:16
|
ТекстСообщения = "Поле ""Подразделение"" не заполнено";
//1 //ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, , "Дерево.ПолучитьСтроки()[0]",,Отказ); //2 ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, , "Дерево",,Отказ); |
|||
8
riv40rus
22.06.11
✎
16:16
|
// Формирует и выводит сообщение, которое может быть связано с элементом
// управления формы. // // Параметры // ТекстСообщенияПользователю - Строка - текст сообщения. // КлючДанных - Любая ссылка на объект информационной базы. // Ссылка на объект информационной базы, к которому это сообщение относится, // или ключ записи. // Поле - Строка - наименование реквизита формы // ПутьКДанным - Строка - путь к данным (путь к реквизиту формы) // Отказ - Булево - Выходной параметр // Всегда устанавливается в значение Истина // // Примеры использования: // // 1. Для вывода сообщения у поля управляемой формы, связанного с реквизитом объекта: // ОбщегоНазначенияКлиентСервер.СообщитьПользователю( // НСтр("ru = 'Сообщение об ошибке.'"), , // "ПолеВРеквизитеФормыОбъект", // "Объект"); // // Альтернативный вариант использования в форме объекта: // ОбщегоНазначенияКлиентСервер.СообщитьПользователю( // НСтр("ru = 'Сообщение об ошибке.'"), , // "Объект.ПолеВРеквизитеФормыОбъект"); // // 2. Для вывода сообщения рядом с полем управляемой формы, связанным с реквизитом формы: // ОбщегоНазначенияКлиентСервер.СообщитьПользователю( // НСтр("ru = 'Сообщение об ошибке.'"), , // "ИмяРеквизитаФормы"); // // 3. Для вывода сообщения связанного с объектом информационной базы // ОбщегоНазначенияКлиентСервер.СообщитьПользователю( // НСтр("ru = 'Сообщение об ошибке.'"), ОбъектИнформационнойБазы, "Ответственный",,Отказ); // // 4. Для вывода сообщения по ссылке на объект информационной базы // ОбщегоНазначенияКлиентСервер.СообщитьПользователю( // НСтр("ru = 'Сообщение об ошибке.'"), Ссылка, , , Отказ); // // Случаи некорректного использования: // 1. Передача одновременно параметров КлючДанных и ПутьКДанным // 2. Передача в параметре КлючДанных значения типа отличного от допустимых // 3. Установка ссылки без установки поля (и/или пути к данным) // Процедура СообщитьПользователю( Знач ТекстСообщенияПользователю, Знач КлючДанных = Неопределено, Знач Поле = "", Знач ПутьКДанным = "", Отказ = Ложь) Экспорт Сообщение = Новый СообщениеПользователю; Сообщение.Текст = ТекстСообщенияПользователю; Сообщение.Поле = Поле; ЭтоОбъект = Ложь; #Если НЕ (ТонкийКлиент ИЛИ ВебКлиент) Тогда Если КлючДанных <> Неопределено И XMLТипЗнч(КлючДанных) <> Неопределено Тогда ТипЗначенияСтрокой = XMLТипЗнч(КлючДанных).ИмяТипа; ЭтоОбъект = Найти(ТипЗначенияСтрокой, "Object.") > 0; КонецЕсли; #КонецЕсли Если ЭтоОбъект Тогда Сообщение.УстановитьДанные(КлючДанных); Иначе Сообщение.КлючДанных = КлючДанных; КонецЕсли; Если НЕ ПустаяСтрока(ПутьКДанным) Тогда Сообщение.ПутьКДанным = ПутьКДанным; КонецЕсли; Сообщение.Сообщить(); Отказ = Истина; КонецПроцедуры |
|||
9
riv40rus
22.06.11
✎
16:17
|
в первом случае вообще не привязывается, в просто выводится сообщение
|
|||
10
Stepa86
22.06.11
✎
16:18
|
(7) дык как минимум нужно указать в поле индекс строки
попробуй ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, , "Дерево[0].Подразделение",,Отказ); |
|||
11
riv40rus
22.06.11
✎
16:18
|
(10) тоже пробовал не катит
|
|||
12
Stepa86
22.06.11
✎
16:19
|
(11) а другие индексы пробовал?
|
|||
13
riv40rus
22.06.11
✎
16:20
|
(12) щас погляжу
|
|||
14
riv40rus
22.06.11
✎
16:20
|
так тоже не катит ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, , "Дерево.ПолучитьСтроки()[0].Подразделение",,Отказ);
|
|||
15
Stepa86
22.06.11
✎
16:21
|
(13) и попробуй ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, , ,"Дерево[0].Подразделение",Отказ);
я вот до сих пор не вкурю чем поле от путиКДанным отличается |
|||
16
Stepa86
22.06.11
✎
16:22
|
(14) .ПолучитьСтроки() точно лишнее
Посмотри какой индекс у проблемной строки ( ПолучитьИдентификатор() ) и его подставь вместо 0 |
|||
17
riv40rus
22.06.11
✎
16:22
|
Попробовал : ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, , "Дерево[1].Подразделение",,Отказ);
Сообщение выводится снизу, а не привязывается к строке |
|||
18
riv40rus
22.06.11
✎
16:27
|
ТекстСообщения = "Поле ""Подразделение"" не заполнено";
ЭлементыДерева = Дерево.ПолучитьЭлементы(); Для Каждого ТекСтрока Из ЭлементыДерева Цикл ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, , "Дерево["+ ТекСтрока.ПолучитьИдентификатор() +"].Подразделение",,Отказ); КонецЦикла; Тоже не получается, к конкретной строке не привязывается |
|||
19
Stepa86
22.06.11
✎
16:29
|
видимо к дереву никак не прицепить
|
|||
20
riv40rus
22.06.11
✎
16:33
|
Да, скорее всего для деревьев не реализовано
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |