Работа — Дмитрий [KP0H] Пелевин https://pelevin.pro Сохраняю тишину в голове Fri, 19 Apr 2013 08:37:05 +0000 ru-RU hourly 1 48722140 Сколько времени на работе занимают совещания и встречи? https://pelevin.pro/2013/01/%d1%81%d0%ba%d0%be%d0%bb%d1%8c%d0%ba%d0%be-%d0%b2%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%b8-%d0%bd%d0%b0-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b5-%d0%b7%d0%b0%d0%bd%d0%b8%d0%bc%d0%b0%d1%8e%d1%82-%d1%81%d0%be/ https://pelevin.pro/2013/01/%d1%81%d0%ba%d0%be%d0%bb%d1%8c%d0%ba%d0%be-%d0%b2%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%b8-%d0%bd%d0%b0-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b5-%d0%b7%d0%b0%d0%bd%d0%b8%d0%bc%d0%b0%d1%8e%d1%82-%d1%81%d0%be/#respond Mon, 21 Jan 2013 19:35:05 +0000 http://pelevin.pro/?p=600 Интересно у кого сколько времени занимают на работе встречи и совещания.

На мой взгляд должно быть четкое разделение, кто занимается встречами и разговорами, а кто работает руками. Мне нравится разговаривать, я делаю это с удовольствием практически в любой ситуации, но одно дело разговаривать с потенциальным покупателем, когда ты продавец, другое дело разговаривать с «бизнесом», когда ты аналитик и совсем другое дело, когда нужно разговаривать с «бизнесом», а ты разработчик.

Хорошо, если со стороны «бизнеса» есть человек, который понимает специфику твоей работы, знаешь чем Вы совместно занимаетесь и Вы можете говорить на одном языке. В большинстве же случаев разработчику нужно подстроится под язык «бизнеса», понять что ему[бизнесу] нужно, а потом еще и объяснить это тем людям, от которых это и услышал. Невероятно утомительно потому как в большинстве случаев процесс съедает время, разработчик давно уже думает о своем, о работе, решает задачи которых у него очень много, и где-то в фоне пытается донести информацию до своего слушателя.

Не вижу я смысла в такой работе. Безусловно нужно общаться с заказчиком будь он внутренний или внешний, но нужно разделять эти две задачи, а не кидать их в одну корзину. В большинстве случаев на самом деле достаточно электронного письма.

]]>
https://pelevin.pro/2013/01/%d1%81%d0%ba%d0%be%d0%bb%d1%8c%d0%ba%d0%be-%d0%b2%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%b8-%d0%bd%d0%b0-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b5-%d0%b7%d0%b0%d0%bd%d0%b8%d0%bc%d0%b0%d1%8e%d1%82-%d1%81%d0%be/feed/ 0 600
[CRM] Как получить все данные, если CRM 2011 имеет лимит 5000 записей на ответ https://pelevin.pro/2013/01/crm-%d0%ba%d0%b0%d0%ba-%d0%bf%d0%be%d0%bb%d1%83%d1%87%d0%b8%d1%82%d1%8c-%d0%b2%d1%81%d0%b5-%d0%b4%d0%b0%d0%bd%d0%bd%d1%8b%d0%b5-%d0%b5%d1%81%d0%bb%d0%b8-crm-2011-%d0%b8%d0%bc%d0%b5%d0%b5%d1%82/ https://pelevin.pro/2013/01/crm-%d0%ba%d0%b0%d0%ba-%d0%bf%d0%be%d0%bb%d1%83%d1%87%d0%b8%d1%82%d1%8c-%d0%b2%d1%81%d0%b5-%d0%b4%d0%b0%d0%bd%d0%bd%d1%8b%d0%b5-%d0%b5%d1%81%d0%bb%d0%b8-crm-2011-%d0%b8%d0%bc%d0%b5%d0%b5%d1%82/#respond Sun, 20 Jan 2013 20:37:59 +0000 http://pelevin.pro/?p=571 Приходится работать с все большим объемом данных, столкнулся с тем, что CRM имеет ограничение на получение данных через Fetch-запросы. 5000 записей. Многие наверное замечали, к примеру, что на гридах сущностей CRM, имеющих больше 5000 записей в поле количество под гридом обычно указано просто 5000+.

Для того чтобы избавиться от этого ограничение можно просто установить в реестре ключ, который убирает этот лимит, делается это довольно просто и описание можно найти в интернете, к примеру здесь:

  1. Click Start, click Run, type regedit in the Open box, and then click OK.
  2. Locate and then select the following registry subkey:HKEY_LOCAL_MACHINE\Software\Microsoft\MSCRM
  3. On the Edit menu, point to New, and then click DWORD Value.
    image
  4. Type TurnOffFetchThrottling, and then press ENTER.
    image
  5. Right-click TurnOffFetchThrottling, and then click Modify.
    image
  6. Type a number other than 0 in the Value data box, and then click OK.
    imageimage
    Note Step 6 lets you retrieve the number of records specified in the Count attribute of your fetch statement.
  7. On the File menu, click Exit.
    image

Но это не правильный подход, т.к, во первых такое решение тормозит работу, во вторых не гарантирует что Вы таки получите все результаты.

А теперь по порядку — как стоит решать эту задачу:

1. В fetch запросу можно указывать «страницу» данных, которую Вы хотите получить:

<fetch mapping='logical' version='1.0' page='1'>
<entity name='EntityName'>
<attribute name='AttributeName'/>
</entity>
</fetch>

* This source code was highlighted with Source Code Highlighter.

2. Возникает другой вопрос, а как узнать что мы получили все данные?
Очень просто. Для начала надо понимать, что когда мы выполняет запрос:

var query = new FetchExpression(fetch);
var tempResult = service.RetrieveMultiple(query);

* This source code was highlighted with Source Code Highlighter.

В ответ от CRM приходит нечто вроде:

<resultset morerecords='0' paging-cookie='&#60;cookie page="1"><listmemberid last="{E1B03485-0000-0000-0000-00155D107003}" first="{A74C877A-0000-0000-0000-00155D107003}" /></cookie>'>
<result>
<listmemberid>{A712877A-0000-1231-0000-00435D107003}</listmemberid>
<listid.listname>List 1</listid.listname>
<entityid.fullname>Dmitry Pelevin</entityid.fullname>
<entityid.emailaddress1>d@pel.ru</entityid.emailaddress1>
</result>
<result>
<listmemberid>{A943377A-0000-1231-0000-001554407003}</listmemberid>
<listid.listname>List 2</listid.listname>
<entityid.fullname>Ivan Konstantinov</entityid.fullname>
<entityid.emailaddress1>ikon@test.ru</entityid.emailaddress1>
</result>
</resultset>

* This source code was highlighted with Source Code Highlighter.

Очевидно, что волшебный параметр morerecords=’0′ не случаен.

А чтобы получить его значение в C# нужно просто заглянуть сюда:

tempResult.MoreRecords

Ну и пример функции позволяющей получить все записи произвольной функции с заданным набором атрибутов:

private static List<Entity> GetAllExemplarsOfEntity(string entityName, List<string> attributes, IOrganizationService service)
{
int i = 1;
bool bFinished = false;
var allData = new List<Entity>();
while (bFinished == false)
{
StringBuilder sbFetch = new StringBuilder();
sbFetch.AppendFormat("<fetch mapping='logical' version='1.0' page='{0}'>", i);
sbFetch.AppendFormat("<entity name='{0}'>", entityName);
foreach (var attr in attributes)
{
sbFetch.AppendFormat("<attribute name='{0}'/>", attr);
}
sbFetch.Append("</entity>");
sbFetch.Append("</fetch>");
var query = new FetchExpression(sbFetch.ToString());
var tempResult = service.RetrieveMultiple(query);

allData.AddRange(tempResult.Entities.ToList());

if (tempResult.MoreRecords)
i++;
else
bFinished = true;
}
return allData;
}

]]>
https://pelevin.pro/2013/01/crm-%d0%ba%d0%b0%d0%ba-%d0%bf%d0%be%d0%bb%d1%83%d1%87%d0%b8%d1%82%d1%8c-%d0%b2%d1%81%d0%b5-%d0%b4%d0%b0%d0%bd%d0%bd%d1%8b%d0%b5-%d0%b5%d1%81%d0%bb%d0%b8-crm-2011-%d0%b8%d0%bc%d0%b5%d0%b5%d1%82/feed/ 0 571
Меняй жизнь в лучшую сторону https://pelevin.pro/2012/04/%d0%bc%d0%b5%d0%bd%d1%8f%d0%b9-%d0%b6%d0%b8%d0%b7%d0%bd%d1%8c-%d0%b2-%d0%bb%d1%83%d1%87%d1%88%d1%83%d1%8e-%d1%81%d1%82%d0%be%d1%80%d0%be%d0%bd%d1%83/ https://pelevin.pro/2012/04/%d0%bc%d0%b5%d0%bd%d1%8f%d0%b9-%d0%b6%d0%b8%d0%b7%d0%bd%d1%8c-%d0%b2-%d0%bb%d1%83%d1%87%d1%88%d1%83%d1%8e-%d1%81%d1%82%d0%be%d1%80%d0%be%d0%bd%d1%83/#respond Sun, 15 Apr 2012 16:43:29 +0000 http://pelevin.pro/?p=64 Очень понравились объявления о приеме на работу.

20120415-224243.jpg

Креативно, интересно, только вот что-то мне подсказывает что сама идея таких объявлений накладывает на соискателей интеллектуальный ценз. Не каждый догадается что контакт по которому нужно обращаться, если хочешь «изменить свою жизнь в лучшую сторону» находиться на обратной стороне этой затейливой бумажки.

20120415-224250.jpg

А коль уж человек смог пройти данный тест на интеллект, то, по моему мнению, он скорее всего не будет звонить. По крайней мере как показывает практика большинство здравомыслящего человечества называет подобные объявления «разводом». А что это на самом деле, мы не узнаем…

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

Компания «Аква-Стайл» подсуетилась на этот счет и в отличии от предыдущего объявления за изменение жизни в лучшую сторону ставит вполне конкретные ценники.

20120415-224256.jpg

]]>
https://pelevin.pro/2012/04/%d0%bc%d0%b5%d0%bd%d1%8f%d0%b9-%d0%b6%d0%b8%d0%b7%d0%bd%d1%8c-%d0%b2-%d0%bb%d1%83%d1%87%d1%88%d1%83%d1%8e-%d1%81%d1%82%d0%be%d1%80%d0%be%d0%bd%d1%83/feed/ 0 64
О screencast https://pelevin.pro/2010/07/86/ https://pelevin.pro/2010/07/86/#respond Wed, 14 Jul 2010 18:40:48 +0000 http://pelevin.pro/?p=86 Недавно коллега по работе писал Screen Cast по разработанному и допиливаемому в данный момент продукту. Перед записью он благоразумно не продумал сценарий скрин каста и немного поправил код. Вот что вышло:

 

]]>
https://pelevin.pro/2010/07/86/feed/ 0 86