RDT1C/CommonModules/ирПривилегированный/Ext/Module.bsl
Администратор 44d039335f .
2020-10-12 08:24:51 +03:00

77 lines
4.4 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.

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