AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.01.2004, 11:39   #1  
Nataly is offline
Nataly
Участник
 
101 / 10 (1) +
Регистрация: 17.06.2003
Адрес: Екатеринбург
Дублирование FlowField
У меня такая ситуация, что поля FlowField стандартной таблицы необходимо использовать при вычислении поля FlowField в другой (моей) таблице. Это естественно не позволяется. Была мысль создать в этой стандартной таблице дублирующие поля, только с типом Normal, вот только не понятно в каком триггере надо написать копирование в них значений из FlowField.
Подскажите как обойти такую проблему
Старый 19.01.2004, 14:45   #2  
Глазков is offline
Глазков
Участник
 
10 / 10 (1) +
Регистрация: 13.01.2004
Адрес: СПб
Обычно это решается тем, что и новые flowfieldы считаются по тем же исходным данным, что и старые. Например, баланс по клиенту считаетс по detailed client ledger, а не по client ledger.
То как Вы хотите решать эту задачу на мой взгляд непродуктивно (а может, и невозможно)
__________________
Теоретически нет никакой разницы между теорией и практикой, однако практически такую разницу можно обнаружить
Старый 19.01.2004, 15:40   #3  
Nataly is offline
Nataly
Участник
 
101 / 10 (1) +
Регистрация: 17.06.2003
Адрес: Екатеринбург
Но разве в CalcFormula можно использовать более одной функции, и вообще какое-либо сложное выражение?
Старый 19.01.2004, 16:04   #4  
Глазков is offline
Глазков
Участник
 
10 / 10 (1) +
Регистрация: 13.01.2004
Адрес: СПб
Неужели понадобилось что-то сложнее Sum или Lookup? :-)

Правильно ли я понимаю схему данных:
MasterTable <-->> Entries <->> SubEntries
где <->> = связь один ко многим?
Если да, то, на самом деле, не хватать может только полей в SubEntries по которым необходимо фильтровать информацию для получения flowfield в MasterTable.
Т.е., например в Entries есть дата, а в Subentries она не повторяется (типа привет сторонникам нормализации -- ссылка по номеру на Entries и хватит :-)). Решать эту проблему в Attain надо введеним недостающих полей в SubEntries. Особенно, если это неизменяемая таблица -- тогда и тригера не придется писать на изменение Entries.
__________________
Теоретически нет никакой разницы между теорией и практикой, однако практически такую разницу можно обнаружить
Старый 20.01.2004, 12:38   #5  
Nataly is offline
Nataly
Участник
 
101 / 10 (1) +
Регистрация: 17.06.2003
Адрес: Екатеринбург
В общем и целом все так. Но ведь Вы тоже предлагаете добавить поля. И это не очень рационально. К тому же мало просто их добавить, надо обеспечить заполнение полей. В моем случае это выливается в правку весьма непростых процедур учета документов и т.п.

--------------
Спасибо, что откликнулись
Старый 20.01.2004, 14:02   #6  
Глазков is offline
Глазков
Участник
 
10 / 10 (1) +
Регистрация: 13.01.2004
Адрес: СПб
Post
Ну да, поля все равно добавлять.
В пользу предлагаемого мной решения говорит то, что так сделано в Navision везде, а так, как предлагете Вы -- нигде, или м.б. почти нигде.
Подозреваю, что Вашим способом тригер надо вешать на insert/delete/modify записи. При этом необходим все равно будет смотреть процедуры учета, чтобы убедиться что записи добавляются с вызовом тригера. При том, если когда-нибудь кто-то напишет маенький отчетик по исправлению данных в Subentry Вам придется написать свой маленький отчетик по исправлению последствий первого маленького отчетика.

А вообще-то я не программист -- так что здоровый скепсис по поводу этого совета может быть не лишним
__________________
Теоретически нет никакой разницы между теорией и практикой, однако практически такую разницу можно обнаружить
Старый 21.01.2004, 08:55   #7  
Nataly is offline
Nataly
Участник
 
101 / 10 (1) +
Регистрация: 17.06.2003
Адрес: Екатеринбург
Да, вообще то Вы правы ... навешивание тригера на insert/delete/modify записи совсем не интересно. Но и залезание в стандартные процедуры мне совсем не улыбается. Я все-таки пошла по своему пути, а копирование данных их FloeField в дублирующие поля произвожу непосредственно перед использованием нужных мне данных. Это конечно не очень то рационально, но для программиста наиболее просто.

Спасибо за дискуссию. В споре рождается если не истина, то хотя бы неплохие решения точно.
Старый 21.01.2004, 12:38   #8  
nov is offline
nov
Участник
 
13 / 10 (1) +
Регистрация: 21.01.2004
Адрес: Великий Новгород
Присоединюсь к мнению господина Глазкова: в Navision нет возможности создавать
FlowField на базе других FlowField(тут вы правы) - наверное это плохо... Но если
этого нет - то не надо это изобретать! Самое худшее, что можно придумать - это
создать свои поля и заполнять их каким-либо(хм!) образом из FlowField. Самый правильный путь увы один - стройте свои поля как FlowField на базе детальных
таблиц, добавляйте поля, ключи что угодно - это правильный механизм.

С уважением,
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
FlowField Greggy NAV: Программирование 3 09.12.2004 06:40
Можно ли сортировать по FlowField??? Greggy NAV: Программирование 3 25.11.2004 03:11
Вычисление FlowField в отчете Greggy NAV: Программирование 3 12.11.2004 07:39
SIFT over FlowField Rom NAV: Программирование 1 02.12.2003 13:36
Фильтры в CalcFormula у FlowField Nataly NAV: Программирование 2 13.10.2003 11:16

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 13:14.