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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.07.2004, 09:45   #1  
Shakr
Гость
 
n/a
Нужно отфильтровать нечто по дате за текущий квартал текущего года.

Заходим
Дата,фильтр,0106..0109

Не очень удобно. Какие придуманы средства для более удобной фильтрации?
Допустим "фильтровать по дате" - проваливаемся на формочку с диапазоном дат. Нажали на пимпочку около первой даты - вывалился календарик, нажали на такую же пимпочку около второй - вывалилися опять же календарик
нажали "применить фильтр" - и отфильтровалось легко и удобно.

Делали что-то подобное?

Все, что пока приходит в голову - это сожрать 2 формы и слепить требуемое. Неужели штатных средств нет?
Старый 14.07.2004, 10:17   #2  
Rungart is offline
Rungart
Участник
 
491 / 12 (1) ++
Регистрация: 13.01.2003
Адрес: Украина
Штатных-нет.
Посмотите на mibuso.com - там появлялись несколько формочек и внешних утилиток. Но, в любом случае, "встроить" их в интерфейс не получится : они будут открываться в новом окне.
С другой стороны, можно слепить стационарный календарик из субформы Нави рядом с контролом (к примеру, их Matrix box).
__________________
Русский человек славится своим умением находить выход из самых трудных ситуаций, но еще более он славится своим умением находить туда вход.
Старый 14.07.2004, 10:17   #3  
Dzemon is offline
Dzemon
Moderator
 
1,247 / 12 (3) ++
Регистрация: 09.09.2004
Для этого используют таблицу Дата (Date), из которой берут тип диапазона дат: Год, Месяц, Квартал, Неделя и соответственно даты начала диапазона и конца диапазона. Обратите внимание, что последняя дата дана Закрывающая, т.е. ее надо приобразовать функцией NORMALDATE().

А в параметрах отчета сначала выбираете тип диапазона дат, а потом и сам диапазон.
Старый 14.07.2004, 15:29   #4  
Dzemon is offline
Dzemon
Moderator
 
1,247 / 12 (3) ++
Регистрация: 09.09.2004
Кстати, а вот и форма календарика. Она конечно сыренькая, написана побыстрому, ну кто захочет - доделает ;-)
Выгружена в текстовом формате.
Вложения
Тип файла: txt CalendarF.txt (38.1 Кб, 451 просмотров)
Старый 14.07.2004, 18:40   #5  
Shakr
Гость
 
n/a
Вы не можете ввести ' дата=14.07.04;' в fieldNo. Курсор установлен перед некорректным символом

import stopped on line 5;


ЗЫ. конфигурил календарик, который сделан под NF 2.6 чтоли... Почти всё получилось - но там стоит ограничение дурацкое. Почему-то не могу обойти. Можно листать года начиная от текущего вперёд

Хотелось бы нормально выбирать год - без всяких ограничений
Старый 15.07.2004, 10:22   #6  
Dzemon is offline
Dzemon
Moderator
 
1,247 / 12 (3) ++
Регистрация: 09.09.2004
Странно. Это нарушение в структуре файла.
Скажите мне ID возможного для вас объекта, я вам FOB пришлю. Или свяжитесь по аське.
Старый 04.08.2004, 14:26   #7  
Likefire is offline
Likefire
Заноза в заднице
Аватар для Likefire
MCBMSS
Лучший по профессии 2009
 
547 / 50 (3) ++++
Регистрация: 22.10.2007
Адрес: Москва
Записей в блоге: 1
Передо мной тож встала подобного рода задача. Я её решил следующим образом: создал новую форму календарика, в которой можно выбирать дату, смещаясь на месяц, либо год вперёд/назад, при этом я не стал особо мудрить - всё сделано достаточно топорно, но надёжно. Есть, конечно некоторые минусы: размеры окна с календариком подгоняются к размерам предыдущегго раскрытого окна, либо наоборот - всё слетает, ну и конечно же - необходимость снабжать триггер OnLookUp, поля с вводимой датой, строкой вызова формы календаря.
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков!
Старый 04.08.2004, 17:49   #8  
Dzemon is offline
Dzemon
Moderator
 
1,247 / 12 (3) ++
Регистрация: 09.09.2004
Я таки доделал календарик до приличного вида, нужно выкладывать?
Старый 05.08.2004, 12:44   #9  
Uni_DeMoN_imported is offline
Uni_DeMoN_imported
Участник
 
83 / 10 (1) +
Регистрация: 05.04.2004
Неплохо было бы посмотреть!
Старый 05.08.2004, 16:23   #10  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
О! Спасибо.
Уважаемые участники, если вам понравилось сообщение, вы можете добавить респект.
Добавить респект можно нажав на плюс в строке Респекты в понравившемся сообщении.
__________________
полезное на axForum, github, vk, coub.
Старый 17.08.2004, 16:29   #11  
Likefire is offline
Likefire
Заноза в заднице
Аватар для Likefire
MCBMSS
Лучший по профессии 2009
 
