() pyrkin_vanya, (5) Alexsisit,
Модуль закрыт случайно, никто бы не сказал я и не заметил бы. Чтобы не качать снова текст модуля вот:
Перем СписокКонтактов Экспорт;
Функция ПолучитьСписокКонтактов() Экспорт
УстановитьПривилегированныйРежим(Истина);
КС = Новый КвалификаторыСтроки(200);
Массив = Новый Массив;
Массив.Добавить(Тип("Строка"));
ОписаниеТиповС = Новый ОписаниеТипов(Массив, , КС);
СоединенияИнформационнойБазы = ПолучитьСоединенияИнформационнойБазы();
АктивныеПользователиТЗ = Новый ТаблицаЗначений;
АктивныеПользователиТЗ.Колонки.Добавить("ИмяПользователя",ОписаниеТиповС);
Для каждого Соединение Из СоединенияИнформационнойБазы Цикл
Если НЕ Соединение.ИмяПриложения="1CV8" Тогда
Продолжить;
КонецЕсли;
АктивныйПользователь=АктивныеПользователиТЗ.Добавить();
АктивныйПользователь.ИмяПользователя=Соединение.Пользователь.Имя;
КонецЦикла;
АктивныеПользователиТЗ.Свернуть("ИмяПользователя");
МассивПользователей = ПользователиИнформационнойБазы.ПолучитьПользователей();
ТЗПользователи = Новый ТаблицаЗначений;
ТЗПользователи.Колонки.Добавить("Имя",ОписаниеТиповС);
ТЗПользователи.Колонки.Добавить("Наименование",ОписаниеТиповС);
ТЗПользователи.Колонки.Добавить("ИдентификаторПользователяИБ",ОписаниеТиповС);
Для каждого СтрокаМассива Из МассивПользователей Цикл
СтрокаПользователь = ТЗПользователи.Добавить();
СтрокаПользователь.Имя = СтрокаМассива.Имя;
СтрокаПользователь.Наименование = СтрокаМассива.ПолноеИмя;
СтрокаПользователь.ИдентификаторПользователяИБ = СтрокаМассива.УникальныйИдентификатор;
КонецЦикла;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| АктивныеПользователи.ИмяПользователя,
| ""Активный"" КАК Статус
|ПОМЕСТИТЬ ВТАктивныеПользователи
|ИЗ
| &ТЗАктивныеПользователи КАК АктивныеПользователи
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Пользователи.Имя,
| Пользователи.Наименование,
| Пользователи.ИдентификаторПользователяИБ
|ПОМЕСТИТЬ ВТПользователи
|ИЗ
| &МассивПользователи КАК Пользователи
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Пользователи.Имя КАК Наименование,
| Пользователи.Наименование КАК ПолноеНаименование,
| ЕСТЬNULL(АктивныеПользователи.Статус, ""Неактивный"") КАК Статус,
| Пользователи.ИдентификаторПользователяИБ КАК id
|ИЗ
| ВТПользователи КАК Пользователи
| ЛЕВОЕ СОЕДИНЕНИЕ ВТАктивныеПользователи КАК АктивныеПользователи
| ПО Пользователи.Имя = АктивныеПользователи.ИмяПользователя
|ГДЕ
| НЕ Пользователи.Имя = &ТекущийПользователь
|
|СГРУППИРОВАТЬ ПО
| Пользователи.Имя,
| Пользователи.Наименование,
| Пользователи.ИдентификаторПользователяИБ,
| ЕСТЬNULL(АктивныеПользователи.Статус, ""Неактивный"")
|
|УПОРЯДОЧИТЬ ПО
| Статус,
| Наименование";
Запрос.УстановитьПараметр("ТЗАктивныеПользователи",АктивныеПользователиТЗ);
Запрос.УстановитьПараметр("МассивПользователи",ТЗПользователи);
Запрос.УстановитьПараметр("ТекущийПользователь",ПользователиИнформационнойБазы.ТекущийПользователь().Имя);
СписокКонтактов = Запрос.Выполнить().Выгрузить();
Возврат СписокКонтактов;
КонецФункции
УстановитьПривилегированныйРежим(Истина);
КВФ = КаталогВременныхФайлов();
ИмяАрхива = ПолучитьИмяВременногоФайла();
ПолучитьМакет("messenger").Записать(ИмяАрхива);
Zip_file = Новый ЧтениеZipФайла(ИмяАрхива);
Zip_file.ИзвлечьВсе(КВФ);
СписокКонтактов = ПолучитьСписокКонтактов();
Показать