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