RDT1C/CommonCommands/ирОбработатьОбъектыИзАктивнойФормы/Ext/CommandModule.bsl
Администратор 87d4c49793 Общее
*Исправлена некритичная ошибка обновления расширения
        *В грамматике языка запросов исправлена ошибка разбора слова "order" в качестве псевдонима
        *Исправлена работа глобальных командв формах объектов с именем Object основного реквизита
        +Добавлен параметр запуска "ВключитьИР" для варианта Расширение для включения видимости раздела инструментов
        +В информация для тех. поддержки добавлен вывод активных расширений
    Список баз пользователя ОС
        +Добавлена кнопка очистки каталога кэша метаданных
        *Исправлена очистка списка в форме при перечтении
        +Добавлена поддержка общих списков инфобаз (CommonInfoBases)
    Консоль запросов
        *Исправлена свежая проблема превращения ссылочных значений в строковые при выборе их в поле "Значение" в таблице параметров, если консоль открыта через От()
        +Реализовано автоматическое сужение описаний типов колонок параметров-таблиц при необходимости
        *При частичном копировании текста запроса в виде выражения встроенного языка теперь не добавляется код установки параметров
        *Исправлено разворачивание свернутых в тексте запроса подзапросов при выполнении команды копирования в виде выражения встроенного языка
    Конструктор запроса
        *Исправлена некритичная ошибка при изменении номера необязательной группы в списке выбранных таблиц
        *Исправлен некорректный разбор запросов с необязательными выбранными таблицами
        *Исправлены некорректные отступы при сборке необязательных соединений
    Адаптация расширения
        *Исправлена ошибка на 8.3.14 при включенном флажке "Подключать отладку отчетов БСП"
        +Флажок "Подключить отладку отчетов БСП" расширен до "Подключить отладку отчетов"
    Консоль кода
        +Повышена наглядность индикации контекста выполнения
    Консоль компоновки
        *Исправлена ошибка загрузки схемы компоновки с набором данных запросом с папкой полей
    Управление профайлами 1С
        *Исправлено неверное определение каталога если по строке соединения в списке баз много элементов
    Подбор и обработка объектов
        *Исправлена ошибка выполнения обработки "Выгрузка в файл"
    Форма таблицы значений
        +Добавлена кнопка "Сузить типы"
    Редактор объекта БД
        +Добавлен флажок "Имя/Синоним" для переключения обозначения полей данных в форме
    Сравнение таблиц
        *Исправлена ошибка сравнения таблиц при наличии сопоставленной пары неключевых колонок с разными именами
2019-03-17 18:18:46 +03:00

65 lines
3.8 KiB
Plaintext

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