Имя: Пароль:
1C
1С v8
Не обновляется представление ссылки при изменении на сервере
0 non1ka
 
09.09.13
19:13
Добрый день.
Подскажите пожалуйста, в чем может быть загвоздка.
1С:Предприятие «Управление торговлей» 11.1.2.9
Платформа 1С:Предприятие 8.2 (8.2.18.109) (файловый вариант)

Документ «Заказ клиента».

В подписке на события «Перед записью» произвожу изменение табличной части «Дополнительные реквизиты» «Характеристики номенклатуры». Произвожу запись характеристики номенклатуры. У нее в свою очередь есть своя подписка на событие, которая на основании состава табличной части «Дополнительные реквизиты» производит переименовывание Характеристики.

Пример наименования характеристики: «Толстой Лев Николаевич/ ЛОГОТИП/Твердый переплет/Теснение/Количество листов 112/»

Все отрабатывает как надо:
1. Происходит переименовывание.
2. Все реквизиты устанавливаются.

Но есть один «косяк».
В форме документа «Заказ клиента», автоматически не обновляется представление ссылки. Остается старое (до записи). Я понимаю, что форма не в курсе того, что произошло на сервере так как я не вызываю после записи методов по обновлению отображения. Но даже если я обновлю программно форму, или нажму на кнопку «Пересчитать» или закрою а затем открою форму, не чего не происходит, наименование не меняется. Более того, даже если я создам на основании совершенно другой документ (например «Заказ поставщику») в него так же перейдет старое наименование. Хотя движение по регистрам отражает новое наименование.
Помогает только полный выход из программы, либо открытие формы выбора характеристики номенклатуры. Очень загадочное поведение платформы.
1 non1ka
 
12.09.13
19:21
Извините за спам. Просто хотел поднять тему в списке...
2 hhhh
 
12.09.13
20:30
(1) что-то бред какой-то предлагаете. Например вы три года отгружаете товар с характеристикой "Толстой". Потом заходите и корректируете характеристику, пишете "Тургенев". И вы намекаете, что в сотнях заказов и накладных у вас сразу поменяется ТОлстой на Тургенев?
3 Зойч
 
12.09.13
21:28
ОбновитьОтображениеДанных()
4 non1ka
 
13.09.13
15:12
(2) Разве Вам задавали вопрос о логике решения? Вы в курсе предметной области? Вы знаете по каким правилам генерируются характеристики в моем решении?

Данные характеристики являются уникальными и формируются программным образом, предназначены они для создания уникальной позиции принадлежащей клиенту с определенным перечнем уникальных свойств, данный перечень свойств не может повторяться более одного раза.

Помимо уникальных позиций так же существуют и типовые, так называемые стандартные.

Хотя зачем я Вам все это объясняю?

(3) Я писал в вопросе, что данный метод не отрабатывает.
5 non1ka
 
13.09.13
15:14
(3)  Но даже если я обновлю программно форму, или нажму на кнопку «Пересчитать» или закрою а затем открою форму, не чего не происходит (с)

Под словом обновлю программно форму я имел ввиду метод ОбновитьОтображениеДанных()
6 non1ka
 
13.09.13
15:33
(3)
И если Вы понимаете принцип вывода данных в управляемые формы. Фраза "закрою а затем открою форму", как минимум предполагает, что данные будут заново прочитаны с сервера.

Я благодарю Вас за стремление в помощи.

На самом деле я второй раз столкнулся с обновлением представления характеристики. Скорее всего нужно найти программный код типовой конфигурации который отвечает за представление в строке "Характеристика". Может "Условное оформление", потому что, когда характеристика не задана в этом поле указана "характеристика не используется", соответственно это не типовое представление пустой ссылки, а программная обработка.
7 non1ka
 
13.09.13
17:36
Действительно, тест  "характеристика не используется" устанавливается условным оформлением, только в одном случае, в остальных случаях представление должно выводиться по основному представлению ссылки.

Опять в тупике :(
8 Жан Пердежон
 
23.09.13
10:27
(0) на правах апа: похоже, баг платформы.
Сам только что столкнулся: платформа 8.2.18.109 (и файловый и клиент-сервер), подписка "При записи" устанавливается наименование.
Еще интересная особенность: даже после перезапуска платформы в представлении остается старое наименование (видимо платформа его где-то кеширует, помогает открытие формы выбора).

Поскольку у меня справочник загружается обработкой, обошел тупо вызовом метода установки наименования перед записью.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший