![]() |
![]() |
|
Как программно в 1С получить адрес почты пользователя ? | ☑ | ||
---|---|---|---|---|
0
Rovan
гуру
15.06.11
✎
17:51
|
Тот что указан в
Пуск \ настройка \ панель управления \ почта ?? |
|||
1
shuhard
15.06.11
✎
18:00
|
(0) без каких либо гарантий:
// СписокПрофилей - СписокЗначений // кириллица в названии профиля не рулит // RegRead WSH - не получилось ПутьКФайлу=КаталогВременныхФайлов()+ "inna.txt"; Эталон="HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\"; СтрокаКоманды="reg export ""HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles"" "+Символ(34)+ПутьКФайлу+Символ(34); Shell = Новый COMОбъект("WScript.Shell"); ОшибкаОС=Shell.run (СтрокаКоманды,0,истина); Текст = Новый ЧтениеТекста(ПутьКФайлу); стррег = Текст.ПрочитатьСтроку(); Пока стррег <> Неопределено Цикл стррег = Текст.ПрочитатьСтроку(); Позиция=Найти(стррег, Эталон); Если Позиция>0 Тогда Хвост=Сред(стррег,Позиция+СтрДлина(Эталон)); Если Найти(Хвост,"\")=0 Тогда Профиль=Лев(Хвост,СтрДлина(Хвост)-1); СписокПрофилей.Добавить(Профиль); КонецЕсли; КонецЕсли; КонецЦикла; Текст.Закрыть(); УдалитьФайлы(ПутьКФайлу); |
|||
2
aleks-id
15.06.11
✎
18:11
|
1. читаем в ветке реестра "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles" параметр DefaultProfile - в нем лежит имя ДефолтныйПрофиль
2. читаем в ветке "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\"+ДефолтныйПрофиль+ "\9375CFF0413111d3B88A00104B2A6676\00000002" параметр Email - это емыл юзера кажется в кодировке юникод |
|||
3
Rovan
гуру
15.06.11
✎
22:36
|
(2) благодарствую....завтра на работе попробую подключить
|
|||
4
Rovan
гуру
16.06.11
✎
09:42
|
(2) фиг.... у меня на компе нет такого параметра
|
|||
5
vmv
16.06.11
✎
09:45
|
если пользователи в домене, то с АД через ЛДАР, все эти реестры ОС от лукавого
|
|||
6
Rovan
гуру
17.06.11
✎
09:14
|
(+5) Точно - сделал примероно как тут v8: Коллеги, как можно получить e-mail пользователя?
Функция киПолучитьПочтовыйАдресПользователяДомена( Домен, Логин, ТОшибка ) Экспорт ТОшибка = ""; Попытка conn = Новый COMОбъект("ADODB.Connection"); conn.Provider = "ADSDSOObject"; conn.Open("Active Directory Provider"); Command = Новый COMОбъект("ADODB.Command"); Command.ActiveConnection = Conn; Command.CommandText = "SELECT ADsPath FROM 'LDAP://dc="+Домен +",dc=ТутПодДомен,dc=ru' WHERE SAMAccountName='"+Логин+"'"; rs = Command.Execute(); НоваяПочта = ""; Пока НЕ rs.EOF() Цикл obj = ПолучитьCOMОбъект(rs.Fields(0).Value); Если obj.Class="user" Тогда НоваяПочта=СокрЛП(obj.EmailAddress); Если НЕ ПустаяСтрока( НоваяПочта ) Тогда Прервать; КонецЕсли; КонецЕсли; rs.MoveNext(); КонецЦикла; conn.Close(); Возврат НоваяПочта; Исключение ТОшибка = "Ошибка подключения к Active Directory!" + Символы.ПС + ОписаниеОшибки(); КонецПопытки; Возврат ""; КонецФункции |
|||
7
vmv
17.06.11
✎
09:15
|
после выхода нового релиза платформы с поддержкой ОДБСи все эти вещи станут проще
|
|||
8
Rovan
гуру
17.06.11
✎
09:49
|
(7) у нас пока 8.1
|
|||
9
oleg_km
17.06.11
✎
11:17
|
(7)
Чета вроде люди пробовали: на банальном dbf не работает, в вы раскатили на AD. Пока склоняюсь больше к годами и миллионами пользователей обкатанным компонентам, пусть даже и от Microsoft |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |