Проект

Общее

Профиль

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

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

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 5 Всеволод Дорофеев
{{collapse
20 2 Всеволод Дорофеев
Вариант 1.
21 2 Всеволод Дорофеев
<pre>
22 2 Всеволод Дорофеев
ПоказатьОповещениеПользователя(
23 2 Всеволод Дорофеев
	НСтр("ru = 'Изменения не зарегистрированы.'")
24 2 Всеволод Дорофеев
	,,,
25 2 Всеволод Дорофеев
	БиблиотекаКартинок.Информация32);
26 2 Всеволод Дорофеев
</pre>
27 2 Всеволод Дорофеев
28 2 Всеволод Дорофеев
Вариант 2.
29 2 Всеволод Дорофеев
<pre>
30 2 Всеволод Дорофеев
    Сообщение = Новый СообщениеПользователю();
31 2 Всеволод Дорофеев
    Сообщение.Текст = "В строке 11 табличной части ""Номенклатура"" не хватает ";
32 2 Всеволод Дорофеев
    Сообщение.Поле = "Номенклатура";
33 2 Всеволод Дорофеев
34 2 Всеволод Дорофеев
    // Привязка объекта к реквизиту формы произойдет за счет
35 2 Всеволод Дорофеев
    // установленного выше по стеку соответствия методом
36 2 Всеволод Дорофеев
    // УстановитьСоответствиеОбъектаИРеквизитаФормы
37 2 Всеволод Дорофеев
    Сообщение.УстановитьДанные(ОбъектДанных);
38 2 Всеволод Дорофеев
    // Теперь у сообщения заполнено поле ПутьКДанным (установлено имя реквизита формы, до этого была пустая строка),
39 2 Всеволод Дорофеев
    // и свойство КлючДанных (установлена ссылка на документ, до этого было Неопределено)
40 2 Всеволод Дорофеев
41 2 Всеволод Дорофеев
    // Сообщение выводится пользователю
42 2 Всеволод Дорофеев
    Сообщение.Сообщить();	
43 2 Всеволод Дорофеев
</pre>
44 5 Всеволод Дорофеев
}}