![]() |
|
Различные данные в ссылке и объекте | ☑ | ||
---|---|---|---|---|
0
SssR
27.04.15
✎
10:34
|
Парадоксальная ситуация, но факт. Есть ДокументОбъект. Отладчиком вижу что у него в табличной части Товар Количество 10. Также отладчиком захожу в ДокументОбъект.Ссылка.Товары и вижу Товар Количество 5. Данные в объекте верные. Но когда хочу объект записать ТО значения из ссылки переписывают данные объекты, и становятся не верными. Перепробовал массу вариантов, Прошу совета как выйти из данной ситуации.
|
|||
1
AntonH851
27.04.15
✎
10:36
|
ДокументОбъект и ДокументОбъект.Ссылка.Товары - Это разные объекты?
|
|||
2
rabbidX
27.04.15
✎
10:37
|
Объект.Модифицированность()?
|
|||
3
SUA
27.04.15
✎
10:37
|
(0)проверяй что записываешь
|
|||
4
SssR
27.04.15
✎
10:38
|
нет это все в рамках одного Документа - Заказа например № 5, загружаемого с сайта, если быть точнее
|
|||
5
SssR
27.04.15
✎
10:38
|
(2) интерактивно юзер с ним не работает
|
|||
6
AntonH851
27.04.15
✎
10:40
|
(4) Код можешь показать?
|
|||
7
SssR
27.04.15
✎
10:41
|
не вдаваясь в подробности могу сказать что при загрузке запускаются кое какие модули, работающие правильно / неправильно, думаю не важно, но локализовав проблему пришел к (0)
|
|||
8
SssR
27.04.15
✎
10:42
|
(7) кое какие модули обрабатывая данные работают в качестве параметра именно с ДокументОбъект
|
|||
9
SssR
27.04.15
✎
10:44
|
Док.ДокументОбъект.Записать(РежимЗаписиДокумента.Запись);
//не понятно но на данный момент данные в ОБЪЕКТЕ и ОБЪЕКТЕ.ССЫЛКА по товарам разные СсылкаНаДокумент = Док.ДокументОбъект.Ссылка; СтруктураСтатистики.Загружено.Добавить(СсылкаНаДокумент); СвойстваЗаказаОбновлены(СсылкаНаДокумент, СвойстваЗаказа, ОписаниеОшибки); ДокументОбъект = СсылкаНаДокумент.ПолучитьОбъект(); Если не ЗначениеЗаполнено(СсылкаНаДокумент.ДатаОтгрузки) и ЗначениеЗаполнено(СсылкаНаДокумент.ДатаДоставки) Тогда ДокументОбъект.ДатаОтгрузки = ДокументОбъект.ДатаДоставки; КонецЕсли; Для Каждого Стр из ДокументОбъект.Товары Цикл Стр.ДатаОтгрузки = ДокументОбъект.ДатаОтгрузки; КонецЦикла; Попытка ДокументОбъект.Записать(РежимЗаписиДокумента.Запись); Исключение КонецПопытки; |
|||
10
SssR
27.04.15
✎
10:45
|
Вторая запись уже берет данные в объект из ссылки
|
|||
11
AntonH851
27.04.15
✎
10:48
|
Если у тебя в Док.ДокументОбъект уже объект, зачем ты его еще раз получаешь в ДокументОбъект = СсылкаНаДокумент.ПолучитьОбъект();
|
|||
12
AntonH851
27.04.15
✎
10:49
|
Такое ощущение что Док.ДокументОбъект.Записать(РежимЗаписиДокумента.Запись);
не срабатывает, иначе бы при получении объекта в ДокументОбъект = СсылкаНаДокумент.ПолучитьОбъект(); из базы бы считались свешезаписанные данные |
|||
13
SssR
27.04.15
✎
10:52
|
(12) в этом то и пародкс, даже если я перезаписываю не по ссылке 2 раз , а просто
Док.ДокументОбъект.Записать(РежимЗаписиДокумента.Запись); при открытии этого заказа уже в 1С (не программно, а глазами) я вижу данные заказа - неправильные, то есть как раз те которые хранятся в ссылке |
|||
14
rabbidX
27.04.15
✎
11:02
|
Скорее всего лишний раз получаешь объект. Проверь что в меняется ли документСсылка.Товары.Количество() после первой записи, может, запись не проходит. Непосредственно перед второй записью посмотри ДокументОбъект.Товары.Количество()
|
|||
15
Apokalipsec
27.04.15
✎
11:05
|
Надо сначала разобраться что там за Док.)
Очень странно потому что обращаться к объекту через точку - Док.ДокументОбъект - я думаю ошибка прячется где-то там.) |
|||
16
SssR
27.04.15
✎
11:07
|
(15)Док - это строка дерева
Для Каждого Док Из ДеревоДокументов.Строки Цикл |
|||
17
fishb1
27.04.15
✎
11:37
|
(16) Как тебе удалось запихать ДокументОбъект в реквизит ДЗ?
|
|||
18
AntonH851
27.04.15
✎
11:44
|
(17) Кстати да... но вот вопрос, там скорее всего не объект а именно ссылка, но тогда на Записать() должна ошибка вылетать
|
|||
19
rabbidX
27.04.15
✎
11:44
|
(17) а в чем проблема?
СтрокаДереваЗначений (ValueTreeRow) <Имя колонки> (<Column name>) Использование: Чтение и запись. Описание: Тип: Произвольный. В базу-то не надо записывать, если б реквизит объекта или ТЧ был, тогда нельзя |
|||
20
rabbidX
27.04.15
✎
11:45
|
Дерево объектов - это почти массив объектов. Только дерево.
|
|||
21
AntonH851
27.04.15
✎
11:50
|
Там может при записи данные где нибудь меняются
|
|||
22
rabbidX
27.04.15
✎
11:58
|
(21) Перед записью, при записи уже записано все.
|
|||
23
fishb1
27.04.15
✎
12:01
|
(19) ну раз так, то ОК. Просто приходилось пользоваться ДЗ только как реквизитом элемента формы, а там нельзя Объекты использовать, только ссылки.
|
|||
24
Рэйв
27.04.15
✎
12:02
|
(0)ссылка отличается от объекта пока тот не записан,если в объект внесеныы изменения.Это же азбука
|
|||
25
raykom
27.04.15
✎
12:45
|
(0)Не читал, но возражаю.
какая нафиг разница, что там куда пишет не пишет. Сама суть в том, что ссылка это таки путь к объекту (или запомненный муть с запомненным массивом данных и контекстом) и не более. Она априори не должна содержать того, чего нет в объекте. П.С, по сути сказать ни чего не могу ... Просто возмущен ... (24)Воот. Пока ... Но тогда уместно у ТСа спросить, а количество 5 вообще когда ни будь имело место ? Или это вообще левая цифра которой в природе не было в этом объекте ? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |