Это небольшая демонстрация того, как «на лету» можно изменять формы отчетов и обработок. По функционалу почти полный аналог стандартных функций, но: сохраняются состав списков значений и положение текущей строки, а также сохраняются все таблицы значений , расположенные на форме.
Использует ВК FormEx, которую можно загрузить непосредственно через обработку.
Как использовать: просто открываем обработку в любой конфигурации, нажимаем кнопку «Включить функционал» — после этого в текущем сеансе (до выхода из 1С) во всех формах отчетов и обработок появится дполнительная кнопка.
обработка после открытия м.б. закрыта? или д.б. открыта всегда? но тогда лучше ее окно сделать невидимым неактивным…
???
2(1) Обработка загружает FormEx и добавляет доп.глобальник, так что после запуска ее можно сразу закрыть.
(2) спсб, примерно так и думал..
(0) Кстати, для тех, кто еще не осознал всех прелестей FormEx: она СТОЛЬКО всего приятного сделать позволяет 😉 У меня, например, по правому клику на тулбаре журнала документов и формы списка справочника появляется контектное меню, гораздо более удобное и функциональное, чем предлагаемое самой 1С (родное тоже работает)
Гыы…
(5) ага — есть такое…
если в ТЗ есть скрытые колонки — они появляются, и пиктограммы тоже слетают (в смысле вместо пиктограмм отображаются цифры)
(6) вещь весьма полезная… доделал бы, что ли ? 🙂
(7) В принципе задумывал просто как демонстрацию, но попробую доделать
Кстати, может кто подскажет (на АЛьФ-а больше всех надеюсь) — как определить загружен ли определенный глобальный модуль или нет. Пробовал через дополнительную глобальную переменную / функцию — чего-то ничего не вышло. Похожий вопрос был тут:http://www.kuban.ru/forum_new/forum9/arhiv/266712.html но Звездочет там проблему просто обошел.
+(10) Че-то криво форматнулось в тегах code….
11)
(9) В ДопГМ добавляем
Перем глЕстьДопГМ Экспорт;
В теле его же пишем
глЕстьДопГМ=»загружен»; // например
В любом подуле потом примерно так:
глЕстьДопГМ=глЕстьДопГМ; // не удивляйся! иначе ругнется, если не подгрузилось
Если глЕстьДопГМ=»загружен» Тогда
Предупреждение(«Полный зашибись»);
КонецЕсли;
(12) Если кто не понял, 10- мой ноу-хайчик :))))))))))
(10) Спасибо. Я в принципе так и делал — но у меня ошибка была в том, что я пытался присвоить значение моей переменной из обработки, сразу после загрузки модуля.
А сейчас перебросил присвоение в доп.глобальник — все взлетело.
Доделаю работу с ТЗ (пиктограммы и скрытые колонки) — выложу обновленную версю.
О!!! увидел 12 🙂
а я чё-т не вижу 10-го поста.
я тоже
(16,17) Ну, блин 😉 10-й был оттранслирован суппортом в 12 -й. Все, что идет
после 11) — и есть 10-й. А все потому, что теги code черт те что натворили
Обновил. Восстанавливает состояние видимости колонок в таблицах значений. Чуть подправил интерфейс.
Не поборол:
1) пиктограммы в ТЗ так и слетают
2) если на форме есть таблица значений, которая меняет свой размер при изменении размеров окна, то эта ТЗ «наползает» на другие элементы формы…
(19) + добавил возможность удаления настроек
(19)
1) Нельзя делать выгрузкой/загрузкой — делай присвоением.
2) смотри тот же самый формекс
(19) Делай через Заполнить и привет..
(21) Сенкс за наводку, но
1) если присваивать — вылетает 1С (может есть какой хитрый способ, с которым я не сталкивался — подскажи!)
2) Если ты имеешь ввиду ПриИзмененииРазмеровОкна() — то сложновато будет: нужно где-то сохранять список открытых форм, всех их ТЗ и их координат… как-то геморно 🙁 —
(22) Заполнить — это при условии что структура ТЗ не менялась, а если там часть колонок удалена?
Пока других вариантов кроме «выгрузить» не нашел.
Уровень разработки впечатлил!!
Давно ищу «легкую» возможность сохранения-чтения настроек. Великолепно!!
Еще просьба: можно ли привязать эту новую кнопку к «горячей клавише», и как это сделать?
Необходимость связана с тем, что бухгалтер много работает «мышкой» и со временем возникает «синдром мышки» (это когда немеют руки).
А чем универсальнее отчет, тем больше настроек и больше разных отчетов
на базе одного, а значит и чаще обращение к кнопке «Настройки».
Заранее спасибо.
(25) Спасибо за отзыв!
Горячую клавишу сделать легко — открываем обработку — Таблица — Ячейка 2,1 — там текст модуля — внизу ищем строку
Кнопка.Заголовок=»Настройки»;
и меняем на
Кнопка.Заголовок=»&Настройки»;
в итоге на кнопке будет подчеркнута буква Н и будет хоткей Alt+Н — но я понятия не имею как поведет себя 1С, если на форме отчета уже будет присутствовать кнопка с аналогичным хоткеем.
Удачи!
(26) Спасибо! Такая мысль тоже появилась, только более редкая буква — Кнопка.Заголовок=»Настро&йки»;
Но если на форме уже присутствует кнопка с аналогичным хоткеем, то не выполняется ни одна из них, а просто при нажатии перескакиваем на этих кнопках, то на одну, то на другую. И выполняется команда только по «Enter» на ней. Проверено. Все равно это выход.