Проект

Общее

Профиль

Управляемые формы 1С » История » Версия 4

Всеволод Дорофеев, 31.01.2017 19:50

1 1 Всеволод Дорофеев
h1. Управляемые формы 1С
2 1 Всеволод Дорофеев
3 1 Всеволод Дорофеев
h3. Как программно удалить текущую строку из табличной части документа?
4 1 Всеволод Дорофеев
5 3 Всеволод Дорофеев
{{collapse
6 1 Всеволод Дорофеев
Для этого следует воспользоваться методом Удалить() того объекта, который является источником данных для табличной части документа. Например, для документа "ПриходнаяНакладная" с табличной частью "Товары" это будет объект ДокументТабличнаяЧасть.ПриходнаяНакладная.Товары. В модуле формы этого документа удаление текущей строки табличной части будет выглядеть следующим образом:
7 1 Всеволод Дорофеев
Копировать в буфер обмена
8 1 Всеволод Дорофеев
9 1 Всеволод Дорофеев
ДокументОбъект.Товары.Удалить(ЭлементыФормы.Товары.ТекущаяСтрока);
10 1 Всеволод Дорофеев
11 1 Всеволод Дорофеев
В качестве параметра метода Удалить() передается текущая строка табличной части.
12 1 Всеволод Дорофеев
13 1 Всеволод Дорофеев
Обратите внимание, что для удаления (как и для добавления) строк табличной части документа следует использовать методы табличной части (ДокументОбъект.Товары), а не методы табличного поля, отображающего эту табличную часть (ЭлементыФормы.Товары).
14 1 Всеволод Дорофеев
http://its.1c.ru/db/metod8dev/content/2481/hdoc
15 3 Всеволод Дорофеев
}}
16 4 Всеволод Дорофеев
17 2 Всеволод Дорофеев
h3. Замена "Сообщить()"
18 2 Всеволод Дорофеев
19 2 Всеволод Дорофеев
Вариант 1.
20 2 Всеволод Дорофеев
<pre>
21 2 Всеволод Дорофеев
ПоказатьОповещениеПользователя(
22 2 Всеволод Дорофеев
	НСтр("ru = 'Изменения не зарегистрированы.'")
23 2 Всеволод Дорофеев
	,,,
24 2 Всеволод Дорофеев
	БиблиотекаКартинок.Информация32);
25 2 Всеволод Дорофеев
</pre>
26 2 Всеволод Дорофеев
27 2 Всеволод Дорофеев
Вариант 2.
28 2 Всеволод Дорофеев
<pre>
29 2 Всеволод Дорофеев
    Сообщение = Новый СообщениеПользователю();
30 2 Всеволод Дорофеев
    Сообщение.Текст = "В строке 11 табличной части ""Номенклатура"" не хватает ";
31 2 Всеволод Дорофеев
    Сообщение.Поле = "Номенклатура";
32 2 Всеволод Дорофеев
33 2 Всеволод Дорофеев
    // Привязка объекта к реквизиту формы произойдет за счет
34 2 Всеволод Дорофеев
    // установленного выше по стеку соответствия методом
35 2 Всеволод Дорофеев
    // УстановитьСоответствиеОбъектаИРеквизитаФормы
36 2 Всеволод Дорофеев
    Сообщение.УстановитьДанные(ОбъектДанных);
37 2 Всеволод Дорофеев
    // Теперь у сообщения заполнено поле ПутьКДанным (установлено имя реквизита формы, до этого была пустая строка),
38 2 Всеволод Дорофеев
    // и свойство КлючДанных (установлена ссылка на документ, до этого было Неопределено)
39 2 Всеволод Дорофеев
40 2 Всеволод Дорофеев
    // Сообщение выводится пользователю
41 2 Всеволод Дорофеев
    Сообщение.Сообщить();	
42 2 Всеволод Дорофеев
</pre>