Управляемые формы 1С » История » Версия 9
Всеволод Дорофеев, 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 | 9 | Всеволод Дорофеев | h3. 3. Открытие управляемой формы не записанного документа в 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> |