RDT1C/CommonCommands/ирРедактироватьОбъектИзАктивнойФормы/Ext/CommandModule.bsl
Администратор 4c82910a51 Динамический список
+В управляемой форме перед добавлением строки теперь задается вопрос об использовании редактора объекта БД
    Редактор объекта БД
        *Исправлены в очередной раз сломавшиеся привязки на закладке "Связанные колонки"
    Консоль компоновки
        +При выполнении компоновки теперь проверяется наличие слова ПОМЕСТИТЬ в последнем запросе каждого набора данных и выдается сообщение
    Консоль запросов
        *Улучшено представление запросов-объединений в дереве запроса
    Редактор хранилищ настроек
        +В выгрузке/загрузке теперь учитываются описания настроек
    Общее
        +В форму перезапуска сеанса добавлены флажки "Отключить защиту от опасных действий" и "Включить компактный вариант форм"
        +Добавлена форма перезапуска сеанса для обычного приложения, которая теперь открывается вместо соответствующих вопросов
    Структура хранения БД
        *Исправлено открытие диалога установки параметров СУБД при выполнении очистки таблиц БД
    Загрузка табличных данных
        *Исправлено заполнение колонки НомерСтроки на закладке "Таблица БД" для добавленных строк ТЧ и наборов записей в режиме "Объекты на севере"
        *Исправлена ошибка загрузки в табличную часть
2018-05-28 06:33:47 +03:00

69 lines
3.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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