[Механизм интерфейса] Свой флажок (чекбокс)

0. rpgshnik 2341 09.08.19 11:30 Сейчас в теме
Создадим свой флажок для интерфейса, используем простой универсальный алгоритм.

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Rustig 1561 09.08.19 12:56 Сейчас в теме
(0) круто! интересно!
DrAku1a; TreeDogNight; Interrupted; rpgshnik; +4 Ответить
4. rpgshnik 2341 09.08.19 13:19 Сейчас в теме
2. Serg_Tangatarov 09.08.19 12:59 Сейчас в теме
Очень неплохо, спасибо за идею, возьмем на вооружение
DrAku1a; Interrupted; rpgshnik; +3 Ответить
5. rpgshnik 2341 09.08.19 13:20 Сейчас в теме
3. m_aster 88 09.08.19 13:04 Сейчас в теме
Красиво! Только нравится и нравятся пишутся без мягкого знака.
DrAku1a; PLAstic; товарищ Ын; TreeDogNight; WellMaster; Interrupted; maksa2005; Lapitskiy; papche; Comrade88; shard; CyberCerber; user883423; chebser; Fragster; Kirill_K; rpgshnik; +17 2 Ответить
6. rpgshnik 2341 09.08.19 13:20 Сейчас в теме
Ок, позже поправлю
DrAku1a; Interrupted; +2 Ответить
12. m_aster 88 09.08.19 16:56 Сейчас в теме
(6)
Чтобы было уже все красиво и по взрослому)
Interrupted; rpgshnik; +2 Ответить
13. rpgshnik 2341 09.08.19 17:17 Сейчас в теме
7. DTS2014 09.08.19 13:21 Сейчас в теме
8. vik070777 245 09.08.19 13:28 Сейчас в теме
Спасибо весьма интересно
Interrupted; rpgshnik; +2 Ответить
9. Fragster 1020 09.08.19 14:22 Сейчас в теме
10. Fragster 1020 09.08.19 14:33 Сейчас в теме
Ну и да, у меня получилось с реквизитом, элементом типа картинка и картинкой-коллекцией в пару строк (код для обычного флажка и трех состояний):

&НаКлиенте
Процедура РеквизитБулевоНажатие(Элемент, СтандартнаяОбработка)
	РеквизитБулево = Не РеквизитБулево;
	СтандартнаяОбработка = Ложь;
КонецПроцедуры

&НаКлиенте
Процедура РеквизитЧислоНажатие(Элемент, СтандартнаяОбработка)
	РеквизитЧисло = (РеквизитЧисло + 1) % 3;
	СтандартнаяОбработка = Ложь;
КонецПроцедуры
Показать
Прикрепленные файлы:
TreeDogNight; Bessondo; Rustig; acanta; rpgshnik; CyberCerber; +6 Ответить
16. rpgshnik 2341 09.08.19 18:49 Сейчас в теме
(10) если один к одному то да. А если заранее не известно сколько вариантов ответов будет... Один или одиннадцать. После ещё нужно получить результат ответа. Тут уже двух строчек мало будет 🙂
Interrupted; Rustig; +2 Ответить
37. Fragster 1020 14.08.19 16:39 Сейчас в теме
(16)
) если один к одному то да. А если заранее не известно сколько вариантов ответов будет... Один или одиннадцать. После ещё нужно получить результат ответа. Тут уже двух строчек мало будет 🙂

