Имя: Пароль:
1C
 
Ширина поля надписи с типом "Строка неограниченной длины".
0 Гений 1С
 
гуру
03.12.21
08:37
Справа от такого поля хотел ввести два флажка. Так вот, хотелось бы, чтобы ширина соответствовала количеству символов в строке.
А получается, что она намного шире. Эти два флажка не приклеиваются к левой границе поля надписи.
Приходится директивно задавать ширину, что не есть гуд.
Это иначе как-то лечится?

Пример в форме организации БП3:

    ЭлементПеред = Элементы.ВидОрганизацииПредставление;
    ЭлементПеред.АвтоМаксимальнаяШирина = ложь;
    ЭлементПеред.РастягиватьПоГоризонтали = ложь;
    ЭлементПеред.Ширина = 24;
1 Ненавижу 1С
 
гуру
03.12.21
08:44
установи значение "максимальная ширина" у надписи
2 Гений 1С
 
гуру
03.12.21
09:45
(1) Это то же самое, т.е. смотри:

Сейчас это выглядит так:
ааааа                х х
бббббббббббббббббб   х х
А хочется
ааааа  х х
бббббббббббббббббб   х х
3 Kassern
 
03.12.21
09:51
(0) используй html верстку и сделай как захочешь
4 osa1C
 
03.12.21
11:12
(0) геняяяяяяяяяяяяяя .... кто тебя разблокировал?  :))))
5 mikecool
 
03.12.21
11:14
(2) так некрасиво
6 Ёпрст
 
гуру
03.12.21
11:30
(0) Ширина 1 не помогает ?
7 Ёпрст
 
гуру
03.12.21
11:31
Да и ты.. отгадал загадку с ТекущейСтрокой табличного поля ? Тебе ответ дать ? :)
8 Гений 1С
 
гуру
03.12.21
11:34
(7) дай в ветке
9 Гений 1С
 
гуру
03.12.21
11:34
(6) нет, она обрезает
10 Ёпрст
 
гуру
03.12.21
11:36
(8) Короче, во всём виноват режим совместимости. До 8.3.15 - не будет текущей строки ни при старте (открытии окна), ни при устастановке/снятии отбора, а вот после >=15 будет уже и текущая строка всегда и событие ПриАктиавцииСтроки срабатывать всегда.
11 Гений 1С
 
гуру
03.12.21
11:59
(10) не уверен что дело в этом, там же не все таблицы глючат, а одна. там есть еще забавная фича:
https://github.com/SeiOkami/OneS/issues/112
12 acht
 
03.12.21
12:27
(11) А фирма 1С вообще в курсе, чем вы там на гихабе занимаетесь?
13 Гений 1С
 
гуру
03.12.21
12:28
(12) ну какое-то время назад ей передавали, счас вроде подзатихло, хз
14 acht
 
03.12.21
12:30
(13) Кто передавал?
15 acht
 
03.12.21
12:35
Сцук, там у репозитория уже два форка. Годный, годный троллинг получился.
16 Kassern
 
03.12.21
13:17
(15) кто-то видимо случайно ткнул и не нашел способ, как удалять форк в настройках)
17 hhhh
 
03.12.21
13:42
(11) но это не ошибка, сейоками неправильно пишет. ПриАктивизации запрещены серверные вызовы, это и в справке написано, а изменение видимости - это как раз вызов сервера.
18 pechkin
 
03.12.21
13:43
(11) при выходе из сервера всегда срабатывает при активизации.
в 1с решили - что это так и должно быть
19 Ёпрст
 
гуру
03.12.21
13:46
(11) уверен, можешь сам проверить.
Подыми пустышку и поиграйся с режимом совместимости
20 pechkin
 
03.12.21
13:47
(19) как обычно ошибку починили, но других добавили
21 Ёпрст
 
гуру
03.12.21
13:48
Там прям на одной обработке сразу видно - установи отбор строк по несуществующему отбору и сыми. В версии до 15 не будет текущей строки , в 15 и выше- будет всегда первая + сработает ПриАктивацииСтроки
22 Гений 1С
 
гуру
03.12.21
14:49
(18) я сделал затычку - проверяю, действительно ли поменялась строка
23 Ёпрст
 
гуру
03.12.21
17:26
(22) лишнюю активизацию строки можно так еще убирать. Ибо при некотором коде можно получить бесконечный цикл (когда с 2 тч устанавливают тек строку друг дружке).


&НаКлиенте
Процедура ТоварыПриАктивизацииСтроки(Элемент)
    Если ТекущийЭлемент=Элемент Тогда
             //тут че-то делаем..
        КонецЕсли;  

24 Гений 1С
 
гуру
14.12.21
15:48
(23) да, точно, так можно.
А вот что касается длины, я так и не смог, использую конструкцию вида:

    Длина = СтрДлина(Строка(ЭтаФорма.ФильтрФорматированнаяСтрока));
    Длина = Цел (Длина / 1.3);
    Элементы.ФильтрФорматированнаяСтрока.Ширина = Длина;

Т.е. ориентируюсь на длину текста, но это не совсем точно получается и коэффициент подбираю на глаз.