Имя: Пароль:
1C
 
Эффект обновления формы в ПриАктивизацииСтроки
0 mikecool
 
28.09.25
20:10
1С:Предприятие 8.3 (8.3.26.1521)
В ПриАктивизацииСтроки использую ПодключитьОбработчикОжидания  , чтобы отобразить доп информацию в надписи на форме.
Однако, нарвался на эффект - как только надпись обновляется, получается - обновляется и сама форма, я находился в конце таб части, и тут - перепрыгиваю в ее начало, если при этом редактирую значение ячейки - редактирование отменяется.

Эффект известный? Как избежать?
1 PR
 
28.09.25
20:13
Три раза прочитал, ничего не понял
Почему что-то сбрасывается, что там обновляется, кто на ком стоял, кто кого погонял...
2 Asmody
 
28.09.25
20:23
(0) небось где-то вызов сервера затесался явный или неявный?
3 mikecool
 
28.09.25
20:24
Процедура ДФ_ТоварыПриАктивизацииСтрокиПосле(Элемент)
    
    Если СегментыИспользуются Тогда
        ПодключитьОбработчикОжидания("ЗаполнитьСтрокуСегментовНоменклатуры", 0.5, Истина);
    КонецЕсли;
    
КонецПроцедуры  

&НаКлиенте
Процедура ЗаполнитьСтрокуСегментовНоменклатуры() Экспорт

    ТекДанные = Элементы.Товары.ТекущиеДанные;
    Если ТекДанные = Неопределено Тогда
        Возврат;
    КонецЕсли;  
    _Сегменты = Новый Соответствие(СегментыНоменклатуры);
    
    ТекущиеСегменты = _Сегменты.Получить(ТекДанные.Номенклатура);
    Если ТекущиеСегменты = Неопределено Тогда
        ТекущиеСегменты = "";
        //ТекущиеСегменты = ПолучитьСегментыНоменклатуры(ТекДанные.Номенклатура);
        //_Сегменты.Вставить(ТекДанные.Номенклатура, ТекущиеСегменты);
        //СегментыНоменклатуры = Новый ФиксированноеСоответствие(_Сегменты);
    Иначе
        
    КонецЕсли;  
    
    Элементы.НадписьСегментыНоменклатуры.Заголовок = "Сегменты: " + ?(ЗначениеЗаполнено(ТекущиеСегменты), ТекущиеСегменты, "<нет>");
    
КонецПроцедуры  

вот такой кусок кода, закомментил кусок - сначала подумал, что внеконтекстный вызов сервера раляет, но нет - именно обновление заголовка надписи на форме вызывает эффект
4 mikecool
 
28.09.25
20:25
(2) на это подумал в первую очередь, но нет, не он
проверил после того, как закомментил кусок кода
5 Asmody
 
28.09.25
20:27
А привязать надпись к реквизиту формы и менять реквизит, а не значение элемента?
6 mikecool
 
28.09.25
20:28
(5) гм, попробую, спасибо ))
7 PR
 
28.09.25
20:40
Никогда в жизни не работал со значением элемента напрямую
Делаешь реквизит формы, через него пляшешь, как в (5)
К чему эти хождения по болотам, когда есть шоссе?
8 mikecool
 
28.09.25
20:44
(5) работает, еще раз огромное спасибо )))
9 mikecool
 
28.09.25
20:44
(7) я этим "баловался" еще на ОФ, тут попросили добавить корявку, я по старой памяти и накорявил )
10 Маленький Вопросик
 
28.09.25
22:11
(0) В ПриАктивизацииСтроки использую ПодключитьОбработчикОжидания  , чтобы отобразить доп информацию в надписи на форме

Весьма странно, активизация строки - это и есть событие для обновления

К чему обработки ожидания? Используй ожидание при открытии и закрытии формы…