Показать сообщение отдельно
Старый 09.09.2016, 04:32   #1  
Дмитрий А.А. is offline
Дмитрий А.А.
Участник
Аватар для Дмитрий А.А.
 
173 / 19 (1) ++
Регистрация: 24.07.2015
Адрес: СПб
Обработка счетчика в 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");
а как установить нужное мне значение в счетчике? не могу найти на просторах интернета ответ на данный вопрос... Или просто я не могу найти какой-то очевидный вариант простой функции, или же просто я недопонимаю Fetch-запросы и мне нужен другой инструмент для решения это задачи?