Как привязать сообщение к полю дерева #613954
Можно ли в управляемой форме привязать СообщениеПользователю к полю дерева значений, как для таблицы значений, что бы выводилось у не правельно введенных данных? Если можно, то каков тогда синтаксис реквизита «поле»?
к ТЗ прикручивается строкой типа Объект.Товары[0].Товар, но для дерева значений такая конструкция не катит, во-первых дерево не может быть у объекта, во-вторых — для дерева нет возможности обратиться сразу по индексу
Обратится можно к ДанныеФормыКоллекцияЭлементовДерева, которая получается из самого дерева (вернее ДанныеФормыДерево) методом ПолучитьЭлементы.
Засада в том, что в поле нужно указать путь к данным. я так понимаю в пути нет возможности вставлять методы, только через точки поля. Хотя конструкция «[0]» — вроде как предполагает некоторые действия по позиционированию.
— и что это даст? Сообщение нужно поместить на интеракивной форме. Получить или развернуть строки — я получаю, только куда их прикрутишь?
— вообще-то сообщение привязывается к ТаблицеФормы. Если в таблице формы выводится например табличная часть документа и или просто таблица значений — сообщение привязывается и выдается именно привязанное к нужной строке (во втором случае только опустить слово «объект») Так что собственно ни в чем я не обманывал. В данный момент бодаюсь в документе, но точно так-же выводил и в таблицах
А вот с деревом значений — максимум что удалось, так это вывести у шапки всего дерева. даже вывести у какой-либо колонки не получается
Все что берет — так это только имя дерева значений (плюс после имени дерева можно интекс указать, но результатт тотже что и без него). что-либо дополнительно добавить (имя колонки например) — и все вообще не привязывается
Похожие вопросы 1С
В этой группе 1С
- Допустимые выражения в параметрах СКД
- Корректировка валютных сумм
- v7: Выгрузка из Торговли и Склад 7 в Комплексную 7
- Загрузка данных из ЗУП в ЗУП
- Алгоритм проведения документов в 1С 8
- Формат. Месяц и год с буквой г. в конце.
- Закрытие месяца
- В режиме 1С Предприятия сколько частей проходит обновление индексов?
- Изменить программно элемент справочника
- v8: чем в документе «Расчет при увольнении» отличается «Выходное пособие» от «Заработка на время тру
- 1С 8.2 УТ для Украины 2.3 в расходной накладной не отображается штрих код?
- УдалитьРегистрациюИзменений для менеджера записи регистра сведений
- v7: Как установить ширину колонки в табличной части документа
- Синхронизация локальной папки и FTP сервера
- Чем чревато отключение контроля уникальности в документах?
- Как обойти результат СКД?
- УТ 10.3 Счета, Заказы покупателей.
- v7: Как выгрузить данные из почты в 1С киньте пример если есть
- v7: Выгрузка в dbf из 1с 77
- Файл не является файлом базы данных
Источник
СообщениеПользователю для дерева значений 1С 8.3
На форме реализовал редактирование информации через дерево значений, перед сохранением нужно выдать сообщение об ошибке заполнения с привязкой к конкретной строке дерева значений на управляемой форме.
Попробовал так:
Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Тут ошибка"; Сообщение.Поле = "Элементы.дКаталогТоваровИМ"; Сообщение.Сообщить();
просто выдает сообщение без привязки к элементу формы, переписал через:
Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Тут ошибка"; Сообщение.Поле = "дКаталогТоваровИМ"; Сообщение.Сообщить();
теперь привязывается к элементу формы без проблем, но если пробовать реализовать с уточнением строки то ссылается только к этому полю. Такое ощущение что вообще с деревом значения нужно шаманство устроить. У кого какое предложение?
В рабочей программе добавить для дерева бинарного поиска нахождение отрицательных значений узлов дерева
Полностью готовая программа, но что дописать в мейне чтобы он выводил произведение отрицательных.
В дереве бинарного поиска найти для него количество четных значений узлов дерева
В файле input.txt хранится последовательность целых чисел. По входной последовательности построить.
Построить дерево бинарного поиска и найти для него сумму нечетных значений узлов дерева
Ни как не могу придумать правильный метод который будет считать сумму нечетных значений узлов.
СообщениеПользователю
необходимо вывести сообщение пользователю и нехватке товара. Привязать его надо к той строке ТЧ, в.
1C 8.X СообщениеПользователю ОбщаяФорма
Всех приветствую! Нужно по особому использовать СообщениеПользователю. Хочу передать в него.
СообщениеПользователю с привязкой к элементу
Приветствую. Есть управляемая форма, на ней некоторый реквизит. Нужно при определенном условии.
Для каждого бинарного дерева выполнить преобразование дерева в список, результат вывести в виде списка списков
Объясните почему не работает, задание было таким " Дан список, элементы которого — непустые.
Источник
СообщениеПользователю() для дерева значений
Нужно выдать сообщение об ошибке заполнения с привязкой к конкретной строке дерева значений на управляемой форме. Кто нибудь делал подобное? Или в платформе 8.2 не реализовано?
Нет я хочу чтобы было все одинаково. На форме есть таблица и дерево. И что мне для таблицы выводить сообщение со стандартным окошком, а для дерева выделять строчку? Как то криво будет на мой взгляд.
(4) пробовал не получается, сообщение не привязывается к конкретной строке дерева, а выводится снизу и привязывается ко всему дереву как бы
ТекстСообщения = «Поле «»Подразделение»» не заполнено»;
//1
//ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, , «Дерево.ПолучитьСтроки()[0]»,,Отказ);
//2
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, , «Дерево»,,Отказ);
// Формирует и выводит сообщение, которое может быть связано с элементом
// управления формы.
//
// Параметры
// ТекстСообщенияПользователю — Строка — текст сообщения.
// КлючДанных — Любая ссылка на объект информационной базы.
// Ссылка на объект информационной базы, к которому это сообщение относится,
// или ключ записи.
// Поле — Строка — наименование реквизита формы
// ПутьКДанным — Строка — путь к данным (путь к реквизиту формы)
// Отказ — Булево — Выходной параметр
// Всегда устанавливается в значение Истина
//
// Примеры использования:
//
// 1. Для вывода сообщения у поля управляемой формы, связанного с реквизитом объекта:
// ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
// НСтр(«ru = ‘Сообщение об ошибке.'»), ,
// «ПолеВРеквизитеФормыОбъект»,
// «Объект»);
//
// Альтернативный вариант использования в форме объекта:
// ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
// НСтр(«ru = ‘Сообщение об ошибке.'»), ,
// «Объект.ПолеВРеквизитеФормыОбъект»);
//
// 2. Для вывода сообщения рядом с полем управляемой формы, связанным с реквизитом формы:
// ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
// НСтр(«ru = ‘Сообщение об ошибке.'»), ,
// «ИмяРеквизитаФормы»);
//
// 3. Для вывода сообщения связанного с объектом информационной базы
// ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
// НСтр(«ru = ‘Сообщение об ошибке.'»), ОбъектИнформационнойБазы, «Ответственный»,,Отказ);
//
// 4. Для вывода сообщения по ссылке на объект информационной базы
// ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
// НСтр(«ru = ‘Сообщение об ошибке.'»), Ссылка, , , Отказ);
//
// Случаи некорректного использования:
// 1. Передача одновременно параметров КлючДанных и ПутьКДанным
// 2. Передача в параметре КлючДанных значения типа отличного от допустимых
// 3. Установка ссылки без установки поля (и/или пути к данным)
//
Процедура СообщитьПользователю(
Знач ТекстСообщенияПользователю,
Знач КлючДанных = Неопределено,
Знач Поле = «»,
Знач ПутьКДанным = «»,
Отказ = Ложь) Экспорт
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = ТекстСообщенияПользователю;
Сообщение.Поле = Поле;
#Если НЕ (ТонкийКлиент ИЛИ ВебКлиент) Тогда
Если КлючДанных <> Неопределено
И XMLТипЗнч(КлючДанных) <> Неопределено Тогда
ТипЗначенияСтрокой = XMLТипЗнч(КлючДанных).ИмяТипа;
ЭтоОбъект = Найти(ТипЗначенияСтрокой, «Object.») > 0;
КонецЕсли;
#КонецЕсли
Если ЭтоОбъект Тогда
Сообщение.УстановитьДанные(КлючДанных);
Иначе
Сообщение.КлючДанных = КлючДанных;
КонецЕсли;
Если НЕ ПустаяСтрока(ПутьКДанным) Тогда
Сообщение.ПутьКДанным = ПутьКДанным;
КонецЕсли;
Источник
Привязка сообщения пользователю к элементу дерева значений (тонкий клент)
Нигде не могу найти ответ, как привязать СообщениеПользователю в 8.2 к элементу дерева значений на форме. По аналогии с таблицей значений (используя индекс) не получается. Кто-нить знает как это делается?
Как отключить в treeView развёртывание дерева при двойном клике по элементу дерева
Как отключить в treeView развёртывание дерева, при двойном клике по элементу дерева. нужно чтобы.
События JS. Привязка к элементу
Если мы устанавливаем обработчик события с помощью elem.addEventListener(‘click’, myFunc, true), то.
Привязка окошка к элементу из списка
нужно в combobox выбрать строчку и если щёлкнуть по ней, должно открыться окошко. Как это сделать?
Перетаскивание элементов на форме и привязка к элементу
На форме есть фигура (Bevel) и компонент PaintBox. Нужно сделать так, чтобы компонент PaintBox.
Только что была дискуссия по поводу таб.поля, содержащего дерево. Таб.поле в форме — это картинка. Индекс присутствует в данных типа Дерево. Свойство Строки.Строка.Строки.Строка.Строки. и т.д. Индекс от 0 до Строка.Строки.Количество()-1 или Дерево.Строки. Принцип ясен?
Да, дерево устроено именно так, как вы написали, т.е. это коллекция строк и колонок. Однако, мы имеем дело с управляемой формой, и все знают, что то, что на ней находится это не дерево, а «ДанныеФормыДерево», у которого нет свойства «Строки», поэтому такой вариант как например
МоёСообщение.Поле = «ДеревоЗон.Строки[2].Транспорт»;
не работает.
У него есть метод ПолучитьЭлементы(), который возвращает коллекцию строк верхнего уровня. Код вида
МоёСообщение.Поле = «ДеревоЗон.ПолучитьЭлементы()[2].Транспорт»;
выглядит очень криво, но на всякий случай я проверил — он конечно не сработал.
И. Как же быть. )))
Я не знаток тонкого Дерева. Ведь Вас интересует соответствие синенькой области на экране каким-то реальным данным, находящимся на сервере. Уверен, что такая связь есть. Должно же быть что-то, начинающееся со слова Текущие или Текущая. Гляньте в синт.пом. либо подождите тех, кто активно юзает тонкие деревья.
Добавлено через 1 минуту
а «ДеревоЗон.ПолучитьЭлементы()[2]» — даже если бы работало, откуда Вы взяли, что это именно 2?
Дерево с реальными данными не связано, да и как это вообще реализовать? Если, например, табличное поле может быть связано с табличной частью документа/справочника, то для дерева не уверен, что такая связь вообще возможна. Заполняется оно именно с помощью кода вида
СтрокаДерева = Дерево.ПолучитьЭлементы().Добавить();
СтрокаДерева.Свойство = КакоеТоСвойство;
и т.д.
Вот в случае с тонкой таблицей значений всё оч просто, даже если она просто реквизит формы типа ТаблицаЗначений и ни с чем не связана. Вот такой код работает:
МоёСообщение.Поле = «НиСЧемНеСвязаннаяТаблица[1].Номенклатура».
А с деревом так не проходит.
Отвечая на ваши вопросы:
1) Элементы.ДеревоЗон.ТекущиеДанные имеют тип «ДанныеФормыЭлементДерева» или вы не об этом?
2) В квадратных скобках может стоять любой индекс; 2 — это для примера и если в дереве есть 3 и больше строк верхнего уровня, сообщение должно привязаться, но нет.
3) Деревья как-то вообще крайне мало используются, так что людей, активно юзающих их, можно ждать до морковкина заговенья )))
Источник