Проект

Общее

Профиль

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

Всеволод Дорофеев, 28.08.2025 13:49

1 1 Всеволод Дорофеев
h1. Управляемые формы 1С
2 1 Всеволод Дорофеев
3 22 Всеволод Дорофеев
{{TOC}}
4 22 Всеволод Дорофеев
5 6 Всеволод Дорофеев
h3. 1. Как программно удалить текущую строку из табличной части документа?
6 3 Всеволод Дорофеев
7 1 Всеволод Дорофеев
Для этого следует воспользоваться методом Удалить() того объекта, который является источником данных для табличной части документа. Например, для документа "ПриходнаяНакладная" с табличной частью "Товары" это будет объект ДокументТабличнаяЧасть.ПриходнаяНакладная.Товары. В модуле формы этого документа удаление текущей строки табличной части будет выглядеть следующим образом:
8 1 Всеволод Дорофеев
9 7 Всеволод Дорофеев
<pre>
10 1 Всеволод Дорофеев
ДокументОбъект.Товары.Удалить(ЭлементыФормы.Товары.ТекущаяСтрока);
11 7 Всеволод Дорофеев
</pre>
12 1 Всеволод Дорофеев
13 1 Всеволод Дорофеев
В качестве параметра метода Удалить() передается текущая строка табличной части.
14 1 Всеволод Дорофеев
15 1 Всеволод Дорофеев
Обратите внимание, что для удаления (как и для добавления) строк табличной части документа следует использовать методы табличной части (ДокументОбъект.Товары), а не методы табличного поля, отображающего эту табличную часть (ЭлементыФормы.Товары).
16 1 Всеволод Дорофеев
http://its.1c.ru/db/metod8dev/content/2481/hdoc
17 4 Всеволод Дорофеев
18 6 Всеволод Дорофеев
h3. 2. Замена "Сообщить()"
19 5 Всеволод Дорофеев
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 37 Всеволод Дорофеев
30 37 Всеволод Дорофеев
31 2 Всеволод Дорофеев
<pre>
32 37 Всеволод Дорофеев
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
33 37 Всеволод Дорофеев
			"Ошибка получения курса",
34 37 Всеволод Дорофеев
			Объект.Ссылка,
35 37 Всеволод Дорофеев
			"СТП_КурсВалютыЗаказа", // Поле
36 37 Всеволод Дорофеев
			"Объект",
37 37 Всеволод Дорофеев
			);
38 37 Всеволод Дорофеев
</pre>
39 37 Всеволод Дорофеев
40 37 Всеволод Дорофеев
41 37 Всеволод Дорофеев
<pre>
42 2 Всеволод Дорофеев
    Сообщение = Новый СообщениеПользователю();
43 2 Всеволод Дорофеев
    Сообщение.Текст = "В строке 11 табличной части ""Номенклатура"" не хватает ";
44 2 Всеволод Дорофеев
    Сообщение.Поле = "Номенклатура";
45 2 Всеволод Дорофеев
46 2 Всеволод Дорофеев
    // Привязка объекта к реквизиту формы произойдет за счет
47 2 Всеволод Дорофеев
    // установленного выше по стеку соответствия методом
48 2 Всеволод Дорофеев
    // УстановитьСоответствиеОбъектаИРеквизитаФормы
49 2 Всеволод Дорофеев
    Сообщение.УстановитьДанные(ОбъектДанных);
50 2 Всеволод Дорофеев
    // Теперь у сообщения заполнено поле ПутьКДанным (установлено имя реквизита формы, до этого была пустая строка),
51 2 Всеволод Дорофеев
    // и свойство КлючДанных (установлена ссылка на документ, до этого было Неопределено)
52 2 Всеволод Дорофеев
53 2 Всеволод Дорофеев
    // Сообщение выводится пользователю
54 2 Всеволод Дорофеев
    Сообщение.Сообщить();	
55 5 Всеволод Дорофеев
</pre>
56 37 Всеволод Дорофеев
57 37 Всеволод Дорофеев
58 8 Всеволод Дорофеев
59 9 Всеволод Дорофеев
h3. 3. Открытие управляемой формы не записанного документа в 1С 8.2/8.3
60 8 Всеволод Дорофеев
61 8 Всеволод Дорофеев
<pre>
62 8 Всеволод Дорофеев
&НаКлиенте
63 8 Всеволод Дорофеев
Процедура КомандаОткрытьФорму(Команда)
64 8 Всеволод Дорофеев
	Форма = ПолучитьФорму("Справочник.Пользователи.ФормаОбъекта");
65 8 Всеволод Дорофеев
	ДанныеФормы = Форма.Объект;
66 8 Всеволод Дорофеев
	ЗаполнитьНаСервере(ДанныеФормы);
67 8 Всеволод Дорофеев
	КопироватьДанныеФормы(ДанныеФормы, Форма.Объект);
68 8 Всеволод Дорофеев
	Форма.Открыть();
69 8 Всеволод Дорофеев
КонецПроцедуры
70 8 Всеволод Дорофеев
71 8 Всеволод Дорофеев
&НаСервереБезКонтекста
72 8 Всеволод Дорофеев
Процедура ЗаполнитьНаСервере(НовыйОбъект);
73 8 Всеволод Дорофеев
        НовыйОбъект.Наименование = "Новый элемент";
74 8 Всеволод Дорофеев
	Для К=1 По 100 Цикл
75 8 Всеволод Дорофеев
	 	НоваяСтрока = НовыйОбъект.ТЧ.Добавить();
76 8 Всеволод Дорофеев
		НоваяСтрока.РеквизитТЧ = К;
77 8 Всеволод Дорофеев
	КонецЦикла; 
78 8 Всеволод Дорофеев
КонецПроцедуры
79 8 Всеволод Дорофеев
</pre>
80 10 Всеволод Дорофеев
81 35 Всеволод Дорофеев
82 35 Всеволод Дорофеев
h3. 5. Открытие управляемой формы объекта в 1С 8.2/8.3
83 35 Всеволод Дорофеев
84 36 Всеволод Дорофеев
#ОткрытьФорму, #ПолучитьФорму
85 36 Всеволод Дорофеев
86 35 Всеволод Дорофеев
<pre>
87 35 Всеволод Дорофеев
СсылкаНаЭлементСправочника = Элементы.Список.ТекущаяСтрока;
88 1 Всеволод Дорофеев
ПараметрыФормы = Новый Структура("Ключ", СсылкаНаЭлементСправочника);
89 36 Всеволод Дорофеев
ОткрытьФорму("Справочник.Организации.Форма.УниверсальнаяФормаОбъекта", ПараметрыФормы);
90 35 Всеволод Дорофеев
</pre>
91 35 Всеволод Дорофеев
92 35 Всеволод Дорофеев
h3.  5. Передача параметров в управляемых формах
93 10 Всеволод Дорофеев
94 10 Всеволод Дорофеев
Параметры передаются в виде структуры:
95 10 Всеволод Дорофеев
96 10 Всеволод Дорофеев
<pre>
97 10 Всеволод Дорофеев
Параметры = Новый Структура("ТекущееЗначение",ПоследнийЭлемент);
98 10 Всеволод Дорофеев
ФормаВыбора = ПолучитьФорму("Справочник.Номенклатура.ФормаВыбора",Параметры);
99 10 Всеволод Дорофеев
НайденыйЭлемент = ФормаВыбора.ОткрытьМодально();
100 10 Всеволод Дорофеев
</pre>
101 10 Всеволод Дорофеев
102 10 Всеволод Дорофеев
Также у управляемой формы появились «расширения формы» (объект, справочник, документ, отчет). В зависимости от типа объекта определяется состав доступных параметров.  Например, если в форме выбора справочника нужно позиционироваться на определенном элементе, то используется параметр «ТекущееЗначение». Большим плюсом является, что в самой форме не требуется писать обработчиков для предопределенных параметров, сокращает количество кода.
103 10 Всеволод Дорофеев
104 10 Всеволод Дорофеев
Также у разработчика появилась возможность определять свои параметры (в конструкторе управляемой формы вкладка «Параметры»). Время жизни параметров ограничено обработчиком ПриСозданииНаСервере, что логично т.к. параметры требуются только при создании формы, но если данный параметр определяет уникальность формы (установлен флаг «ключевой параметр» в свойствах параметра) он будет доступен и в других обработчиках.
105 10 Всеволод Дорофеев
106 10 Всеволод Дорофеев
Для передачи специфического параметра манипуляций требуется сделать немного больше:
107 10 Всеволод Дорофеев
108 10 Всеволод Дорофеев
1. Определить в управляемой форме параметр.
109 10 Всеволод Дорофеев
110 10 Всеволод Дорофеев
В обработчике ПриСозданииНаСервере определить обработку данного параметра (обращение к переданным параметрам через свойство «Параметры», имеющее тип ДанныеФормыСтруктура)
111 10 Всеволод Дорофеев
112 10 Всеволод Дорофеев
1. Описать получение формы и передать значение нового параметра в параметрах функции ПолучитьФорму.
113 10 Всеволод Дорофеев
114 10 Всеволод Дорофеев
Таким образом код будет иметь вид:
115 10 Всеволод Дорофеев
116 10 Всеволод Дорофеев
В месте получения формы 
117 10 Всеволод Дорофеев
<pre>
118 10 Всеволод Дорофеев
Параметры = Новый Структура("НовыйПараметр",ПоследнийЭлемент);
119 10 Всеволод Дорофеев
ФормаВыбора = ПолучитьФорму("Справочник.Номенклатура.ФормаВыбора",Параметры);
120 10 Всеволод Дорофеев
</pre>
121 10 Всеволод Дорофеев
122 10 Всеволод Дорофеев
В модуле управляемой формы  
123 10 Всеволод Дорофеев
<pre>
124 10 Всеволод Дорофеев
&НаСервере
125 10 Всеволод Дорофеев
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
126 10 Всеволод Дорофеев
    Если Параметры.Свойство("НовыйПараметр") Тогда
127 10 Всеволод Дорофеев
        // здесь код обработки параметра
128 10 Всеволод Дорофеев
    КонецЕсли;
129 10 Всеволод Дорофеев
КонецПроцедуры
130 10 Всеволод Дорофеев
</pre>
131 11 Всеволод Дорофеев
132 12 Всеволод Дорофеев
h3. 4. Отбор в таблице значений, расположенной на форме 
133 11 Всеволод Дорофеев
134 11 Всеволод Дорофеев
Например, отбор строк в подчиненной таблице при смене "Владельца" в основной таблице
135 11 Всеволод Дорофеев
<pre>
136 11 Всеволод Дорофеев
&НаКлиенте
137 11 Всеволод Дорофеев
Процедура ИсходнаяНоменклатураПриАктивизацииСтроки(Элемент)
138 11 Всеволод Дорофеев
	
139 11 Всеволод Дорофеев
	Структура = Новый Структура("ИсходнаяНоменклатура", Элементы["ИсходнаяНоменклатура"].ТекущиеДанные.Номенклатура);
140 11 Всеволод Дорофеев
	НовыйОтбор = Новый ФиксированнаяСтруктура(Структура);
141 11 Всеволод Дорофеев
	Элементы["НоваяНоменклатура"].ОтборСтрок=НовыйОтбор;
142 11 Всеволод Дорофеев
143 11 Всеволод Дорофеев
КонецПроцедуры
144 11 Всеволод Дорофеев
145 11 Всеволод Дорофеев
</pre>
146 13 Всеволод Дорофеев
147 13 Всеволод Дорофеев
h3. Вопрос в управляемых формах
148 13 Всеволод Дорофеев
149 13 Всеволод Дорофеев
Замена функции "Вопрос(...)"
150 13 Всеволод Дорофеев
151 13 Всеволод Дорофеев
<pre>
152 13 Всеволод Дорофеев
&НаКлиенте
153 13 Всеволод Дорофеев
Процедура ЗадатьВопрос(Команда)
154 13 Всеволод Дорофеев
	
155 13 Всеволод Дорофеев
	ПоказатьВопрос(Новый ОписаниеОповещения("ОбработкаОтветаЗавершение", ЭтотОбъект), "Табличная часть будет очищена. Продолжить?", РежимДиалогаВопрос.ДаНет);
156 13 Всеволод Дорофеев
157 13 Всеволод Дорофеев
КонецПроцедуры
158 13 Всеволод Дорофеев
159 13 Всеволод Дорофеев
&НаКлиенте
160 13 Всеволод Дорофеев
Процедура ОбработкаОтветаЗавершение(РезультатВопроса, ДополнительныеПараметры) Экспорт
161 13 Всеволод Дорофеев
	
162 13 Всеволод Дорофеев
	Ответ = РезультатВопроса;
163 13 Всеволод Дорофеев
	
164 13 Всеволод Дорофеев
	Если Ответ <> КодВозвратаДиалога.Да Тогда
165 13 Всеволод Дорофеев
		
166 13 Всеволод Дорофеев
		Возврат;
167 13 Всеволод Дорофеев
		
168 13 Всеволод Дорофеев
	КонецЕсли;
169 13 Всеволод Дорофеев
	
170 13 Всеволод Дорофеев
	//Выполнение действий на положительный ответ
171 13 Всеволод Дорофеев
	
172 13 Всеволод Дорофеев
КонецПроцедуры
173 13 Всеволод Дорофеев
174 13 Всеволод Дорофеев
</pre>
175 14 Всеволод Дорофеев
176 14 Всеволод Дорофеев
h3. Подключение внешней компоненты из макета внешней обработки
177 14 Всеволод Дорофеев
178 14 Всеволод Дорофеев
Стандартное подключение макета из встроенной обработки:
179 14 Всеволод Дорофеев
<pre>
180 14 Всеволод Дорофеев
ПодключениеВыполнено = ПодключитьВнешнююКомпоненту("Обработка.ВстроеннаяОбработка.Макет.КомпонентаПечатиШтрихкодовLinux64", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native);
181 14 Всеволод Дорофеев
</pre>
182 14 Всеволод Дорофеев
183 14 Всеволод Дорофеев
Подключение внешней компоненты из макета внешней обработки
184 14 Всеволод Дорофеев
<pre>
185 14 Всеволод Дорофеев
ПодключениеВыполнено = ПодключитьВнешнююКомпоненту(ПоместитьВоВременноеХранилище(ПолучитьМакет("КомпонентаПечатиШтрихкодовLinux64")), "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native);
186 14 Всеволод Дорофеев
</pre>
187 15 Всеволод Дорофеев
188 15 Всеволод Дорофеев
h3. Методы ПоместитьВоВременноеХранилище и ПолучитьИзВременногоХранилища
189 15 Всеволод Дорофеев
190 15 Всеволод Дорофеев
источник http://catalog.mista.ru/public/198766/
191 15 Всеволод Дорофеев
192 15 Всеволод Дорофеев
Временное хранилище – секретное оружие
193 15 Всеволод Дорофеев
194 15 Всеволод Дорофеев
При работе с управляемыми формами быстро становится ясно, что ограничения клиент-серверного взаимодействия очень сильно сужают возможности разработчика. Поэтому, платформа 1С предоставляет хитрый секретный ход под названием «ВременноеХранилище». Эта сущность позволяет сохранить на сервере некоторое состояние между двумя серверными вызовами. Я слышу возгласы: «А кто сказал, что состояние нельзя хранить!» Справедливое замечание, состояние хранить все-таки можно, но недолго.
195 15 Всеволод Дорофеев
196 15 Всеволод Дорофеев
Временное хранилище позволяет оставить на сервере некоторые данные, а вместо них получить короткую строку – адрес временного хранилища. Этот адрес можно передать на клиента, там он будет спокойно лежать, а когда понадобятся данные из хранилища, то мы по этому адресу сможем их получить.
197 15 Всеволод Дорофеев
198 15 Всеволод Дорофеев
Для работы со временным хранилищем используются методы ПоместитьВоВременноеХранилище и ПолучитьИзВременногоХранилища.
199 15 Всеволод Дорофеев
200 15 Всеволод Дорофеев
С методом «Получить» все просто, он по заданному адресу возвращает значение, которое лежит в хранилище.
201 15 Всеволод Дорофеев
202 15 Всеволод Дорофеев
С методом «Поместить» несколько сложнее. Дело в том, что помещать можно в 2 разных хранилища – простое и хранилище формы. Хранилище формы живет на сервере столько, сколько живет сама форма. Простое хранилище живет ровно 2 серверных вызова. В синтакс-помощнике об этом написано целых несколько умных строк. Я никогда не понимал, что они означают. Опытным путем было установлено, что срок жизни – 2 серверных вызова.
203 15 Всеволод Дорофеев
204 15 Всеволод Дорофеев
    Первый – мы помещаем что-то в хранилище и возвращаем адрес на клиента.
205 15 Всеволод Дорофеев
    Клиент делает второй вызов и по этому адресу может получить данные.
206 15 Всеволод Дорофеев
    В третьем вызове по этому адресу уже ничего не будет. Платформа очистит хранилище
207 15 Всеволод Дорофеев
208 15 Всеволод Дорофеев
С хранилищем формы ситуация более интересная. Если вторым параметром метода «ПоместитьВоВременноеХранилище» передать идентификатор формы (ЭтаФорма.УникальныйИдентификатор), то данные в хранилище будут привязаны к сроку жизни формы и не будут удалятся ни в первых, ни во вторых, ни во всех прочих вызовах сервера.
209 15 Всеволод Дорофеев
210 15 Всеволод Дорофеев
Таким образом, временное хранилище, это еще одно место, в котором (помимо реквизитов формы) можно сохранять состояние на сервере. Причем, в хранилище можно хранить даже данные, которые на клиенте недоступны, а стало быть, в реквизитах формы их разместить нельзя.
211 16 Всеволод Дорофеев
212 27 Всеволод Дорофеев
h3. Динамический список. Обработка выделенных строк
213 16 Всеволод Дорофеев
214 16 Всеволод Дорофеев
<pre>
215 16 Всеволод Дорофеев
   Для каждого Эл из Элементы.СписокСпецификаций.ВыделенныеСтроки Цикл
216 16 Всеволод Дорофеев
        Сообщить(Элементы.СписокСпецификаций.ДанныеСтроки(Эл).СпецификацияСсылка);
217 1 Всеволод Дорофеев
    КонецЦикла; 	
218 20 Всеволод Дорофеев
</pre>
219 20 Всеволод Дорофеев
220 20 Всеволод Дорофеев
<pre>
221 20 Всеволод Дорофеев
	МассивСтрок = Новый Массив;
222 20 Всеволод Дорофеев
	Для Каждого Строка Из Элементы.Товары.ВыделенныеСтроки Цикл
223 20 Всеволод Дорофеев
		МассивСтрок.Добавить(Объект.Товары.НайтиПоИдентификатору(Строка));
224 1 Всеволод Дорофеев
	КонецЦикла;
225 27 Всеволод Дорофеев
226 27 Всеволод Дорофеев
</pre>
227 27 Всеволод Дорофеев
228 43 Всеволод Дорофеев
<pre>
229 44 Всеволод Дорофеев
&НаСервереБезКонтекста
230 43 Всеволод Дорофеев
Процедура ДобавитьВСоглашениеНаСервере(Соглашение, МассивСтрок)
231 43 Всеволод Дорофеев
	
232 43 Всеволод Дорофеев
	СоглашениеОбъект = Соглашение.ПолучитьОбъект();
233 43 Всеволод Дорофеев
	
234 43 Всеволод Дорофеев
	Для каждого стр из МассивСтрок Цикл
235 43 Всеволод Дорофеев
		Если СоглашениеОбъект.Товары.Найти(Стр.Номенклатура, "Номенклатура") = Неопределено Тогда
236 43 Всеволод Дорофеев
			НоваяСтрока = СоглашениеОбъект.Товары.Добавить();
237 43 Всеволод Дорофеев
			НоваяСтрока.ВидЦены = СоглашениеОбъект.ВидЦен;
238 43 Всеволод Дорофеев
			ЗаполнитьЗначенияСвойств(НоваяСтрока, Стр);
239 43 Всеволод Дорофеев
		КонецЕсли;
240 43 Всеволод Дорофеев
	КонецЦикла;
241 43 Всеволод Дорофеев
	
242 43 Всеволод Дорофеев
	СоглашениеОбъект.Записать();
243 43 Всеволод Дорофеев
	
244 43 Всеволод Дорофеев
КонецПроцедуры
245 43 Всеволод Дорофеев
246 43 Всеволод Дорофеев
&НаКлиенте
247 43 Всеволод Дорофеев
Процедура ДобавитьВСоглашение(Команда)
248 43 Всеволод Дорофеев
	
249 43 Всеволод Дорофеев
	МассивСтрок = Новый Массив;
250 43 Всеволод Дорофеев
	
251 43 Всеволод Дорофеев
	Для каждого Эл из Элементы.Список.ВыделенныеСтроки Цикл 
252 43 Всеволод Дорофеев
		МассивСтрок.Добавить(Новый Структура("Номенклатура, Упаковка", Элементы.Список.ДанныеСтроки(Эл).Номенклатура, Элементы.Список.ДанныеСтроки(Эл).Упаковка));
253 43 Всеволод Дорофеев
	КонецЦикла;
254 43 Всеволод Дорофеев
	
255 43 Всеволод Дорофеев
    ДобавитьВСоглашениеНаСервере(Соглашение, МассивСтрок);
256 43 Всеволод Дорофеев
	
257 43 Всеволод Дорофеев
КонецПроцедуры
258 43 Всеволод Дорофеев
259 43 Всеволод Дорофеев
</pre>
260 43 Всеволод Дорофеев
261 27 Всеволод Дорофеев
h3. Динамический список. Отбор в динамическом списке при открытии.
262 27 Всеволод Дорофеев
263 27 Всеволод Дорофеев
https://its.1c.ru/db/metod8dev/content/3557/hdoc
264 27 Всеволод Дорофеев
265 27 Всеволод Дорофеев
<pre>
266 27 Всеволод Дорофеев
267 27 Всеволод Дорофеев
&НаКлиенте
268 27 Всеволод Дорофеев
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
269 27 Всеволод Дорофеев
270 27 Всеволод Дорофеев
	ЗначениеОтбора = Новый Структура("СерияНоменклатуры", ПараметрКоманды);
271 27 Всеволод Дорофеев
	ПараметрыФормы = Новый Структура("Отбор", ЗначениеОтбора);
272 27 Всеволод Дорофеев
	
273 27 Всеволод Дорофеев
	ОткрытьФорму("РегистрСведений.ксРезультатыПроверкиКачестваСерийНоменклатуры.Форма.ФормаРезультатыПроверкиКачестваСерииНоменклатуры", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно, ПараметрыВыполненияКоманды.НавигационнаяСсылка);
274 27 Всеволод Дорофеев
	
275 27 Всеволод Дорофеев
КонецПроцедуры
276 20 Всеволод Дорофеев
277 16 Всеволод Дорофеев
</pre>
278 17 Всеволод Дорофеев
279 17 Всеволод Дорофеев
h3. Выделение строк в таблице на форме
280 17 Всеволод Дорофеев
281 17 Всеволод Дорофеев
<pre>
282 17 Всеволод Дорофеев
	Для каждого стр из ФормаДокумента.Объект.ОбеспечениеМатериаламиИРаботами Цикл
283 17 Всеволод Дорофеев
		ФормаДокумента.Элементы.ОбеспечениеМатериаламиИРаботами.ВыделенныеСтроки.Добавить(стр.Получитьидентификатор());                
284 17 Всеволод Дорофеев
	КонецЦикла;
285 17 Всеволод Дорофеев
</pre>
286 18 Всеволод Дорофеев
287 18 Всеволод Дорофеев
h3. Как при открытии формы определить, что создается новый элемент?
288 18 Всеволод Дорофеев
289 18 Всеволод Дорофеев
Проверять можно в обработчике события *ОбработкаЗаполнения*. Это событие возникает только при создании новых объектов.
290 18 Всеволод Дорофеев
291 18 Всеволод Дорофеев
Или в *ПриСозданииНаСервере*
292 18 Всеволод Дорофеев
293 18 Всеволод Дорофеев
https://its.1c.ru/db/metod8dev/content/3545/hdoc
294 18 Всеволод Дорофеев
<pre>
295 18 Всеволод Дорофеев
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
296 18 Всеволод Дорофеев
297 18 Всеволод Дорофеев
    Если Параметры.Ключ.Пустая() Тогда
298 18 Всеволод Дорофеев
299 18 Всеволод Дорофеев
      Сообщить("Создается новый объект");
300 18 Всеволод Дорофеев
301 18 Всеволод Дорофеев
    КонецЕсли;
302 18 Всеволод Дорофеев
303 18 Всеволод Дорофеев
КонецПроцедуры 
304 18 Всеволод Дорофеев
</pre>
305 19 Всеволод Дорофеев
306 19 Всеволод Дорофеев
307 19 Всеволод Дорофеев
h3. Как выполнить экспортируемую процедуру объекта, находясь в его форме
308 19 Всеволод Дорофеев
309 19 Всеволод Дорофеев
{{collapse(Код...)
310 19 Всеволод Дорофеев
https://its.1c.ru/db/metod8dev#content:4146:hdoc
311 19 Всеволод Дорофеев
<pre>
312 19 Всеволод Дорофеев
&НаКлиенте
313 19 Всеволод Дорофеев
Процедура ПересчитатьЦеныДокумента(Команда)
314 19 Всеволод Дорофеев
                
315 19 Всеволод Дорофеев
     ПересчитатьЦеныНаСервере();
316 19 Всеволод Дорофеев
                
317 19 Всеволод Дорофеев
КонецПроцедуры
318 19 Всеволод Дорофеев
319 19 Всеволод Дорофеев
&НаСервере
320 19 Всеволод Дорофеев
Процедура ПересчитатьЦеныНаСервере()
321 19 Всеволод Дорофеев
                
322 19 Всеволод Дорофеев
     ОбъектДокумента = РеквизитФормыВЗначение("Объект", Тип("ДокументОбъект.Накладная"));
323 19 Всеволод Дорофеев
     ОбъектДокумента.НачислитьСкидку(10);
324 19 Всеволод Дорофеев
     ЗначениеВРеквизитФормы(ОбъектДокумента, "Объект");
325 19 Всеволод Дорофеев
                
326 19 Всеволод Дорофеев
КонецПроцедуры
327 19 Всеволод Дорофеев
328 19 Всеволод Дорофеев
</pre>
329 19 Всеволод Дорофеев
330 19 Всеволод Дорофеев
}}
331 21 Всеволод Дорофеев
332 21 Всеволод Дорофеев
333 21 Всеволод Дорофеев
h3. Переход на следующую строку в той же колонке при нажатии Enter
334 21 Всеволод Дорофеев
335 21 Всеволод Дорофеев
<pre>
336 21 Всеволод Дорофеев
&НаКлиенте
337 21 Всеволод Дорофеев
Процедура ОсновныеЯчейкиЯчейкаПриИзменении(Элемент)
338 21 Всеволод Дорофеев
	ТекущиеДанные = Элементы.ОсновныеЯчейки.ТекущиеДанные;
339 21 Всеволод Дорофеев
	ОбработатьНазначениеОсновнойЯчейки(ТекущиеДанные.Номенклатура, ТекущиеДанные.Склад, ТекущиеДанные.Ячейка, Ложь);
340 21 Всеволод Дорофеев
	
341 21 Всеволод Дорофеев
 	Стр=Элементы.ОсновныеЯчейки.ТекущиеДанные;
342 21 Всеволод Дорофеев
    Если Стр<>Неопределено Тогда
343 21 Всеволод Дорофеев
        Если Элементы.ОсновныеЯчейки.ТекущийЭлемент.Имя="ОсновныеЯчейкиЯчейка" Тогда
344 21 Всеволод Дорофеев
            НС=Объект.ОсновныеЯчейки.НайтиСтроки(Новый Структура("НомерСтроки",Стр.НомерСтроки+1));
345 21 Всеволод Дорофеев
			Если НС.Количество()>0 Тогда
346 21 Всеволод Дорофеев
	            Элементы.ОсновныеЯчейки.ТекущаяСтрока=НС[0].ПолучитьИдентификатор();
347 21 Всеволод Дорофеев
	            Элементы.ОсновныеЯчейки.ТекущийЭлемент =Элементы.ОсновныеЯчейки.ПодчиненныеЭлементы.ОсновныеЯчейкиЯчейка;
348 21 Всеволод Дорофеев
  				ПодключитьОбработчикОжидания("ИзменитьСтрокуОжидание", 0.1, Истина);
349 21 Всеволод Дорофеев
			КонецЕсли;
350 21 Всеволод Дорофеев
        КонецЕсли;  
351 21 Всеволод Дорофеев
    КонецЕсли; 	
352 21 Всеволод Дорофеев
	
353 21 Всеволод Дорофеев
КонецПроцедуры
354 21 Всеволод Дорофеев
355 21 Всеволод Дорофеев
&НаКлиенте
356 21 Всеволод Дорофеев
Процедура ИзменитьСтрокуОжидание() Экспорт
357 21 Всеволод Дорофеев
    Элементы.ОсновныеЯчейки.ИзменитьСтроку();
358 21 Всеволод Дорофеев
КонецПроцедуры
359 21 Всеволод Дорофеев
360 21 Всеволод Дорофеев
</pre>
361 23 Всеволод Дорофеев
362 23 Всеволод Дорофеев
h3. Проблема обновления реквизитов документа в другой сессии (кэш 1С)
363 23 Всеволод Дорофеев
364 23 Всеволод Дорофеев
В динамическом списке изменения отображаются при обновлении формы. В ТЧ документа - нет.
365 23 Всеволод Дорофеев
Требуется принудительно обновлять на клиенте. Например:
366 23 Всеволод Дорофеев
367 23 Всеволод Дорофеев
<pre>
368 23 Всеволод Дорофеев
	ОповеститьОбИзменении(Тип("СправочникСсылка.СерииНоменклатуры"));
369 23 Всеволод Дорофеев
        Элементы.СПисок.Обновить();
370 23 Всеволод Дорофеев
</pre>
371 24 Всеволод Дорофеев
372 41 Всеволод Дорофеев
h3. Программное создание реквизита (поле выбора) формы 
373 41 Всеволод Дорофеев
374 41 Всеволод Дорофеев
<pre>
375 42 Всеволод Дорофеев
        
376 42 Всеволод Дорофеев
        // Или .Вставить(...) для размещения в определенном порядке
377 41 Всеволод Дорофеев
	ПолеВвода = Элементы.Добавить(
378 41 Всеволод Дорофеев
		"ксШаблонСпецификацииНоменклатуры",    //Имя элемента формы
379 41 Всеволод Дорофеев
		Тип("ПолеФормы"), //Тип, всегда ПолеФормы
380 41 Всеволод Дорофеев
		Элементы.СворачиваемаяГруппаШаблоны);	      //Контейнер для поля ввода (Форма,Группа,Страница)
381 41 Всеволод Дорофеев
		
382 41 Всеволод Дорофеев
	ПолеВвода.Заголовок = "Шаблон спецификации номенклатуры";
383 41 Всеволод Дорофеев
	ПолеВвода.Вид = ВидПоляФормы.ПолеВвода;
384 41 Всеволод Дорофеев
	
385 41 Всеволод Дорофеев
	//Установка связи элемента с данными
386 41 Всеволод Дорофеев
	ПолеВвода.ПутьКДанным = "Объект.ксШаблонСпецификацииНоменклатуры";
387 41 Всеволод Дорофеев
		
388 41 Всеволод Дорофеев
	ПолеВвода.УстановитьДействие(
389 41 Всеволод Дорофеев
		"ПриИзменении", 		    //Имя события
390 41 Всеволод Дорофеев
		"ПриИзмененииксШаблонСпецификацииНоменклатуры"); //Имя процедуры обработчика	
391 41 Всеволод Дорофеев
392 41 Всеволод Дорофеев
</pre>
393 41 Всеволод Дорофеев
394 33 Всеволод Дорофеев
h3. Программное создание реквизитов (флаг) формы и расположение на форме
395 24 Всеволод Дорофеев
396 24 Всеволод Дорофеев
Флажок
397 26 Всеволод Дорофеев
https://gee12.space/komanda-flag-na-forme-1s/
398 24 Всеволод Дорофеев
<pre>
399 24 Всеволод Дорофеев
&НаСервере
400 24 Всеволод Дорофеев
Процедура ДобавитьФлажокНаСервере()
401 24 Всеволод Дорофеев
	
402 24 Всеволод Дорофеев
	//Создание реквизита
403 24 Всеволод Дорофеев
	МассивТиповБулево = Новый Массив;
404 24 Всеволод Дорофеев
    МассивТиповБулево.Добавить(Тип("Булево"));
405 24 Всеволод Дорофеев
406 24 Всеволод Дорофеев
    РеквизитФлаг = Новый РеквизитФормы("ФлагФормы",Новый ОписаниеТипов(МассивТиповБулево),,"Флаг");
407 25 Всеволод Дорофеев
    РеквизитФлаг.СохраняемыеДанные = Истина;
408 24 Всеволод Дорофеев
    НовыеРеквизиты = Новый Массив;
409 24 Всеволод Дорофеев
    НовыеРеквизиты.Добавить(РеквизитФлаг);
410 24 Всеволод Дорофеев
411 24 Всеволод Дорофеев
    ИзменитьРеквизиты(НовыеРеквизиты);
412 24 Всеволод Дорофеев
	
413 1 Всеволод Дорофеев
	//Располагаем на форме
414 25 Всеволод Дорофеев
415 25 Всеволод Дорофеев
	НоваяКоманда = Команды.Добавить("ПредварительныйПросмотр");
416 25 Всеволод Дорофеев
	НоваяКоманда.Действие = "УстановитьПредварительныйПросмотр";
417 25 Всеволод Дорофеев
	НоваяКоманда.Заголовок = "Предварительный просмотр";
418 1 Всеволод Дорофеев
	
419 25 Всеволод Дорофеев
	НовыйЭлемент = Элементы.Добавить("ФлагФормы",Тип("КнопкаФормы"), Элементы.ФормаКоманднаяПанель);
420 25 Всеволод Дорофеев
	НовыйЭлемент.ПоложениеВКоманднойПанели = ПоложениеКнопкиВКоманднойПанели.ВДополнительномПодменю;
421 25 Всеволод Дорофеев
	НовыйЭлемент.ИмяКоманды = НоваяКоманда.Имя;
422 25 Всеволод Дорофеев
	НовыйЭлемент.Вид = ВидКнопкиФормы.КнопкаКоманднойПанели;
423 25 Всеволод Дорофеев
	НовыйЭлемент.ТолькоВоВсехДействиях = Истина;
424 25 Всеволод Дорофеев
	НовыйЭлемент.Пометка = ЭтаФорма["ФлагФормы"];
425 25 Всеволод Дорофеев
	
426 1 Всеволод Дорофеев
КонецПроцедуры
427 25 Всеволод Дорофеев
428 25 Всеволод Дорофеев
&НаКлиенте
429 25 Всеволод Дорофеев
Процедура ДобавитьФлажок(Команда)
430 25 Всеволод Дорофеев
	ДобавитьФлажокНаСервере();
431 25 Всеволод Дорофеев
КонецПроцедуры
432 25 Всеволод Дорофеев
433 25 Всеволод Дорофеев
&НаКлиенте
434 25 Всеволод Дорофеев
Процедура УстановитьПредварительныйПросмотр(Команда)
435 25 Всеволод Дорофеев
436 25 Всеволод Дорофеев
	ЭтаФорма["ФлагФормы"] = не ЭтаФорма["ФлагФормы"];
437 25 Всеволод Дорофеев
	Элементы.ФлагФормы.Пометка = ЭтаФорма["ФлагФормы"];
438 25 Всеволод Дорофеев
439 25 Всеволод Дорофеев
КонецПроцедуры
440 25 Всеволод Дорофеев
441 1 Всеволод Дорофеев
</pre>
442 33 Всеволод Дорофеев
443 33 Всеволод Дорофеев
h3. Программное создание кнопки на форме
444 33 Всеволод Дорофеев
445 33 Всеволод Дорофеев
<pre>
446 33 Всеволод Дорофеев
&НаСервере
447 33 Всеволод Дорофеев
Процедура КСФормы_ксУведомитьОКОПоступленииПослеНаСервере()
448 33 Всеволод Дорофеев
	// Вставить содержимое обработчика.
449 33 Всеволод Дорофеев
КонецПроцедуры
450 33 Всеволод Дорофеев
451 33 Всеволод Дорофеев
&НаКлиенте
452 33 Всеволод Дорофеев
Процедура КСФормы_ксУведомитьОКОПоступленииПосле(Команда)
453 33 Всеволод Дорофеев
454 33 Всеволод Дорофеев
	КСФормы_ксУведомитьОКОПоступленииПослеНаСервере();
455 33 Всеволод Дорофеев
456 33 Всеволод Дорофеев
КонецПроцедуры
457 33 Всеволод Дорофеев
458 33 Всеволод Дорофеев
&НаСервере
459 33 Всеволод Дорофеев
Процедура КСФормы_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
460 33 Всеволод Дорофеев
	
461 33 Всеволод Дорофеев
	// Новая команда
462 33 Всеволод Дорофеев
	ИмяКоманды = "ксУведомитьОКОПоступленииПосле";
463 33 Всеволод Дорофеев
    Команда		= ЭтотОбъект.Команды.Добавить(ИмяКоманды);
464 33 Всеволод Дорофеев
    Команда.Действие	= "КСФормы_ксУведомитьОКОПоступленииПосле";
465 33 Всеволод Дорофеев
	Команда.Заголовок = "Уведомить ОК о поступлении";
466 33 Всеволод Дорофеев
	Команда.Подсказка = "Уведомить Отдел Качества о поступлении";
467 33 Всеволод Дорофеев
	Команда.Картинка = БиблиотекаКартинок.ОтправитьСообщение;
468 33 Всеволод Дорофеев
    Команда.Отображение = ОтображениеКнопки.КартинкаИТекст;
469 33 Всеволод Дорофеев
	
470 33 Всеволод Дорофеев
    // Кнопка с привязкой команды
471 33 Всеволод Дорофеев
    Кнопка		= ЭтотОбъект.Элементы.Добавить("ксСписокУведомитьОКОПоступленииПосле", Тип("КнопкаФормы"), ЭтотОбъект.Элементы.СписокКоманднаяПанель);
472 33 Всеволод Дорофеев
    Кнопка.ИмяКоманды	= ИмяКоманды;
473 33 Всеволод Дорофеев
474 33 Всеволод Дорофеев
КонецПроцедуры
475 33 Всеволод Дорофеев
476 33 Всеволод Дорофеев
</pre>
477 33 Всеволод Дорофеев
478 34 Всеволод Дорофеев
Передвинуть элемент
479 34 Всеволод Дорофеев
<pre>
480 34 Всеволод Дорофеев
Элементы.Переместить(Элт,Элементы.ГруппаШапка,Элементы.ГруппаВидаОплаты);
481 34 Всеволод Дорофеев
482 34 Всеволод Дорофеев
//Элт - вновь созданный элемент,
483 34 Всеволод Дорофеев
// переместили в ГруппуШапка, перед Группой Вида оплаты 
484 34 Всеволод Дорофеев
</pre>
485 28 Всеволод Дорофеев
486 28 Всеволод Дорофеев
h3. Программный ввод на основании
487 28 Всеволод Дорофеев
488 38 Всеволод Дорофеев
#ВводНаОсновании
489 38 Всеволод Дорофеев
490 28 Всеволод Дорофеев
https://its.1c.ru/db/content/metod8dev/src/developers/platform/qanda/form/applied/i8103562.htm
491 28 Всеволод Дорофеев
492 28 Всеволод Дорофеев
<pre>
493 28 Всеволод Дорофеев
	ПараметрыФормы = Новый Структура("Основание", Объект.Ссылка);
494 28 Всеволод Дорофеев
	ОткрытьФорму("Документ.РеализацияТоваровУслуг.ФормаОбъекта", ПараметрыФормы);
495 31 Всеволод Дорофеев
</pre>
496 31 Всеволод Дорофеев
497 32 Всеволод Дорофеев
h3. Реализация ввода на основании в расширении
498 32 Всеволод Дорофеев
499 38 Всеволод Дорофеев
#ВводНаОсновании
500 38 Всеволод Дорофеев
501 32 Всеволод Дорофеев
1. Создать общую команду, например:
502 32 Всеволод Дорофеев
"СоздатьПеремещениеСырьяНаОснованииСборкиТоваров"
503 32 Всеволод Дорофеев
Группа = Командная панель формы.Создать на основании
504 32 Всеволод Дорофеев
ТипПараметраКоманды = ДокументСсылка.СборкаТоваров
505 32 Всеволод Дорофеев
506 32 Всеволод Дорофеев
Модуль команды:
507 32 Всеволод Дорофеев
<pre>
508 32 Всеволод Дорофеев
&НаКлиенте
509 32 Всеволод Дорофеев
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
510 32 Всеволод Дорофеев
	
511 32 Всеволод Дорофеев
    СтруктураДанных	= Новый Структура("ОснованиеСборка", ПараметрКоманды);
512 32 Всеволод Дорофеев
    ПараметрыФормы 	= Новый Структура("ЗначенияЗаполнения", СтруктураДанных);
513 32 Всеволод Дорофеев
    
514 32 Всеволод Дорофеев
    ОткрытьФорму("Документ.ПеремещениеТоваров.ФормаОбъекта", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник,
515 32 Всеволод Дорофеев
		ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно, ПараметрыВыполненияКоманды.НавигационнаяСсылка);
516 32 Всеволод Дорофеев
	
517 1 Всеволод Дорофеев
КонецПроцедуры
518 1 Всеволод Дорофеев
</pre>
519 1 Всеволод Дорофеев
520 1 Всеволод Дорофеев
Из модуля документа Перемещение добавляем в расширение процедуру
521 1 Всеволод Дорофеев
522 1 Всеволод Дорофеев
<pre>
523 1 Всеволод Дорофеев
524 1 Всеволод Дорофеев
&После("ОбработкаЗаполнения")
525 1 Всеволод Дорофеев
Процедура Расш_ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
526 1 Всеволод Дорофеев
527 1 Всеволод Дорофеев
	Перем ОснованиеСборка;
528 1 Всеволод Дорофеев
	
529 1 Всеволод Дорофеев
	Если ТипЗнч(ДанныеЗаполнения) = Тип("Структура") Тогда
530 1 Всеволод Дорофеев
 
531 1 Всеволод Дорофеев
		Если ДанныеЗаполнения.Свойство("ОснованиеСборка", ОснованиеСборка) Тогда
532 1 Всеволод Дорофеев
 
533 1 Всеволод Дорофеев
			Если ТипЗнч(ОснованиеСборка) = Тип("ДокументСсылка.СборкаТоваров") Тогда
534 1 Всеволод Дорофеев
535 1 Всеволод Дорофеев
				ЗаполнитьЗначенияСвойств(ЭтотОбъект, ОснованиеСборка);
536 1 Всеволод Дорофеев
537 1 Всеволод Дорофеев
				Для Каждого СтрокаОснование Из ОснованиеСборка.Товары Цикл 
538 1 Всеволод Дорофеев
539 1 Всеволод Дорофеев
					НовСтр = Товары.Добавить();
540 1 Всеволод Дорофеев
					ЗаполнитьЗначенияСвойств(НовСтр, СтрокаОснование);
541 1 Всеволод Дорофеев
542 1 Всеволод Дорофеев
				КонецЦикла;
543 1 Всеволод Дорофеев
544 1 Всеволод Дорофеев
			КонецЕсли;
545 1 Всеволод Дорофеев
	
546 1 Всеволод Дорофеев
		КонецЕсли;
547 1 Всеволод Дорофеев
	КонецЕсли;
548 1 Всеволод Дорофеев
549 1 Всеволод Дорофеев
КонецПроцедуры
550 1 Всеволод Дорофеев
551 1 Всеволод Дорофеев
</pre>
552 1 Всеволод Дорофеев
553 1 Всеволод Дорофеев
https://wiki.programstore.ru/realizaciya-vvoda-na-osnovanii-pri-pomoshhi-rasshireniya-konfiguracii/
554 38 Всеволод Дорофеев
555 38 Всеволод Дорофеев
556 38 Всеволод Дорофеев
h3. Обработка проверки заполнения
557 38 Всеволод Дорофеев
558 38 Всеволод Дорофеев
https://its.1c.ru/db/metod8dev/content/3578/hdoc
559 38 Всеволод Дорофеев
Есть два события
560 38 Всеволод Дорофеев
* Обработка проверки заполнения на сервере (ОбработкаПроверкиЗаполненияНаСервере) – можно обработать в модуле формы. Предназначено *для проверки заполнения реквизитов формы*, не объекта. Для документов вызов зависит от того, установлено ли у формы документа проведение при записи. Если установлено, то вызов  при проведении, иначе при записи
561 38 Всеволод Дорофеев
* Обработка проверки заполнения (ОбработкаПроверкиЗаполнения) – можно обработать в модуле прикладного объекта.
562 38 Всеволод Дорофеев
563 38 Всеволод Дорофеев
564 38 Всеволод Дорофеев
h3. Форма выбора. Как из формы списка сделать форму выбора?
565 38 Всеволод Дорофеев
566 38 Всеволод Дорофеев
Варианты:
567 38 Всеволод Дорофеев
1.  Использовать сгенерированную платформой форму и не указывать в реквизите форму для выбора.
568 38 Всеволод Дорофеев
2. В форме списка списку назначаем РежимВыбора, на событие вешаем оповещение о выборе...
569 38 Всеволод Дорофеев
570 38 Всеволод Дорофеев
<pre>
571 38 Всеволод Дорофеев
Процедура ФормаСпискаВыбораПриСозданииНаСервере(Знач Список, Знач ЭлементФормыСписок, Знач Параметры, Знач АвтоматическоеСохранениеПользовательскихНастроек = Ложь) Экспорт
572 38 Всеволод Дорофеев
    
573 38 Всеволод Дорофеев
    // Элементы.Список - основной реквизит с динамическим списком
574 38 Всеволод Дорофеев
    ЭлементФормыСписок.РежимВыбора = Параметры.РежимВыбора;
575 38 Всеволод Дорофеев
    Если Параметры.МножественныйВыбор <> Неопределено Тогда
576 38 Всеволод Дорофеев
        ЭлементФормыСписок.МножественныйВыбор = Параметры.МножественныйВыбор;
577 38 Всеволод Дорофеев
    КонецЕсли;
578 38 Всеволод Дорофеев
    // обход автоматического сохранения пользовательских настроек для разных режимов
579 38 Всеволод Дорофеев
    Если Параметры.РежимВыбора И Не ЗначениеЗаполнено(Параметры.КлючПользовательскихНастроек) Тогда
580 38 Всеволод Дорофеев
        Параметры.КлючПользовательскихНастроек = "РежимВыбора";
581 38 Всеволод Дорофеев
        Список.АвтоматическоеСохранениеПользовательскихНастроек = АвтоматическоеСохранениеПользовательскихНастроек;
582 38 Всеволод Дорофеев
    КонецЕсли;
583 38 Всеволод Дорофеев
584 38 Всеволод Дорофеев
КонецПроцедуры
585 38 Всеволод Дорофеев
</pre>
586 38 Всеволод Дорофеев
587 38 Всеволод Дорофеев
588 38 Всеволод Дорофеев
589 38 Всеволод Дорофеев
https://infostart.ru/1c/articles/549160/
590 38 Всеволод Дорофеев
https://its.1c.ru/db/metod8dev/content/2222/hdoc@208c875c
591 39 Всеволод Дорофеев
592 39 Всеволод Дорофеев
593 39 Всеволод Дорофеев
h3. Программная установка параметров выбора в 1C
594 39 Всеволод Дорофеев
595 40 Всеволод Дорофеев
#ПараметрыВыбора
596 40 Всеволод Дорофеев
597 39 Всеволод Дорофеев
<pre>
598 39 Всеволод Дорофеев
	//3185. Добавляем параметры отбора
599 39 Всеволод Дорофеев
	НовыйМассив = Новый Массив();
600 39 Всеволод Дорофеев
	НовыйМассив.Добавить(Перечисления.НазначенияШаблоновЭтикетокИЦенников.ЭтикеткаДляТоваров);
601 39 Всеволод Дорофеев
	НовыйМассив.Добавить(Перечисления.НазначенияШаблоновЭтикетокИЦенников.ЭтикеткаСерииНоменклатуры);
602 39 Всеволод Дорофеев
	
603 39 Всеволод Дорофеев
	НовыеЗначения = Новый ФиксированныйМассив(НовыйМассив);
604 39 Всеволод Дорофеев
 
605 39 Всеволод Дорофеев
	НовыйПараметр = Новый ПараметрВыбора("Отбор.Назначение", НовыеЗначения);
606 39 Всеволод Дорофеев
 
607 39 Всеволод Дорофеев
	НовыйМассив = Новый Массив();
608 39 Всеволод Дорофеев
	НовыйМассив.Добавить(НовыйПараметр);
609 39 Всеволод Дорофеев
 
610 39 Всеволод Дорофеев
	НовыеПараметры = Новый ФиксированныйМассив(НовыйМассив);
611 39 Всеволод Дорофеев
 
612 39 Всеволод Дорофеев
	Элементы.ШаблонЭтикетки.ПараметрыВыбора = НовыеПараметры;
613 39 Всеволод Дорофеев
614 39 Всеволод Дорофеев
</pre>