Управляемые формы 1С » История » Версия 2
Версия 1 (Всеволод Дорофеев, 31.01.2017 19:44) → Версия 2/42 (Всеволод Дорофеев, 31.01.2017 19:47)
h1. Управляемые формы 1С
h3. Как программно удалить текущую строку из табличной части документа?
Для этого следует воспользоваться методом Удалить() того объекта, который является источником данных для табличной части документа. Например, для документа "ПриходнаяНакладная" с табличной частью "Товары" это будет объект ДокументТабличнаяЧасть.ПриходнаяНакладная.Товары. В модуле формы этого документа удаление текущей строки табличной части будет выглядеть следующим образом:
Копировать в буфер обмена
ДокументОбъект.Товары.Удалить(ЭлементыФормы.Товары.ТекущаяСтрока);
В качестве параметра метода Удалить() передается текущая строка табличной части.
Обратите внимание, что для удаления (как и для добавления) строк табличной части документа следует использовать методы табличной части (ДокументОбъект.Товары), а не методы табличного поля, отображающего эту табличную часть (ЭлементыФормы.Товары).
http://its.1c.ru/db/metod8dev/content/2481/hdoc
h3. Замена "Сообщить()"
Вариант 1.
<pre>
ПоказатьОповещениеПользователя(
НСтр("ru = 'Изменения не зарегистрированы.'")
,,,
БиблиотекаКартинок.Информация32);
</pre>
Вариант 2.
<pre>
Сообщение = Новый СообщениеПользователю();
Сообщение.Текст = "В строке 11 табличной части ""Номенклатура"" не хватает ";
Сообщение.Поле = "Номенклатура";
// Привязка объекта к реквизиту формы произойдет за счет
// установленного выше по стеку соответствия методом
// УстановитьСоответствиеОбъектаИРеквизитаФормы
Сообщение.УстановитьДанные(ОбъектДанных);
// Теперь у сообщения заполнено поле ПутьКДанным (установлено имя реквизита формы, до этого была пустая строка),
// и свойство КлючДанных (установлена ссылка на документ, до этого было Неопределено)
// Сообщение выводится пользователю
Сообщение.Сообщить();
</pre>
h3. Как программно удалить текущую строку из табличной части документа?
Для этого следует воспользоваться методом Удалить() того объекта, который является источником данных для табличной части документа. Например, для документа "ПриходнаяНакладная" с табличной частью "Товары" это будет объект ДокументТабличнаяЧасть.ПриходнаяНакладная.Товары. В модуле формы этого документа удаление текущей строки табличной части будет выглядеть следующим образом:
Копировать в буфер обмена
ДокументОбъект.Товары.Удалить(ЭлементыФормы.Товары.ТекущаяСтрока);
В качестве параметра метода Удалить() передается текущая строка табличной части.
Обратите внимание, что для удаления (как и для добавления) строк табличной части документа следует использовать методы табличной части (ДокументОбъект.Товары), а не методы табличного поля, отображающего эту табличную часть (ЭлементыФормы.Товары).
http://its.1c.ru/db/metod8dev/content/2481/hdoc
h3. Замена "Сообщить()"
Вариант 1.
<pre>
ПоказатьОповещениеПользователя(
НСтр("ru = 'Изменения не зарегистрированы.'")
,,,
БиблиотекаКартинок.Информация32);
</pre>
Вариант 2.
<pre>
Сообщение = Новый СообщениеПользователю();
Сообщение.Текст = "В строке 11 табличной части ""Номенклатура"" не хватает ";
Сообщение.Поле = "Номенклатура";
// Привязка объекта к реквизиту формы произойдет за счет
// установленного выше по стеку соответствия методом
// УстановитьСоответствиеОбъектаИРеквизитаФормы
Сообщение.УстановитьДанные(ОбъектДанных);
// Теперь у сообщения заполнено поле ПутьКДанным (установлено имя реквизита формы, до этого была пустая строка),
// и свойство КлючДанных (установлена ссылка на документ, до этого было Неопределено)
// Сообщение выводится пользователю
Сообщение.Сообщить();
</pre>