gifts2017

Расширенные настройки для отчетов

Опубликовал Алексей Плутенко (Noy) в раздел Программирование - Работа с интерфейсом

Практически полный аналог стандартных возможностей - Сохранение и восстановление настроек в отчетах...

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

Использует ВК FormEx, которую можно загрузить непосредственно через обработку.

 

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

Скачать файлы

Наименование Файл Версия Размер
rep_profiles.zip 153
.1228754825 255,18Kb
25.09.09
153
.1228754825 255,18Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Сhe Burashka (CheBurator) 08.12.08 23:07
обработка после открытия м.б. закрыта? или д.б. открыта всегда? но тогда лучше ее окно сделать невидимым неактивным...
???
2. АЛьФ (АЛьФ) 08.12.08 23:28
2(1) Обработка загружает FormEx и добавляет доп.глобальник, так что после запуска ее можно сразу закрыть.
3. Сhe Burashka (CheBurator) 09.12.08 01:01
(2) спсб, примерно так и думал..
4. Аркадий Кучер (Abadonna) 09.12.08 03:49
(0) Кстати, для тех, кто еще не осознал всех прелестей FormEx: она СТОЛЬКО всего приятного сделать позволяет ;) У меня, например, по правому клику на тулбаре журнала документов и формы списка справочника появляется контектное меню, гораздо более удобное и функциональное, чем предлагаемое самой 1С (родное тоже работает)
6. Алексей Плутенко (Noy) 09.12.08 10:09
(5) ага - есть такое...
если в ТЗ есть скрытые колонки - они появляются, и пиктограммы тоже слетают (в смысле вместо пиктограмм отображаются цифры)
7. Епрст (Ёпрст) 09.12.08 10:14
(6) вещь весьма полезная... доделал бы, что ли ? :)
8. Алексей Плутенко (Noy) 09.12.08 10:33
(7) В принципе задумывал просто как демонстрацию, но попробую доделать
9. Алексей Плутенко (Noy) 09.12.08 10:37
Кстати, может кто подскажет (на АЛьФ-а больше всех надеюсь) - как определить загружен ли определенный глобальный модуль или нет. Пробовал через дополнительную глобальную переменную / функцию - чего-то ничего не вышло. Похожий вопрос был тут: http://www.kuban.ru/forum_new/forum9/arhiv/266712.html но Звездочет там проблему просто обошел.
11. Аркадий Кучер (Abadonna) 09.12.08 11:54
+(10) Че-то криво форматнулось в тегах code....
12. Доржи Цыденов (support) 09.12.08 11:55
11)
(9) В ДопГМ добавляем
Перем глЕстьДопГМ Экспорт;
В теле его же пишем
глЕстьДопГМ="загружен"; // например
В любом подуле потом примерно так:

глЕстьДопГМ=глЕстьДопГМ; // не удивляйся! иначе ругнется, если не подгрузилось
Если глЕстьДопГМ="загружен" Тогда
Предупреждение("Полный зашибись");
КонецЕсли;
13. Аркадий Кучер (Abadonna) 09.12.08 11:57
(12) Если кто не понял, 10- мой ноу-хайчик :))))))))))
14. Алексей Плутенко (Noy) 09.12.08 12:13
(10) Спасибо. Я в принципе так и делал - но у меня ошибка была в том, что я пытался присвоить значение моей переменной из обработки, сразу после загрузки модуля.
А сейчас перебросил присвоение в доп.глобальник - все взлетело.

Доделаю работу с ТЗ (пиктограммы и скрытые колонки) - выложу обновленную версю.
15. Алексей Плутенко (Noy) 09.12.08 12:17
16. Евгений Мартыненков (JohnyDeath) 09.12.08 13:46
а я чё-т не вижу 10-го поста.
17. Епрст (Ёпрст) 09.12.08 14:02
18. Аркадий Кучер (Abadonna) 09.12.08 14:35
(16,17) Ну, блин ;) 10-й был оттранслирован суппортом в 12 -й. Все, что идет
после 11) - и есть 10-й. А все потому, что теги code черт те что натворили
19. Алексей Плутенко (Noy) 09.12.08 19:07
Обновил. Восстанавливает состояние видимости колонок в таблицах значений. Чуть подправил интерфейс.
Не поборол:
1) пиктограммы в ТЗ так и слетают
2) если на форме есть таблица значений, которая меняет свой размер при изменении размеров окна, то эта ТЗ "наползает" на другие элементы формы...
20. Алексей Плутенко (Noy) 09.12.08 19:20
(19) + добавил возможность удаления настроек
21. Сhe Burashka (CheBurator) 09.12.08 20:00
(19)
1) Нельзя делать выгрузкой/загрузкой - делай присвоением.
2) смотри тот же самый формекс
22. Епрст (Ёпрст) 10.12.08 10:39
(19) Делай через Заполнить и привет..
23. Алексей Плутенко (Noy) 10.12.08 10:46
(21) Сенкс за наводку, но
1) если присваивать - вылетает 1С (может есть какой хитрый способ, с которым я не сталкивался - подскажи!)
2) Если ты имеешь ввиду ПриИзмененииРазмеровОкна() - то сложновато будет: нужно где-то сохранять список открытых форм, всех их ТЗ и их координат... как-то геморно :( -
24. Алексей Плутенко (Noy) 10.12.08 10:52
(22) Заполнить - это при условии что структура ТЗ не менялась, а если там часть колонок удалена?
Пока других вариантов кроме "выгрузить" не нашел.
25. Филипп (Филипп) 06.04.09 15:06
Уровень разработки впечатлил!!
Давно ищу "легкую" возможность сохранения-чтения настроек. Великолепно!!
Еще просьба: можно ли привязать эту новую кнопку к "горячей клавише", и как это сделать?
Необходимость связана с тем, что бухгалтер много работает "мышкой" и со временем возникает "синдром мышки" (это когда немеют руки).
А чем универсальнее отчет, тем больше настроек и больше разных отчетов
на базе одного, а значит и чаще обращение к кнопке "Настройки".
Заранее спасибо.
26. Алексей Плутенко (Noy) 07.04.09 09:40
(25) Спасибо за отзыв!

Горячую клавишу сделать легко - открываем обработку - Таблица - Ячейка 2,1 - там текст модуля - внизу ищем строку
Кнопка.Заголовок="Настройки";
и меняем на
Кнопка.Заголовок="&Настройки";

в итоге на кнопке будет подчеркнута буква Н и будет хоткей Alt+Н - но я понятия не имею как поведет себя 1С, если на форме отчета уже будет присутствовать кнопка с аналогичным хоткеем.
Удачи!
27. Филипп (Филипп) 07.04.09 11:43
(26) Спасибо! Такая мысль тоже появилась, только более редкая буква - Кнопка.Заголовок="Настро&йки";
Но если на форме уже присутствует кнопка с аналогичным хоткеем, то не выполняется ни одна из них, а просто при нажатии перескакиваем на этих кнопках, то на одну, то на другую. И выполняется команда только по "Enter" на ней. Проверено. Все равно это выход.