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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.01.2011, 16:53   #1  
ipok is offline
ipok
Участник
 
40 / 11 (1) +
Регистрация: 18.08.2010
Сделать хитрое представление.
Сущность - контакт.
Поле дата рождения - допусти 05 января 1991 года.

Хочется сделать следующее представление - показывать всех контактов у которых день рождения в ближайшие 7 дней.

Если стандартными средствами, то не получается.

Как это еще можно организовать, по-моему задача вполне распространенная, но как решить не нашел ((
Старый 28.01.2011, 17:09   #2  
IgorF is offline
IgorF
Учаснег
Аватар для IgorF
Ex AND Project
Лучший по профессии 2011
Лучший по профессии 2009
 
307 / 37 (2) +++
Регистрация: 23.07.2007
Адрес: Поребрик сити
Делали простейшей кастомной страницей. на которую данные выводятся и фильтруются. Можно с ссылками, чтобы переходить удобно было.
__________________
http://about.me/fedorovigor
Старый 28.01.2011, 18:01   #3  
Bondonello is offline
Bondonello
Kostya Afendikov
Аватар для Bondonello
MCBMSS
Лучший по профессии 2009
 
510 / 106 (5) +++++
Регистрация: 06.06.2008
Адрес: Украина
Цитата:
Сообщение от ipok Посмотреть сообщение
Сущность - контакт.
Поле дата рождения - допусти 05 января 1991 года.

Хочется сделать следующее представление - показывать всех контактов у которых день рождения в ближайшие 7 дней.

Если стандартными средствами, то не получается.

Как это еще можно организовать, по-моему задача вполне распространенная, но как решить не нашел ((
Ну так, а что вам мешает добавить представление Контакта, указав Дата рождения - Следующая неделя, или следующий месяц или что-то еще ?
Старый 28.01.2011, 18:04   #4  
ipok is offline
ipok
Участник
 
40 / 11 (1) +
Регистрация: 18.08.2010
Ага, именно так и было сделано изначально, только проблема в годе.

Если день рождения в этого году то работает, а если день рождения как у всех 30 лет назад, то это не следующая неделя.
Старый 28.01.2011, 18:08   #5  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
Создайте, например, БП который будет ежедневно отрабатывать (добавлять 1 год) и обновлять новое поле "ДР в следующем году".
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога
Старый 28.01.2011, 18:25   #6  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от slivka_83 Посмотреть сообщение
БП который будет ежедневно отрабатывать (добавлять 1 год) и обновлять новое поле "ДР в следующем году".
Т.е. за месяц запись "постареет" на 28-31 (в зависимости от месяца) лет?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 28.01.2011, 21:27   #7  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
Цитата:
Сообщение от a33ik Посмотреть сообщение
Т.е. за месяц запись "постареет" на 28-31 (в зависимости от месяца) лет?
Цитата:
Сообщение от slivka_83 Посмотреть сообщение
новое поле
Т.е. завести новое поле даты которое будет показывать дату ближайшего день рождения.
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога

Последний раз редактировалось mazzy; 28.01.2011 в 23:00. Причина: поправлена орфография
Старый 28.01.2011, 22:46   #8  
Bondonello is offline
Bondonello
Kostya Afendikov
Аватар для Bondonello
MCBMSS
Лучший по профессии 2009
 
510 / 106 (5) +++++
Регистрация: 06.06.2008
Адрес: Украина
Цитата:
Сообщение от ipok Посмотреть сообщение
Ага, именно так и было сделано изначально, только проблема в годе.

Если день рождения в этого году то работает, а если день рождения как у всех 30 лет назад, то это не следующая неделя.
Точно, про год не сообразил, простите. Тогда можно сделать как предложил IgorF или сделать кастомный отчет с нужной логикой и представлением и разместить в системе.
Старый 30.01.2011, 11:23   #9  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Поробуйте мое решение www.axforum.info/forums/blog.php?b=173
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 31.01.2011, 00:24   #10  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
Цитата:
Сообщение от ipok Посмотреть сообщение
Сущность - контакт.
Поле дата рождения - допусти 05 января 1991 года.

Хочется сделать следующее представление - показывать всех контактов у которых день рождения в ближайшие 7 дней.

Если стандартными средствами, то не получается.

Как это еще можно организовать, по-моему задача вполне распространенная, но как решить не нашел ((
А я бы попробовал вот таким хитрым способом:

Код:
 
<fetchversion="1.0"output-format="xml-platform"mapping="logical"distinct="false">
  <entityname="ENTITYNAME">
     <filtertype="or">
        <filtertype="and">
            <conditionattribute="DATETIMEFIELD"operator="on-or-after"value="1911-01-01" />
            <conditionattribute="DATETIMEFIELD"operator="on-or-before"value="1911-01-07" />
      </filter>
      <filtertype="and">
            <conditionattribute="DATETIMEFIELD"operator="on-or-after"value="1912-01-01" />
            <conditionattribute="DATETIMEFIELD"operator="on-or-before"value="1912-01-07" />
      </filter>
      .
      .
      .
      .
      <filtertype="and">
          <conditionattribute="DATETIMEFIELD"operator="on-or-after"value="2011-01-01" />
          <conditionattribute="DATETIMEFIELD"operator="on-or-before"value="2011-01-07" />
      </filter>
    </filter>
  </entity>
</fetch>
Конечно можно уменьшить количество лет.
В зависимости возраста ваших клиентов.
Я думаю ограничение вас не касается
http://blog.halan.se/post/CRM-Fetch-XML-Size-Limit.aspx
__________________
Читайте SDK!!!
Старый 31.01.2011, 09:10   #11  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
У отчета есть несомненный минус: по его результатам не получится запустить быструю кампанию, создать список или произвести почтовое слияние. Тут лучше подходят представления.

p.s. Особенно если учесть, что пример моего решения как раз выводит именинников за текущий месяц (неделю из него сделать не долго).

p.p.s. Решение предложенное Константином, мало того что не универсально и требует ежегодной донастройки (или вы думаете что хватит до 2012 года построить?), так еще и по своей трудоемкости сравнимо с ручным поиском именинников!

p.p.p.s. О задачу поиска именинников (и прочих повторяющихся событий) сломаны сотни копий. Для ее решения применяются и рабочие процессы с плагинами и скрипты форм и лом с такой-то матерью. Наиболее простое и функциональное решение, как мне кажется, состоит в подмене запроса. Если есть иные мнения, призываю поспорить. Ибо это люблю и умею.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional

Последний раз редактировалось Артем Enot Грунин; 31.01.2011 в 09:22.
Старый 31.01.2011, 19:22   #12  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
Цитата:
p.s. Особенно если учесть, что пример моего решения как раз выводит именинников за текущий месяц (неделю из него сделать не долго).
Я не против Вашего решия.
Я просто предлагаю другое
Цитата:
p.p.s. Решение предложенное Константином, мало того что не универсально и требует ежегодной донастройки (или вы думаете что хватит до 2012 года построить?), так еще и по своей трудоемкости сравнимо с ручным поиском именинников!
Я не имел ввиду, что нужно написать один раз FETCH и использовать его.
В зависимости от текущей даты строится условие (динамически, кстати в Вашем примере это тоже используется).

P.S. Возможно я не точно выразился.

Цитата:
p.p.p.s. О задачу поиска именинников (и прочих повторяющихся событий) сломаны сотни копий. Для ее решения применяются и рабочие процессы с плагинами и скрипты форм и лом с такой-то матерью. Наиболее простое и функциональное решение, как мне кажется, состоит в подмене запроса. Если есть иные мнения, призываю поспорить. Ибо это люблю и умею.
Призыв не принимается (и не предлагайте мне в будущем)
С Уважение Константин
__________________
Читайте SDK!!!
Старый 31.01.2011, 21:10   #13  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Цитата:
Сообщение от Konstantin Katsovich Посмотреть сообщение
Я не имел ввиду, что нужно написать один раз FETCH и использовать его.
В зависимости от текущей даты строится условие (динамически, кстати в Вашем примере это тоже используется).
Что ж, возможно и я не так Вас понял. Как вы предлагаете динамически генерировать такой запрос? Второй вопрос как научить статическое представление использовать Ваш вычисляемый запрос.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 31.01.2011, 21:27   #14  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
Цитата:
Как вы предлагаете динамически генерировать такой запрос?
В цикле.
Надеюсь мне не придется данное решение писать полностью для "ipok"

Цитата:
Второй вопрос как научить статическое представление использовать Ваш вычисляемый запрос.
Способов много.( я кстати часто это делаю).
Вот один из них
http://mscrm4ever.blogspot.com/2009/...me-part-2.html
__________________
Читайте SDK!!!
Старый 01.02.2011, 09:32   #15  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Цитата:
Сообщение от Konstantin Katsovich Посмотреть сообщение
В цикле.
Блестящее решение.
Цитата:
Сообщение от Konstantin Katsovich Посмотреть сообщение
Надеюсь мне не придется данное решение писать полностью для "ipok"
Пожалуйста, сделайте это для меня! Дело в том, что решение Адди Ктца / Дейва Бери обычно используется на форме объекта, так как только туда получается поддерживаеммыми средствами вставить IFRAME. Для, собственно, списков в чистом виде оно не годится, а мне хочется порвать с ансапортными плагинами и научиться пользоваться циклами. Поможете?
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 01.02.2011, 11:56   #16  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
Цитата:
Сообщение от Артем Enot Грунин Посмотреть сообщение
Блестящее решение.
Пожалуйста, сделайте это для меня! Дело в том, что решение Адди Ктца / Дейва Бери обычно используется на форме объекта, так как только туда получается поддерживаеммыми средствами вставить IFRAME. Для, собственно, списков в чистом виде оно не годится, а мне хочется порвать с ансапортными плагинами и научиться пользоваться циклами. Поможете?
Я имел ввиду создание FETCH в цикле. ( а не грида, опять я не точно выразился)

Грид тем же способом.
Нажмите на изображение для увеличения
Название: PrintScreen1.png
Просмотров: 204
Размер:	126.1 Кб
ID:	6538

Хотите увидеть код?
__________________
Читайте SDK!!!

Последний раз редактировалось Konstantin Katsovich; 01.02.2011 в 12:04.
За это сообщение автора поблагодарили: Артем Enot Грунин (3), a33ik (3), Ksani (0).
Старый 01.02.2011, 14:47   #17  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
>>Konstantin Katsovich
Классно! Может перешлёте код тому человеку, которому это реально важно?

Но Артём имел ввиду немного другое. Это сделано через кастомную страницу + SiteMap, он же имел ввиду, сделать это таким образом, чтобы среди отображений появилось новое в котором и будет отображаться результаты...
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 01.02.2011, 22:04   #18  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
Цитата:
Сообщение от a33ik Посмотреть сообщение
>>Konstantin Katsovich
Классно! Может перешлёте код тому человеку, которому это реально важно?
Что-то мне подсказывает, что ему это не нужно.

Цитата:
Сообщение от a33ik Посмотреть сообщение
Но Артём имел ввиду немного другое. Это сделано через кастомную страницу + SiteMap, он же имел ввиду, сделать это таким образом, чтобы среди отображений появилось новое в котором и будет отображаться результаты...
Где из его слов я должен это понять?

В общем (мысли в слух)

1. Для меня "представление" это грид, а не тот список, который пользователь видит над гридом в пиклисте. Поэтому любое место куда можно вставить грид это будет для меня "представлением". (чтоб спалось хорошо тем кто переводил CRM на русский или иврит. Как обстоит дело с другими языками я не знаю).
2. Моё решение было ответом на вопрос спрашивающего(ipok).
3. Спрашивающий не уточнял какой тип решения ему подходит.(supported/unsupported). Где он хочет это видеть и т.д.
4. Я не уверен что он знал как это может выглядеть когда писал этот сообщение.(иначе сделал бы сам).
5. С моей точки зрения это лучше подходит, я повторяюсь, для его задачи.
6. Мне догадываться? Не знаю нужно ли.
7. Я доже пишу не мало ансапортного кода. (грешен)


Простите меня зануду J
С Уважением Константин
__________________
Читайте SDK!!!
Старый 01.02.2011, 22:54   #19  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Ну, кто пытался понять - понял.Что-то автор поста притих совсем. Такое ощущение, что нам это больше чем ему нужно.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 01.02.2011, 22:59   #20  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
Видимо от изобилия возможностей (притих) не может выбрать
__________________
Читайте SDK!!!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблема с публикацией отчетов - не работает "Сделать отчет доступным для организации" serjio72 Dynamics CRM: Администрирование 8 16.07.2009 18:11
Как сделать массовую рассылку через быстрые кампании одним кликов для всего списка? ClarensSeedorf Dynamics CRM: Функционал 4 05.03.2009 21:06
Нужно хитрое представление Tony Green Dynamics CRM: Разработка 2 12.11.2008 17:51
Как сделать фильтр в отчете tatra Dynamics CRM: Разработка 2 15.01.2008 09:28
Как сделать в поле типа "Lookup" осуществить множественный выбор значений? Alexey-IT Dynamics CRM: Функционал 5 01.11.2007 11:48

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

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

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