|  31.03.2015, 13:49 | #1 | 
| Участник |  Поведение системы при Retrieve 
			
			Коллеги, поясните пожалуйста поведение системы... Есть плагин на Retrieve. Запрашиваю данные сужности по ID, которого нет в системе. Плагин на стадии Pre во входных параметрах заменяет несуществующий ID на существующий в системе. Это позволяет запросу выполняться и не падать с ошибкой, что запись не найдена. Дальее, на стадии Post, когда я получаю из CRM сущность, заменяю у нее ID обратно на несуществующий. При этом получаю ошибку что запись не найдена. Если на стадии Post не заменять ID, то все проходит нормально. Я вот как то не очень понимаю, по идее на стадиии Post Retrieve можно подложить системе любые данные (ну по крайней мере в рамках существующих у сущности полей). Но почему подмена ID ведет к ошибке, есди никаких запросов в систему больше не происходит. | 
|  | 
|  31.03.2015, 14:05 | #2 | 
| Чайный пьяница | 
			
			Добрый день, А можете объяснить зачем вам это, пардон, извращение понадобилось? 
				__________________ Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit | 
|  | 
|  31.03.2015, 16:17 | #3 | 
| Участник | 
			
			Я ждал этого вопроса...   Делаем хитрую интеграцию CRM с внешней мастер-системой, при которой часть данных в CRM храниться, а часть нет, но отображается через преднастроенные сущности и стандартный интерфейс. | 
|  | 
|  31.03.2015, 17:04 | #4 | 
| Чайный пьяница | 
			
			Примерно такого ответа и ждал. Ни разу так не извращался, но что бы я мог вам посоветовать исходя из вашего диагноза - говорит, что записи нет - сделайте так, чтобы запись была. Создайте запись с предзаданным гуидом и используйте этот гуид в плагине.
		 
				__________________ Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit | 
|  | 
|  31.03.2015, 17:16 | #5 | 
| Участник | 
			
			Да это понятно - это возможное решение, оно очевидно. Вопрос - почему происходит ошибка. Где и в какой момент CRM сравнивает гуиды записей, почему это происходит уже после того, как запись была успешно получена из базы и теперь просто должна быть передана интерфейсной части. Думал может как то сравнивает гуиды во входных и выходных параметрах запроса, но там то на входе как раз несуществующий гуид и на выходе я подставляю его же... Врятли система делает запрос напрямую в SQL после того как отрабатывает Retrieve. | 
|  | 
|  31.03.2015, 17:28 | #6 | 
| Чайный пьяница | 
			
			Хотите сделать функционал - реализовывайте по очевидному сценарию. Хотите разобраться в чём причина ошибки... рефлектор вам в руки и удачи ведро. Я копал исходники, я знаю какой это гемор    
				__________________ Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit | 
|  | 
| Теги | 
| plugin, retrieve, crm2013, crm2011 | 
|  | 
| 
 |