Вопрос по @dblookup

  • Автор темы Galina
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Galina

#1
Подскажите, пожалуйста, в чем ошибка:

есть простое представление StateCodes, содержащее 2 колонки:
первая - StateCode(Код), отсортирована
вторая - StateText(Текст)

в другом представлении нужно вывести колонку, содержащую текст из колонки StateText первого представления по ключевому значению, которое содержится в поле документа.

формула @DbLookup("":"";"":"";"StateCodes";ClientState;2), определяющая значение колонки, возвращает пустое значение. Причем, попытка подставить конкретное значение ключа (@DbLookup("":"";"":"";"StateCodes";1;2) или @DbLookup("":"";"":"";"StateCodes";"1";2)) приводит к тому же результату.

Сама формула работает, т.к. если в событии QueryOpen поставить @Prompt([Ok];"";@DbLookup("":"";"":"";"StateCodes";1;2)), то при открытии выводится нужное значение.

Для эксперимента пробовала работать с @DbColumn, результат такой же – в событии формула отрабатывает, а при указании той же формулы в качестве значения колонки – возвращается пустое значение.
 
G

Galina

#3
Спасибо.

Действительно просмотрела эту фразу в Help.

Тогда еще вопрос: можно ли как-то по другому реализовать просмотр такого значения в представлении ?
 

morpheus

скриптописец
07.08.2006
3 915
1
#4
Если это тока в доке, то:

сделать эмбитет вьюха(в документе) , со свойством сингл категори = "по ключевому значению, которое содержится в поле документа."

или я не правильно понял где должен быть втарой view ?
 
G

Galina

#5
Нужно реализовать следующее:

Есть документ А с 2 полями: код статуса и название статуса (документы А составляют справочник). Есть документ В, в котором (как хотелось бы) хранится код статуса. Задача создать отдельное View, в котором выводятся статусы докуметов В, но не коды, а названия статусов из соответствующих документов А.

Хотелось бы знать, можно ли в Лотусе это реализовать. Если да, то подскажите, пожалуйста, идею, как это сделать.
 
F

fvoice

#6
Если я правильно понял можно попробовать добавить в документ В вычисляемое поле, которое и будет хранить значение StateText, а также отображать его в представлении.
 
G

Galina

#7
Если я правильно понял можно попробовать добавить в документ В вычисляемое поле, которое и будет хранить значение StateText, а также отображать его в представлении.
Это можно сделать, только мне хочется избежать ситуации, когда при изменении названия какого-либо статуса (StateText) в документе А, придется обновлять это поле во всех документах B (как и в ситуации, если использовать обычное поле с названием статуса).
 
F

fvoice

#8
Если поле будет просто вычисляемым, а не вычисляемым при создании, оно будет автоматически обновлять значение по коду (даже при нажатии F9), меняться ведь будет название статуса.
 
G

Galina

#9
Если поле будет просто вычисляемым, а не вычисляемым при создании, оно будет автоматически обновлять значение по коду (даже при нажатии F9), меняться ведь будет название статуса.
в Help :

F9 - Refresh current document (in Edit mode), view or workspace

Насколько я понимаю, для обновления нужных вычисляемых полей всех документов, нужно или открывать каждый документ EDIT и сохранять, или делать это программно для всех документов.
 

morpheus

скриптописец
07.08.2006
3 915
1
#10
правильно, вот и делаетсья для такого ночной агентик, который правит все значения названия статуса по его коду
 
Статус
Закрыто для дальнейших ответов.