Ну, генерация по одному элементу управления на реквизит всяко проще групп страниц (или что там предлагается)
11. Synoecium 700 09.08.19 15:22 Сейчас в теме
Оригинально и просто. Спасибо за статью
Interrupted; rpgshnik; +2 Ответить
23. Yashazz 3440 11.08.19 10:14 Сейчас в теме
(11) Оригинально? Хм. Очевидная же вещь.
26. Synoecium 700 11.08.19 17:51 Сейчас в теме
(23) оригинально в том плане, что вместо борьбы с типовым флажком используется обходной механизм. В 1с многое приходится делать неочевидным образом, чтобы выглядело и работало по-человечески, поэтому я одобряю такие заметки - они расширяют возможности.
PLAstic; TreeDogNight; SergeyTerentyev; kuzyara; fd13; Interrupted; rpgshnik; +7 Ответить
14. mvxyz 264 09.08.19 17:55 Сейчас в теме
Красиво. Спасибо за статью.
Interrupted; rpgshnik; +2 Ответить
15. Brawler 472 09.08.19 17:58 Сейчас в теме
Надеюсь это не будет применяться на практике.
Почему?
Боюсь зоопарка интерфейсов.
17. Craig 265 09.08.19 22:41 Сейчас в теме
(15) У меня был заказчик, которых хотел с нуля свою конфигурацию. Но от платформы 1с отказался по причине - "Стремно, один интерфейс на все, даже дизайнер не поможет..."
TreeDogNight; rpgshnik; +2 Ответить
18. Brawler 472 09.08.19 23:31 Сейчас в теме
(17) Вам шашечки нужны или ехать?
В плане интерфейса 1С очень удачно сделана и все в ней унифицировано выглядит, функционально, что есть огромный плюс.
8.3.15 так вообще еще краше стала, ну или по крайней мере новый свежий глоток воздуха.
Да есть к чему стремиться и 1С вносит все больше, и больше изменений, но все это не так просто и всегда нужно держать баланс чтобы можно было все возможности мультиплатформенно реализовать и везде одновременно, отсюда и черепаший темп разработок, но так ли нужна гонка?
Потом, если дикую расцветку хочется сделать, так уже анонсированы возможности по корпоративным стилям, можно желтое превратить в зеленое и радоваться.
Умиляют те же программисты Delphi, которые без огромных библиотек разных кнопочек жить не могут, и понимаешь, что люди сидят кнопочки рисуют на формочках, а не бизнес логику пишут.
Кнопочки разноцветные нужны ну допустим в программе проведения тестирования к примеру или в игрушках разных (это уже не тема 1С), да и там свои подходы к рисованию GUI имеются и свои фраймворки.

Зоопарк кнопочек в интерфейсе ЗЛО, пользователи и так не шибко квалифицированные, ко всему привыкают сложно, а если каждое окно будет "произведением искусства", то бедолаги вообще ноги протянут.
TreeDogNight; tsmult; Yashazz; bulpi; +4 Ответить
19. rpgshnik 2341 10.08.19 03:50 Сейчас в теме
(18)
а если каждое окно будет "произведением искусства"

Окно должно быть таким, чтобы "бедолаги" не говорили "Вася, а где инструкция к этой чудесной 1С", по этому окно быть должно произведением дизайна.
TreeDogNight; +1 Ответить
21. Craig 265 10.08.19 12:06 Сейчас в теме
(18) Да в том то и дело, когда мне озвучил заказчик - что не хочет делать на 1с, я был полон возмещения и негодования. Зоопарк плохо, требования не правильные и вообще это не проектная технология 1с ...

Спустя год я поработал с битриксом 24, амосрм, джасткликом, клиент банками от Тинькова, Открытия, Альфыбанка и понял что 1с пока не может удовлетворить потребность заказчика. И та задача которая была у заказчика, лучше реализовать на другой платформе. К слову задача была создать управленческую программу для инфобизнеса (облако, красиво, просто). А так как с программой должны будут работать "творческие личности предприниматели" то и требования к программе были дизайнерские.

Пока у всех в головах 1С = Бухгалтерия, а бухгалтерия - это унылая стандартизация процессов.

P.S. Что касается "шашечки" - 1С это и есть шашечки. (Требование к оформлению НСИ, документов, отчетов, данных в системе, стандартизация кодирования, СППР и т.д.). А поехать можно и на другой платформе.
TreeDogNight; rpgshnik; +2 1 Ответить
20. Rustig 1561 10.08.19 09:17 Сейчас в теме
(17) если ребенок съел кошачью еду, это проблема кошки, а не ребенка :)
22. Craig 265 10.08.19 12:09 Сейчас в теме
(20) Первоисточник звучит немного по другому: "Третий ребёнок - если съел кошачий корм, то это проблемы кота"
24. Yashazz 3440 11.08.19 10:17 Сейчас в теме
Ровно ничего интересного и оригинального. Очевидно напрашивающиеся решения, такие, как эмулировать "красоту" декорациями или хтмл-формой внутри 1С-формы - были ещё хз когда. Я так ещё лет 8 назад делал "круглые кнопки" в УФ и обычных формах. А теперь, когда даже в типовых конфах проскальзывают попытки это делать (например, элементы контактной информации) - и вовсе скучно.
Разве что, могу отметить, сделано достаточно аккуратно.
25. Yashazz 3440 11.08.19 10:22 Сейчас в теме
А вообще, "детская" болезнь наворотить всяких бантиков и плюшек со временем проходит. Потому что есть стандарт, к которому люди привыкают; есть вопросы психологии восприятия, которые влияют, и есть приоритет важности разработки, где интерфейс на энном месте (ну если вам только не попался клиент-придурок, которому именно шашечки). Так что порисуют-порисуют такие, а потом возвращаются в нормальный штатный вариант.

Меня тут попросили воспользоваться стилями в "Такси", ну сделал, поработали месяца два и попросили вернуть всё обратно)
27. script 223 11.08.19 22:11 Сейчас в теме
Какой капец. В 2019 году чтобы сделать нормальный чек бокс в 1С, нужно писать кучу кода, и играться с видимость элементов и картинок. Это просто позор какой-то. И не нужно здесь писать про унифицированность. Унифицированность в интерфейсах должно быть личным делом дизайнера интерфейса, а не 1С.
Seaflame; PLAstic; weeff; TreeDogNight; apostal86; 7OH; rpgshnik; +7 Ответить
38. lmnlmn 63 21.01.20 13:19 Сейчас в теме
(27) Это вы еще с деревьями на управляемой форме не работали - тут очень мало кода))
28. dandykry 5 12.08.19 08:53 Сейчас в теме
Правильно ли я понимаю:
При изменении картинки, происходит контекстный серверный вызов?
Все картинки нужно хранить в конфигурации/расширении?

Думаю проще было сделать через ascii таблицу. Там куча галочек и квадратиков. Вышло бы просто текстом. 1с это ест. Цвет и стиль заменить не проблема.

Правда вроде изменение заголовка у элемента тоже вызывает контекстный вызов сервера (точно не помню)
Silenser; TreeDogNight; dabu-dabu; Yashazz; +4 Ответить
29. Yashazz 3440 12.08.19 10:47 Сейчас в теме
(28) вот, здравый подход. И насчёт вызова сервера - 1С к счастью этим наконец занялась и убирает ненужные вызовы, может, нет уже в новых релизах.
30. rpgshnik 2341 12.08.19 11:13 Сейчас в теме
(28) Картинка не меняется, выводиться - две картинки сразу. Управление происходит видимостью элементов.
32. dandykry 5 12.08.19 12:09 Сейчас в теме
(30) Идея хорошая, я не критикую)
Я писал библиотеку по динамическому изменению формы (реквизиты элементы команды) и прошелся по граблям) В простых формах работает на ура и сделать программно красиво получается, но когда форма содержит много данных, то все очень медленно.

Например даже такая вещь http://prntscr.com/oriuiv работает быстро, если это текст, и колоссально медленно, если к наименованию выводить картинки (почти одинаково, что получить все картинки сразу, что запрашивать их только для отображаемых)
33. rpgshnik 2341 12.08.19 18:02 Сейчас в теме
(32) спасибо проверю на практике
31. VmvLer 12.08.19 11:37 Сейчас в теме
я раньше(лет 10 назад) собирал всякие картинки и рюшки.
потом понял, что глупо соревноваться в фантазии с разработчиками и выбросил все.
юзаю типовые и наверняка они(головные) стырят идею и впилят че-нить подобное, если за это будут платить.
34. user621724_Dimav1979 301 12.08.19 21:59 Сейчас в теме
Красота! А администратор 1с понять не может, куда ресурсы сервера уходят и почему система однажды колом встала.
За творчество +
Silenser; sam271091_m; +2 1 Ответить
39. Silenser 527 21.01.20 16:58 Сейчас в теме
(34) Это да, изменение видимости приводит к серверному вызову и чем сложнее форма, тем больше будет загружен сервер :(
40. kalyaka 616 04.04.20 16:54 Сейчас в теме
(39) (29)
изменение видимости приводит к серверному вызову
У меня на платформе 8.3.16.1148 изменение видимости картинки не приводит к серверному вызову
35. user1202776 13.08.19 14:11 Сейчас в теме
только на управляемых форма работает?
36. rpgshnik 2341 14.08.19 04:14 Сейчас в теме
(35) представленный алгоритм да
41. kalyaka 616 04.04.20 17:03 Сейчас в теме
нет возможности фиксации на данных декорациях курсора
Если попробовать такой код:
&НаКлиенте
Процедура НажатьЧекБокс(НомерЧека)	
...
	//  Сохранение фокуса на декорации
	Если ТекущиеСостояние Тогда
		ЭтаФорма.ТекущийЭлемент = Элементы[ИмяЧека + Строка(НомерЧека)];
	Иначе
		ЭтаФорма.ТекущийЭлемент = Элементы[ИмяЧека + Строка(НомерЧека) + "а"];
	КонецЕсли; 
КонецПроцедуры
Показать
, то курсор останется на нажатой декорации. Вы про это писали?
rpgshnik; +1 Ответить
42. rpgshnik 2341 05.04.20 07:22 Сейчас в теме
43. ITSolncev 23.07.20 10:17 Сейчас в теме
Красивая наработка для интерфейса:) +
Оставьте свое сообщение
Вопросы с вознаграждением