Выделение текущей строки в отчете (сделать сразу во всех отчетах и ничего не сломать)

0. 334 17.10.21 21:30 Сейчас в теме
Как за 10 минут упростить работу с отчётами программистам и пользователям. Добавить ВО ВСЕ ОТЧЁТЫ механизм автоматического выделения текущей строки отчёта (той, на которой установлен курсор). И ПРИ ЭТОМ НИЧЕГО НЕ СЛОМАТЬ.

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. CheBurator 3379 17.10.21 22:57 Сейчас в теме
так ка кне 8-ик - так и не понял, почему нельзя всю текущую строку выделить фоном, а выделенные ячейки в текущей строке подкрашивать по-другому...
2. Патриот 334 17.10.21 23:17 Сейчас в теме
(1)
почему нельзя всю текущую строку выделить фоном

Вместо того, чтобы обводить ячейки, естественно можно их заливать фоном. Реализация будет почти та же самая, что и в статье.
1. Но в таком случае есть риск не угадать с фоном, чтобы он одновременно нормально отображался для всех настроек оформления.
2. Кажется, что вероятность найти отчёт где ячейки имеют разный фон, выше, чем отчёт, где ячейки по-разному обведены. А когда в строке разные настройки ячеек, это несёт доп сложности, описанные в статье
а выделенные ячейки в текущей строке подкрашивать по-другому

в этом нет необходимости - выделенные ячейки подсвечивает сама платформа и в статье описывается, почему мы не используем выделение всей строки - чтобы не ломать поведение платформы.
3. CheBurator 3379 18.10.21 00:52 Сейчас в теме
(2)
Но в таком случае есть риск не угадать с фоном, чтобы он одновременно нормально отображался для всех настроек оформления.

насколько я понимаю одновременно м.б. применена только одна из настроек оформления, ну так читать ее параметры и делать заливку подходящим... Или в настройках оформления сделать параметр, явно задаваемый пользователем, который описывает "текущую строку"...?
4. Патриот 334 18.10.21 09:10 Сейчас в теме
(3) я сделал так, чтобы решение максимально не зависело от настроек оформления, чтобы не было необходимости что-то донастраивать.
разные оформления отчётов м.б. по следующим причинам:
1. В разных базах настройки оформления м.б. разные - особенно если работать во франче.
2. В одной базе тоже может быть несколько стилей
3. В любом отчёте можно легко наплевать на общие настройки и сделать его настолько красочным, насколько этого хотел пользователь
===
а при желании что-то донастроить - можно залезть в код и сделать всё что душе угодно
11. Cthulhu 18.10.21 16:02 Сейчас в теме
(1) кстати - да, еще одно неудобство в исходном варианте может встретиться - при выделении диапазона ячеек по высоте больше высоты экрана - когда видна только одна граница диапазона и не видны сами выделенные ячейки (выделили и отскроллили по горизонтали - часто бывает в отчетах с разрезом/аналитикой по колонкам)... с заливкой/узором было бы видно.
12. Патриот 334 18.10.21 16:08 Сейчас в теме
(11) ЦЕЛЬ выделения строки (строк) в том, чтобы спозиционировать взгляд на этой строке, и не путать её с соседней. В подавляющем числе случаев, пользователь будет выделять, одну строку. Если эта строка не влазит в экран, что бывает редко))))))))) или это пачка строк, которые не влазят в экран, то смысла позиционировать на ней взгляд пользователя не вижу.
Раз вам так понравилась разработка и наша исчерпывающая дискуссия, то можете не стесняться ставить плюс статье)
14. Cthulhu 18.10.21 16:22 Сейчас в теме
(12) и снова Вы не угадали.
часто встречающийся кейс: в левой заголовочной части построчной аналитики выделяются блоком интересующие - скролл вправо смотреть по выделенным строкам нужные колонки (горизонтального по-колоночного разреза/аналитики/хронологии).......
15. Патриот 334 18.10.21 17:37 Сейчас в теме
(14) дополнил секцию "Поиск решения" в пунктах 4-5 аргументами по нашей дискуссии. Также добавил новые аргументы, например по заливке фоном:
4. При заливке фоном мы потеряем то выделение фоном, которое существует и несёт дополнительную информацию. Например, потеряем выделение цветом особой ячейки, или при выделении нескольких строк потеряем чередование цвета строк, которое часто делают для удобства просмотра строк в отчёте.
5. Для выделения фоном, надо вычислять и хранить больше данных - хранить данные не только верхней и нижней выделенной строки, но и всех внутренних - чтобы вернуть их потом в исходное положение
16. Cthulhu 18.10.21 17:48 Сейчас в теме
(15) хреново вы как-то "дополнили"
1) опустили неоднократное мое ключевое замечание о том, чтобы цвет выделения (прямо номинируемый в rgb) не попадал ни в один из вариантов цветовых схем - это сделать достаточно нетрудно и (в отличие от того, что вы называете "крайне редким") - такой цвет действительно крайне редко будет визуально "теряться" (сливаться или совпадать с цветами в отчете).
2) про заливку фоном я не говорил (за исключением того, что я говорю не о фоне, а об узоре)

да забейте уже. )))
5. Cthulhu 18.10.21 14:13 Сейчас в теме
чтобы наверняка не "пересекаться" с "родными" границами (визуальная потеря выделения) - можно раскрасить саму границу режима выделения?..
6. Патриот 334 18.10.21 14:57 Сейчас в теме
(5)можно раскрасить. но в общем случае границы у разных строк могут быть разного цвета. Даже у одной строки у разных ячеек они могут быть разного цвета - т.е. универсального решения здесь нет. Описал это в статье. Также описал, что это
"пересекаться" с "родными" границами (визуальная потеря выделения)
крайне редкий гипотетический случай
7. Cthulhu 18.10.21 15:01 Сейчас в теме
(6) мне почему-то кажется, что при практически любом "общем случае" раскраска толстой границы "выделения" в rgb, не попадающая ни в один из вариантов цветовых схем - будет более чем достаточно универсальной.
нет?
8. Патриот 334 18.10.21 15:24 Сейчас в теме
(7) сейчас уже всё универсально, о чём написано в статье. Почему не стал раскрашивать, описал в комменте 2
9. Cthulhu 18.10.21 15:51 Сейчас в теме
(8)
(7) сейчас уже всё универсально, о чём написано в статье. Почему не стал раскрашивать, описал в комменте 2

куда-то вы меня не туда "послали".
в (вашем) комменте 2 сказано про раскраску фона - я спрашивал про раскраску границ.
ну да ладно. не вижу причин пытаться убеждать в очевидном. нет так нет. спасибо и удачи вам.
10. Патриот 334 18.10.21 16:00 Сейчас в теме
(9) Почему не стал менять цвет обведения:
1. "имеющий уши, да увидит") для раскраски фона и границы равносильны аргументы за которыми послал в коммент 2: "есть риск не угадать с фоном, чтобы он одновременно нормально отображался для всех настроек оформления" - т.е. либо ваш цвет будет мало заметен, либо, например выбрав красный, вы попадёте на то, что кто-то в своём отчёте выбрал тот же красный для тех же целей и вы таки пересечётесь.
2. решение без изменения цвета границы, а лишь с её утолщением, отметёт вариант, когда выбранный цвет границы совпадёт с цветом фона
3. производительнее и меньше кода - не надо хранить цвета границ каждой ячейки до изменения, как это сделано сейчас только для толщины границы.
===============
в целом, раскраска границы вполне имеет право на существование, но она ничего кардинально не меняет и её плюсы покрываются минусами
13. Cthulhu 18.10.21 16:16 Сейчас в теме
(10) да вот нифига они не "равноценны"!
если с раскраской текста/фона в отчетах в реальности "игры" весьма нередко встречаются - то с раскраски границами, не попадающей по rgb в варианты элементов стандартных цветовых схем - не бывает практически никогда.
в результате - выделение получается гарантированно более выделяющимся (а для чего все это и делалось?).

прим.: и - да, сказали бы "сделал как есть не хотите не кушайте" - было бы понятно и логично.
ну да ладно. в любом случае спасибо за код, мне ежели будет надо - так и в цвет уникальный и выделяющийся границы раскрашу, а м.б. и узором раскрашенным как надо выделенное залью (не меняя цвета фона и цвета текста - о чем вы справедливо уже сказали выше).

еще раз - удачи вам.
rpgshnik; CheBurator; +2 Ответить
27. rpgshnik 2785 19.10.21 11:53 Сейчас в теме
17. Timic 40 18.10.21 19:58 Сейчас в теме
Уже не в первый раз сталкиваюсь с такой задачей. И раньше пробовал разные варианты, в том числе и описанный в этой публикации, в том числе пробовал и выделение другим фоном. Проблемы все те же. И вот буквально сегодня снова эта задача. И на этот раз сделал совсем по-другому. Код ниже, скрин результата прилагаю. Идея в том чтобы использовать рисунок табличного документа типа Прямая. В данном случае использую четыре рисунка для очерчивания границ выделенных сток и столбцов. Плюс в том, что не надо запоминать оформление ячеек. Минусы тоже есть, но пока мне это решение понравилось больше всего (немного нарциссизма, извините).
#Область ОписаниеПеременных

&НаКлиенте
Перем ЛеваяГраница;

&НаКлиенте
Перем ПраваяГраница;

&НаКлиенте
Перем ВерхняяГраница;

&НаКлиенте
Перем НижняяГраница;

#КонецОбласти

&НаКлиенте
Процедура РезультатПриАктивизации(Элемент)
	
	Если ТипЗнч(Результат.ТекущаяОбласть) <> Тип("ОбластьЯчеекТабличногоДокумента") Тогда
		Возврат;
	КонецЕсли;
	
	Лево  = Мин(Макс(Результат.ТекущаяОбласть.Лево, 1), Результат.ШиринаТаблицы);
	Право = Мин(Результат.ТекущаяОбласть.Право, Результат.ШиринаТаблицы);
	Верх  = Мин(Макс(Результат.ТекущаяОбласть.Верх, 1), Результат.ВысотаТаблицы);
	Низ   = Мин(Результат.ТекущаяОбласть.Низ, Результат.ВысотаТаблицы);
	
	Если Право > Результат.ФиксацияСлева Тогда
		
		ИнициализироватьГраницу(ЛеваяГраница);
		ЛеваяГраница.Расположить(Результат.Область(1, Лево, Результат.ВысотаТаблицы, Лево));
		ЛеваяГраница.Ширина = 0;
		
		ИнициализироватьГраницу(ПраваяГраница);
		ПраваяГраница.Расположить(Результат.Область(1, Право, Результат.ВысотаТаблицы, Право));
		Ширина               = ПраваяГраница.Ширина;
		ПраваяГраница.Ширина = 0;
		ПраваяГраница.Лево   = ПраваяГраница.Лево + Ширина + ?(Право = Результат.ШиринаТаблицы, 0.2, 0.6);
		
	КонецЕсли;
	
	Если Низ > Результат.ФиксацияСверху Тогда
		
		ИнициализироватьГраницу(ВерхняяГраница);
		ВерхняяГраница.Расположить(Результат.Область(Верх, 1, Верх, Результат.ШиринаТаблицы));
		ВерхняяГраница.Высота = 0;
		
		ИнициализироватьГраницу(НижняяГраница);
		НижняяГраница.Расположить(Результат.Область(Низ, 1, Низ, Результат.ШиринаТаблицы));
		Высота               = НижняяГраница.Высота;
		НижняяГраница.Высота = 0;
		НижняяГраница.Верх   = НижняяГраница.Верх + Высота + ?(Низ = Результат.ВысотаТаблицы, 0.2, 0.6);
		
	КонецЕсли;
	
КонецПроцедуры

&НаКлиенте
Процедура ИнициализироватьГраницу(Граница)
	
	Если Граница <> Неопределено Тогда
		Возврат;
	КонецЕсли;
	
	Граница           = Результат.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Прямая);
	Граница.ЦветЛинии = Новый Цвет(51, 51, 51);
	Граница.Линия     = Новый Линия(ТипЛинииРисункаТабличногоДокумента.Сплошная, 2);
	
КонецПроцедуры
Показать
Прикрепленные файлы:
18. Патриот 334 18.10.21 21:04 Сейчас в теме
(17) Спасибо!

1. Вы пишете, что пробовали решение аналогичное моему.
Проблемы все те же.

А можно здесь поподробнее? Можете кинуть или хотя бы описать \ показать проблемный пример?

2. Далее пишете, по поводу вашего решения
Минусы тоже есть

если не затруднит, опишите, что за минусы
=====
я потом дополню этими данными статью, для читателей сообщества
26. rpgshnik 2785 19.10.21 11:44 Сейчас в теме
(17) если бы вы оформили как расширение для популярных конфигураций (ЕРП/БП) с возможностью и настройкой в разрезе пользователей (включить/выключить) эту линейку, для общей формы, было бы замечательно. Если будите делать, сделайте пожалуйста сразу возможность определять пользователю какие линейки использовать (горизонтальную или вертикальную или обе сразу).
19. Timic 40 18.10.21 21:31 Сейчас в теме
(18)
А можно здесь поподробнее?

Основная проблема - приходится хранить структуру с описанием границ ячеек. Есть ограничение с выделением границы другим цветом - нельзя задать цвет, например, только для левой границы, подкрашиваются границы всей ячейки (это просто не смотрится). Кроме того в шапке таблицы могут быть объединенные по горизонтали ячейки. В этом случае сложнее устанавливать границы.
Если говорить о выделении фона, то не подбор цвета фона это достаточно не простая задача, так как нужно учитывать и цвет текста и проблема с объединенными ячейками остается.
если не затруднит, опишите, что за минусы

Приходится подбирать цвет рисунка (прямой). Но эту проблему можно обойти, например, смещением рисунка за границы текущей строки/колонки чтобы. В своей задаче я не заморачивался и просто оставил жирную черную линию (мне этого достаточно).
Второй минус - при размещении рисунка можно случайно увеличить размер табличного документа (речь о свойствах ВысотаТаблицы, ШиринаТаблицы). Из-за этого в коде есть вот такие куски:
?(Низ = Результат.ВысотаТаблицы, 0.2, 0.6)
20. Патриот 334 18.10.21 21:55 Сейчас в теме
(19), спасибо за ответ
Основная проблема - приходится хранить структуру с описанием границ ячеек.

не вижу проблемы - это реализация, которую вы один раз пишете и потом подключаете ко всем сразу или конкретному отчёту скопипастив всего три кусочка кода в форму отчёта
Есть ограничение с выделением границы другим цветом - нельзя задать цвет, например, только для левой границы, подкрашиваются границы всей ячейки

такого ограничения нет. Видимо вы использовали метод обвести - он работает так, как вы описали. Чтобы задать какую-то одну границу, надо присваивать именно её, как и показано в моей статье.
Кроме того в шапке таблицы могут быть объединенные по горизонтали ячейки

это правда, о чём, упомянул в статье, но не вижу смысла в шапке выделять строки
подбор цвета фона это достаточно не простая задача, так как нужно учитывать и цвет текста

тоже верно, в т.ч. поэтому использую не фон, а обведение и именно поэтому у обведения в моём решении используется текущий цвет границы, а он по умолчанию уже подобран так, как надо.

теперь про ваше решение:
при размещении рисунка можно случайно увеличить размер табличного документа

я так понял это проблема реализации, которая также однократно решается при первом написании этой функции.
А минусы в работе пользователя, какие-то находили?
21. Timic 40 19.10.21 09:25 Сейчас в теме
(20)
не вижу проблемы

Есть ощущение, что при достаточно большом количестве ячеек будет заметен лаг. В моем случае я выделяю не только текущую строку, но и текущую колонку. Поэтому количество выделенных ячеек больше. Впрочем, я свой вариант еще не тестировал на больших документах, но кажется что управление четырьмя рисунками не должно сильно зависеть от размера документа.
такого ограничения нет

Ограничение есть. В 1С цвет нельзя задать для каждой границы в отдельности (см. скрин)
но не вижу смысла в шапке выделять строки

в моем случае выделяется еще и текущая колонка
Прикрепленные файлы:
22. Патриот 334 19.10.21 10:14 Сейчас в теме
(21) ясно
действительно "В 1С цвет нельзя задать для каждой границы в отдельности", но можно некоторые границы отключить и раскрасить их у соседней ячейки, что даст тот же результат с точки зрения пользователя. Но что это доп гемор - согласен
23. starik-2005 2579 19.10.21 11:15 Сейчас в теме
А не проще добавить еще одно табличное поле в форму (в реквизиты формы), дальше в него сохранять текущую строку "до рисования на ней фломастером", ну и восстанавливать оттуда строку, которую "разрисовывали" ранее? Уйдут все траблы.
24. Патриот 334 19.10.21 11:33 Сейчас в теме
(23) Надо тестить.
1. "Уйдут все траблы." все точно не уйдут, т.е. костяк моего решения пригодится (например то, что я обнаружил и пофиксил мигание табдока, если выделить его целиком, из-за ухода в бесконечный цикл, из-за наших манипуляций с ним в обработкеАктивизации)
2. предложенное вами решение выглядит менее производительным, т.к. у меня меняются только две рамки, а в вашем случае надо менять целиком две строки с их содержимым типа расшифровки, фоном и теми же рамками.
3. то, что там не возникнет новых траблов, кажется логичным, но пока не проверим, не узнаем наверняка - ибо и здесь такое их количество ничего не предвещало
25. starik-2005 2579 19.10.21 11:39 Сейчас в теме
(24)
выглядит менее производительным
Ну оно вряд ли менее производительно, чем кликающий мышкой юзер. Ну и если выделено больше одной строки, то не надо ничего делать.
28. rpgshnik 2785 19.10.21 11:58 Сейчас в теме
Идея хорошая, понравилась. Но сначала из скриншотов и слишком тяжелого описания не понял если честно о какой прекрасной штуке идёт речь :) но потом вчитался...

Я бы на вашем месте выпустил расширение для популярных типовых (ЕРП/БП), дал возможность настройки в разрезе пользователей и возможность не подключать обработчик ожидания (т.е. не использовать функционал). Так же добавить в раскраску несколько вариантов - выделение, узоры, закраска и т.п... Такое бы решение народ я думаю качал бы с удовольствием :)

Вертикальная линейка тоже прикольная задумка из комментариев.

Название как-то интуитивно пришло в голову "Линейка" :) сопоставимо с бухгалтерской огромной линейкой для проверки в отчетах-портянках данных... Сегодня как раз такой ковырял и думал, как же не удобно и нет возможности выделить строку и вспомнил о вашей публикации. Прочитал детально, попробовал, да оно.
29. Патриот 334 19.10.21 12:59 Сейчас в теме
(28) Спасибо на добром слове, но ещё бы его подкрепить добрым плюсом к статье)
Над пожеланиями подумаю на досуге.
Но сначала из скриншотов и слишком тяжелого описания не понял если честно о какой прекрасной штуке идёт речь :) но потом вчитался...

странно, по мне достаточно уже инфы из краткого описания статьи "Добавить ВО ВСЕ ОТЧЁТЫ механизм автоматического выделения текущей строки отчёта (той, на которой установлен курсор)"
Тем не менее, добавил ещё картинку и изменил описание в блоке "Столкнулся давеча с задачей:"
30. rpgshnik 2785 20.10.21 03:56 Сейчас в теме
(29) воу как-то промахнулся, поставил!
Патриот; +1 Ответить
31. script 238 21.10.21 01:11 Сейчас в теме
На 7-ке во внешней компоненте Formex были методы для определения координат любого элемента на форме. А так же были методы для перехвата движения курсора. Таким образом можно было отследить над каким реквизитом на форме движется курсор мыши, подсвечивая рамку этих реквизитов. (имитируя hover). Вот 8-ке это тоже бы пригодилось. Можно было бы выделять строки и элементы под курсором, не нажимая на них.

Но Formex на 8-ке не работает?
32. Патриот 334 21.10.21 09:02 Сейчас в теме
(31) 1. что-то подобное есть. На счёт координат мыши не в курсе. Юзал для того, чтобы скопипастить текст со служебной формы, недоступный для копирования. Также есть доработки, меняющие заголовок окна в конфигураторе.
2. не вижу большого плюса от выделения строки под курсором, а минусы вижу. Например нельзя будет выделить строку, потом чуть курсором мотнуть или прокруткой, чтобы глянуть соседнюю строку, а птом вернуться к целевой, потому что она уже не выделена и её надо искать заново.
3. внешние компоненты сильно сужают область применения решений - банки и крупные компании с отделом безопасности их не глядя забракуют. Также вк ещё и не гарантируют работы, в отличии от платформы.
33. tormozit 6470 24.10.21 22:39 Сейчас в теме
34. tormozit 6470 25.10.21 08:11 Сейчас в теме
Обнаружил беду. При изменении линии границы строки за пределами высоты или ширины табличного документа - текущая область смещается. За пределами высоты такое поведение понятно и я решил проблему путем отключение этого механизма, а вот за пределами ширины это неожиданно и пока не нашел решения. Описал эту проблему платформы тут https://www.hostedredmine.com/issues/936527 и отправил в 1С
Student1C; +1 Ответить
35. Патриот 334 25.10.21 12:14 Сейчас в теме
(34) Спасибо и за отзыв, и за то, что есть в этом мире люди, кто пишет о багах в 1С!
Да, сталкивался, но мне это не особо мешало - добавлю и этот побочный момент в описание статьи на досуге. А можно узнать, какие конкретные минусы это принесло - тогда может подскажу, как это можно обойти.
1. Например, в качестве выхода - можно не отрабатывать выделение строки, при выделении ячейки за пределами высоты и ширины.
2. Или запоминать тек область до обведения и восстанавливать после.
3. Как альтернативный вариант, можно использовать не выделение, а рисование линии - как предложил один из комментаторов выше. Но предложенное им решение пока очень сырое и имеет свои отличия как в лучшую так и в худшую сторону. Особенно большие проблемы возникли с вертикальными линиями в сложных табдоках (например во всех отчётах, где выведена область Параметры отчёта). На праздниках планирую по этому поводу тоже запилить статью.
Student1C; +1 Ответить
42. tormozit 6470 28.10.21 09:39 Сейчас в теме
(34) Чтобы сделать выделение менее навязчивым и избавиться от перескакивания области выделения сделал следующее https://www.hostedredmine.com/issues/936529 .
К пустым (без текста и собственных рамок) строкам - рамка не применяется.
К строкам с текстом, но без собственных рамок - применяется тонкая рамка.
К строкам с собственными рамками - применяется рамка толщиной 2.
За пределами высоты и ширины документа рамка не применяется.
Патриот; +1 Ответить
43. Патриот 334 28.10.21 11:27 Сейчас в теме
(42) как буду подбивать итоги по данной статье сошлюсь и на эту разработку
36. obmanOZ 30 26.10.21 22:48 Сейчас в теме
Добрейшего денечка! Подскажите, а где я мог напортачить?) У меня выделятся строка после таблицы с данными...
Прикрепленные файлы:
37. Патриот 334 27.10.21 08:21 Сейчас в теме
(36) так и задумано - выделяется строка. Например, благодаря этому можно вносить какие-нибудь пометки к строкам отчёта (понятно что необходимость этого стремится к нулю, но речь о принципе).
Если нужно, чтобы выделялось только до ширины таблицы - необходимо слегка доработать код
38. obmanOZ 30 27.10.21 09:09 Сейчас в теме
(37) Странно, я по скриншоту из публикации понял что выделится строка полностью с данными. А не подскажите где слегка доработать чтобы выделялась строка по активной ячейки до ширины таблицы? )
39. Патриот 334 27.10.21 10:28 Сейчас в теме
(38)
Странно, я по скриншоту из публикации понял что выделится строка полностью с данными.
строка полностью с данными выделилась. И выделилась вся. И на мой взгляд это лучше, чем не вся. Сожалею, что на скрине показано лишь самое главное и та деталь, на которую мне и большинству пользователей было пофиг, для вас оказалась важна.
А не подскажите где слегка доработать чтобы выделялась строка по активной ячейки до ширины таблицы? )
программный код максимально откомментирован. Чтобы подсказать, мне надо просто взять и сделать, на что потратить возможно час - т.к. если делать то сразу нормально красиво, протестить и т.д. Возможно в будущем сделаю, если кому-то ещё понадобится, например кому-то из тех людей, кто не постеснялся за проделанную работу поставить плюс ;)
40. obmanOZ 30 27.10.21 12:12 Сейчас в теме
(39) У нас видно разное представление о слегка поправить просто )
Но опять же, на скрине у вас показано самое главное, это выделение всей строки с данными, у меня же при копипасте кода строка не выделятся с данными, а выделяется за данными,я приложил скрин даже показать и лишь спросил Вашего мнения как автора, где я мог косякнуть при копипасте Вашего кода. Опять же, я подчеркивая что именно я косякнул при копипасте.
Для меня важно выделяться строку с данными прям вот с данными где тыкнул курсором в ячейку и Ваш код именно то что я искал, но у меня почему то отработал он не так как было задумано, я тыкаю в данные а строка выделяется за данными.
41. Патриот 334 27.10.21 12:29 Сейчас в теме
(40) учитывая, что на разработку и статью ушло пару дней и в ней есть всё, чтобы модифицировать её так, как хочется - ограничить ширину выделения - это слегка поправить.
Внимательнее рассмотрите свой скрин - на нём строка выделена целиком. За данными это выделение жирнее, т.к. там белый фон и чёрная рамка. Видимо вы хотите, чтобы рамка была темнее. Это тоже несложно доработать, но у этого есть свои минусы, описанные в статье в выборе варианта решения - т.е. оно станет менее универсальным, на мой взгляд.
44. obmanOZ 30 28.10.21 13:03 Сейчас в теме
(41) Вы правы, я действительно не заметил выделение строки! Прошу прощения, Ваш код полностью отрабатывает как задумывалось ) Спасибо!
Патриот; +1 Ответить
45. Патриот 334 28.10.21 14:19 Сейчас в теме
(44) ну Вы не стесняйтесь тогда на плюс в статье жать)
46. DrAku1a 1472 04.11.21 06:54 Сейчас в теме
(0) Посмотрите публикацию "Активный крест в табличном документе".
Там сделано выделение через выбранные ячейки. Это производительнее и снятие отрисовки не требуется.
47. tormozit 6470 04.11.21 10:26 Сейчас в теме
(46) Не "выделенные ячейки", а "выделенные области" (свойство "ВыделенныеОбласти"). Изменять состав выделенных областей - очень плохо и не естественно. Например при копировании в буфер обмена будет скопировано намного больше, чем нужно пользователю.
DrAku1a; Патриот; +2 Ответить
48. Патриот 334 04.11.21 22:56 Сейчас в теме
(46) в статье описано, почему так не стал делать. Даже в заголовке на это есть намёк "и ничего не сломать"
Оставьте свое сообщение
Вопросы с вознаграждением
Вакансии
Аналитик 1С
Санкт-Петербург
зарплата до 150 000 руб.
Полный день

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

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

Консультант-аналитик 1С
Москва
зарплата от 100 000 руб. до 120 000 руб.
Полный день

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству