Проект

Общее

Профиль

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

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

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