28.01.2011, 16:53 | #1 |
Участник
|
Сделать хитрое представление.
Сущность - контакт.
Поле дата рождения - допусти 05 января 1991 года. Хочется сделать следующее представление - показывать всех контактов у которых день рождения в ближайшие 7 дней. Если стандартными средствами, то не получается. Как это еще можно организовать, по-моему задача вполне распространенная, но как решить не нашел (( |
|
28.01.2011, 17:09 | #2 |
Учаснег
|
Делали простейшей кастомной страницей. на которую данные выводятся и фильтруются. Можно с ссылками, чтобы переходить удобно было.
__________________
http://about.me/fedorovigor |
|
28.01.2011, 18:01 | #3 |
Kostya Afendikov
|
Цитата:
Сообщение от ipok
Сущность - контакт.
Поле дата рождения - допусти 05 января 1991 года. Хочется сделать следующее представление - показывать всех контактов у которых день рождения в ближайшие 7 дней. Если стандартными средствами, то не получается. Как это еще можно организовать, по-моему задача вполне распространенная, но как решить не нашел (( |
|
28.01.2011, 18:04 | #4 |
Участник
|
Ага, именно так и было сделано изначально, только проблема в годе.
Если день рождения в этого году то работает, а если день рождения как у всех 30 лет назад, то это не следующая неделя. |
|
28.01.2011, 18:08 | #5 |
Консультант-джедай
|
Создайте, например, БП который будет ежедневно отрабатывать (добавлять 1 год) и обновлять новое поле "ДР в следующем году".
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
28.01.2011, 18:25 | #6 |
Чайный пьяница
|
Т.е. за месяц запись "постареет" на 28-31 (в зависимости от месяца) лет?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
28.01.2011, 21:27 | #7 |
Консультант-джедай
|
Т.е. завести новое поле даты которое будет показывать дату ближайшего день рождения.
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога Последний раз редактировалось mazzy; 28.01.2011 в 23:00. Причина: поправлена орфография |
|
28.01.2011, 22:46 | #8 |
Kostya Afendikov
|
Точно, про год не сообразил, простите. Тогда можно сделать как предложил IgorF или сделать кастомный отчет с нужной логикой и представлением и разместить в системе.
|
|
30.01.2011, 11:23 | #9 |
Moderator
|
Поробуйте мое решение www.axforum.info/forums/blog.php?b=173
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
31.01.2011, 00:24 | #10 |
Участник
|
Цитата:
Сообщение от 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 |
Moderator
|
У отчета есть несомненный минус: по его результатам не получится запустить быструю кампанию, создать список или произвести почтовое слияние. Тут лучше подходят представления.
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 |
Участник
|
Цитата:
p.s. Особенно если учесть, что пример моего решения как раз выводит именинников за текущий месяц (неделю из него сделать не долго).
Я не против Вашего решия. Я просто предлагаю другое Цитата:
p.p.s. Решение предложенное Константином, мало того что не универсально и требует ежегодной донастройки (или вы думаете что хватит до 2012 года построить?), так еще и по своей трудоемкости сравнимо с ручным поиском именинников!
Я не имел ввиду, что нужно написать один раз FETCH и использовать его. В зависимости от текущей даты строится условие (динамически, кстати в Вашем примере это тоже используется). P.S. Возможно я не точно выразился. Цитата:
p.p.p.s. О задачу поиска именинников (и прочих повторяющихся событий) сломаны сотни копий. Для ее решения применяются и рабочие процессы с плагинами и скрипты форм и лом с такой-то матерью. Наиболее простое и функциональное решение, как мне кажется, состоит в подмене запроса. Если есть иные мнения, призываю поспорить. Ибо это люблю и умею.
Призыв не принимается (и не предлагайте мне в будущем)
С Уважение Константин
__________________
Читайте SDK!!! |
|
31.01.2011, 21:10 | #13 |
Moderator
|
Что ж, возможно и я не так Вас понял. Как вы предлагаете динамически генерировать такой запрос? Второй вопрос как научить статическое представление использовать Ваш вычисляемый запрос.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
31.01.2011, 21:27 | #14 |
Участник
|
Цитата:
Как вы предлагаете динамически генерировать такой запрос?
Надеюсь мне не придется данное решение писать полностью для "ipok" Цитата:
Второй вопрос как научить статическое представление использовать Ваш вычисляемый запрос.
Вот один из них http://mscrm4ever.blogspot.com/2009/...me-part-2.html
__________________
Читайте SDK!!! |
|
01.02.2011, 09:32 | #15 |
Moderator
|
Блестящее решение.
Пожалуйста, сделайте это для меня! Дело в том, что решение Адди Ктца / Дейва Бери обычно используется на форме объекта, так как только туда получается поддерживаеммыми средствами вставить IFRAME. Для, собственно, списков в чистом виде оно не годится, а мне хочется порвать с ансапортными плагинами и научиться пользоваться циклами. Поможете?
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
01.02.2011, 11:56 | #16 |
Участник
|
Цитата:
Сообщение от Артем Enot Грунин
Блестящее решение.
Пожалуйста, сделайте это для меня! Дело в том, что решение Адди Ктца / Дейва Бери обычно используется на форме объекта, так как только туда получается поддерживаеммыми средствами вставить IFRAME. Для, собственно, списков в чистом виде оно не годится, а мне хочется порвать с ансапортными плагинами и научиться пользоваться циклами. Поможете? Я имел ввиду создание FETCH в цикле. ( а не грида, опять я не точно выразился) Хотите увидеть код?
__________________
Читайте SDK!!! Последний раз редактировалось Konstantin Katsovich; 01.02.2011 в 12:04. |
|
|
За это сообщение автора поблагодарили: Артем Enot Грунин (3), a33ik (3), Ksani (0). |
01.02.2011, 14:47 | #17 |
Чайный пьяница
|
>>Konstantin Katsovich
Классно! Может перешлёте код тому человеку, которому это реально важно? Но Артём имел ввиду немного другое. Это сделано через кастомную страницу + SiteMap, он же имел ввиду, сделать это таким образом, чтобы среди отображений появилось новое в котором и будет отображаться результаты...
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
01.02.2011, 22:04 | #18 |
Участник
|
Цитата:
Цитата:
В общем (мысли в слух) 1. Для меня "представление" это грид, а не тот список, который пользователь видит над гридом в пиклисте. Поэтому любое место куда можно вставить грид это будет для меня "представлением". (чтоб спалось хорошо тем кто переводил CRM на русский или иврит. Как обстоит дело с другими языками я не знаю). 2. Моё решение было ответом на вопрос спрашивающего(ipok). 3. Спрашивающий не уточнял какой тип решения ему подходит.(supported/unsupported). Где он хочет это видеть и т.д. 4. Я не уверен что он знал как это может выглядеть когда писал этот сообщение.(иначе сделал бы сам). 5. С моей точки зрения это лучше подходит, я повторяюсь, для его задачи. 6. Мне догадываться? Не знаю нужно ли. 7. Я доже пишу не мало ансапортного кода. (грешен) Простите меня зануду J
С Уважением Константин
__________________
Читайте SDK!!! |
|
01.02.2011, 22:54 | #19 |
Moderator
|
Ну, кто пытался понять - понял.Что-то автор поста притих совсем. Такое ощущение, что нам это больше чем ему нужно.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
01.02.2011, 22:59 | #20 |
Участник
|
Видимо от изобилия возможностей (притих) не может выбрать
__________________
Читайте SDK!!! |
|
|
|