19 февр. 2016 г.

Сообщение пользователю 1С

Понадобилось при разработке управляемой формы уведомить пользователя не только сообщением о ошибке, а и указать на поле где содержит ошибка? Для этих целей подойдет объект СообщениеПользователю.
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Обрати внимание!";
если на клиенте
Сообщение.Поле = "Объект.Контрагент";
Сообщение.Сообщить();
или
Сообщение.Поле = "Контрагент";
Сообщение.ПутьКДанным= "Объект";
Сообщение.Сообщить();
если на сервере
Сообщение.Поле = "Контрагент";
Сообщение.УстановитьДанные(РеквизитФормыВЗначение("Объект"));
Сообщение.Сообщить();
или
Сообщение.Поле = "Контрагент";
Сообщение.ПутьКДанным = "Объект"; // нюанс в том, что на сервере очень часто не известно, что такое "Объект" поэтому лучше использовать .УстановитьДанные()
Сообщение.Сообщить();
А вот пример где нужно указать на поле в Табличной части
Объект.Запасы – Табличная часть
Номенклатура – поле, на которое хочу установить активность
Индекс  - в данном случаи нужно обращаться по индексу, а не по Номеру строки
Для Каждого Строка Из Объект.Запасы Цикл 
  Сообщение = Новый СообщениеПользователю;
   Индекс = Объект.Запасы.Индекс(Строка);
   Сообщение.Текст = "Пользователь, обрати внимание "+Строка.Номенклатура+" на это поле";
   Сообщение.Поле = "Объект.Запасы["+Индекс+"-1].Номенклатура";
   Сообщение.Сообщить();
КонецЦикла;

9 февр. 2016 г.

Программное удаление реквизитов и элементов формы

Например, есть на управляемой форме программно добавленные реквизиты и соответственно элементы формы (колонки). Программным методотом нужно эти реквизиты и элементы формы удалить.
УдаляемыеРеквизитыТЗ = Новый Массив;
ТЗ = СтрокиРабочийТабель.Выгрузить();  // СтрокиРабочийТабель – это ТаблицаЗначений на форме
УдаляемыеРеквизитыТЗ.Добавить(СтрокиРабочийТабель.Линия1);  // добавляемв массив сначала реквизиты, который нужно удалить
Элементы.Удалить(Элементы[Линия1]);  // теперь добавляем в массив элементы формы, которые нужно удалить
ЭтаФорма.ИзменитьРеквизиты(, УдаляемыеРеквизитыТЗ);  //  непосредственное удаление реквизитов с помощью метода управляемой формы
 

CopyPaste Copyright © 2017 - |- Шаблон создан O Pregador - |- Отредактирован myr4ik07