Имя: Пароль:
1C
1С v8
Командный интерфейс (форма в форме)
0 svsrus
 
29.08.22
21:01
Добрый вечер, коллеги!
Подскажите, как побороть проблему?

Есть документ Заявка(агрегирует несколько заказов клиента) из которого выписывают РТиУ. Т.е. из одноq заявки может быть создано несколько РТиУ.
В документе создал команду, подключил ее в командный интерфейс в раздел "Перейти". Когда по ней нажимаешь в этой же форме появляется список документов РТиУ, отобранных по этой заявке.
Выглядит это так же, когда есть подчиненный справочник или регистр. (на скрине поймете).
Отбор документов происходит в форме и потом передается в форму списка РТиУ, где программно ставится отбор по списку переданных документов.

Проблема вот в чем. Когда первый раз нажимаешь на гиперсылку - модуль команды отрабатывается, создается отбор и передается в список. Список выводится как надо. А вот дальше, такое ощущение, что форма списка кэшируется и если вернуться в основной документ (Основное), выписать еще РТиУ и заново вернуться на список РТиУ, то он не обновляется. Ни по F5, ни через Еще. Т.е. как были там документы при первой сработке, такие и остались. А заново модуль команды не отрабатывает (больше туда не заходит при переходе по ссылке), чтобы сформировать новый отбор. Закрываешь документ, открываешь и только тогда отрабатывает команда.

https://ibb.co/crcFkkd
https://ibb.co/qJ91Gcv
https://ibb.co/sw0PPSW
1 Шурик71
 
29.08.22
21:22
Логично, что ПриСозданииНаСервере() отрабатывает только когда форма создается; а открытая  - уже создана, не так ли?

Используй ПолучитьФорму(). ПриСозданииНаСервере - переноси нужные параметры в реквизиты формы. И вызывай процедуру заполнения/обновления. Если форма открыта - то напрямую заполняй ее реквизиты. И в ПриПОвторномОткрытии() вызывай процедуру обновления.
2 svsrus
 
29.08.22
21:25
(1) Да дело не только в ПриСозданииНаСервере(). Дело в том, что в модуль команды, где формируется запросом отбор, второй раз не заходит. Вот сюда... https://ibb.co/crcFkkd
3 Шурик71
 
29.08.22
21:28
На клиенте точка останова в ОбработкаКоманды повторно не срабатывает?! тогда гоняйте барабашек, продувайте кэш  и т.п. )))
4 svsrus
 
29.08.22
21:54
(3) Так в этом и вопрос. Куда гонять, как продувать? ) Как победить? )
5 svsrus
 
29.08.22
21:59
(1) В принципе, есть вариант, как вы и написали. Действительно передавать в реквизит формы ссылку на мой объект. И уже обновляться изнутри списка, а не снаружи.

Но с командами непонятно все-равно ) Почему они не выполняются второй раз.
6 Ёпрст
 
29.08.22
22:20
(5) в 4 параметр метода ОткрытьФорму передай гуид, например.. и будет тебе счастье
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.