Имя: Пароль:
1C
1С v8
Обновить форму ЖурналаОпераций из внешней обработки
,
0 MWWRuza
 
гуру
10.02.22
17:52
Добрый день!
Подскажите пожалуйста "застарелому клюшечнику", как сделать сие действие...
Подробнее - типовая бухгалтерия 3.0, БАЗОВАЯ!!!, т.е. в самой конфе менять ничего не могу.
Есть некая обработка загрузки "ручных" операций(моя). Все работает, но после загрузки операций, предположим за день, приходится вручную, интерактивно обновлять список журнала, иначе их не видно, и пользователь может накосячить - загрузить повторно.
Как это правильно сделать программно?
Пробовал и напрямую, и через "Оповещение" - никак не работает...Нет, через оповещение я понимаю как можно было-бы сделать, имей я возможность вносить изменения в конфу, в процедуре "ОбработкаОповещения", но, нельзя, базовая...
Как это сделать из внешней обработки?
1 ДенисЧ
 
10.02.22
18:11
ОповеститьОбИзменении() ?
2 MWWRuza
 
гуру
10.02.22
18:24
Возможно... А что в параметр передать? Там нужно ссылку, а как ее получить на форму журнала операций из обработки?
3 MWWRuza
 
гуру
10.02.22
18:28
&НаКлиенте
Процедура ОбновитьЖурналОпераций()
//    ФормаЖО    = ПолучитьФорму("ЖурналДокументов.ЖурналОпераций.ФормаСписка");
//    Оповестить("ОбновитьФорму",,ФормаЖО);
    ОповеститьОбИзменении(???????????);
КонецПроцедуры
4 acht
 
10.02.22
18:30
(3)
Вариант синтаксиса: Изменено много объектов
Синтаксис:
ОповеститьОбИзменении(<ИзмененныйТип>)
5 MWWRuza
 
гуру
10.02.22
18:40
Хм... Из СП:

Синтаксис:
ОповеститьОбИзменении(<ИзмененныйТип>)
Параметры:
<ИзмененныйТип> (обязательный)
Тип: Тип.
Тип изменившихся объектов, например "ДокументСсылка.РасходнаяНакладная".

Делаю:

&НаКлиенте
Процедура ОбновитьЖурналОпераций()
    ОповеститьОбИзменении("ДокументСсылка.ОперацияБух");
КонецПроцедуры

Получаю:

Несоответствие типов (параметр номер '1')
6 acht
 
10.02.22
19:12
(5) > Тип: Тип.
И зачем ты суешь туда строку?
7 MWWRuza
 
гуру
10.02.22
19:21
Всем спасибо, разобрался:

&НаСервере
Функция ПолучитьСсылуНаБО()
    Возврат Документы.ОперацияБух.ПолучитьСсылку();    
КонецФункции    

&НаКлиенте
Процедура ОбновитьЖурналОпераций()
      СсылкаНаБО = ПолучитьСсылуНаБО();
    ОповеститьОбИзменении(СсылкаНаБО);
КонецПроцедуры
8 hhhh
 
10.02.22
19:36
(7) надо просто в форме журнала поставить галку автообновление, и задать интервал, например 60 секунд. Или 30.
9 acht
 
10.02.22
20:04
(8) > в форме журнала поставить галку
У него базовая, в которой это сделать затруднительно.
10 MWWRuza
 
гуру
10.02.22
20:37
Да, в том-то и дело, что базовая...
Все работает отлично. Но, хотелось-бы, что-бы после загрузки и обновления отображения журнала, автоматически "переходило в конец", т.е выделялся последний документ в журнале...
Если это возможно в данной ситуации(только в обработке, без внесения изменений в саму конфу), подскажите, в каком направлении копать.
11 acht
 
10.02.22
21:08
(10) Ну коль пошла такая пьянка...
Перебирай окна через ПолучитьОкна(), ищи там в содержимом открытую форму по реквизиту ИмяФормы и делай с ней что хочешь.
12 hhhh
 
10.02.22
21:43
(9) через расширение просто.
13 acht
 
10.02.22
21:58
(12) Расширение для базовой можно установить только если оно подписано сертификатом самой 1С. Поэтому - нельзя.