|
Запрос к внешнему источнику данных после записи данных | ☑ | ||
---|---|---|---|---|
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
|
Прошу прощения, все работает, не работало из-за невнимательности в запросе параметр передавал как строку, а нужно было как число, поэтому и не находило. Тему можно закрыть.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |