Показать сообщение отдельно
Старый 13.01.2004, 19:36   #1  
Alex_V is offline
Alex_V
Участник
 
159 / 10 (1) +
Регистрация: 19.02.2003
calcformula в flowfields
добавил 2 поля в таблицу to-do (задачи):

первое - To-do Originator Code - код постановщика задач - при создании задачи сюда записывается USERID. этот USERID так же может быть приписан одному из менеджеров (поле Attain User ID таблицы Salesperson/Purchaser)

второе - To-do Originator Name - имя постановщика задач:
FlowField
CalcFormula: Lookup(Salesperson/Purchaser.Name WHERE (Attain User ID=FILTER(<>''),Attain User ID=FIELD(To-do Originator Code)))


Итог (значение поля To-do Originator Name):
1. в формах отображающих задачи контакта, менеджера,... в записях у которых
To-do Originator Code='' (пустое) отображается первая запись из Salesperson/Purchaser с Attain User ID <>''. Теоретически, по накладываемым условиям, вообще ничего не должно отображаться в поле To-do Originator Name.

2. Если изменим CalcFormula на: Lookup(Salesperson/Purchaser.Name WHERE (Attain User ID=FIELD(To-do Originator Code))), то естественно отображается первый менеджер из Salesperson/Purchaser у которого Attain User ID = ''

Интересует поведение в 1-м случае-это такая непонятная особенность наложения двух условий на одно и то же поле??или нельзя объединить два условия на одно и тоже поле таблицы??

Решение для форм-подправить код(что не хочется делать) OnAfterGetRecord, OnAfterGetCurrRecord типа след. образом:
IF "To-do Originator Code" = '' THEN
To-do Originator Name := '';