|
Фича с транзакцией и строкой табличной части. | ☑ | ||
---|---|---|---|---|
0
ptiz
04.09.12
✎
13:15
|
Вот простейший код:
СтрокаТЧ = ДокСсылка.Товары[0]; Сообщить("индекс строки Ссылки до транзакции = " + ДокСсылка.Товары.Индекс(СтрокаТЧ)); НачатьТранзакцию(); Сообщить("индекс строки Ссылки в транзакции = " + ДокСсылка.Товары.Индекс(СтрокаТЧ)); Результат: индекс строки Ссылки до транзакции = 0 индекс строки Ссылки в транзакции = -1 А если использовать ДокументОбъект, то результат одинаков. Что за фича? |
|||
1
Reset
04.09.12
✎
13:18
|
СтрокаТЧ = ДокСсылка.Товары[0];
Сообщить("индекс строки Ссылки до транзакции = " + ДокСсылка.Товары.Индекс(СтрокаТЧ)); Так делать, вообще говоря, некорректно. В первой и второй строке - объекты разные |
|||
2
ptiz
04.09.12
✎
13:21
|
(1) Чем ДокСсылка отличается от ДокСсылка?
|
|||
3
Reset
04.09.12
✎
13:22
|
(2) Ты начни с того, чем объек отличается от ссылки и что делает происходит при обращении через точку
|
|||
4
Reset
04.09.12
✎
13:24
|
Можно предположить, что в первом случае изза кеширования объекта строка нашлась, а во втором случае начало транзакции форсировало повтороное чтение объекта. Но не понимаю, зачем задаваться поведением системы на заведомо некорректных примерах?
|
|||
5
ptiz
04.09.12
✎
13:26
|
(3) Где ты видешь ОБЪЕКТ?
|
|||
6
Reset
04.09.12
✎
13:29
|
(5) Твой уровень мне понятен. Я оставлю объяснение основ моем более терпеливым коллегам.
|
|||
7
ptiz
04.09.12
✎
13:42
|
Понял наводку.
Если ДокСсылка.Товары запихнуть в переменную, то транзакция не влияет. "Начало транзакции форсировало повтороное чтение объекта" - похоже. Получается, он все кэшированные данные сбрасывает? Надо проверить. |
|||
8
Reset
04.09.12
✎
13:51
|
(7) Я вообще не люблю что-либо через точку от ссылки читать, на самом деле. Предпочитаю явно ПолучитьОбъект() в переменную и ее использовать, либо запросом.
Извини за резкость :\ День тяжелый |
|||
9
ptiz
04.09.12
✎
13:56
|
Проверил.
При появлении новой транзакции идет повторное обращение к базе при чтении реквизитов ссылок. Где-нибудь можно использовать. Но т.к. не встречал этого в документации, не факт, что такое поведение будет всегда. |
|||
10
ssh2006
04.09.12
✎
14:02
|
Вообще это логично, накладывается блокировка
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |