Добавление кнопки стандартного обработчика в командную панель

1. triviumfan 93 26.12.20 09:25 Сейчас в теме
Доброго дня.

Долго искал ответы, но так ничего конкретного и не нашёл.
На форму добавлена табличная часть и командная панель без автозаполнения.
Нужно программно добавить сортировку (команды "СортироватьСписокПоУбыванию" и "СортироватьСписокПоВозрастанию").
Это вообще возможно? Или только свои команды добавлять...
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Leon75 26.12.20 13:50 Сейчас в теме
А зачем программно? Нужно вывести необходимые команды, заполняйте в конструкторе управляемой формы.
3. Leon75 26.12.20 14:03 Сейчас в теме
Программно обычно создаются элементы, реквизиты и/или команды тогда, когда невозможно их инициализировать в конструкторе управляемых форм. Когда же это возможно (как в вашем случае), тогда у заранее созданного элемента просто управляют отображением с помощью свойства Видимость.

Ну а так вообще Элементы - это коллекция. Командная панель это группа. Кнопка - элемент этой группы, то есть Родитель - КоманднаяПанель. У коллекции должен быть метод Добавить().
4. ixijixi 1805 26.12.20 16:41 Сейчас в теме
(3)
У коллекции должен быть метод Добавить

Добавить-то мы добавим, а обработчик как привязать?
Кнопка = Элементы.Добавить("КнопкаСортироватьВОЗР", ТИП("КнопкаФормы"), КоманднаяПанель);
Кнопка.ИмяКоманды = "???";
5. Leon75 26.12.20 19:25 Сейчас в теме
(4)вы создали в конструкторе управляемой формы кнопку "СортироватьСписокПоУбыванию"?
6. ixijixi 1805 26.12.20 19:36 Сейчас в теме
(5) Автор пишет, что ему нужно программно создавать кнопки. Мне тоже интересно стало.
frkbvfnjh; FatPanzer; +2 Ответить
7. Leon75 26.12.20 19:39 Сейчас в теме
(6)автор пишет, что ему нужно программно создать кнопку стандартной команды.
Стандартной.
8. ixijixi 1805 26.12.20 19:42 Сейчас в теме
(7) Ну да, стандартной. И как, по-вашему, это сделать?
9. Leon75 26.12.20 19:46 Сейчас в теме
(8)вы задумывались зачем программно создавать кнопку Стандартной команды? Она уже есть в конструкторе.
10. ixijixi 1805 26.12.20 19:59 Сейчас в теме
(9) А вы задумывались, что существуют задачи, обязательным условием которых является программное создание стандартных кнопок?
Pushno; BillySwat; FatPanzer; +3 Ответить
11. Leon75 26.12.20 20:02 Сейчас в теме
(10)лучший способ решать такие задачи в платформах 8.3.14-18 в УФ это их не решать. Вы не задумывались?
12. FatPanzer 26.12.20 20:43 Сейчас в теме
(10) Например, тебе надо создать несколько вкладок с таблицами по количеству регистров. Количество и состав регистров заранее неизвестны.
Сколько ты будешь в конструкторе форм рисовать вкладок и таблиц с панелями? И как будешь их в конструкторе именовать, чтобы потом в программном коде не запутаться?

PS. Кстати, надо в УТ глянуть документ "Корректировка регистров"...
user1503726; +1 Ответить
13. Leon75 26.12.20 21:13 Сейчас в теме
(12) Пример неравнозначный.
14. ixijixi 1805 27.12.20 19:30 Сейчас в теме
(13) Пример прямо отличный.
15. Leon75 27.12.20 19:59 Сейчас в теме
(14) по моему скромному мнению - нет. Так как нет уже готового инструмента в конструкторе форм, который будет заранее обходить объекты метаданных конфигурации и создавать страницы с табличными полями.
А вот стандартные команды формы или ДанныеФормыКоллекции или Динамического списка или Табличной части они есть сразу, всегда. И программно мы можем только эмулировать стандартную команду. Создать свою сортировку или удаление строки. Почему я упомянул, что Элементы это коллекция? Для того чтобы вы смогли увидеть, что для Стандартной команды свойство кнопки ИмяКоманды является пустой строкой.
16. triviumfan 93 28.12.20 10:11 Сейчас в теме
Кстати, не так просто добавить свою сортировку.
Хотел сделать на клиенте, но без обращения к серверу, похоже, что это невозможно.
Например:
Объект.Товары.Сортировать(ИмяКолонки + " " + ПорядокСортировки)

Не всегда будет работать, т.к. есть поля/колонки, у которых путь к данным Объект.Товары.Номенклатура.Код, а этот метод уже не позволит выполнить сортировку на клиенте.
А стандартная команда в таком случае вообще будет недоступна, как и для полей, у которых путь к данным является реквизитом формы.
17. ixijixi 1805 28.12.20 12:20 Сейчас в теме
(16) А почему бы реально не вытянуть кнопку на панель конструктором?
18. triviumfan 93 28.12.20 13:12 Сейчас в теме
(17) а для чего программно форму дорабатывают?!
19. ixijixi 1805 29.12.20 00:09 Сейчас в теме
(18) а вы всегда вопросом на вопрос отвечаете?
20. triviumfan 93 29.12.20 09:13 Сейчас в теме
21. Leon75 07.01.21 16:34 Сейчас в теме
(20)Не пробовали через ПолеHTML в JS, там ТЧ отсортировать, и все на клиенте. Вам же проще будет(сарказм).
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот