|
Запрос к внешнему источнику данных после записи данных |
☑ |
0
Dendroid92
02.03.17
✎
12:29
|
Здравствуйте!
Записываю данные во ВнешнийИсточникДанных, после чего хочу проверить записались ли данные в таблицу, выполняю запрос (запись и проверка записи в одной процедуре), но не получаю данные, однако данные успешно записаны в таблицу. Я так понимаю, что запрос выполняется быстрее, чем записываются данные. Если сделать отдельную кнопку на форме с проверкой записи, то данные будут получены. Кто может подсказать по данному вопросу, может надо программно какую-то паузу делать после записи?
|
|
1
Naf2017
02.03.17
✎
12:32
|
Тут от самих внешних данных зависит. Может там транзакция записи не подтверждена, а чтение идет в другой транзакции
|
|
2
Dendroid92
02.03.17
✎
12:36
|
Для каждого Студент из Объект.Синхронизация Цикл
Если Студент.Spec = "" Тогда
НачатьТранзакцию();
ВнешИст = ВнешниеИсточникиДанных.ВнешнийИсточникДанных3.Таблицы.mdl_user_info_data.СоздатьОбъект();
ВнешИст.data = Студент.Направление.Наименование;
ВнешИст.dataformat = 0;
ВнешИст.fieldid = 2;
ВнешИст.userid = Студент.UserId;
ВнешИст.Записать();
ЗафиксироватьТранзакцию();
ВнешДанныеПоСтуд = ПолучитьДопИнфуПоПользователямMoodle(Студент.UserId);
Для каждого Запись из ВнешДанныеПоСтуд Цикл
Если Запись.fieldid = 2 Тогда
Студент.Spec = Запись.data;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
Вроде ЗафиксироватьТранзацию() должно выполнить операцию и данные уже должны быть записаны или нет?
|
|
3
Dendroid92
02.03.17
✎
12:59
|
(2) После записи ВнешИст.Ссылка - <Объект не найден>
|
|
4
Naf2017
02.03.17
✎
13:21
|
ПолучитьДопИнфуПоПользователямMoodle ХЗ че там написано
|
|
5
Dendroid92
02.03.17
✎
14:06
|
(4)
&НаСервере
Функция ПолучитьДопИнфуПоПользователямMoodle(UserId)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| mdl_user_info_data.data,
| mdl_user_info_data.fieldid
|ИЗ
| ВнешнийИсточникДанных.ВнешнийИсточникДанных3.Таблица.mdl_user_info_data КАК mdl_user_info_data
|ГДЕ
| mdl_user_info_data.userid = &userid";
Запрос.УстановитьПараметр("userid", UserId);
возврат Запрос.Выполнить().Выгрузить();
КонецФункции
|
|
6
Dendroid92
02.03.17
✎
14:21
|
Прошу прощения, все работает, не работало из-за невнимательности в запросе параметр передавал как строку, а нужно было как число, поэтому и не находило. Тему можно закрыть.
|
|