|   |   | 
| 
 | Различные данные в ссылке и объекте | ☑ | ||
|---|---|---|---|---|
| 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 вообще когда ни будь имело место ? Или это вообще левая цифра которой в природе не было в этом объекте ? | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |