Проект

Общее

Профиль

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

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

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