547 / 50 (3) ++++
Регистрация: 22.10.2007
Адрес: Москва
Записей в блоге: 1
Цитата:
Сообщение от Dzemon
Последний вариант.

Как его вызвать:
rec_Date              Record      Дата
From Date              Date 
CalendarForm Form      Calendar Form

<div class='CALtop'>C/AL</div><div class='CAL'>OnLookup(VAR Text : Text[1024] : Boolean

CLEAR(CalendarForm);
IF Text <> '' THEN
BEGIN
 EVALUATE("From Date",Text);
 rec_Date.SETRANGE("Тип периода",rec_Date."Тип периода"::День);
 rec_Date.SETRANGE("Начало периода","From Date");
 CalendarForm.SETTABLEVIEW(rec_Date);
END;

IF CalendarForm.RUNMODAL = ACTION::LookupOK THEN
BEGIN
 rec_Date.RESET;
 CalendarForm.GETRECORD(rec_Date);
 Text := FORMAT(rec_Date."Начало периода");
 EXIT(TRUE);
END
ELSE
 EXIT(FALSE);</div>
Щас вот решил скачать и посмотреть творчество уважаемого Dzemon. Ну так, судя по коду и прочим атрибутам: я двигался в том же направлении. А вообще исходным прообразом создания такой вещи для меня послужил 1С: там такая мулька используется довольно давно, а когда начал работать с нави,- не обнаружил там этой штуки, хотя, ясно было, что сделать нечто подобное - достаточно просто... что и продемонстрировал уважаемый Dzemon и Ваш покорный слуга. ) Конечно,- мой вариант несколько проще в исполнении, но передо мной стояла задача простой реализации подобной возможности. Поэтому получилось так, как получилось.
З. Ы. Кстати, я обратил внимание, что практически никого эта вещь не заинтересовала... а зря, очень зря.
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков!
Старый 17.08.2004, 18:40   #12  
Dzemon is offline
Dzemon
Moderator
 
1,247 / 12 (3) ++
Регистрация: 09.09.2004
Цитата:
Сообщение от Likefire
Если кого заинтересовала данная тема,- предлагаю свою ипостась календарика для подбора даты в соответствующих полях. Работа всего этого дела до безобразия проста: из прикреплённый файл Calend.fob  импортируете в любую базу, а нужные поля снабжаете свойством LookUp-Yes и в соответствующую процедуру OnLookUp выбранного поля дописываете следующие строки:

CLEAR(Calendar);    // Calendar - переменная типа Form.Calendar
IF (Calendar.RUNMODAL=ACTION::Close) AND (Calendar.ReplyOut <> 0D) THEN
  MYDate := Calendar.ReplyOut;

Вот и вся любовь! Кому интересно,- зацените.
Посмотрел, симпатично.
Пора на форуме открывать раздел Downloads
Старый 17.08.2004, 19:12   #13  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Dzemon, по поводу раздела downloads я открыл обсуждение.
Как должен выглядеть раздел downloads?
__________________
полезное на axForum, github, vk, coub.
Старый 18.08.2004, 11:37   #14  
Likefire is offline
Likefire
Заноза в заднице
Аватар для Likefire
MCBMSS
Лучший по профессии 2009
 
547 / 50 (3) ++++
Регистрация: 22.10.2007
Адрес: Москва
Записей в блоге: 1
Спасибо всем, кто оценил. Вот ещё есть у меня мысль слегка усовершенствовать этот календарь всякими такими вещами как визуальное отображение и быстрый ввод рабочей и текущей дат, и, кто знает, какими ещё полезными функциями без ущерба основной функции,- подскажите. Для того и форум, чтобы можно было получать ответы на такие вопросы, которые в книжках нати трудно!
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков!
Старый 18.08.2004, 11:59   #15  
Dzemon is offline
Dzemon
Moderator
 
1,247 / 12 (3) ++
Регистрация: 09.09.2004
Ну, если уж охота повозиться, то попробуй сделать переключаемый календарик по 1 дню (обычный), квартальный и недельный ;-)

И + возможность выбора интервала типа 01.01.01..12.01.01
Старый 18.08.2004, 12:04   #16  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Likefire, у меня просьба - положите скриншотик вашего календарика для тех, кто еще не скачал.

Dzemon, можешь сделать скриншотик и для своего?

Народ просит. Хочется давать авторские варианты.
__________________
полезное на axForum, github, vk, coub.
 


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

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

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