18 нояб. 2018 г.

Получить ярлык программы

win+ r 
а далее
shell:AppsFolder

Получить последнюю запись в итогах СКД

В ресурсах СКД пишем

ВычислитьВыражение("Долг", , , "Последняя")

Позиционироваться на текущую строку при открытии формы выбора

Процедура УслугиУслугаНачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ТипНоменклатуры = Перечисления.ТипыНоменклатуры.Услуга; ФормаВыбора = Справочники.Номенклатура.ПолучитьФормуВыбора("ФормаВыбора"); ФормаВыбора.РежимВыбора = Истина; ЭлементОтбора = ФормаВыбора.СправочникСписок.Отбор.ВидНоменклатуры; ЭлементОтбора.Значение = Справочники.ВидыНоменклатуры.НайтиПоРеквизиту("ТипНоменклатуры", ТипНоменклатуры); ЭлементОтбора.Использование = Истина; ТекущиеДанные = ЭлементыФормы.Услуги.ТекущиеДанные; Если ТекущиеДанные <> Неопределено Тогда ТекНоменклатура = ТекущиеДанные.Номенклатура; Если ЗначениеЗаполнено(ТекНоменклатура) Тогда ФормаВыбора.ПараметрТекущаяСтрока = ТекНоменклатура; КонецЕсли; КонецЕсли; Результат = ФормаВыбора.ОткрытьМодально(); Если Результат <> Неопределено Тогда ЭлементыФормы.Услуги.ТекущиеДанные.Номенклатура = Результат; КонецЕсли; КонецПроцедуры

Добавить кнопки Сортировки для ТаблицаЗначений обычные формы

Обычные формы. А далее




а потом можно через Действие по кнопке сделать типа

Процедура КоманднаяПанель1ПоУбыв(Кнопка) Сортировка(Кнопка); КонецПроцедуры Процедура Сортировка(Кнопка) ТекущаяКолонка = ЭлементыФормы.ПоступившиеЗаявки.ТекущаяКолонка; Если ТекущаяКолонка = Неопределено Тогда Возврат; КонецЕсли; ИмяТекущейКолонки = ЭлементыФормы.ПоступившиеЗаявки.ТекущаяКолонка.Имя; МетодСортировки = Кнопка.Имя; ПоступившиеЗаявки.Сортировать(ИмяТекущейКолонки + " " + МетодСортировки, ); КонецПроцедуры

Только просмотр для элементов формы

Используя обычные формы не всегда возможно через Роли ограничить редактирование форм документа, поэтому, можно обойтись ниже вариантом

Процедура ДоступностьЭлементовФормы() Если Не РольДоступна("вх_МенеджерРядовый") Тогда Возврат; КонецЕсли; Для Каждого Элемент Из ЭлементыФормы Цикл Если Элемент.Имя = "ОсновныеДействияФормы" Или Элемент.Имя = "ДействияФормы" Тогда Продолжить; КонецЕсли; Если Элемент.Имя = "ОплатаПлатежнымиКартами" Тогда Для Каждого Колонка Из Элемент.Колонки Цикл Если Колонка.Имя = "ВидОплаты" Тогда Продолжить; КонецЕсли; Колонка.ТолькоПросмотр = Истина; КонецЦикла; Продолжить; КонецЕсли; Если ТипЗнч(Элемент) = Тип("ПолеВвода") Тогда Элемент.ТолькоПросмотр = Истина; ИначеЕсли ТипЗнч(Элемент) = Тип("КоманднаяПанель") Тогда Элемент.Доступность = Ложь; ИначеЕсли ТипЗнч(Элемент) = Тип("Надпись") Тогда Элемент.Доступность = Ложь; ИначеЕсли ТипЗнч(Элемент) = Тип("ТабличноеПоле") Тогда Элемент.ТолькоПросмотр = Истина; ИначеЕсли ТипЗнч(Элемент) = Тип("Флажок") Тогда Элемент.Доступность = Ложь; КонецЕсли; КонецЦикла; КонецПроцедуры

Найти открытый документ

ТекущиеДанные = ЭлементыФормы.ПоступившиеЗаявки.ТекущиеДанные; Если ТекущиеДанные = Неопределено Тогда Предупреждение("Нет выбранной строки заказа"); Возврат; КонецЕсли; Заказ = ТекущиеДанные.ЗаявкаНаСервис; Товары = Заказ.Товары; ЗаказФормаДокумента = Заказ.ПолучитьФорму( , "ФормаДокумента"); Если ЗаказФормаДокумента.Открыта() Тогда Если Вопрос("Перед выполнением команды ранее открытый документ ""Заказ на сервис"" должен быть закрыт. Закрыть документ?", РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Нет Тогда Предупреждение("Документ ""Внутренний заказ"" не может быть создан при открытой форме документа владельца ""Заказ на сервис"""); Возврат; КонецЕсли; ЗаказФормаДокумента.Закрыть(); КонецЕсли;
 

CopyPaste Copyright © 2017 - |- Шаблон создан O Pregador - |- Отредактирован myr4ik07