gifts2017

Настраиваемая панель пользователя

Опубликовал Евгений Люлюк (Evg-Lylyk) в раздел Обработки - Универсальные обработки

Обработка предназначена для создания интерфейса самим пользователем, т.е. пользователь может настраивать вид панели добавляя доступные ему объекты.

Панель пользователя тек. версия 2.0
Обработка предназначена для создания интерфейса самим пользователем, т.е. пользователь может настраивать вид панели добавляя доступные ему объекты.

В обработке есть две закладки:
1.Настраиваемая пользователем ("Пользовательская")
2.Полный список доступных объектов ("Конфигурация")

Аналогичные обработки
http://infostart.ru/projects/3672/
http://infostart.ru/projects/3667/
http://infostart.ru/projects/4599/
http://infostart.ru/projects/1472/
http://infostart.ru/projects/5466/
http://infostart.ru/projects/5954/

извините если кого забыл :)

Для запуска обработки у каждого пользователя при старте системы (присутствует галка "Открывать при старте"):
В "Модуль приложения" процедуру "ПриНачалеРаботыСистемы" добавить след. код:

 

	 //Запуск панели пользователя 
Попытка
    ПанельПользователя = ВнешниеОбработки.Создать(ИмяФайлаОбработки);
    ФормаПанелиПользователя = ПанельПользователя.ПолучитьФорму();
    ФормаПанелиПользователя.Открыть();
Исключение
КонецПопытки

Где ИмяФайлаОбработки - Путь к обработке ("C:\Панель пользователя.epf").

Как  это все выглядит и работает можно посмотреть в видео (2,3 Мб)

p.s. Есть проблема при запуске нескольких сеансов работы, настройки не сохраняются в тех сеансах, которые были закрыты ранее (т.к. сохранение настроек производится при закрытии)... даже не знаю как это правильно исправить. Еще есть недостаток после добавления невидно что за объект привязан к строке.

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

Наименование Файл Версия Размер
Панель пользователя 2.0 (8.1) 620
.epf 138,97Kb
19.06.15
620
.epf 138,97Kb Скачать
Панель пользователя 2.0 (8.2) 85
.epf 137,90Kb
19.06.15
85
.epf 137,90Kb Скачать
Видео панель пользователя 282
.1248616598 2,31Mb
19.06.15
282
.1248616598 2,31Mb Бесплатно

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение

Комментарии

1. Станислав Шепталов (sCHTASS) 27.07.09 10:10
Штука полезная.
Только вот как объяснить пользователю что это и че с ним делать?
voler; Evg-Lylyk; +2 Ответить 1
2. Роман Зиновьев (Широкий) 27.07.09 11:05
Иконки мне понравились :)
3. Евгений Люлюк (Evg-Lylyk) 27.07.09 11:13
(1) есть видео, можно его переделать добавить то чего нет
(2) Иконки из Бухг.1.6
Istur; artbear; YVolohov; +3 Ответить
4. Ярослав Волохов (YVolohov) 27.07.09 11:19
Интерфейс радует глаз, настраивается просто и понятно.
Только вот в окне настройки объекты проще добавлять не перетягиванием а просто двойным щелчком, так быстрее для юзверя. И еще неплохо бы добавить возможность создания новых элементов, для тех объектов, которые поддерживают эту возможность.
5. Ярослав Волохов (YVolohov) 27.07.09 11:22
Видео заслуживает еще одного плюса, поставлю в коментариях )))
6. Евгений Люлюк (Evg-Lylyk) 27.07.09 11:29
(4) добавление по щелчку считай уже добавил
"И еще неплохо бы добавить возможность создания новых элементов, для тех объектов, которые поддерживают эту возможность." как бы это интерфейсно реализовать чтобы не перегружать? может в список метаданных добавить Справочники (Новый), Документы (Новый) мне как то не очень понятно.
(5) Спасибо на нем я хоте показать как собственно создается интерфейс
7. Ярослав Волохов (YVolohov) 27.07.09 11:32
(6) Можно использовать выбор из контекстного меню или из списка значений с пунктами "открыть форму списка" и "создать новый элемент" соответственно.
8. Ярослав Волохов (YVolohov) 27.07.09 11:38
http://www.infostart.ru/projects/4059/ вот здесь я добавлял выбор из списка значений, который динамически создавался при обработке расшифровки. Там два варианта - или открыть форму списка или создать детализирующий отчет (в справочниках или документах, для других объектов только открывает форму списка).
Evg-Lylyk; +1 Ответить
9. Евгений Люлюк (Evg-Lylyk) 27.07.09 11:44
(7) Такой вариант мне как раз не хотелось использовать. Не подойдет там есть мультиперенос что делать если ты переносишь кучу разнотипных строк. Наверно добавлю в дерево с метаданными ниже, но позже. Спасибо за замечание.
Добавление по двойному щелчку есть
10. Ярослав Волохов (YVolohov) 27.07.09 11:54
(9) Выбирать, что делать с объектом нужно не в форме настроек а в основной форме. В форме настроек выбирается объект а не действие над ним и переносится тоже объект.
А уже в пользовательской форме при щелчке на объекте (если над ним можно выполнить несколько разных действий) выводится меню с выбором действия. Туда (в это меню) можно добавить еще много чего, например печать списка элементов, или выгрузка этого списка во внешний файл.
Evg-Lylyk; +1 Ответить
11. Олег Каратаев (Kyrales) 27.07.09 13:50
Еще бы была бы возможность присваивать каждому объекту свою иконку, ваще классно было бы
Evg-Lylyk; +1 Ответить
12. Юрий Ульянов (spy-83) 27.07.09 15:44
Можно еще сделать:
1. чтобы можно было каждому объекту назначать другое наименование
2. создавать группы объектов
3. для ввода нового элемента (для тех которые это поддерживают) можно справа от наименования добавить гиперссылку "Новый" или в виде иконки
13. Евгений Люлюк (Evg-Lylyk) 27.07.09 16:19
(12)
1 Модно в настройках
2 Можно создавать группы
------------
3 Спасибо ченить придумаю
14. Михаил (mikl79) 28.07.09 16:46
прикольная вещь, плюсую
15. Евгений Люлюк (Evg-Lylyk) 29.07.09 09:40
Обновил до 1.2
1. Добавил сохранение настроек в регистр "СохраненныеНастройки" (если присутствует)
2. Добавил сохранение/загрузка в/из файла
3. Для объектов поддерживающих ввод нового (справочники, документы) добавлен пункт в контекстном меню

16. Евгений Люлюк (Evg-Lylyk) 29.07.09 14:58
В 1.3
1. Добавил справку для пользователей
17. Ден (lion11) 29.07.09 15:59
+
Классно: просто и со вкусом...
18. Евгений Люлюк (Evg-Lylyk) 29.07.09 16:10
(17) Спасибо

В 1.4 Поправил ошибку с закладкой конфигурация и мелкие улучшения интерфейса
YVolohov; +1 Ответить
19. Ярослав Волохов (YVolohov) 29.07.09 16:43
Могу еще идейку подбросить - запуск exe-файлов и открытие веб-страниц. Реализация несложная а удобства добавляет.
20. Евгений Люлюк (Evg-Lylyk) 29.07.09 17:03
(19) можно, но я смысла не вижу. Я не собираюсь ее долго и упорно разрабатывать. Мне она нужна чтобы мне меньше мороки с интерфейсами для новых объектов. Замучали заданиями вроде добавить пользователи Х отчет Y
21. Ярослав Волохов (YVolohov) 29.07.09 17:17
У меня была когда то идея создать что то типа 1C Commander (по аналогу с оболочками для Windows), да только больно уж долгая это работа.
22. andy Zhdanov (an_zhdan) 29.07.09 18:54
а с регистрами накопления эта обработка не сможет дружить?
23. Евгений Люлюк (Evg-Lylyk) 29.07.09 19:09
(21) а что там будет интересного
(22) можно доделать попозже
24. Евгений Люлюк (Evg-Lylyk) 29.07.09 19:10
(22) даже не знаю нужну ли они пользователю
25. Ярослав Волохов (YVolohov) 30.07.09 11:20
(21) Дело в том что структура данных в 1С напоминает файловую сиcтему Windows. Сравни:

логический диск - база;
каталог - справочник, документ, план, регистр и т.д.
файл - отдельная запись одного из названных выше объектов.
Даже пометка на удаление в 1С напоминает удаление в корзину Windows.

Если в Far, Norton или другой подобной оболочке в двух окнах можно открыть два логических диска и обмениваться файлами между ними то в двух окнах 1C Commandera можно открыть две базы, одна из которых текущая а другая подключена через OLE. Получается очень удобный менеджер обмена данными.
Также в эту оболочку можно насовать и множество других функций.
26. Ярослав Волохов (YVolohov) 30.07.09 11:21
27. Евгений Люлюк (Evg-Lylyk) 30.07.09 11:30
(25) наверно можно через UnPack, но много труда. Ведь и так открываешь два конфигуратора и переносом можно копировать метаданные
28. Ярослав Волохов (YVolohov) 30.07.09 11:48
(27) Нет, это чисто для переноса данных, метаданные никак не изменяются. Например выделил в одной панели группу документов (аналогично группе файлов в Windows) и скопировал (переместил) в другую панель, где открыт соответствующий объект другой базы.
Но в общем то это слишком долгая работа, и хотя идея интересная, вряд ли я ее когда нибудь реализирую.
Evg-Lylyk; +1 Ответить
29. Евгений Люлюк (Evg-Lylyk) 30.07.09 15:20
(28 редко нужно переносить данные, плюс интрументов только от самой 1С много. А делать просто "как Тотал Коммандере" ИМХО не нужно. Я его вообще не перевариваю
30. Татьяна Язынина (Akv@rel) 30.07.09 20:35
Спасибо, очень удобная обработка!
31. Евгений Люлюк (Evg-Lylyk) 01.08.09 11:46
(22) 1.5
1. Добавил регистры накопления
2. Новая строка страновится текущей

32. Ivon (Ivon) 04.08.09 18:16
Посмотрел на твой интерфейс и на еще один и доделал свой. Теперь в довесок к обычному и узкому есть вертикальный вид интерфейса.
33. Ivon (Ivon) 04.08.09 18:17
Ссылку на интерфейс можно увидеть в моем профиле
34. Sensey Master (MSensey) 05.08.09 18:38
Классно.
Предлагаю добавить команду для добавления в пользовательский список текущего элемента из списка на закладке "Конфигурация"
35. Dgonson Dgonson (dgonson) 06.08.09 13:06
Штука классная, но хотелось бы иметь возможность ограничивать дерево метаданных,т.е. что бы пользователь не мог добавить объекты которые ему не нужны. Например, заполнять дерево метаданных не из конфигурации, а из интерфейса пользователя.Можно конечно в правах поотключать доступ, но объем работ увеличивается...
36. Dgonson Dgonson (dgonson) 06.08.09 15:02
(35) Вопрос снимаю, в дереве метаданных появляются только объекты доступные для просмотра...
37. Евгений Люлюк (Evg-Lylyk) 10.08.09 23:04
(32), (33) имеется расположение закладок позже добавлю
(34) даже не знаю, пользователь все равно сразу захочет переместить или еще чтото. Я думаю это не так пока не так важно. Спасибо за пожелание.
(35), (36) Да это описано в описании (только теперь слово доступные выделил жирным ;) )
38. Евгений Люлюк (Evg-Lylyk) 10.08.09 23:06
Извините торопился
(32) по вертикальному интерфесу... вроде все также только закладки по другому расположены
39. Ivon (Ivon) 11.08.09 10:09
(38). Если сделать панельку пошире, а названия поменьше, то будет так же как у Вас в 3-м скрине. Просто у меня вид отображения закладок не меняется. И разница наших интерфейсов в том, что Ваш интерфейс пользователь наполняет сам, а в моем интерфейсе это делает администратор, а пользователь в этом не принимает участие..
40. Sensey Master (MSensey) 14.08.09 16:40
Пожелание: добавить возможность указывать ссылки.
Например, можно сделать избранное по контрагентам и т.п.
41. Евгений Люлюк (Evg-Lylyk) 14.08.09 17:01
(40) Извините по сообщение не понял в чем состоит пожелание

Обновил 1.6

1. При пустом списке и когда нет настроек пользователю выводится поясняющее сообщение
2. Исправил пару мелких ошибок
42. Дмитрий Петраш (Dimma) 19.08.09 10:31
Есть в обработке одна досадная ошибка. Пользователь, у которого нет права "Интерактивное открытие внешних обработок" может запросто добавить в панель любую внешнюю обработку и спокойно ей пользоваться.
Для исправления этой ошибки мне пришлось срочно в модуле формы "Основная" добавлять такой код:

Процедура ДеревоПользователяПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)

//---=== ## Dimma Begin 19.08.09 ===---
Если ЗапрещеноЗапускатьВнешниеОбработки И Найти(ДанныеСтроки.ВыполняемыйКод,"ОткрытьВнешниюОбработку")>0 Тогда
Если ЗначениеЗаполнено(ДанныеСтроки.Родитель) Тогда
ДанныеСтроки.Родитель.Строки.Удалить(ДанныеСтроки);
Иначе
ДеревоПользователя.Строки.Удалить(ДанныеСтроки);
КонецЕсли;
Возврат;
КонецЕсли;
//---=== ## Dimma End 19.08.09 ===---

ОформлениеСтроки.Ячейки.Действие.ОтображатьКартинку = Истина;
ОформлениеСтроки.Ячейки.Действие.ИндексКартинки = ДанныеСтроки.НомерКартинки

КонецПроцедуры

Или можно добавить этот код при сохранении Настройки.

Но вообще, конечно, надо делать проверку права и не разрешать Пользователю добавлять внешние обработки, если прав нет.
43. Дмитрий Петраш (Dimma) 19.08.09 10:38
(41) Он имел в виду, чтобы можно было включать в Панель не только общие метаданные, но и конкретные объекты. Например конкретный документ или конкретного Контрагента, как например сделано тут: http://infostart.ru/projects/5466/
Имхо это всё лишнее, но вот что не лишнее и чего просят все, это возможность добавлять в Панель элементы справочника "ВнешниеОбработки". Этот справочник уже стандарт 1С и, конечно, неплохо было бы включить в панель возможность добавлять его элементы.
44. Евгений Люлюк (Evg-Lylyk) 19.08.09 11:19
(42) лучше в ПриВыводеСтроки ничего не добавлять у 1С и так тупит не по детски :)
Как пользователь откроет эту обработку если она тоже внешняя ведь у него нет прав (хотя можно ведь в конфу встроить)
при попытке открыть запрешенное... не откроется т.к. просто нет прав

в 1.7 решил проблему с правами на внешние отчеты и обработки

(43) на счет ""ВнешниеОбработки" согласен с вами сейчас просто нет времени на это (хотя сделать и не сложно) извините много дел :(
45. Дмитрий Петраш (Dimma) 19.08.09 11:39
(44) Я особо тормозов не заметил, но, конечно, надо в другое место проверку ставить. Просто я когда это увидел со страха поставил в первое, что в голову пришло, а то у нас пользователи уж слишком ушлые.

Я специально проверил добавление внешней обработки на пользователе без прав. Панель спокойно запоминает обработку в дереве, а потом запускает неинтерактивно, что разрешается при любом раскладе прав.

Будем ждать 1.8 с "Внешними обработками" ;)

Спасибо за Панель!
46. Евгений Люлюк (Evg-Lylyk) 19.08.09 11:57
(45) тормоза при простой промотке
Проверил все еще раз (даже встраевал в конфу) вроде все правильно работает. На уровне Метаданные есть права "ИнтерактивноеОткрытиеВнешнихОбработок"
"ИнтерактивноеОткрытиеВнешнихОтчетов" их и проверяю если их нет кнопка не активна.

Спасибо за помощь ;)
47. Евгений Люлюк (Evg-Lylyk) 19.08.09 12:01
46+ еще если есть доступ только к обработка при добавлении соотв. фильтр
48. Дмитрий Петраш (Dimma) 19.08.09 16:13
(44) В 1.7 действительно с правами на добавление внешних обработок всё ок. Но осталась еще одна дыра. Если пользователь загружает дерево из файла, а в этом файле есть внешние обработки и отчеты (чужой файл), то он их тоже сможет спокойно использовать. ;)

PS
Извиняюсь за дотошность. :)
Evg-Lylyk; +1 Ответить
49. Дмитрий Петраш (Dimma) 19.08.09 16:51
Чтобы решить пункт 48 достаточно добавить в модуль формы РедактированиеИнтерфейса следующий код и немного изменить Процедуру КоманднаяПанель1СохранитьИзменения(Кнопка)


Процедура КоманднаяПанель1СохранитьИзменения(Кнопка)

ФормаВладелец.ДеревоПользователя = ПредварительноОбработатьДеревоДействий(ДеревоДействий);
ЭтаФорма.Закрыть();

КонецПроцедуры

//---=== ## Dimma Begin 19.08.09 ===---
Функция ПредварительноОбработатьДеревоДействий(мДеревоДействий)
Если НЕ ПравоДоступа("ИнтерактивноеОткрытиеВнешнихОбработок",Метаданные) ИЛИ НЕ ПравоДоступа("ИнтерактивноеОткрытиеВнешнихОтчетов",Метаданные) Тогда
ПроверитьНаПрава(мДеревоДействий.Строки);
КонецЕсли;
Возврат мДеревоДействий;
КонецФункции

Функция ПроверитьНаПрава(СтрокиДерева)

МассивСтрокКУдалению = Новый Массив;

Для каждого Строка Из СтрокиДерева Цикл
ПроверитьНаПрава(Строка.Строки); // Проверяем рекурсивно
Если НЕ ПравоДоступа("ИнтерактивноеОткрытиеВнешнихОбработок",Метаданные) И Найти(Строка.ВыполняемыйКод,"ОткрытьВнешниюОбработку")>0 Тогда
МассивСтрокКУдалению.Добавить(Строка);
ИначеЕсли НЕ ПравоДоступа("ИнтерактивноеОткрытиеВнешнихОтчетов",Метаданные) И Найти(Строка.ВыполняемыйКод,"ОткрытьВнешнийОтчет")>0 Тогда
МассивСтрокКУдалению.Добавить(Строка);
КонецЕсли;
КонецЦикла;

Для каждого Элемент Из МассивСтрокКУдалению Цикл
СтрокиДерева.Удалить(Элемент);
КонецЦикла;

КонецФункции
//---=== ## Dimma End 19.08.09 ===---
Evg-Lylyk; +1 Ответить
50. Erne100 (Erne100) 27.08.09 00:43
А с регистрами накопления по прежнему не дружит ? В общем списке
(Рис. 5563) открыть не смог (в БП1.6.17.4 и КА1.0.2.1).С первой закладки всё О.К.
51. Станислав Турчинский (Istur) 27.08.09 02:32
Супер, просто супер. (19) Передо мной стояла аналогичная задача, тож пользователи задолбали. Это обработка сэкономила мне дофига времени, спасибо большое)))
52. Евгений Люлюк (Evg-Lylyk) 27.08.09 10:27
(50) Проверю, исправлю седня
(51) Спасибо :)
53. Сергей Лунев (luns) 27.08.09 20:46
А чего она умеет, чего не умеет типовая? )))))))))))))))))))))))))))
54. Евгений Люлюк (Evg-Lylyk) 28.08.09 01:21
(53) это к чему?
1.8. Исправил ошибку при открытии регистров накопления из закладки конфигураци
55. Valentin Yakovlev (IOL) 10.09.09 10:15
1. Ошибка при открытии внешнего отчета, т.е. добавляется нормально, при открытии ошибка
2. Не плохо было бы добавить вызов и справочника "Внешние отчеты".
56. Евгений Люлюк (Evg-Lylyk) 10.09.09 11:59
(55)
п.1. проверил работает может что с отчетов
п.2. пока нет времени
57. Сергей Александров (lukas) 10.10.09 13:39
Код прописал, обработку добавил. При запуске 1С Предприятия автоматом не грузится почему-то, руками запускается. Если убрать галку Запускать при старте - потом перестает запускаться вообще... В чем может быть причина?
58. Евгений Люлюк (Evg-Lylyk) 10.10.09 13:46
(57) Проверьте под отладкой скорее всего ошибка в попытке
59. Маргарита (margosha80) 14.11.09 22:38
Обработка отличная. Вопрос. А почему нельзя сделать загрузку при открытии 1С как панель функций?
60. Евгений Люлюк (Evg-Lylyk) 15.11.09 15:46
(59) Такова 1С. Запуск ПанелиФункций задан в конфигурации.
Надо изменять конфигурацию :

В описании написано

Для запуска обработки у каждого пользователя при старте системы (присутствует галка "Открывать при старте"):
В "Модуль приложения" процедуру "ПриНачалеРаботыСистемы" добавить след. код:
//Запуск панели пользователя

Попытка
ПанельПользователя = ВнешниеОбработки.Создать(ИмяФайлаОбработки);
ФормаПанелиПользователя = ПанельПользователя.ПолучитьФорму();
ФормаПанелиПользователя.Открыть();

Исключение

КонецПопытки
61. Евгений Люлюк (Evg-Lylyk) 15.11.09 15:48
(57) "Если убрать галку Запускать при старте - потом перестает запускаться вообще... В чем может быть причина?"
Да это можно сказать недоработка
Сохранились настройки что пользователь не желает запускать
Выход: Убить настройки.
62. Маргарита (margosha80) 15.11.09 17:50
Вот еще какой вопрос есть. В обработке есть возможность добавления внешних обработок, но когда я пытаюсь ее запустить выдает вот такую ошибку:
Ошибка открытия внешнего отчета: (адрес с именем отчета)
63. Евгений Люлюк (Evg-Lylyk) 15.11.09 23:52
64. Дмитрий (sommid) 08.04.10 14:25
все интуитивно понятно и удобно. для непривередливых юзеров и ненавернутых интерфейсов сама то. спасибо.
65. Астамур Гонджуа (astick) 18.05.10 18:45
Спасибо!:) Клёво! Первая панель, которой я пользуюсь:)
66. Mike Gor (mgor) 30.08.10 17:00
Супер!
Симпатично и лаконично.
Единственное, чего не хватает - так это "Бизнес-процессов" и "Задач".
(в последних типовых уже часто используется, например "Задачи пользователя"
67. Евгений Люлюк (Evg-Lylyk) 30.08.10 20:17
(66) Спасибо. Извините нет желания доделывать (хотя это легко).
68. Николай Клементьев (Rusmus) 23.09.10 10:38
ИМХО, в форме "Редактирование интерфейса" лучше сделать кнопку "СохранитьИзменения" кнопкой по-умолчанию. Тогда форму можно будет быстро закрывать по Ctrl+Enter.

UPD. И на открытие формы настройки неплохо было бы горячую клавишу настроить.
PS. Версия 1.9.
69. Евгений Люлюк (Evg-Lylyk) 23.09.10 11:44
70. Герман (German) 13.11.10 09:41
А как же такие эл. конфигурации как:
Произволные отчеты;
Внешние отчеты;
Внешние обработки;

+ отчеты лучше запускать с выбранной настройкой


71. Евгений Люлюк (Evg-Lylyk) 13.11.10 10:59
(70) Да надо доделать. В ближ.время
72. Герман (German) 08.02.11 17:58
(71) не дождался :(
поэтому функцию ДобавитьСписокМетаданных формы РедактированиеИнтерфейса
дополняем след кодом

//  8 февраля 2011 г. 14:28:02 вывод произвольных отчетов
	Если 	Не ФлПервые
			И ИмяКоллекции = "Отчеты"
			И Не Метаданные.Справочники.Найти("ПроизвольныеОтчеты") = Неопределено Тогда
			ПроизвольныйОтчет = Справочники.ПроизвольныеОтчеты.Выбрать();
			Пока ПроизвольныйОтчет.Следующий() Цикл
				НоваяСтрока = СтрокаПриемник.Строки.Добавить();
				НоваяСтрока.Действие 		= ПроизвольныйОтчет.Наименование;
				НоваяСтрока.НомерКартинки 	= СтрокаПриемник.НомерКартинки;
				//формируем строку вызова
				Ссылка = СтрЗаменить(ЗначениевСтрокуВнутр(ПроизвольныйОтчет.Ссылка),"""","""""");
				НоваяСтрока.ВыполняемыйКод 	= "
				|ПроизвольныйОтчетСсылка    = ЗначениеИзСтрокиВнутр("""+Ссылка+""");
				|ОтчетОбъект 				= Отчеты.ПроизвольныйОтчет.Создать();
				|ОтчетОбъект.УстановитьПроизвольныйОтчет(ПроизвольныйОтчетСсылка, Неопределено);
				|Форма = ОтчетОбъект.ПолучитьФорму(,, ПроизвольныйОтчетСсылка);
				|Форма.Открыть();";

			КонецЦикла;	
	КонецЕсли;		
	//  8 февраля 2011 г. 14:33:53
...Показать Скрыть
73. Евгений Люлюк (Evg-Lylyk) 08.02.11 19:00
(72) Спасибо добавлю... просто нет времени на этот проект
74. Евгений Люлюк (Evg-Lylyk) 12.02.11 14:33
версия 2.0
Добавил:
Доп. отчеты
Доп. обработки
добавил версию под 8.2 (в дальнейшем доделывать буду только в ней)
75. Ю М (mtv:)) 15.03.11 08:29
Спасибо за обработку! Перебрал кучу похожих, но остановился на Вашей. Просто и со вкусом, и ничего лишнего.
76. Андрей Иванов (Aydrey) 08.11.11 16:06
Большое спасибо. простой и ничего лишнего. спасибо за сэкономленное время.
78. Алис Кот (Alis95) 01.10.12 14:58
Спасибо за обрабоку, замучался лазить за отчётами. Теперь всё будет под рукой.
79. Александр *** (a1ex4ndr) 18.02.15 16:00
(72) German,
поэтому функцию ДобавитьСписокМетаданных формы РедактированиеИнтерфейса
дополняем след кодом

//  8 февраля 2011 г. 14:28:02 вывод произвольных отчетов
    Если     Не ФлПервые
            И ИмяКоллекции = "Отчеты"
            И Не Метаданные.Справочники.Найти("ПроизвольныеОтчеты") = Неопределено Тогда
            ПроизвольныйОтчет = Справочники.ПроизвольныеОтчеты.Выбрать();
            Пока ПроизвольныйОтчет.Следующий() Цикл
                НоваяСтрока = СтрокаПриемник.Строки.Добавить();
                НоваяСтрока.Действие         = ПроизвольныйОтчет.Наименование;
                НоваяСтрока.НомерКартинки     = СтрокаПриемник.НомерКартинки;
                //формируем строку вызова
                Ссылка = СтрЗаменить(ЗначениевСтрокуВнутр(ПроизвольныйОтчет.Ссылка),"""","""""");
                НоваяСтрока.ВыполняемыйКод     = "
                |ПроизвольныйОтчетСсылка    = ЗначениеИзСтрокиВнутр("""+Ссылка+""");
                |ОтчетОбъект                 = Отчеты.ПроизвольныйОтчет.Создать();
                |ОтчетОбъект.УстановитьПроизвольныйОтчет(ПроизвольныйОтчетСсылка, Неопределено);
                |Форма = ОтчетОбъект.ПолучитьФорму(,, ПроизвольныйОтчетСсылка);
                |Форма.Открыть();";

            КонецЦикла;    
    КонецЕсли;        
    //  8 февраля 2011 г. 14:33:53
...Показать Скрыть



в сообщении
боролись с любыми обработками

Функция ПроверитьНаПрава(СтрокиДерева) 

 МассивСтрокКУдалению = Новый Массив; 

 Для каждого Строка Из СтрокиДерева Цикл 
 ПроверитьНаПрава(Строка.Строки); // Проверяем рекурсивно 
 Если НЕ ПравоДоступа("ИнтерактивноеОткрытиеВнешнихОбработок",Метаданные) И Найти(Строка.ВыполняемыйКод,"ОткрытьВнешниюОбработку")>0 Тогда 
 МассивСтрокКУдалению.Добавить(Строка); 
 ИначеЕсли НЕ ПравоДоступа("ИнтерактивноеОткрытиеВнешнихОтчетов",Метаданные) И Найти(Строка.ВыполняемыйКод,"ОткрытьВнешнийОтчет")>0 Тогда 
 МассивСтрокКУдалению.Добавить(Строка); 
 КонецЕсли; 
 КонецЦикла; 

 Для каждого Элемент Из МассивСтрокКУдалению Цикл 
 СтрокиДерева.Удалить(Элемент); 
 КонецЦикла; 

КонецФункции
...Показать Скрыть


а сейчас опять любых добавить? только отчетов...
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа