Update документа

Программирование для SmarTeam.

Update документа

Сообщение dr-dr » 17 ноя 2011 12:46

Как используя API-интерфейс Smarteam автоматически сменить режим Profile Card с View на Update?
dr-dr
Новичок
Новичок
 
Сообщения: 3
Зарегистрирован: 25 окт 2011 10:19

Re: Update документа

Сообщение Геройчиковый » 20 ноя 2011 02:51

Оооо, это очень хороший вопрос.
Когда я воевал со смартимом, я так и не нашёл ответа на такого рода вопрос (например, как узнать в каком состоянии находится объект(а точнее его карточка атрибутов)- просмотр или редактирование или вообще новый создаётся). Я решил свою задачу только с помощью ВиндовсАПИ, но, сами понимаете, что это не есть нормальное решение.
Хотя, сейчас уже кучу всего новго добавили в смартимовский АПИ, так что может быть уже есть возможность сделать и это.
Тут где-то была тема рядом про ISmFieldControl , я ещё советую покопаться в ISmGUIComponent.
Если найдёте решение - отпишитесь.
Другим, думаю, тоже будет интересно.
Будь у героев время подумать - героизма не было бы вовсе...
Все люди, занятые истинно важным делом, всегда просты, потому что не имеют времени придумывать лишнее. (Лев Николаевич Толстой)
Делай, что можешь, с тем, что имеешь, там, где ты есть. (Теодор Рузвельт)
Аватара пользователя
Геройчиковый
Участник
Участник
 
Сообщения: 170
Зарегистрирован: 25 сен 2007 08:52
Откуда: Балашиха

Re: Update документа

Сообщение dr-dr » 28 ноя 2011 08:52

состояние картоки атрибутов объекта определяется в строком атрибуте Operation.
например:

Код: Выделить всё
Function ABC(ApplHndl As Long, Operation As String, FirstPar As Long, SecondPar As Long, ThirdPar As Long) As Integer


при вызове функции в параметре Operation хранится одно из значений (ADD, UPDATE, VIEW)
скрипт можно вешать через FormDesigner на нужную карточку на событие OnShow.
таким образом, выяснить в каком состоянии карточка находится в даннный момент не проблема, а вот искуственно перевести карточку в режим UPDATE.. вот это проблема.
dr-dr
Новичок
Новичок
 
Сообщения: 3
Зарегистрирован: 25 окт 2011 10:19

Re: Update документа

Сообщение Геройчиковый » 28 ноя 2011 20:29

Не, я помню, что с этим Оперейшн было что-то не то и состояние объекта из него не опредлишь. Он вообще, похоже всегда пустой.
Сейчас трудно сказать - протестить не могу, но я помню, что я все входящие переменные пересматривал - не было там ничего.
Может они уже пофиксили там что-то, но вот тройку годиков назад - я долго бился и так и не нашёл другого решения, кроме как искать эту табличку с информацией о состоянии объекта через ВинАПИ.
Будь у героев время подумать - героизма не было бы вовсе...
Все люди, занятые истинно важным делом, всегда просты, потому что не имеют времени придумывать лишнее. (Лев Николаевич Толстой)
Делай, что можешь, с тем, что имеешь, там, где ты есть. (Теодор Рузвельт)
Аватара пользователя
Геройчиковый
Участник
Участник
 
Сообщения: 170
Зарегистрирован: 25 сен 2007 08:52
Откуда: Балашиха

Re: Update документа

Сообщение Геройчиковый » 28 ноя 2011 20:32

В моём случае скрипт вешался на кнопку на форме. И нужно было определить состояние объекта в скрипте, который вызывался при нажатии на эту кнопку. On show - не пойдёт.
Будь у героев время подумать - героизма не было бы вовсе...
Все люди, занятые истинно важным делом, всегда просты, потому что не имеют времени придумывать лишнее. (Лев Николаевич Толстой)
Делай, что можешь, с тем, что имеешь, там, где ты есть. (Теодор Рузвельт)
Аватара пользователя
Геройчиковый
Участник
Участник
 
Сообщения: 170
Зарегистрирован: 25 сен 2007 08:52
Откуда: Балашиха

Re: Update документа

Сообщение Smike » 22 янв 2012 14:33

А вроде как можно было это сделать таки через изменение Operation...
Smike
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 24 май 2008 22:13


Вернуться в Программирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

cron