gifts2017

[ОБУЧАЛОВКА] ТиС: проблемы с позиционированием строки в ТЧ документа после закрытия подбора

Опубликовал Сергей (Che) Коцюра (CheBurator) в раздел Программирование - Практика программирования

В ТиС'е наблюдается такая проблема: в ряде случаев при завершении подбора в табл.часть документа курсор позиционируется черти знает куда и теряется последняя подобранная строка... Лечим...
В ТиС'е наблюдается такая проблема: в ряде случаев при завершении подбора в табл.часть документа курсор позиционируется черти знает куда и теряется последняя подобранная строка... О причине проблемы распространятся не буду (некорректная работа с переданным контекстом), будем лечить...
В глобальном модуле ищем процедуру глОбработкаПодбора(...) идем в конец процедуры, видим там типа
    ...
    КонецЕсли;
	
    Конт.АктивизироватьСтроку(Конт.КоличествоСтрок());
    Конт.Активизировать("Количество");
    Конт.Форма.Обновить(0);
КонецПроцедуры // глОбработкаПодбора()

превращаем данный код в "правильный":
    ...
    КонецЕсли;

    Конт.Форма.Обновить(0);
    Конт.АктивизироватьСтроку(Конт.КоличествоСтрок());
КонецПроцедуры // глОбработкаПодбора()

Все. Пользуемся.
Кому пригодилось - не забываем плюсовать рейтинг!

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Сhe Burashka (CheBurator) 24.07.06 01:20
Хочу добавить, что эта статья никому не посвящается!
Не заработали!
2. VasilyKushnir (vasilykushnir) 24.07.06 10:18
И правильно! Так им и надо!. А рейтинг плюсую - идея дельная. Хотя сам глОбработкаПодбора(...) использую редко - юзаю локальную обработку и позиционируюсь в зависимости от ситуации (прихоти юзера) или на первой или на последней записи. Принцип тот же, что у Сhe.
3. Михаил (mdzen) 25.07.06 19:13
Давно победил тем же способом, что и Che, но как-то не придал значения, что народ-то тоже парится. Спасибо Che за освещение проблемы.
Можно также просто закомментировать
Конт.Активизировать("Количество");
Эффект почти такой-же.

4. Андрей Коротаев (1Снег) 05.08.09 14:17
Спасибо, попробуем так победить эту проблему!
5. Андрей Нагыев (NagNag) 07.06.11 14:17
Особенность данного исправления не всегда приемлема!
В одной базе реализовано активизация "Количество" с тем чтобы необходимо было нажать Enter, что запускает механизм пересчета цен и скидок по документу!
Я решил по другому
Вместо
Конт.АктивизироватьСтроку(Конт.КоличествоСтрок());
Сделал
Конт.АктивизироватьСтроку(1);
6. Андрей Нагыев (NagNag) 07.06.11 14:30
Сейчас покопался и получилось то что было изначально, но работающее
Конт.Форма.Обновить(0);
Конт.АктивизироватьСтроку(Конт.КоличествоСтрок());
Конт.Активизировать("Количество",0);
Конт.Форма.Обновить(1);
Конт.Активизировать("Количество",1);
7. Андрей Нагыев (NagNag) 09.06.11 10:15
Предыдущий сбивался на 7 строке, пришлось подобрать новый вариант:
Конт.Форма.Обновить(0);
Для Сч=1 По Конт.КоличествоСтрок() Цикл
Конт.АктивизироватьСтроку(Сч);
КонецЦикла;
Конт.Активизировать("Количество",1);
8. Сергей (Che) Коцюра (CheBurator) 10.06.11 01:44
(7) потом собъется на 26 строке...
вместо того, чтобы выяснить почему грабли - изобретают велосипеды
9. Андрей Нагыев (NagNag) 10.06.11 09:50
Там нечего выяснять - это глюк 1С!
10. Максим Кречетов (piloturs) 21.02.13 01:53
(0) никогда не наблюдал глюков, описанных в статье.
Автор, отпишите в статье, у какого релиза ТиСа возникает эта ошибка.

Например: в ТиС (ред. 9.2, релиз 40), тот кусок процедуры глОбработкаПодбора(), который предлагается править, выглядит так:

.....
   Конт.Форма.Обновить(0);
   Конт.Активизировать("Количество");
   Конт.АктивизироватьСтроку();
	
КонецПроцедуры // глОбработкаПодбора()
...Показать Скрыть
11. Сергей (Che) Коцюра (CheBurator) 24.03.13 17:55
(10) Полинезийцы тоже северное сияние не наблюдают, однако это не значит, что его нет. Проблемка такая есть и обозначалась/возникалась не только у меня, "глюк" известный. Релиз где-то в районе, наверное, 932 второго...
12. Сергей (Che) Коцюра (CheBurator) 24.03.13 17:56
Подтверждение наличия проблемы, см.например в этих же комментах, в (3)
13. Максим Кречетов (piloturs) 24.03.13 18:41
(12) на момент публикации Вами статьи, 40-й релиз ТиСа уже был.
так, что Ваша статья, без указания релиза, баг которого лечит - ни о чем.

Релиз где-то в районе, наверное, 932 второго...

я Вам точно могу указать номер релиза Вашего ТиСа на момент написания статьи - 933.