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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.06.2007, 10:09   #1  
VasVovec is offline
VasVovec
Участник
Аватар для VasVovec
 
145 / 10 (1) +
Регистрация: 13.04.2007
А реально ли задать фильтр, чтобы по нему выбрались все записи у которых в дате скажем месяц май?
Или придется перебирать все записи и самому просматривать месяц используя DATE2DMY?
Старый 13.06.2007, 10:16   #2  
andrevk is offline
andrevk
Участник
 
145 / 10 (1) +
Регистрация: 23.11.2006
А если сделать так: 01.05.07..31.05.07
Старый 13.06.2007, 10:34   #3  
VasVovec is offline
VasVovec
Участник
Аватар для VasVovec
 
145 / 10 (1) +
Регистрация: 13.04.2007
Так надо то по всем годам
Старый 13.06.2007, 10:46   #4  
romeo is offline
romeo
Участник
Аватар для romeo
 
564 / 10 (2) +
Регистрация: 31.03.2004
Цитата:
Сообщение от VasVovec Посмотреть сообщение
Так надо то по всем годам
Персонал?
Надо найти всех именинников майских? )
Старый 13.06.2007, 11:07   #5  
VasVovec is offline
VasVovec
Участник
Аватар для VasVovec
 
145 / 10 (1) +
Регистрация: 13.04.2007
Ну чтото типа этого
Старый 13.06.2007, 11:18   #6  
andrevk is offline
andrevk
Участник
 
145 / 10 (1) +
Регистрация: 23.11.2006
Ну если записей очень много, можно создать дополнительное поле заполнив его номером месяца.
Старый 13.06.2007, 15:23   #7  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Цитата:
Сообщение от VasVovec Посмотреть сообщение
А реально ли задать фильтр, чтобы по нему выбрались все записи у которых в дате скажем месяц май?
Или придется перебирать все записи и самому просматривать месяц используя DATE2DMY?
Поссмотри пример реализации, например в форме 12498 "Товар Оборотная Ведомость". Там все прекрасно работает...
И на основе этого можно сделать свои Гриды и Отчеты.
Старый 14.06.2007, 11:03   #8  
VasVovec is offline
VasVovec
Участник
Аватар для VasVovec
 
145 / 10 (1) +
Регистрация: 13.04.2007
2 RedFox
Ты ничего не перепутал? у меня форма 12498 называется "Таможенная Декларация Связь".
Старый 14.06.2007, 17:28   #9  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Цитата:
Сообщение от VasVovec Посмотреть сообщение
2 RedFox
Ты ничего не перепутал? у меня форма 12498 называется "Таможенная Декларация Связь".
Сорри, не та версия была.
Смотри 12406 "Customer G/L Turnover" (4 SP3)
Старый 18.06.2007, 09:26   #10  
VasVovec is offline
VasVovec
Участник
Аватар для VasVovec
 
145 / 10 (1) +
Регистрация: 13.04.2007
Так в этой форме же вроде фильтруются записи по периоду тоже, а не как мне надо - допустим по конкретному месяцу всех лет.
И еще я что-то не понял там смысла конструкции:
Код:
SETRANGE("Date Filter",Calendar."Period Start",Calendar."Period End");
IF GETRANGEMIN("Date Filter") = GETRANGEMAX("Date Filter") THEN
  SETRANGE("Date Filter",GETRANGEMIN("Date Filter"));
Старый 18.06.2007, 11:02   #11  
kas1 is offline
kas1
Участник
 
51 / 10 (1) +
Регистрация: 13.02.2007
Попробуйте так, я тут быстро накидал, мож. поможет.
//date тип Option ( ,январь,февраль и т.д. все месяцы)
//Далее создали функцию в функции пишем

IF date = date::январь THEN
DateInt:='01';
IF date = date::февраль THEN
DateInt:='02';
IF date = date::март THEN
DateInt:='03';
IF date = date::апрель THEN
DateInt:='04';
IF date = date::май THEN
DateInt:='05';
IF date = date::июнь THEN
DateInt:='06';
//и тд. по всем месяцам

RESET;
IF FIND('-') THEN REPEAT
IF (FORMAT(DATE2DMY("From Date",2)) = DateInt) THEN
//Маркеруем записи попадающие под наше условие
MARK(TRUE);
UNTIL NEXT =0;
//Отображаем промаркерованные записи
MARKEDONLY(TRUE);

Вот такая задумка, попробуйте
Старый 18.06.2007, 11:34   #12  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
Что-то мне подсказывает, что в таблице с датой пользоваться "марком" будет накладно (как правило это таблицы с историей какой-нибудь.... Entry, Log и т.п.).

Тут надо плясать от самой задачи... Принцип - разделяй и властвуй был бы быстрее...
например, взять в таблице минимальный год и максимальный. Написать цикл по годам и работать внутри одной порции (одного года)..
Старый 18.06.2007, 12:22   #13  
romeo is offline
romeo
Участник
Аватар для romeo
 
564 / 10 (2) +
Регистрация: 31.03.2004
Я за дополнительное поле в таблице, в котором будет храниться номер месяца. Кто-то впереди это написал. Заполнять на инсерте и никаких гвоздей. Если есть потребность в подобном срезе данных.
Старый 18.06.2007, 12:37   #14  
VasVovec is offline
VasVovec
Участник
Аватар для VasVovec
 
145 / 10 (1) +
Регистрация: 13.04.2007
Про дополнительное поле - это конечно первая мысль, которая сразу в голову лезет.
Я сейчас сделал фильтр + перебор отфильтрованых записей.
Попробую как время будет с марком, проверю быстрее ли работать станет.
Старый 18.06.2007, 13:05   #15  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
Опять же - смотря какая задача
Я согласен, что, если часто запускают отчет и очень это надо, то можно добавлять поле (а к нему и ключ)...
Но, если отчет запускают изредка, а таблица, например "Value Entry", то тут еще вопрос... стоит ли плодить ключи в такой таблице...

В общем, разумный выбор должен сделать тот, кто решает задачу Методов тут множество - надо выбрать оптимальный...
Старый 18.06.2007, 13:40   #16  
andrevk is offline
andrevk
Участник
 
145 / 10 (1) +
Регистрация: 23.11.2006
Цитата:
Сообщение от randrews Посмотреть сообщение
Но, если отчет запускают изредка, а таблица, например "Value Entry", то тут еще вопрос... стоит ли плодить ключи в такой таблице...
А что мешает внести дополнительный ключ в "Группу ключей БД", которые можно вкл/откл по необходимости?
Старый 18.06.2007, 14:02   #17  
grif is offline
grif
Участник
Аватар для grif
 
236 / 10 (1) +
Регистрация: 31.08.2006
Сделать цикл по диапазону годов по кторым нужно сомтреть. Ставить фильтр на конкретные месяцы года, обрабатывать записи и переходить к следующему. Хотя тут тоже - смотря как и что нужно обрабатывать.
Хотя в любом случае можно выгрузить во временную таблицу, а лишь потом обрабатывать. Будет в разы быстрее марка и не надо никаких ключей добавлять.
Старый 18.06.2007, 14:10   #18  
grif is offline
grif
Участник
Аватар для grif
 
236 / 10 (1) +
Регистрация: 31.08.2006
Вижу что сбоянил - уже тут такое предлагали
Старый 18.06.2007, 15:27   #19  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
Цитата:
Сообщение от Andreblack Посмотреть сообщение
А что мешает внести дополнительный ключ в "Группу ключей БД", которые можно вкл/откл по необходимости?
Ничего не мешает
На мой взгялд, "Группа ключей БД" вообще-то для девелоперов больше...

Просто интересно - хоть кто-нибудь пользовался Группой Ключей? У меня такое ощущение, что все знают, что она есть, но на практике отчетов, котрые строились бы раз в год нет....
Старый 19.06.2007, 15:42   #20  
VasVovec is offline
VasVovec
Участник
Аватар для VasVovec
 
145 / 10 (1) +
Регистрация: 13.04.2007
Присоединяюсь к randrews в этом.
Кто-нибудь может поделиться опытом использования "Группы ключей БД"?
Хотя бы и на примере данной задачи
 


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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:41.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.