RDT1C/CommonCommands/ирОбработатьОбъектыДляЛюбойФормы/Ext/CommandModule.bsl
Администратор 4b3ab308f3 Форма табличного документа
+Добавлено отображение количества строк и колонок
        +При загрузке из текстового файла (txt,csv) теперь открывается форма разбивки текста в таблицу
    Форма списка значений
        +Добавлена команда "Получить"/"из текста"
    Форма таблицы значений
        +Добавлена команда "Получить"/"из текста"
    Загрузка табличных данных
        *Оптимизирована работа с большими табличными документами
    Консоль запросов
        +В форме настроек сделан доступным флажок "Автосохранение файла восстановления"
        *Исправлено свежее отрезание последнего символа в команде преобразования текста запроса из выражения встроенного языка
    Грамматика языка запросов
        *Исправлена невозможность использования слова "Изменения" в качестве псевдонима
    Общее
        +Для всех управляемых форм материнской конфигурации подключены невидимые глобальные команды "Редактировать объект" (Ctrl+Alt+E) и "Обработать объекты" (Ctrl+Alt+R) в непортативных вариантах
        +В представление табличного документа добавлена высота таблицы
        +В управляемом интерфейсе добавлена команда "открыть объект для отладки"
        *Команда табличного поля "Вывести список" теперь потребляет меньше памяти
        *В варианте Расширение исправлена ошибка команды "открыть объект для отладки" при отказе от ввода идентифицирующей строки
        +В информацию для технической поддержки добавлена версия БСП
    Консоль кода
        +Добавлен флажок "Автосохранение файла восстановления"
    Подбор и обработка объектов
        *Добавлено чтение списка доступных обработок по ключу из старых версий, если по ключу из новой версии он еще не была сохранен
    Анализ техножурнала
        *Исправлено обнуление чисел в экспоненциальной форме при разборе плана запроса MSSQL
    Настройка техножурнала
        +Добавлено поле выбора варианта расположения файла настроек (Активный файл, Для текущего пользователя ОС, Для текущей версии, Перенаправление текущей версии)
2018-02-25 13:03:22 +03:00

59 lines
3.6 KiB
Plaintext

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