Возникла у нас в команде необходимость в одном выпадающем списке добавить значки к элементам списка в зависимости от типа элемента. Сам список сторонний компонент, который трогать не хотелось. Значки реализованы в виде шрифта, т. е. являются символами юникода.
В качестве решения на сервере в зависимости от типа элемента добавили в качестве обычной буквы символ значка \uXXXX и на клиенте получили красивые квадратики, поскольку шрифт, используемый для списка не содержит в себе коды наших иконок. Тут нам на помощь пришел CSS псевдокласс ::first-letter
«Накопительный» тип данных (rollup) появился в Microsoft Dynamics CRM 2015. Он позволяет получать агрегированную информацию по линии потомок-родитель. Такая функциональность несомненно востребована на рынке, поскольку обновление информации из «потомков» на «родителе» всегда представляло техническую сложность, но было востребовано и востребовано сейчас во многих бизнес задачах.
Rollup поле определяется как обычное поле в CRM, но с формулой для вычисления агрегированных значений связанных записей. При создании и обновлении поля создается системная задача, которая вычисляет значение этого поля на всех доступных записях с этим полем. В дальнейшем обновление значений этого поля производится инкрементно каждый час при помощи другой системной задачи, так же создаваемой автоматически ядром CRM. В данной работе рассмотрен один из аспектов работы с накопительными полями, а именно что происходит в момент создания/обновления такого поля и что может пойти не так.