|   |   | 
| 
 | v7: Непонятное поведение платформы | ☑ | ||
|---|---|---|---|---|
| 0
    
        1snik_d 10.02.20✎ 20:51 | 
        Всем привет. Давно не ковырял семерку, вот пришлось вспомнить. В документе в табличной части есть ссылочный реквизит (партия). При записи документа устанавливаю реквизит партии и тут же пытаюсь его прочитать через Контекст. В отладчике все читается правильно, а в режиме предприятия реквизит остается в старом варианте. Не пойму, что я делаю не так?     | |||
| 1
    
        Chameleon1980 10.02.20✎ 20:56 | 
        а код где?     | |||
| 2
    
        1snik_d 10.02.20✎ 21:00 | 
        Функция глЕстьСерииСМДЛП(Конт) Экспорт
 Конт.ВыбратьСтроки(); Пока Конт.ПолучитьСтроку() = 1 Цикл Если Конт.Серия.МДЛП = 1 Тогда Возврат 1; КонецЕсли; КонецЦикла; Возврат 0; КонецФункции Эта функция вызывается при записи документа вот так глЕстьСерииСМДЛП(Контекст). В отладчике возвращает 1, в режиме предприятия 0. | |||
| 3
    
        SiAl-chel 10.02.20✎ 21:02 | 
        (0) Режим Отладчика без запуска в режиме 1С:Предприятие не бывает. У них один и тот же контекст.
 Скорее всего в разных кусках кода в параметре либо Ссылка, либо Объект, либо Контекст при вызове этой функции. | |||
| 4
    
        1snik_d 10.02.20✎ 21:08 | 
        (3) А вот так если вызывать, то работает правильно глЕстьСерииСМДЛП(ТекущийДокумент()), но мне так не подходит, потому что для нового документа ТекущийДокумент() неопределен еще, он появляется только после записи.     | |||
| 5
    
        welwel 10.02.20✎ 21:19 | 
        Можно сделать через ВыгрузитьТабличнуюЧасть и не мучить контекст     | |||
| 6
    
        mikecool 10.02.20✎ 21:23 | 
        (2) убери контекст вообще, ТЧ доступна и так     | |||
| 7
    
        1snik_d 10.02.20✎ 21:24 | 
        Я нашел в чем проблема: контекст не обновляется. Если предварительно вызвать Форма.Обновить(), то все срабатывает правильно. Короче жесть какая-то     | |||
| 8
    
        1snik_d 10.02.20✎ 21:24 | 
        (6) А мне нужен не просто реквизит ТЧ, а реквизит реквизита ТЧ ))     | |||
| 9
    
        mikecool 10.02.20✎ 21:26 | 
        (8) я не против, но - контекст документа, когда он создан, есть уже     | |||
| 10
    
        1snik_d 10.02.20✎ 21:40 | 
        (9) При записи обновляю реквизит реквизита ТЧ. Без Форма.Обновить() Контекст.Реквизит.Реквизит показывает старое значение реквизита реквизита ТЧ. Вот в чем проблема.     | |||
| 11
    
        Карст 11.02.20✎ 00:23 | 
        странные люди , (10) ты ж объект считал ... он и показывает что считано     | |||
| 12
    
        SiAl-chel 11.02.20✎ 14:30 | 
        (4) ТекущийДокумент() - это ссылка. И данные в ней актуализируются только после записи. А если это новый, то конечно данные тут отсутствуют.     | |||
| 13
    
        SiAl-chel 11.02.20✎ 14:33 | 
        (4) И ПриЗаписи() в 7.7 - это обработчик "перед записью" по сути своей. И потому надо использовать
 Результат = глЕстьСерииСМДЛП(Контекст); | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |