RDT1C/CommonCommands/ирОбработатьОбъектыИзАктивнойФормы/Ext/CommandModule.bsl
Администратор e8db471747 Общее
+В глобальных командах управляемых форм "Редактировать объект" и "Обработать объекты" реализована поддержка строк регистров
        *Исправлена свежая ошибка не найденной функции ИнфоСервераПриложений при попытке получения информации для технической поддержки в портативном варианте
        *Исправлены мелкие ошибки в управляемых формах в клиент-серверном варианте
    Редактор объекта БД
        В управляемой форме на закладке "Связанные данные"
            *Исправлено отображение пиктограмм таблиц БД
            +Реализована работа флажка "Только непустые"
            +Добавлена команда "Обновить количество"
        В управляемой форме
            +Реализовано открытие объектов из таблицы "Ссылки на объект" при двойном щелчке
            *Исправлена сортировка и отображение пиктограмм таблиц в списке движений
            *Исправлена ошибка при загрузке ссылочного объекта с реквизитом типа ХранилищеЗначения
            *Исправлена ошибка после включения флажка "Движения"
        +В таблице реквизитов добавлена колонка "Функциональные опции" с отображением их значений и окраской отключенных
    Адаптация расширения
        *Команды разделены на подключаемые и глобальные, для которых показаны сочетания клавиш
    Консоль запросов
        +Автосохранение файла восстановления теперь выполняется с замером длительности и сообщением в случае превышении 2-х секундного порога
    Консоль кода
        +Автосохранение файла восстановления теперь выполняется с замером длительности и сообщением в случае превышении 2-х секундного порога
    Редактор предопределенных
        +В таблице типов добавлена редактируемая колонка "Инициализация выполнена"
        +Кнопка "Инициализировать" теперь позволяет автоматически сбросить признак инициализированности у всех типов, у которых полностью отсутствуют предопределенные данные
    Конструктор запроса
        *В редакторе условия соединения исправлено автоматическое включение элемента отбора при изменении правого/левого поля активизацией строки
    Динамический список
        +Для регистров в подменю последних выбранных теперь показываются составные представления
        *Исправлена ошибка нажатия кнопки последнего выбранного для регистра
        *Исправлена ошибка в варианте Расширение в клиент-серверной базе при вызове редактора объекта для регистра
    Форма списка значений
        +Реализована возможность подбора без указания доступных типов для значений списка
2018-03-04 18:23:20 +03:00

69 lines
3.9 KiB
Plaintext

// Используется недокументированная особенность (скорее всего ошибка) платформы -
// глобальная непараметризованная команда формы по горячей клавише сработавает во всех формах, открытых без блокирования других форм
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
#Если ВебКлиент Тогда
Сообщить("Команда недоступна в вебклиенте");
#ИначеЕсли ТонкийКлиент Тогда
ОткрытьФорму("Обработка.ирПортативный.Форма.ФормаУправляемая");
#Иначе
ПараметрКоманды = ПолучитьТекущиеСсылкиОбъектов();
ирОбщий.ОткрытьМассивОбъектовВПодбореИОбработкеОбъектовЛкс(ПараметрКоманды);
#КонецЕсли
КонецПроцедуры
&НаКлиенте
Функция ПолучитьТекущиеСсылкиОбъектов()
ТекущееОкно = АктивноеОкно();
Результат = Новый Массив;
Если ТипЗнч(ТекущееОкно) = Тип("ОкноКлиентскогоПриложения") Тогда
ТекущаяФорма = ТекущееОкно.ПолучитьСодержимое();
Если ТипЗнч(ТекущаяФорма) = Тип("УправляемаяФорма") Тогда
Если ТипЗнч(ТекущаяФорма.ТекущийЭлемент) = Тип("ТаблицаФормы") Тогда
Ссылка = ТекущаяФорма.ТекущийЭлемент.ТекущаяСтрока;
Если КлючСтрокиПодходит(Ссылка) Тогда
Возврат ТекущаяФорма.ТекущийЭлемент.ВыделенныеСтроки;
КонецЕсли;
Структура = Новый Структура("Ссылка, Data");
Для Каждого ВыделеннаяСтрока Из ТекущаяФорма.ТекущийЭлемент.ВыделенныеСтроки Цикл
ДанныеСтроки = ТекущаяФорма.ТекущийЭлемент.ДанныеСтроки(ВыделеннаяСтрока);
ЗаполнитьЗначенияСвойств(Структура, ДанныеСтроки);
Ссылка = Структура["Ссылка"];
Если КлючСтрокиПодходит(Ссылка) Тогда
Результат.Добавить(Ссылка);
КонецЕсли;
Ссылка = Структура["Data"];
Если КлючСтрокиПодходит(Ссылка) Тогда
Результат.Добавить(Ссылка);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если Результат.Количество() = 0 Тогда
Попытка
Ссылка = ТекущаяФорма.Объект.Ссылка;
Исключение
Ссылка = Неопределено;
КонецПопытки;
Если КлючСтрокиПодходит(Ссылка) Тогда
Результат.Добавить(Ссылка);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Возврат Результат;
КонецФункции
&НаКлиенте
Функция КлючСтрокиПодходит(Знач Ссылка)
Возврат Ложь
Или ирОбщий.ЛиСсылкаНаОбъектБДЛкс(Ссылка)
Или ирОбщий.ЛиКлючЗаписиРегистраЛкс(Ссылка);
КонецФункции