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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.05.2014, 11:28   #1  
Eugene.Ostroukhov is offline
Eugene.Ostroukhov
Участник
 
149 / 11 (1) +
Регистрация: 22.02.2013
Представление "Мои действия" и странное поведение при выборе "срок"
Всем привет.

Обнаружилось непонятное поведение представления "Мои действия" со Сроком "Сегодня": если вкратце - выводятся действия с прошедшим сроком (вчера, полгода назад и т.д.)

SQL Profiler показывает следующий запрос (exec sp_executesql ',,,' и параметры с собаками типа @ScheduledEnd0='2014-05-12 07:29:35' заменил для удобочитаемости):
Код:
select 
 DISTINCT  top 251 "activitypointer0".CreatedOn as "createdon"
, "activitypointer0".ActivityTypeCode as "activitytypecode"
, "activitypointer0".RegardingObjectId as "regardingobjectid"
, "activitypointer0".Subject as "subject"
, "activitypointer0".OwnerId as "ownerid"
, "activitypointer0".ScheduledEnd as "scheduledend"
, "activitypointer0".ActivityId as "activityid"
, "activitypointer0".InstanceTypeCode as "instancetypecode"
, "activitypointer0".RegardingObjectIdYomiName as "regardingobjectidyominame"
, "activitypointer0".RegardingObjectTypeCode as "regardingobjecttypecode"
, "activitypointer0".RegardingObjectIdName as "regardingobjectidname"
, "activitypointer0".OwnerIdName as "owneridname"
, "activitypointer0".OwnerIdYomiName as "owneridyominame"
, "activitypointer0".OwnerIdType as "owneridtype"
, "a_18319c3475a64263a23c3195b0b28557".New_sourcecampaignid as "a_18319c3475a64263a23c3195b0b28557.new_sourcecampaignid"
, "a_18319c3475a64263a23c3195b0b28557".New_regionid as "a_18319c3475a64263a23c3195b0b28557.new_regionid"
, "a_18319c3475a64263a23c3195b0b28557".New_cityid as "a_18319c3475a64263a23c3195b0b28557.new_cityid"
, "a_18319c3475a64263a23c3195b0b28557".New_sourcecampaignidName as "a_18319c3475a64263a23c3195b0b28557.new_sourcecampaignid_new_sourcecampaignidname"
, "a_18319c3475a64263a23c3195b0b28557".New_regionidName as "a_18319c3475a64263a23c3195b0b28557.new_regionid_new_regionidname"
, "a_18319c3475a64263a23c3195b0b28557".New_cityidName as "a_18319c3475a64263a23c3195b0b28557.new_cityid_new_cityidname" 
from
 ActivityPointer as "activitypointer0" (NOLOCK)  join ActivityParty as "a_6ff0bed3c2564990a5f59856d8ac3d24" (NOLOCK)  on ("activitypointer0".ActivityId  =  "a_6ff0bed3c2564990a5f59856d8ac3d24".ActivityId 
 and (("a_6ff0bed3c2564990a5f59856d8ac3d24".PartyId = 'B9A944AE-7CC6-E111-A0BE-001A6433B300')))
  left outer join Contact as "a_18319c3475a64263a23c3195b0b28557" (NOLOCK)  on ("activitypointer0".RegardingObjectId  =  "a_18319c3475a64263a23c3195b0b28557".ContactId) 
where
 ((((("activitypointer0".StateCode in (0, 3)) and ("activitypointer0".ActivityTypeCode != 4406 or "activitypointer0".ActivityTypeCode is null))) and 
 (("activitypointer0".OwnerId = 'B9A944AE-7CC6-E111-A0BE-001A6433B300')) and
  (("activitypointer0".ScheduledEnd < '2014-05-12 06:41:15' or  "activitypointer0".ScheduledEnd >= '2014-05-11 20:00:00' and "activitypointer0".ScheduledEnd < '2014-05-12 20:00:00' )))) 
  order by
 "activitypointer0".CreatedOn desc
, "activitypointer0".ActivityId asc
в SavedQuery (в БД):
Код:
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true">
  <entity name="activitypointer">
    <order attribute="createdon" descending="true" />
    <filter type="and">
      <condition attribute="statecode" operator="in">
        <value>0</value>
        <value>3</value>
      </condition>
      <condition attribute="activitytypecode" operator="ne" value="4406" />
    </filter>
    <link-entity name="activityparty" from="activityid" to="activityid" alias="a_6ff0bed3c2564990a5f59856d8ac3d24">
      <filter type="and">
        <condition attribute="partyid" operator="eq-userid" />
      </filter>
    </link-entity>
    <attribute name="createdon" />
    <attribute name="activitytypecode" />
    <attribute name="regardingobjectid" />
    <attribute name="subject" />
    <attribute name="ownerid" />
    <attribute name="scheduledend" />
    <link-entity alias="a_18319c3475a64263a23c3195b0b28557" name="contact" from="contactid" to="regardingobjectid" link-type="outer" visible="false">
      <attribute name="new_sourcecampaignid" />
      <attribute name="new_regionid" />
      <attribute name="new_cityid" />
    </link-entity>
    <attribute name="activityid" />
    <filter type="and">
      <condition attribute="ownerid" operator="eq-userid" />
    </filter>
  </entity>
</fetch>
Фидлер показывает самое интересное:

grid->parameters->dateFilter = Today (ok)

fetchXmlForFilters - такой же как в SavedQuery (предыдущий блок кода)

isFetchXmlNotFinal = FALSE (!)

effectiveFetchXml:
Код:
<fetch distinct="true" no-lock="false" mapping="logical" page="1" count="250" returntotalrecordcount="true">
  <entity name="activitypointer">
    <attribute name="createdon" />
    <attribute name="activitytypecode" />
    <attribute name="regardingobjectid" />
    <attribute name="subject" />
    <attribute name="ownerid" />
    <attribute name="scheduledend" />
    <attribute name="activityid" />
    <attribute name="createdon" />
    <attribute name="regardingobjectid" />
    <attribute name="subject" />
    <attribute name="ownerid" />
    <attribute name="scheduledend" />
    <attribute name="instancetypecode" />
    <filter type="and">
      <filter type="and">
        <condition attribute="statecode" operator="in">
          <value>0</value>
          <value>3</value>
        </condition>
        <condition attribute="activitytypecode" operator="ne" value="4406" />
      </filter>
      <filter type="and">
        <condition attribute="ownerid" operator="eq-userid" />
      </filter>
      <filter type="or">
        <condition attribute="scheduledend" operator="lt" value="2014-05-12T11:05:35+04:00" />
        <condition attribute="scheduledend" operator="tomorrow" />
        <condition attribute="scheduledend" operator="today" />
      </filter>
      <filter type="or">
        <condition attribute="statecode" operator="eq" value="0" />
        <condition attribute="statecode" operator="eq" value="3" />
      </filter>
    </filter>
    <order attribute="createdon" descending="true" />
    <link-entity name="activityparty" to="activityid" from="activityid" link-type="inner" alias="a_6ff0bed3c2564990a5f59856d8ac3d24">
      <filter type="and">
        <condition attribute="partyid" operator="eq-userid" />
      </filter>
    </link-entity>
    <link-entity name="contact" to="regardingobjectid" from="contactid" link-type="outer" alias="a_18319c3475a64263a23c3195b0b28557">
      <attribute name="new_sourcecampaignid" />
      <attribute name="new_regionid" />
      <attribute name="new_cityid" />
    </link-entity>
  </entity>
</fetch>
Т.е. где то в СРМе кто-то нахимичил с condition-ом по scheduledEnd. что он выводит такой вот бред.

в какую сторону копать и как с этими кондишенами вообще работать (наверное, в первую очередь интересуют пользовательские\дизайнерские настройки\визарды, но не обязательно)?

Последний раз редактировалось Eugene.Ostroukhov; 12.05.2014 в 11:34.
Старый 12.05.2014, 12:18   #2  
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
Была тема на форуме. Артём кажется поднимал. Смысл таков, что в это представление добавляются все просроченные действия.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
За это сообщение автора поблагодарили: Eugene.Ostroukhov (1).
Старый 12.05.2014, 12:24   #3  
Eugene.Ostroukhov is offline
Eugene.Ostroukhov
Участник
 
149 / 11 (1) +
Регистрация: 22.02.2013
Цитата:
Сообщение от a33ik Посмотреть сообщение
Была тема на форуме. Артём кажется поднимал. Смысл таков, что в это представление добавляются все просроченные действия.
чинить только созданием кастомного представления и подсовыванием его в дефолтные?
просто тогда становится непонятным пункт "Просрочено" в дроп-дауне срока
Старый 12.05.2014, 12:25   #4  
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
Цитата:
Сообщение от Eugene.Ostroukhov Посмотреть сообщение
чинить только созданием кастомного представления и подсовыванием его в дефолтные?
Чисто теоретически - можно плагином перехватывать RetreiveMultiple и вырезать оттуда ненужный фильтр.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 12.05.2014, 15:54   #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
Цитата:
Сообщение от Eugene.Ostroukhov Посмотреть сообщение
просто тогда становится непонятным пункт "Просрочено" в дроп-дауне срока
Еще в CRM 4.0 столкнулся с такой же дилеммой. Тогда с помощью профайлера выяснил следующую логику поведения (возможно актуально и сейчас):

Просрочено:
· - время окончания действия < текущей даты и текущего времени – 3 часа, ИЛИ
· - время окончания действия не заполнено
Сегодня:
· - время окончания действия < текущей даты и текущего времени – 3 часа, ИЛИ
· - время окончания действия >= 21:00 прошлого дня И < 21:00 сегодняшнего дня, ИЛИ
· - время окончания действия не заполнено
Завтра:
· - время окончания действия >= 21:00 сегодняшнего дня И < 21:00 завтрашнего дня, ИЛИ
· - время окончания действия не заполнено
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога
Старый 12.05.2014, 16:29   #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
Вячеслав,

Зачем же вводить в ступор человека? +- часы - если я не ошибаюсь - это приведение к локальной временной зоне конкретного пользователя. Если у человека будет выставлен гринвич во временной зоне, но смещения вообще не будет, а в Нью-Йорке - будет смещение +7 часов. Ни в чём не ошибся?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 12.05.2014, 16:37   #7  
Eugene.Ostroukhov is offline
Eugene.Ostroukhov
Участник
 
149 / 11 (1) +
Регистрация: 22.02.2013
Цитата:
Сообщение от a33ik Посмотреть сообщение
Вячеслав,

Зачем же вводить в ступор человека? +- часы - если я не ошибаюсь - это приведение к локальной временной зоне конкретного пользователя. Если у человека будет выставлен гринвич во временной зоне, но смещения вообще не будет, а в Нью-Йорке - будет смещение +7 часов. Ни в чём не ошибся?
не волнуйся, я понимаю, что речь про смещение с UTC
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
CRM 2011 не работает ссылка навигации "Действия" в формах Организации и Возможные сделки после UR 15 zenaars Dynamics CRM: Разработка 1 04.12.2013 11:09
Закрытие "Действия" user20369502 Dynamics CRM: Разработка 3 21.04.2013 16:18
Вложения в письмо, в форме "Действия компании" support Dynamics CRM: Функционал 2 23.12.2010 11:02
Представление в "действие" и "журнал" bear1 Dynamics CRM: Функционал 1 29.06.2010 15:33
представление "Действия" laks Dynamics CRM: Функционал 11 22.11.2005 10:19

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

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

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