УФ как добиться обновления без Форма.Прочитать()

1. user1532282 17.05.21 16:32 Сейчас в теме
Привет всем. Столкнулся с тем что не могу решить вроде бы очень простую задачу:
- Типовая УНФ, документ заказ, ПриСозданииНаСервере определяется условное формление в том числе колонки "Характеритика" таблицы Запасы.
- Из подключенной внешней обработки добавляю строки в ТЧ запасы (Номенлатура,Характеристика)
- В добавленных строках колонка Характеритика заполнена как "не используются"
- Если нажать "Записать", то форма обновляется, характериситки укахзываются. НО! проблема в том, что мне полче загрузки записывать не нужно, но при этом важно правильно отобразить характеристики.

Т.е. почему и как это все происходит полностью понятно:
- Условное оформление определено при открытии формы
- Строки добавили, но форму ведь не обновили, вот и отображаются характеристики как "не используются"
если же сделать Форма.Прочитать() то загруженные стркои есстественно пропадают.

Вот, как быть то в такой ситуации, и форму не записывать, и услвоное формление обновить? Вообще решается эта задача?
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 71 17.05.21 16:40 Сейчас в теме
(1)ээээ.....
ОбновитьОтображениеДанных(Элементы.Запасы)

?
3. user1532282 17.05.21 16:49 Сейчас в теме
ОбновитьОтображениеДанных(ДанныеФормыФорма.Элементы.Запасы);
нет, так не обновляется(
4. user1532282 17.05.21 16:50 Сейчас в теме
я загружаю из подключенной внешней обработки, поэтому не "Элементы.Запасы" а "ДанныеФормыФорма.Элементы.Запасы" где ДанныеФормыФорма собственно фомра заказа
5. wertep 23 17.05.21 16:53 Сейчас в теме
Посмотреть что в ПриСозданииНаСервере и вызвать функцию оформления после добавления строк.
6. user1532282 17.05.21 17:09 Сейчас в теме
в ПриСозданииНаСервере заказа
СоответствиеИменТабличныхЧастей.Вставить("Запасы","");
НоменклатураВДокументахСервер.ОбновитьУсловноеОформлениеТабличнойЧастиДляХарактеристик(ЭтаФорма,СоответствиеИменТабличныхЧастей);


но обратиться к этому же мотоду я не могу, потому что загружаю я в форме подключенной вншней обработки, в клиентском методе, из которого не могу передать в серверный метод параметр с типом "ФормаКлиентскогоПриложения"
надеюсь понятно написал)
7. user1532282 17.05.21 17:10 Сейчас в теме
да и дело в том, что мне не нужно то менять ничего в условном формлении. Мне нужно мделать так чтобы форма обновилась
8. dnikolaev 177 17.05.21 18:00 Сейчас в теме
Метод «ОповеститьОбИзменении()»
Наиболее простым и наиболее частым является использование метода глобального контекста ОповеститьОбИзменении(). В этот метод передается единственный параметр – ссылка на объект (или ключ записи), об изменении которого нужно оповестить формы.

Этот метод уведомит все динамические списки, расположенные в созданных на клиенте формах, об изменении этого объекта, и они обновят свои данные. Но есть особенность: этот метод не обновит те динамические списки, у которых не задана основная таблица.

Преимущество этого способа заключается в том, что нам ничего не нужно знать об открытых формах, не нужно «влезать» внутрь этих форм – платформа все сделает сама.
Fox-trot; +1 Ответить
9. user1532282 17.05.21 18:07 Сейчас в теме
(8) нет, попробовал, ОповеститьОбИзменении в данном случае не работает, очевидно потому, что этот метод обновляет связанные динамические списки, а в моем случае Форма.Запасыэто таблица
10. user1532282 17.05.21 18:12 Сейчас в теме
подитожу изыскания:
ДанныеФормыФорма - Форма клиентского приложения

ДанныеФормыФорма.Записать(); - в этом случае форма записывается и обновляется как положено, характеристики отображаются верно

А вот без записи, ни один из методов ниже не работает
ОбновитьИнтерфейс()
ОбновитьОтображениеДанных(ДанныеФормыФорма.Элементы.Запасы);
ОбновитьОтображениеДанных(ДанныеФормыФорма.Элементы.ЗапасыХарактеристика);
ОповеститьОбИзменении(Тип("ДокументСсылка.ЗаказПокупателя"))

что еще можно попробовать?
11. Sashares 34 17.05.21 18:37 Сейчас в теме
(10) Создать в форме обработки серверный метод,
вызвать в нем обновление УО для владельца формы

...
СоответствиеИменТабличныхЧастей.Вставить("Запасы","");
НоменклатураВДокументахСервер.ОбновитьУсловноеОформлениеТабличнойЧастиДляХарактеристик(ВладелецФормы, СоответствиеИменТабличныхЧастей);
...
12. user1532282 17.05.21 21:13 Сейчас в теме
(11) ВладелецФормы - свойство не доступно на сервере
13. Sashares 34 17.05.21 22:45 Сейчас в теме
(12)Тогда другой вариант.
Создать расширение и в нем добавить в форму владельца, то есть в форму документа Заказ, экспортную клиентскую функцию, в которой уже вызывать серверную функцию с обновлением УО.
В форме обработки вызывать эту экспортную клиентскую функцию владельца формы.
14. user1532282 18.05.21 07:53 Сейчас в теме
(13) расширений хотелось бы избежать. Загружаю данные внешей обработкой подключенной к документу. Расширение в этой задаче смотриться избыточно. Неужели никак не решить проблему без расширения?
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)