|
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 - это обработчик "перед записью" по сути своей. И потому надо использовать
Результат = глЕстьСерииСМДЛП(Контекст); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |