Процедура УслугиУслугаНачалоВыбора(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ТипНоменклатуры = Перечисления.ТипыНоменклатуры.Услуга;
ФормаВыбора = Справочники.Номенклатура.ПолучитьФормуВыбора("ФормаВыбора");
ФормаВыбора.РежимВыбора = Истина;
ЭлементОтбора = ФормаВыбора.СправочникСписок.Отбор.ВидНоменклатуры;
ЭлементОтбора.Значение = Справочники.ВидыНоменклатуры.НайтиПоРеквизиту("ТипНоменклатуры", ТипНоменклатуры);
ЭлементОтбора.Использование = Истина;
ТекущиеДанные = ЭлементыФормы.Услуги.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
ТекНоменклатура = ТекущиеДанные.Номенклатура;
Если ЗначениеЗаполнено(ТекНоменклатура) Тогда
ФормаВыбора.ПараметрТекущаяСтрока = ТекНоменклатура;
КонецЕсли;
КонецЕсли;
Результат = ФормаВыбора.ОткрытьМодально();
Если Результат <> Неопределено Тогда
ЭлементыФормы.Услуги.ТекущиеДанные.Номенклатура = Результат;
КонецЕсли;
КонецПроцедуры
18 нояб. 2018 г.
Добавить кнопки Сортировки для ТаблицаЗначений обычные формы
Обычные формы. А далее
а потом можно через Действие по кнопке сделать типа
Процедура КоманднаяПанель1ПоУбыв(Кнопка) Сортировка(Кнопка); КонецПроцедуры Процедура Сортировка(Кнопка) ТекущаяКолонка = ЭлементыФормы.ПоступившиеЗаявки.ТекущаяКолонка; Если ТекущаяКолонка = Неопределено Тогда Возврат; КонецЕсли; ИмяТекущейКолонки = ЭлементыФормы.ПоступившиеЗаявки.ТекущаяКолонка.Имя; МетодСортировки = Кнопка.Имя; ПоступившиеЗаявки.Сортировать(ИмяТекущейКолонки + " " + МетодСортировки, ); КонецПроцедуры
Только просмотр для элементов формы
Используя обычные формы не всегда возможно через Роли ограничить редактирование форм документа, поэтому, можно обойтись ниже вариантом
Процедура ДоступностьЭлементовФормы() Если Не РольДоступна("вх_МенеджерРядовый") Тогда Возврат; КонецЕсли; Для Каждого Элемент Из ЭлементыФормы Цикл Если Элемент.Имя = "ОсновныеДействияФормы" Или Элемент.Имя = "ДействияФормы" Тогда Продолжить; КонецЕсли; Если Элемент.Имя = "ОплатаПлатежнымиКартами" Тогда Для Каждого Колонка Из Элемент.Колонки Цикл Если Колонка.Имя = "ВидОплаты" Тогда Продолжить; КонецЕсли; Колонка.ТолькоПросмотр = Истина; КонецЦикла; Продолжить; КонецЕсли; Если ТипЗнч(Элемент) = Тип("ПолеВвода") Тогда Элемент.ТолькоПросмотр = Истина; ИначеЕсли ТипЗнч(Элемент) = Тип("КоманднаяПанель") Тогда Элемент.Доступность = Ложь; ИначеЕсли ТипЗнч(Элемент) = Тип("Надпись") Тогда Элемент.Доступность = Ложь; ИначеЕсли ТипЗнч(Элемент) = Тип("ТабличноеПоле") Тогда Элемент.ТолькоПросмотр = Истина; ИначеЕсли ТипЗнч(Элемент) = Тип("Флажок") Тогда Элемент.Доступность = Ложь; КонецЕсли; КонецЦикла; КонецПроцедуры
Процедура ДоступностьЭлементовФормы() Если Не РольДоступна("вх_МенеджерРядовый") Тогда Возврат; КонецЕсли; Для Каждого Элемент Из ЭлементыФормы Цикл Если Элемент.Имя = "ОсновныеДействияФормы" Или Элемент.Имя = "ДействияФормы" Тогда Продолжить; КонецЕсли; Если Элемент.Имя = "ОплатаПлатежнымиКартами" Тогда Для Каждого Колонка Из Элемент.Колонки Цикл Если Колонка.Имя = "ВидОплаты" Тогда Продолжить; КонецЕсли; Колонка.ТолькоПросмотр = Истина; КонецЦикла; Продолжить; КонецЕсли; Если ТипЗнч(Элемент) = Тип("ПолеВвода") Тогда Элемент.ТолькоПросмотр = Истина; ИначеЕсли ТипЗнч(Элемент) = Тип("КоманднаяПанель") Тогда Элемент.Доступность = Ложь; ИначеЕсли ТипЗнч(Элемент) = Тип("Надпись") Тогда Элемент.Доступность = Ложь; ИначеЕсли ТипЗнч(Элемент) = Тип("ТабличноеПоле") Тогда Элемент.ТолькоПросмотр = Истина; ИначеЕсли ТипЗнч(Элемент) = Тип("Флажок") Тогда Элемент.Доступность = Ложь; КонецЕсли; КонецЦикла; КонецПроцедуры
Найти открытый документ
ТекущиеДанные = ЭлементыФормы.ПоступившиеЗаявки.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
Предупреждение("Нет выбранной строки заказа");
Возврат;
КонецЕсли;
Заказ = ТекущиеДанные.ЗаявкаНаСервис;
Товары = Заказ.Товары;
ЗаказФормаДокумента = Заказ.ПолучитьФорму( , "ФормаДокумента");
Если ЗаказФормаДокумента.Открыта() Тогда
Если Вопрос("Перед выполнением команды ранее открытый документ ""Заказ на сервис"" должен быть закрыт. Закрыть документ?", РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Нет Тогда
Предупреждение("Документ ""Внутренний заказ"" не может быть создан при открытой форме документа владельца ""Заказ на сервис""");
Возврат;
КонецЕсли;
ЗаказФормаДокумента.Закрыть();
КонецЕсли;
Подписаться на:
Сообщения (Atom)