История действий на формулах

  • Автор темы nila
  • Дата начала
N

nila

#1
Делаю историю скриптом. Все окей.
А вот как сделать на собаках тоже самое? не получается.
есть ответые документы по форме History;
вид (History) первая колонка - категаризиврованная унид. главного документа
Вторая колонка унид ответного документа history.
Пишу так в кнопке в главном документе

Unid:=@DocumentUniqueID;
UnidDoc:=@DbLookup("":"NoCache";"":"";"(History)";Unid;2);
@SetDocField(UnidDoc;"History";"test history"); // причем здесь тоже можно ли как то что б он добавлял значение в историю.
@Command( [ViewRefreshFields] )
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
1
#3
Medevic +1 :)

единственное, что могу подсказать, то @DocumentUniqueID почти всегда нужно преобразовывать в текст, т.к. это спец тип: Unid:=@Text(@DocumentUniqueID)
иначе в данном случае его нельзя использовать...

ошибки по формуле:
- не преобразован в текст унид;
- нет обработки ошибки DbLookup
- не понятно зачем используется ViewRefreshFields

Код:
Unid:=@Text(@DocumentUniqueID);
UnidDoc:=@DbLookup("":"NoCache";"":"";"(History)";Unid;2; [FAILSILENT]);
@If(
@IsError(UnidDoc);
@Return(0);
@Do(
oldHistory := @GetDocField(UnidDoc; "History");
@SetDocField(UnidDoc;"History"; oldHistory : "test history");
@Command( [ViewRefreshFields] )
)
)

вообще, из всей формулы понятно лишь, что есть какой-то документ, который висит в виде "(History)", и в котором есть ключ, равный униду текущего документа (как такое сделано тоже загадка :))
в этот документ мы пытаемся прописать поле "History" значением "test history"...
в общем, не очень понятен смысл... опиши изначально задачу, если хочешь чтобы помогли :)


кроме того, не понятно, чем тебя не устраивает скриптовая реализация, если она рабочая...
 
N

nila

#4
Спасибо!
Очень полезная информация!
А @Command( [ViewRefreshFields] ) мне нужно что б в документе встроенный вид обновился на ui.
Что в таком случае используют?
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
1
#5
не скажу ;)
в шестерке, вроде, надо явно тыкать в кнопку обновления во внедренном виде, в семерке, вроде, пофиксили, но точно не знаю...
 
K

K-Fire

#6
Если [FAILSILENT] указан, дыбылукап вроде бы никогда не вернет @isError.

А по теме: вот ведь людям делать нечего :)
Тут сидишь и пытаешься накодить как можно больше полезного кода за единицу времени, а кто-то переписывает с лотусскрипта на формулы. Обратную задачу я бы понял, но эту... не понимаю :)
 
N

nila

#7
На кнопках старый функционал написанный на формулах.
Новый функционал на скрипте, там я и добавила историю на скриптах.

В старый который на формулах надо было это добавить!
Вот почему это мне надо было! :)