(изменено: iui, 8 апреля 2015г. 17:05:06)

Тема: onDDE - перейти к объекту

У меня (4.0)не открывается карточка пользователя по ссылке из внешней почты: tdms://edit/{C33222D3-44E9-43BA-B70A-202E81FD7C41}.
Открывается только в клиенте Developer, простые пользователи открыть не могут. В форуме нашла тему, как использовать событие onDDE.
у нас структура такая: Объекты -  Исходящие. Сами исходящие в дереве не отображаются, только в окне состава.
Пробую как указано, что-то в этом роде:
Dim arr(2)
Set arr(0) = ThisApplication.Root 'объекты
Set arr(1) = arr(0).Objects.Item(ThisApplication.GetObjectByGuid("{CD3C32AC-448D-420F-AEAA-F028E22224ED}")) 'исходящие
ThisApplication.Shell.SetActiveTreeItem arr - находит указанную папку и выделяет ее

Dim arr1(1)
Set arr1(0) = ThisApplication.GetObjectByGuid("{EE8F8D10-E858-4960-B04B-A9A5A999D562}")'исходящий документ
ThisApplication.Shell.SetActiveListItem arr1 - не выделяет объект в окне состава!! Вообще лучше его даже открыть, но как???

Как решить эту задачу, открывать документы по ссылке из внешней почты в 4.0?
Если формировать ссылку с locate, документ подсвечивается, но очень бледно(окно состава неактивно?).

Re: onDDE - перейти к объекту

iui пишет:

Как решить эту задачу, открывать документы по ссылке из внешней почты в 4.0?
Если формировать ссылку с locate, документ подсвечивается, но очень бледно(окно состава неактивно?).

Попробуйте запустить клиентское приложение с правами администратора. После правильной регистрации все ссылки должны работать

Re: onDDE - перейти к объекту

1)"Попробуйте запустить клиентское приложение с правами администратора"   -

то есть у каждого пользователя один раз запустить тдмс от имени администратора, а потом пользователи по внешней ссылке смогут открывать карточки?
что значит "правильная регистрация?"

2)После открытия внешних ссылок сбиваются настройки запуска тдмс - имя сервера SERVER, имя базы - TDMS. Как с этим бороться?

(изменено: A77x7, 16 апреля 2015г. 15:15:12)

Re: onDDE - перейти к объекту

iui пишет:

2)После открытия внешних ссылок сбиваются настройки запуска тдмс - имя сервера SERVER, имя базы - TDMS. Как с этим бороться?

+1 (писал об этом в support@tdms.ru)
есть ещё некоторые наблюдения:
у нас в ОнДДЕ такой код

  if object is nothing then
    cancel = true
    on error resume next
    s = "Отладочная информация:" & vbNewLine
    s = s & "Object="
    s = s & Object.GUID
    s = s & vbNewLine
    s = s & "Command=" & Command & vbNewLine
    s = s & "SourceCmdLine=" & SourceCmdLine & vbNewLine
    s = s & "User=" & ThisApplication.CurrentUser.Description & vbNewLine
    s = "Объект (документ) не найден. Либо он удалён, либо ссылка некорректна" & vbNewLine & vbNewLine & s
    send_notification ThisApplication.Users("SYSADMIN").Mail, s, "TDMS: ОШИБКА", empty
    msgbox s
    exit sub
  end if
...

При запуске второго экземпляра ТДМС object is nothing и соотв-но выдаётся msgbox.
Так вот на своей машине заметил, что этот msgbox появляется иногда сам собой.
Как я писал в support сброс настроек выполняет другой процесс tdms.exe при переходе по ссылке, похоже этот другой процесс запускается не только при переходах, но и в другие моменты времени...

(изменено: McZag, 17 апреля 2015г. 10:13:57)

Re: onDDE - перейти к объекту

A77x7 пишет:

+1 (писал об этом в support@tdms.ru)
есть ещё некоторые наблюдения:
у нас в ОнДДЕ такой код

  if object is nothing then
    cancel = true
    on error resume next
    s = "Отладочная информация:" & vbNewLine
    s = s & "Object="
    s = s & Object.GUID
    s = s & vbNewLine
    s = s & "Command=" & Command & vbNewLine
    s = s & "SourceCmdLine=" & SourceCmdLine & vbNewLine
    s = s & "User=" & ThisApplication.CurrentUser.Description & vbNewLine
    s = "Объект (документ) не найден. Либо он удалён, либо ссылка некорректна" & vbNewLine & vbNewLine & s
    send_notification ThisApplication.Users("SYSADMIN").Mail, s, "TDMS: ОШИБКА", empty
    msgbox s
    exit sub
  end if
...

При запуске второго экземпляра ТДМС object is nothing и соотв-но выдаётся msgbox.
Так вот на своей машине заметил, что этот msgbox появляется иногда сам собой.
Как я писал в support сброс настроек выполняет другой процесс tdms.exe при переходе по ссылке, похоже этот другой процесс запускается не только при переходах, но и в другие моменты времени...

Правильно - письмо на support@tdms...ru. Насколько мне известно есть новая тестовая сборка, возможно в ней этот косяк поправлен

Re: onDDE - перейти к объекту

A77x7 пишет:

Как я писал в support сброс настроек выполняет другой процесс tdms.exe при переходе по ссылке, похоже этот другой процесс запускается не только при переходах, но и в другие моменты времени...

Так вы все тайны Мадридского двора выдадите  ;) Разумеется это отдельный поток. И именно это дает нам возможность сделать TDMS немного немодальным и асинхронным. Но если разберетесь как это сделать, будьте аккуратны. В отличие от инструментов, в которых асинхронность заложена в архитектуре, тут можно сказать вообще ничего нет.

Re: onDDE - перейти к объекту

а другой процесс лицензию не подъедает ?