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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.12.2008, 17:35   #1  
Loony_imported is offline
Loony_imported
Участник
 
9 / 10 (1) +
Регистрация: 26.10.2006
Добрый день. Не могу понять, в чем проблема, очень нужна помощь.
У нас есть справочник товаров (Таблица 1) и есть таблица, состоящая из трех полей (Таблица 2): товар №, Код группы, дата (ключ: товар, дата). Необходимо, чтобы при открытии Карточки товара в поле Field1, выводился код из второй таблицы в зависимости от даты. Т.е. если допустим в таблице №2 есть три записи:

Товар1 Код_1 28.11.08
Товар1 Код_2 02.12.08
Товар1 Код_3 05.12.08

Если я накладываю фильтр SETFILTER(дата '..%1',02.12.08), то необходимо, чтобы в поле отразилась последняя запись из выборки. Т.е. Код_2.


Я добавляю в таблице Товары поле «дата фильтр» FlowFilter а, необходимо поле Field1 FlowField. Формулы были испробованы разных видов, но ничего не помогает, значение в карточке появляется совершенно не понятное порой.

Подскажите в чем проблема, что я делаю не так.
Вот примеры моих формул:

Max(Таблица2. "Код группы" WHERE (Item No.=FIELD(No.),Date=FIELD(Data Filter)))
Lookup(Таблица2. "Код группы" WHERE (Item No.=FIELD(No.),Date=FIELD(Data Filter)))
Lookup(Таблица2. "Код группы" WHERE (Item No.=FIELD(No.),Date=FIELD(UPPERLIMIT(Data Filter))))
Старый 02.12.2008, 18:01   #2  
anatol33 is offline
anatol33
Участник
 
109 / 10 (1) +
Регистрация: 02.09.2008
исходя из условий фильтра

SETFILTER(дата '..%1',02.12.08), то необходимо, чтобы в поле отразилась последняя запись из выборки. Т.е. Код_2.

в выборку попадут Код_2 и Код_1 т.к. фильтр по дате ..02.12.08 и в него попадают две даты из списка
28.11.08
02.12.08
Старый 02.12.2008, 18:27   #3  
Loony_imported is offline
Loony_imported
Участник
 
9 / 10 (1) +
Регистрация: 26.10.2006
Цитата:
Сообщение от anatol33 Посмотреть сообщение
исходя из условий фильтра

SETFILTER(дата '..%1',02.12.08), то необходимо, чтобы в поле отразилась последняя запись из выборки. Т.е. Код_2.

в выборку попадут Код_2 и Код_1 т.к. фильтр по дате ..02.12.08 и в него попадают две даты из списка
28.11.08
02.12.08
Правильно, в выборку попадут две записи, но нам необходимо взять значение из последней. Возможно ли это сделать с помощью FlowField?
Старый 02.12.2008, 18:35   #4  
anatol33 is offline
anatol33
Участник
 
109 / 10 (1) +
Регистрация: 02.09.2008
Напишите какой SumIndexField в Таблице N2
Старый 03.12.2008, 10:44   #5  
Milk is offline
Milk
Участник
 
242 / 12 (1) ++
Регистрация: 08.06.2006
Проблему можно решить, заведя в Таблице 1 еще одно FlowField типа Date, допустим, "Group Date". Для него надо написать
Max(Таблица2. Date WHERE (Item No.=FIELD(No.),Date=FIELD(Data Filter))).
А поле, в котором будет находиться код группы, тогда должно иметь формулу
Lookup(Таблица2. "Код группы" WHERE (Item No.=FIELD(No.),Date=FIELD("Group Date")))
Только, внимание, фокус!
Номер поля, где считается группа, должен быть больше номера поля Group Date.
Старый 03.12.2008, 11:14   #6  
Loony_imported is offline
Loony_imported
Участник
 
9 / 10 (1) +
Регистрация: 26.10.2006
Цитата:
Сообщение от Milk Посмотреть сообщение
Проблему можно решить, заведя в Таблице 1 еще одно FlowField типа Date, допустим, "Group Date". Для него надо написать
Max(Таблица2. Date WHERE (Item No.=FIELD(No.),Date=FIELD(Data Filter))).
А поле, в котором будет находиться код группы, тогда должно иметь формулу
Lookup(Таблица2. "Код группы" WHERE (Item No.=FIELD(No.),Date=FIELD("Group Date")))
Только, внимание, фокус!
Номер поля, где считается группа, должен быть больше номера поля Group Date.
СПАСИБО ОГРОМНОЕ!!!! Помагло
 


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

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

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