|  09.09.2016, 04:32 | #1 | 
| Участник | Обработка счетчика в js 
			
			Добрый день. CRM 2011. Имеется сущность "Претензия входящая". Её номер присваивается автоматически из счетчика Counter при создании записи, где он и изменяется во время создания записи. Появилась необходимость отправлять претензии на дорассмотрение и, при этом, требуется не изменять счетчик. Поле номера было убрано из формы и был создан его дубликат, который заполняется в момент создания записи, но имеет текстовый формат, и поле должно заполняться как "номер_старой_претензии/номер_дорассмотрения" (266/1, 266/2 и т.д.) и при этом общая нумерация должна сохраняться, т.е. счетчик нужно в этот момент неувеличивать. Но так как нет доступа к исходникам счетчика, то нужен костыль, в котором я бы просто уменьшал в этот момент значение счетчика на 1. Достаю я нужную мне запись счетчика следующим способом: Код: var queryCounter = "<fetch version='1.0' output-format='xml-platform' mapping='logical'>" + "<entity name='xbitz_counter'>" + "<attribute name='xbitz_counterid'/>" + "<attribute name='xbitz_currentposition'/>" + "<filter type='and'>" + "<condition attribute='xbitz_counterid' operator='eq' uitype='xbitz_counter' value='019EA2FF-8AD9-E211-AC73-00155D144B42' />" +//ID счетчика по входящим претензиям "</filter>" + "</entity>" + "</fetch>"; var retriveCounter = CrmServiceToolkit.Fetch(queryCounter); Код: retriveCounter[0].getValue("xbitz_currentposition"); | 
|  | 
|  09.09.2016, 10:11 | #2 | 
| Moderator | 
			
			Вообще то что вы делаете - не правильно. И да, вам нужен другой инструмент. Fetch только для чтения данных. У вас, очевидно, старый инструмент, который остался от CRM 4.0. Почитайте про CRM 2011 oData service. Теперь есть более простые способы как вычитать, так и обновить данные.
		 
				__________________ http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.   MS Certified Dirty Magic Professional | 
|  | 
|  | 
| 
 |