Вот что в нём оказалось:
Моё имя - Бутенко Андрей (Аззик для друзей). Я работаю разработчиком под Microsoft Dynamics CRM. В этом блоге я буду публиковать мысли, идеи и интересные решения связанные с Microsoft CRM.
вторник, 26 января 2010 г.
понедельник, 25 января 2010 г.
Трудности перевода или опять про локализацию
У моего клиента возникла проблема с русскоязычной локализацией Microsoft Dymanics CRM при наполнении документов, а именно - отображение документов выглядит примерно таким образом:
Казалось бы при чём тут заголовок документа и Должность... Но видимо тем, кто переводил - виднее. Задался вопросом как переименовать это поле, но наткнулся на ряд проблем:
1. У клиента развёрнут только один язык (русский), а следовательно добраться до значения того поля через Параметры-Импортировать метки для трансляции - не является возможным.
2. Сущность Документ (salesliteratureitem) является некастомизируемой и потому её нельзя даже выгрузить в виде файлов кастомизации, чтобы отредактировав xml файла кастомизации, импортировав обратно в CRM и опубликовав - получить требуемый результат (как делалось уже не раз с другими сущностями).
Отсюда вывод, что необходимо редактировать непосредственно место, где данные метки хранятся.
Всем метки перевода (как опубликованные так и нет) лежат в таблице MetadataSchema.LocalizedLabel.
При помощи следующего запроса я получил идентификатор метки:
После чего прямым обновлением я установил значение на то, на которое хотел поменять:
После этого выполнил iisreset и получил требуемый результат:
Помните, что данная кастомизация является неподдерживаемой, так что бэкапируйтесь перед подобными манипуляциями.
Казалось бы при чём тут заголовок документа и Должность... Но видимо тем, кто переводил - виднее. Задался вопросом как переименовать это поле, но наткнулся на ряд проблем:
1. У клиента развёрнут только один язык (русский), а следовательно добраться до значения того поля через Параметры-Импортировать метки для трансляции - не является возможным.
2. Сущность Документ (salesliteratureitem) является некастомизируемой и потому её нельзя даже выгрузить в виде файлов кастомизации, чтобы отредактировав xml файла кастомизации, импортировав обратно в CRM и опубликовав - получить требуемый результат (как делалось уже не раз с другими сущностями).
Отсюда вывод, что необходимо редактировать непосредственно место, где данные метки хранятся.
Всем метки перевода (как опубликованные так и нет) лежат в таблице MetadataSchema.LocalizedLabel.
При помощи следующего запроса я получил идентификатор метки:
Select
LocalizedLabelId
From
MetadataSchema.LocalizedLabel Where
ObjectId =
(Select AttributeId From MetadataSchema.Attribute
Where
EntityId = (Select EntityId From MetadataSchema.Entity Where LogicalName = 'salesliteratureitem')
And name = 'title')
And ObjectColumnName = 'DisplayName'
And LanguageId = 1049
После чего прямым обновлением я установил значение на то, на которое хотел поменять:
Update
MetadataSchema.LocalizedLabel
Set Label = 'Заголовок'
Where LocalizedLabelId = '90D8A218-2341-1049-898A-0007E9E17EBD'
После этого выполнил iisreset и получил требуемый результат:
Помните, что данная кастомизация является неподдерживаемой, так что бэкапируйтесь перед подобными манипуляциями.
пятница, 22 января 2010 г.
Обёртка для работы с 1С на .Net
Была найдена в интернете следующая ссылочка - http://umsoft.ru/news.aspx?ID=10. Со странички можно скачать обёртки на .Net для работы с объектами 1С. Думаю, что данная обёрка упростит разработчикам организацию взаимодействия и обмена данных между своими приложениями и 1С.
среда, 20 января 2010 г.
Кастомизация которая позволяет поле описания сделать обязательным для заполнения в диалоге закрытия возможной сделки
Это неподдерживаемая кастомизация, так что будьте аккуратны при её выполнении.
Откройте каталог с сайтом в котором развёрнут CRM. Откройте подкаталог SFA\opps. Откройте файл dlg_closeopp.aspx file при помощи notepad или другого текстового редактора и найдите в нём следующую функцию:
Откройте каталог с сайтом в котором развёрнут CRM. Откройте подкаталог SFA\opps. Откройте файл dlg_closeopp.aspx file при помощи notepad или другого текстового редактора и найдите в нём следующую функцию:
четверг, 7 января 2010 г.
Установка описания аттрибута в качестве всплывающей подсказки в Microsoft Dynamics CRM 4.0
Чтобы сделать это возможным просто необходимо следующий код поместить в обработчик onLoad формы любой сущности:
И собственно скриншот, который показывает результат работы данного скрипта:
SetTooltips = function()
{
var request = "" +
"<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
"<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">" +
GenerateAuthenticationHeader() +
" <soap:Body>" +
" <Execute xmlns=\"http://schemas.microsoft.com/crm/2007/WebServices\">" +
" <Request xsi:type=\"RetrieveEntityRequest\">" +
" <RetrieveAsIfPublished>true</RetrieveAsIfPublished>" +
" <EntityItems>IncludeAttributes</EntityItems>" +
" <LogicalName>" + crmForm.ObjectTypeName + "</LogicalName>" +
" </Request>" +
" </Execute>" +
" </soap:Body>" +
"</soap:Envelope>";
var xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
xmlHttpRequest.Open("POST", "/mscrmservices/2007/MetadataService.asmx", false);
xmlHttpRequest.setRequestHeader("SOAPAction","http://schemas.microsoft.com/crm/2007/WebServices/Execute");
xmlHttpRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
xmlHttpRequest.setRequestHeader("Content-Length", request.length);
xmlHttpRequest.send(request);
var result = xmlHttpRequest.responseXML;
for(var i = 0; i < crmForm.all.length; i++)
if(crmForm.all[i].title != null && crmForm.all[i].title != 'undefined')
{
var fieldName = crmForm.all[i].id;
var desc = result.selectSingleNode("//EntityMetadata/Attributes/Attribute[LogicalName='" + fieldName + "']/Description/UserLocLabel/Label");
try
{
if(desc != null)
{
crmForm.all[fieldName + '_c'].title = desc.nodeTypedValue;
crmForm.all[fieldName + '_d'].title = desc.nodeTypedValue;
}
}
catch(e) {}
}
}
SetTooltips();
И собственно скриншот, который показывает результат работы данного скрипта:
вторник, 5 января 2010 г.
Обработка Rollup сообщения плагинами в Microsoft Dynamics CRM 4.0
Как известно, сообщение Rollup отсутствует в списке поддерживаемых сообщений в SDK. Приведённый далее приём позволит разработчикам обрабатывать данное сообщение своими плагинами.
суббота, 2 января 2010 г.
Удостоен статуса MVP
Я стал обладателем стауса MVP по Microsoft Dynamics CRM.
Большое спасибо семье, друзьям, коллегам и конечно Microsoft.
Корпорация Майкрософт присваивает статус MVP (Most Valuable Professionals) специалистам в области технологий за их выдающийся вклад в жизнь всемирного технического сообщества.
Мой профиль - https://mvp.support.microsoft.com/profile/Andriy.Butenko
Большое спасибо семье, друзьям, коллегам и конечно Microsoft.
Корпорация Майкрософт присваивает статус MVP (Most Valuable Professionals) специалистам в области технологий за их выдающийся вклад в жизнь всемирного технического сообщества.
Мой профиль - https://mvp.support.microsoft.com/profile/Andriy.Butenko
пятница, 1 января 2010 г.
Плагин для копирования примечаний и файлов из интереса в контакт/компанию при конвертации интереса
Мне дали задание написать плагин, который при конвертации интереса в контакт все файлы-вложения и примечания скопирует в полученный контакт. Далее код плагина, который выполняет это:
Подписаться на:
Сообщения (Atom)