|
Изменения реквизита объекта без его записи | ☑ | ||
---|---|---|---|---|
0
Shalun
28.11.21
✎
16:05
|
Всем привет! Столкнулся с интересной ситуацией. В программе, в частности КА 24, еть заказ Поставщику или покупателю, не важно. В этом документе есть реквизит Статус. После того как все товары по а поставлены и оплачены, этот реквизит устанавливается в значение Закрыто. Но вот что интересно. Устанавливаю Точку останова в модуле ПередЗаписью или При Создании на сервере, и обращения к данному документу извне нет. Однако, при изменении проведения документа Поступления или оплаты, этот реквизит в Заказе меняется! Да же при открытой форме Заказа. Кто в курсе этого механизьма? Как это происходит? Поясните плиз.
|
|||
1
youalex
28.11.21
✎
16:26
|
Реквизит формы или документа?
Отладка на сервере работает? Замер что показывает? ПриЧтенииНаСервере() - тоже не отрабатывает? |
|||
2
Мимохожий Однако
28.11.21
✎
16:37
|
Плохо смотрел. В процедуре при создании на сервере формы документа статус может изменить своё значение. А после записи это значение зафиксируется.
|
|||
3
Ёпрст
28.11.21
✎
16:53
|
(0) смотри подписки на события доков
|
|||
4
Ногаминебить
28.11.21
✎
17:53
|
А точно реквизит? Такие вещи обычно в регистр пишут.
|
|||
5
Shalun
28.11.21
✎
19:36
|
Ребят, ну реквизит документа, это точно. Отладка на сервере работает. Я так понимаю, в каком модуле и как меняется это реквизит не важно, что бы он сохранился, документ нужно записать, верно? По этому должно быть обращение к процедуре Перед Или При записи. Однако к этим процедурам обращения нет. А реквизит меняется и сохраняется.
|
|||
6
vde69
28.11.21
✎
20:01
|
где-то стоит
ОбменДанными.Загрузка = Истина |
|||
7
ДедМорроз
28.11.21
✎
21:29
|
(6) при этом,проведуры ПриЗаписи и ПередЗаписью прекрасно вызываются,просто в первой строке у них,обычно,стоит проверка этого условия.
Штатно записать что-то в объект,не ввзывая обработчиков событий,нельзя. |
|||
8
Ненавижу 1С
гуру
28.11.21
✎
21:35
|
(0) что за событие в модуле объекта при создании? Есть мнение что ты смотришь модуль формы, что неправильно
|
|||
9
ads55
29.11.21
✎
05:40
|
(0) Может какое-то условное оформление формы хитрое.
Хотя, больше похоже на подписку "ПриЗаписи". |
|||
10
osa1C
29.11.21
✎
06:42
|
(0) Расширения?
|
|||
11
Мультук
гуру
29.11.21
✎
07:15
|
(0)
А если просто записать/провести документ -- в отладчик попадешь? А то сейчас окажется, что точки останова стоят не в той конфигурации, не в том документе, запущен клиент, но не из конфигурации и т.п. P.S. В УТ есть возможность менять статус из списка "ЗаказПоставщику" -- думаю, в КА - аналогично. Из кода смены статуса ты в отладчики попадаешь? |
|||
12
Shalun
29.11.21
✎
08:57
|
Парни, всем привет! Смотрю разумеется в модуле объекта, процедуры ПриЗаписи находятся в нем. И при записи\проведении документа в отладчик попадаю, т.е. точка останова установлена верно.
Подписки пересмотрел, ничего не нашел. :-( Сейчас пересмотрю Расширения, хотя мало вероятно что будет в них что-то, т.к. данный функционал работает уже давно, и наверняка он отлажен, что бы его в расширения пихать. (11) Не понял на счет смены статуса из списка? Можешь пояснить? |
|||
13
ads55
29.11.21
✎
09:08
|
(12) Посмотри весь стек вызовов, может где-то далеко в коде, поэтому пропускаешь. Чудес не бывает.
|
|||
14
Мультук
гуру
29.11.21
✎
09:50
|
||||
15
Ненавижу 1С
гуру
29.11.21
✎
10:03
|
(14) Состояние<>Статус, автор утверждает про статус якобы
|
|||
16
Shalun
29.11.21
✎
13:47
|
(14) Да
(15) В данном случае Состояние и есть Статус. |
|||
17
Ненавижу 1С
гуру
29.11.21
✎
13:57
|
(16) неправильный вывод - состояние это ресурс регистра СостоянияЗаказовПоставщикам и все становится на свои места: никто заказ не трогает вообще, меняются данные регистра.
|
|||
18
Мультук
гуру
29.11.21
✎
13:58
|
(16)
Вы реально не видите разницы между двумя словами "Статус" (реквизит документа) и "Состояние" (реквизит регистра сведений "СостоянияЗаказовПоставщикам" ? P.S. (15) Все пациенты врут (с) |
|||
19
Ненавижу 1С
гуру
29.11.21
✎
14:08
|
(18) получается да, обычно по незнанию, но тут убежденное вранье какое-то
|
|||
20
Shalun
29.11.21
✎
14:11
|
ПАРНИ, МИНУТОЧКУ. В Документе есть реквизит Статус. Он принимает определенное значение из Перечисления. Данный реквизит выведен на форму документа, и на форму списка и отображается как Состояние. И меняется значение именно этого реквизита. Т.е. открыв документ Заказ, можно увидеть что и в нем значение поменялось.
|
|||
21
Мультук
гуру
29.11.21
✎
14:18
|
(20)
Открываем ЗаказПоставщику.Формы.ФормаСпискаДокументов, смотрим текст динамического списка {лишнее вырезано} ВЫБРАТЬ ДокументЗаказПоставщику.Ссылка КАК Ссылка, ДокументЗаказПоставщику.Статус КАК Статус, ВЫБОР КОГДА (НЕ ДокументЗаказПоставщику.Проведен) ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияЗаказовПоставщикам.ПустаяСсылка) ИНАЧЕ ЕСТЬNULL(СостоянияЗаказовПоставщикам.Состояние, ЗНАЧЕНИЕ(Перечисление.СостоянияЗаказовПоставщикам.Закрыт)) КОНЕЦ КАК Состояние ИЗ Документ.ЗаказПоставщику КАК ДокументЗаказПоставщику ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияЗаказовПоставщикам КАК СостоянияЗаказовПоставщикам ПО (СостоянияЗаказовПоставщикам.Заказ = ДокументЗаказПоставщику.Ссылка) |
|||
22
Ногаминебить
29.11.21
✎
14:18
|
Картинку конфигуратора с реквизитами документа в студию тогда.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |