Управляемые формы 1С » История » Версия 8
Всеволод Дорофеев, 12.02.2017 12:49
1 | 1 | Всеволод Дорофеев | h1. Управляемые формы 1С |
---|---|---|---|
2 | 1 | Всеволод Дорофеев | |
3 | 6 | Всеволод Дорофеев | h3. 1. Как программно удалить текущую строку из табличной части документа? |
4 | 3 | Всеволод Дорофеев | |
5 | 1 | Всеволод Дорофеев | Для этого следует воспользоваться методом Удалить() того объекта, который является источником данных для табличной части документа. Например, для документа "ПриходнаяНакладная" с табличной частью "Товары" это будет объект ДокументТабличнаяЧасть.ПриходнаяНакладная.Товары. В модуле формы этого документа удаление текущей строки табличной части будет выглядеть следующим образом: |
6 | 1 | Всеволод Дорофеев | |
7 | 7 | Всеволод Дорофеев | <pre> |
8 | 1 | Всеволод Дорофеев | ДокументОбъект.Товары.Удалить(ЭлементыФормы.Товары.ТекущаяСтрока); |
9 | 7 | Всеволод Дорофеев | </pre> |
10 | 1 | Всеволод Дорофеев | |
11 | 1 | Всеволод Дорофеев | В качестве параметра метода Удалить() передается текущая строка табличной части. |
12 | 1 | Всеволод Дорофеев | |
13 | 1 | Всеволод Дорофеев | Обратите внимание, что для удаления (как и для добавления) строк табличной части документа следует использовать методы табличной части (ДокументОбъект.Товары), а не методы табличного поля, отображающего эту табличную часть (ЭлементыФормы.Товары). |
14 | 1 | Всеволод Дорофеев | http://its.1c.ru/db/metod8dev/content/2481/hdoc |
15 | 4 | Всеволод Дорофеев | |
16 | 6 | Всеволод Дорофеев | h3. 2. Замена "Сообщить()" |
17 | 5 | Всеволод Дорофеев | |
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 | 5 | Всеволод Дорофеев | </pre> |
42 | 8 | Всеволод Дорофеев | |
43 | 8 | Всеволод Дорофеев | h3. Открытие управляемой формы не записанного документа в 1С 8.2/8.3 |
44 | 8 | Всеволод Дорофеев | |
45 | 8 | Всеволод Дорофеев | <pre> |
46 | 8 | Всеволод Дорофеев | &НаКлиенте |
47 | 8 | Всеволод Дорофеев | Процедура КомандаОткрытьФорму(Команда) |
48 | 8 | Всеволод Дорофеев | Форма = ПолучитьФорму("Справочник.Пользователи.ФормаОбъекта"); |
49 | 8 | Всеволод Дорофеев | ДанныеФормы = Форма.Объект; |
50 | 8 | Всеволод Дорофеев | ЗаполнитьНаСервере(ДанныеФормы); |
51 | 8 | Всеволод Дорофеев | КопироватьДанныеФормы(ДанныеФормы, Форма.Объект); |
52 | 8 | Всеволод Дорофеев | Форма.Открыть(); |
53 | 8 | Всеволод Дорофеев | КонецПроцедуры |
54 | 8 | Всеволод Дорофеев | |
55 | 8 | Всеволод Дорофеев | &НаСервереБезКонтекста |
56 | 8 | Всеволод Дорофеев | Процедура ЗаполнитьНаСервере(НовыйОбъект); |
57 | 8 | Всеволод Дорофеев | НовыйОбъект.Наименование = "Новый элемент"; |
58 | 8 | Всеволод Дорофеев | Для К=1 По 100 Цикл |
59 | 8 | Всеволод Дорофеев | НоваяСтрока = НовыйОбъект.ТЧ.Добавить(); |
60 | 8 | Всеволод Дорофеев | НоваяСтрока.РеквизитТЧ = К; |
61 | 8 | Всеволод Дорофеев | КонецЦикла; |
62 | 8 | Всеволод Дорофеев | КонецПроцедуры |
63 | 8 | Всеволод Дорофеев | </pre> |