|   |   | 
| 
 | v7: Можно ли программно включить или выключить кнопку подбора в элементе формы? | ☑ | ||
|---|---|---|---|---|
| 0
    
        Chai Nic 28.12.23✎ 09:02 | 
        Есть элемент формы - текстовое поле ввода. Хочется, чтобы в зависимости от определенных условий не нём была или не была кнопочка подбора с тремя точками для последующей обработки подбора. В свойствах текстового поля есть опция "Имеет кнопку выбора", которую можно установить. Есть ли способ это сделать программно, через какие-нибудь формексы?     | |||
| 1
    
        Kigo_Kigo 28.12.23✎ 09:06 | 
        А что мешает на эту кнопку подбора повеить СЗ и выбор действий, или не обрабатывать в зависиимости от условий?     | |||
| 2
    
        Chai Nic 28.12.23✎ 09:12 | 
        (1) Дело не в том, что подвесить на кнопку. Дело в том, чтобы не выводить кнопку, если выбирать нечего.     | |||
| 3
    
        Fedor-1971 28.12.23✎ 09:13 | 
        (0) как мне видится - сразу добавляем кнопку выбора полю, а логику проверки допустимости подбора  переносим в процедуру ПриНачалеВыбораЗначения     | |||
| 4
    
        Chai Nic 28.12.23✎ 09:14 | 
        (3) см. (2)     | |||
| 5
    
        Fedor-1971 28.12.23✎ 09:20 | 
        (4) Это хорошо, но, на сколько помню, возможности рулить кнопкой выбора нет
 потому и предложил - кнопка есть всегда, если чего есть выбрать, то алгоритм работает иначе нет Как вариант - выведи поле картинки и рули через оное (не совсем стандартно, но управляемо - нарисуй картинку с ... и рули) | |||
| 6
    
        Kigo_Kigo 28.12.23✎ 09:28 | 
        сделай поле и рядом с ним 2 кнопки и рули видимостью, что вы привязались именно к этой кнопке?     | |||
| 7
    
        Андрей_Андреич naïve 28.12.23✎ 09:30 | 
        Два поля друг на друге и включать-выключать видимость-доступность? Раз уж хочется извратов. И да - можно справа от поля кнопку повесить с тремя точками и опять же видимость-доступность. Коту делать нечего - яйца лижет. А 1Сники это другое ...     | |||
| 8
    
        Kigo_Kigo 28.12.23✎ 09:32 | 
        Вот так     
 | |||
| 9
    
        Chai Nic 28.12.23✎ 09:43 | 
        (7) (8) В этом случае не получится стандартную кнопку F4 задействовать для выбора.     | |||
| 10
    
        Смотрящий 28.12.23✎ 09:46 | 
        Доступность использовать не ?     | |||
| 11
    
        Chai Nic 28.12.23✎ 09:54 | 
        (10) Не. 
 Должна быть возможность ввода текста в любом случае. А возможность выбора - только если есть из чего там выбирать. | |||
| 12
    
        Андрей_Андреич naïve 28.12.23✎ 09:59 | 
        (11) Надо писать убийцу семерки ...     | |||
| 13
    
        Смотрящий 28.12.23✎ 10:00 | 
        Два реквизита на форме, один с кнопкой выбора другой без, на разные слои и рулить ими     | |||
| 14
    
        vladmenleo 28.12.23✎ 10:04 | 
        (4) А что не понравилось-то в (3) ? в ПриНачалеВыбораЗначения анализируешь есть-ли чего выбирать и если нет то возвращаешь ФлагСтандОбр = 0. Просто и эффектно. Кому мешает видимость кнопки?     | |||
| 15
    
        Aleksey 28.12.23✎ 10:27 | 
        (9) Почему? F4 даже без кнопки работает, разве нет?     | |||
| 16
    
        АгентБезопасной Нацио 28.12.23✎ 11:18 | 
        (11) а что ты хочешь выбирать? емнип, в формексе было нечто такое для списка значений (лиьо выбирать из СЗ, либо ручной ввод). А наличием кнопки выбора у меня рулить не получалось, делал как в (7)     | |||
| 17
    
        uno-group 28.12.23✎ 12:10 | 
        Зачем лепить ВК ему 3 раза написали делаешь 2 поля:
 1-МойРеквизит с кнопкой выбора и формулой при изменении МойРеквизит2=МойРеквизит; 2-МойРеквизит2 без нее и формулой при изменении МойРеквизит=МойРеквизит2; При открытие МойРеквизит2=МойРеквизит; и показываешь пользователю то поле которое сейчас должно быть. Через Форма.МойРеквизит.Видимость(1) или через видимость слоев. | |||
| 18
    
        Злопчинский 28.12.23✎ 12:40 | 
        я бы посмотрел в сторону Формекса и расширенных атрибутов элемента формы (например, в ТЗ можно убрать скроллбар верт/гориз)     | |||
| 19
    
        АЛьФ 28.12.23✎ 13:32 | 
        Процедура ПриОткрытии()
 атр = СоздатьОбъект("АтрибутФормы"); атр.УстановитьАтрибут(Форма, "атр1"); атр.УстановитьЗависимыйПараметр(32); // включить кнопку // атр.УстановитьЗависимыйПараметр(0); // выключить кнопку КонецПроцедуры // ПриОткрытии | |||
| 20
    
        mishaPH 28.12.23✎ 13:38 | 
        (0) а зачем? пусть всегда будет имеет кнопку выбора а в предопределенной при начале выбора элемента уже ругаться если надо что мол выбирать нечего     | |||
| 21
    
        Злопчинский 28.12.23✎ 13:44 | ||||
| 22
    
        АгентБезопасной Нацио 28.12.23✎ 13:50 | 
        (20) ради дружелюбности интерфейса, чтоб не делали лишних телодвижений.     | |||
| 23
    
        uno-group 28.12.23✎ 14:43 | 
        когда нечего выбирать открывать экранную клавиатуру.     | |||
| 24
    
        Chai Nic 28.12.23✎ 20:18 | 
        (19) В "ПриОткрытии" работает, а в обработчиках - нет.     | |||
| 25
    
        Chai Nic 28.12.23✎ 20:25 | 
        (24) То есть, никаких ошибок указанный код не выдает, но ничего видимого не делает. Очевидно, это работает лишь на "непрорисованной" форме..     | |||
| 26
    
        АЛьФ 28.12.23✎ 20:34 | 
        2(24) К сожалению, только так. Или, как тут подсказывали, делать два реквизита и управлять их видимостью.     | |||
| 27
    
        Злопчинский 29.12.23✎ 00:04 | 
        Я бы сделал три реквизита, один из них (на невидимом слое) собственно и есть контейнер со значением, а те которые вкл/выкл показываются юзеру - просто "зеркало" реквизита-контейнера. А то завтра захочется еще с кнопкой/безкнопки/выбором из СЗ/выбором из ТЗ/итд     | |||
| 28
    
        mishaPH 29.12.23✎ 09:27 | 
        (22) тогда сделай 2 поля с кнопкой и без и рули показом и обработкой что показывать     | |||
| 29
    
        Chai Nic 29.12.23✎ 09:42 | 
        (26) Кстати, новый formex (пробовал установить для УстановитьЗависимыйПараметр)  ломает отображение журнала с раскраской. 
 Вот примеры, как было на старом (правильно) и на новом (коряво). Там почему-то сдвигается текст к верхней границе ячейки и размер шрифта увеличивается. 
 | |||
| 30
    
        DJ Anthon 29.12.23✎ 09:56 | 
        (29) у меня когда-то такое было, когда темы на винде семерке слетали. или были выключены админом     | |||
| 31
    
        Chai Nic 29.12.23✎ 09:58 | 
        (30) И на семерке и на десятке и на 2003 одинаково. Причина точно в версии формекса. Когда 2.0.5.99 - всё ок, когда 2.0.5.181 - корежит.     | |||
| 32
    
        MWWRuza гуру 29.12.23✎ 12:39 | 
        (19) А по вот этому вопросу: Перехватить и подменить системные сообщения штатных инструментов  справочника... Возможно?
 Не получилось что-то сделать? | |||
| 33
    
        АЛьФ 29.12.23✎ 12:45 | 
        2(32) Не получилось.     | |||
| 34
    
        АЛьФ 29.12.23✎ 12:46 | 
        2(29) Раскраска с планом раскраски или старым методом? На форме шрифт по умолчанию стоит или изменялся?     | |||
| 35
    
        mishaPH 29.12.23✎ 12:55 | 
        что то было со шрифтами в разных версиях. наткнулся на это     | |||
| 36
    
        Chai Nic 29.12.23✎ 13:39 | 
        (34) Старым методом, через макрос в служебной колонке. 
 Вот тестовая база, с двумя журналами, один крашеный, второй не. Рисую в крашеном журнале зачеркнутым шрифтом, если документ помечен на удаление и обычным, если не помечен. В некрашеном - по умолчанию, для сравнения. https://disk.yandex.ru/d/L8eShbHkAmiySQ | |||
| 37
    
        Chai Nic 29.12.23✎ 13:57 | 
        +(36) И с разными версиями formex создается разное число в FONTSET, через Сервис.СоздатьШрифт(), поэтому и выглядит иначе. Где-то там в новой версии лишний бит приписывается, похоже.     | |||
| 38
    
        Злопчинский 29.12.23✎ 15:40 | 
        (31) ну капец у тебя древняя 99
 я псоледнее что использовал - 175, 181/182 поставил, но не смотрел журнал. И на старых формексаъ у меня нечасто но регулярно вышибало 1Ску, когда перешел на более свежие - перестало. | |||
| 39
    
        Злопчинский 29.12.23✎ 15:42 | 
        (37) проверил раскраску журнала у себя со 181, у меня отображается норм, ничего не ломается, подкраска строк - старым методом, FONTSET не юзаю     | |||
| 40
    
        Злопчинский 29.12.23✎ 15:46 | 
        Проверил в другой базе раскраску списка справочника с FONTSET - вроде нормально     | |||
| 41
    
        Chai Nic 29.12.23✎ 15:47 | 
        (38) Древняя, но работала. А новая не работает нормально, корежит размер шрифта. Смотрите в тестовой базе, там это видно.     | |||
| 42
    
        Злопчинский 29.12.23✎ 15:51 | 
        (41) угу, криво     | |||
| 43
    
        Злопчинский 29.12.23✎ 16:01 | 
        109 формекс - норм, 147 - криво, промежуточных нет у меня
 там со шрифтами АЛьФ в свое время (где-то со 137 версии) немного шаманил по моей просьбе, бо один и тот же шрифт на простой текстовой надписи и в ТЗ - имел малозаметную, но отличающуюся высоту на пару пикселей буквально, а для меня критично это было для интерфейса для ТСД, может ноги отсюда растут, но имхо сомневаюсь. подождем вердикта мастера | |||
| 44
    
        Злопчинский 29.12.23✎ 16:02 | 
        кстати, вместо адской конструкции типа
 "FONT["+Цвет(127,127,127)+"] можно писать типа FONT[0xCC6633] - я у себя везде на хексзначения перешел | |||
| 45
    
        MWWRuza гуру 29.12.23✎ 17:29 | 
        Версия 182.
 Тут, у себя, разницы не заметил, раскраска "старым способом", через скрытую служебную колонку, без извратов с размерами шрифтов, все стандартно:  Может это проявляется, если с другими параметрами шрифтов "играть", кроме раскраски? | |||
| 46
    
        Злопчинский 29.12.23✎ 17:35 | 
        (45) у него не просто раскраска, а
 FONT[числодесятичноецвета]FONTSET[числодесятичноешрифта] причем шрифт создается без имени шрифта, размера... смущает меня это посмотри в демоконфиге | |||
| 47
    
        Chai Nic 29.12.23✎ 18:45 | 
        "причем шрифт создается без имени шрифта, размера"
 Ну да. В старых версиях это работало. Использовался шрифт по умолчанию для формы, но с заданными признаками - зачеркивание, курсив, полужирность и т.п. | |||
| 48
    
        Злопчинский 29.12.23✎ 21:00 | 
        (47) это понятно, я шрифты через переменныеиопиеделяю. 
 И при закрытии форм надо обязательно созданные шрифты удалять | |||
| 49
    
        Злопчинский 29.12.23✎ 21:37 | 
        (45) курсор на всю строку сделай, намного кузове сраз BRUSH_S[0xCCCCCC] - курсор на всю строку 
 . Я у себя во все списочные формы и ТЗ И ТЧ - почти как снеговик | |||
| 50
    
        Chai Nic 30.12.23✎ 08:55 | 
        (48) У меня шрифты определены глобальной переменной, на всё время работы платформы. Но, думаю, это не причина.     | |||
| 51
    
        Chai Nic 30.12.23✎ 10:06 | 
        +(50) Да, проверил, если шрифты создавать в модуле формы - то же самое.     | |||
| 52
    
        АЛьФ 06.01.24✎ 20:02 | 
        Оказывается тема со шрифтами очень старая...
 Я и забыл ее совсем. Подробно тут: https://www.1cpp.ru/forum/YaBB.pl?num=1556121691/4#4 И оттуда в ветку на мисте. По идее правильней было бы, наверное, для нулевого значения (т.е. для "по умолчанию") брать высоту шрифта из настроек 1С. Но ведь у кого-то опять полетят шрифты. Боюсь, что не буду в это уже соваться. Рекомендую просто прописать размер в создании шрифта. | |||
| 53
    
        АЛьФ 06.01.24✎ 20:18 | 
        +(52) Ай, один раз живем! Поправил для значения по умолчанию.     | |||
| 54
    
        Злопчинский 07.01.24✎ 02:37 | 
        (53) вот лично у меня ничего не полетит от твоей поправки. Потому что я предпочитаю использовать явные значения.     | |||
| 55
    
        АЛьФ 07.01.24✎ 08:40 | 
        2(54) на то и надежда.     | |||
| 56
    
        Chai Nic 11.01.24✎ 10:57 | 
        (53) Отлично, стало всё как было. А кто явные размеры ставит, тот естественно их подгоняет и тестирует на форме.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |