Рабочий стол администратора/программиста на управляемой форме

Обработки - Универсальные обработки

Рабочий стол администратора программиста Управляемые внешние обработки запуск под имени пользователя

231
Рабочий стол администратора 1С позволяет: - Производить быструю навигацию по объектам конфигурации - Открывать любую форму, определенную для объекта - Подключать произвольное количество каталогов с внешними обработками - Производить быстрый поиск среди объектов конфигурации и подключенных внешних обработок - Запускать систему 1С от имени другого пользователя с временной заменой пароля или без - Открывать универсальный динамический список для выбранного объекта конфигурации - Добавлять часто используемые объекты в Избранное, видеть и повторять последние совершенные действия через Историю. Обработка совместима с "Такси" без модальных окон и имеет поддержку английского языка.

 

Обновление от 08.09.18 : Исключены синхронные вызовы при работе с подключаемыми каталогами, внешними файлами и при открытии файлов, добавленных в "избранное". Ранее, для сохранения совместимости с платформами до версии 8.3.3, в попытке-исключении проверялась возможность вызова асинхронных методов, а в случае исключения производился вызов их синхронных аналогов. Для рекурсивной работы с подключаемыми каталогами это поведение реализовано не было и использовались синхронные вызовы. Теперь для упрощения кода и ввиду того, что с выхода 8.3.3 прошло уже 5 лет, используются исключительно асинхронные вызовы.


 

При создании этой обработки основной идеей было обеспечить быстрое открытие любой формы любого объекта конфигурации в больших базах, вроде УПП/ERP, и быстрое открытие часто используемых внешних обработок. За каждую функциональную часть отвечает отдельная вкладка, выше которых располагается строка поиска, позволяющая производить нечувствительный к раскладке и регистру поиск.


Навигация по объектам конфигурации

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

При выборе класса становится видимой таблица, содержащая все относящиеся к нему объекты базы данных. Каждый объект представлен в таблице его именем и синонимом. По двойному клику на объекте открывается его основная форма списка. Для констант предусмотрена специальная форма редактирования:

 

 

 

 

Открытие произвольной формы

В процессе разработки бывает необходимо открывать произвольную форму, заданную для объекта конфигурации. Это можно сделать из контекстного меню таблицы объектов выбрав команду "Открыть произвольную форму".


Избранное

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

Из списка избранного также можно открывать произвольную форму объекта или его основную форму списка (по двойному клику):


 

 

История и список недавно выбранных объектов

Действия, выполненные на вкладках "Объекты базы данных" и "Внешние файлы", помещаются в панель истории. По двойному клику на элементе в этом списке действие повторяется.

Также список недавно использованных объектов, относящихся к выбранному классу, помещается в панель "Недавние", это что-то среднее между избранным и историей:


 


Подключение внешних файлов с возможностью открытия в 1С или средствами операционной системы
 

На вкладке "Внешние файлы" можно подключить произвольное число каталогов с внешними файлами. Список каталогов будет запоминаться и заново подгружается при следующем открытии обработки.

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

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


 

 

Поиск среди объектов конфигурации и подключенных файлов

Вверху находится строка поиска, на который навешана обработка автозаполнения. Когда вы набираете текст и делаете паузу производится поиск среди объектов конфигурации и подключенных внешних файлов. Объекты ищутся по вхождению заданного текста в имя объекта, его синоним или имя файла.

Поиск не только регистронезависимый, но и нечувствительный к раскладке клавиатуры. Вы можете искать справочник "Организации" не только набрав это слово, но и напечатав "jhufybpfw". Это экономит не столько время, сколько ценные нервные клетки :)

Если из выпадающего списка выбрать нужный объект, то произойдет переключение на нужную вкладку (объектов или файлов) и выделение строки с этим объектом. По кнопке открытия (с лупой) будет произведен повторный поиск по заданному тексту. Кнопка выбора позволяет обратиться к истории поиска и выбрать одну из строк, по которой вы производили поиск раньше:

 

 


Запуск 1С от имени другого пользователя

Идея подсмотрена вот в этой обработке  //infostart.ru/public/237192/, подходящей только для толстого клиента. Постарался сделать интерфейс более дружественным и реализовать его на управляемой форме.

Здесь вы имеете возможность запускать от имени другого пользователя клиента того же вида, в котором работает обработка. При этом если пароль неизвестен, то на время запуска его можно подменить. Спустя заданное количество секунд пароль будет автоматически восстановлен. При запуске текущий хэш пароля пользователя будет автоматически помещен в буфер обмена.

Если приложение-клиент, в котором работает обработка, уже подключен к конфигуратору как предмет отладки, то новый сеанс автоматически подключится как предмет отладки. Это стоит учитывать, если вы запускаете 1С от имени другого пользователя чтобы отладить код под ним:

 

 


Универсальный динамический список

Универсальный динамический список позволяет формировать форму списка для любого объекта конфигурации со всеми стандартными командами формы списка управляемой формы. Позволяет выбирать для просмотра любые реквизиты основной таблицы объекта. Порядок и состав отображаемых реквизитов можно определить на вкладке "Выбранные поля". В "Такси" и обычном приложении вкладка "Отбор" бесполезна, но в управляемом приложении 8.2 она позволяет проводить отбор по реквизитам табличных частей.

Ссылку выбранной строки можно добавить в избранное или открыть в любой определенной для ее метаданных форме:


 

Настройки

Наверное никто не любит возиться с настройками :) Менять их вовсе не обязательно, но они могут быть полезны.

В настройках можно указать необходимость менять заголовок основного окна 1С при запуске рабочего стола, скрыть панели "Избранное", "История", "Недавние", если нужно сэкономить место на экране. Флаг "Спрашивать перед закрытием" может спасти от случайного нажатия клавиши Esc и закрытия рабочего стола.

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

 

 

Как использовать обработку в качестве рабочего стола в 1С?
 

Для использования в режиме рабочего стола обработку нужно включить в состав конфигурации и затем прописать программно ее автозапуск. В управляемом приложении можно просто вынести форму обработки в область стандартного рабочего стола (в этом случае копка "Закрыть" рядом со строкой поиска перестанет работать).

Если права на автозапуск будут только у администратора, то чтобы у других пользователей не возникали ошибки при запуске системы, можно обернуть открытие формы обработки в попытку-исключение:

 

Процедура ПриНачалеРаботыСистемы()

    // ......................
    // ......................

    #Если НЕ ВебКлиент Тогда

    Попытка
        ОткрытьФорму("Обработка.AdministratorsWorkspace.Форма");
    Исключение
    КонецПопытки;

    #КонецЕсли

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

 

231

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

Наименование Файл Версия Размер
AdministratorsWorkspace.epf
.epf 40,25Kb
10.12.13
597
.epf 3 40,25Kb 597 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. Aleksey.Bochkov 3034 10.12.13 11:27 Сейчас в теме
(0) Обработка однозначно полезная.
Мелкое замечание - двуязычность сделана неудачно.
Все-таки лучше использовать типовые средства для локализации строк (НСтр) и интерфейсов (синонимы на разных языках).
Сейчас открываешь обработку в английской конфигурации - а там каша в интерфейсе.

Если не секрет - почему код на английском? :)
2. VladimirL 837 10.12.13 13:05 Сейчас в теме
(1)
Все-таки лучше использовать типовые средства для локализации строк (НСтр) и интерфейсов

Да, применение НСтр было бы лучше. Руки переписать пока не дошли, но потом обязательно доработаю.

Сейчас открываешь обработку в английской конфигурации - а там каша в интерфейсе.

Уточните пожалуйста, в чем именно каша? Такого быть не должно, проверял на нескольких разных конфигурациях и на разных версиях платформы.

Если не секрет - почему код на английском?

Честное слово, я свято чту традиции "низкого порога вхождения" в программирование на 1С и для бухгалтеров всегда пишу на русском :) Но 1С вроде бы начинает заявлять о себе, как о международном решении. Может стоит хотя бы начать тренироваться писать код, понятный людям, живущим за пределами РФ и Узбекистана? :) В чем была бы ценность Java или C++ если бы весь код для них был написан на украинском?


Спасибо за замечания, а то смотрю люди качают, а пожеланий по доработке не высказывают.
3. Aleksey.Bochkov 3034 10.12.13 13:31 Сейчас в теме
4. VladimirL 837 10.12.13 15:54 Сейчас в теме
(3)
Еще раз спасибо, что начали копать в этом направлении. Исправил и загрузил новый файл.
Еще добавил иногда нужную возможность задавать ключи командной строки при запуске 1С:Предприятия от имени пользователя (см. картинку)
Прикрепленные файлы:
5. rasswet 82 11.12.13 08:59 Сейчас в теме
благодарю! мощная вещь! планирую использовать особенно для поиска. Многие отчеты,коих уже под сотню в конфигураторе и в синониме называются по разному, пока найдешь-замучаешься, а тут удобно ищет и в синониме и и так. респект!
7. VladimirL 837 11.12.13 09:12 Сейчас в теме
(5) Пользователь для запуска на третьей вкладке также ищется по имени и по полному имени. Удобно когда известно только имя, фамилия или отчество. Забыл отметить это в описании.
для внешних файлов можно выводить отдельным столбцом время изменения? сделать сортировку по этом времени

Учту при доработке. Сортировки по времени изменения уже самому не хватает.
6. rasswet 82 11.12.13 09:02 Сейчас в теме
для внешних файлов можно выводить отдельным столбцом время изменения? сделать сортировку по этом времени.
RobCom; VladimirL; +2 Ответить
8. SYSokolov 11.12.13 10:55 Сейчас в теме
Отличный продукт. Еще бы возможность комментарии дописывать к подключенным внешним файлам и папкам, т.к. иногда одного имени файла недостаточно
9. VladimirL 837 11.12.13 11:21 Сейчас в теме
(8)
Еще бы возможность комментарии дописывать к подключенным внешним файлам и папкам

Вопрос в том, где их сохранять. Содержимое каталогов с файлами может меняться и оно перечитывается при обновлении списка. Сейчас в хранилище настроек сохраняются только пути к подключенным каталогам верхнего уровня.

Можно сохранять комментарии к файлам в хранилище только если они были изменены, а в качестве ключа использовать полный путь к файлу. По идее это не превратит хранилище в мусорку, но проверку сохраненного значения придется все равно делать для каждого файла из списка. Это может заметно тормозить обновление списка файлов, особенно когда их несколько сотен.
10. rus128 2 11.12.13 15:29 Сейчас в теме
(9) а в текстовом csv-файле (по аналогии с descript.ion) в каждой папке? Имя файла - ключ, за ним через ";" - комментарий.
VladimirL; +1 Ответить
11. VladimirL 837 11.12.13 17:15 Сейчас в теме
(10) Это вариант. Достаточно даже одного файла в корне, чтобы не захламлять лишними файлами каталоги. Еще можно в сохраняемом реквизите формы (списке значений) держать соответствие полного пути к файлу (значения) комментарию (представлению). И удалять элементы из реквизита-списка, если при обновлении списка файлов не обнаружен файл с сохраненным путем. Оба способа позволят хранить комментарий не вызывая сильных тормозов при обновлении списка.
12. rayastar 76 11.12.13 20:02 Сейчас в теме
очень простая и функциональная вещь. давно просилась. +
13. Den_D 51 12.12.13 12:22 Сейчас в теме
Если бы было можно я бы больше плюсов поставил!
14. zelevova 12.12.13 14:33 Сейчас в теме
Круто. Жалко что только на управляемых формах. Есть еще в арсенале несколько старых конфигураций.
Спасибо.
15. mulla1979 8 13.12.13 14:45 Сейчас в теме
Отличная разработка! Респект автору!!!
16. Avatar 16.12.13 02:32 Сейчас в теме
17. Flashback1979SE 16.12.13 09:01 Сейчас в теме
18. bayce 24 19.12.13 01:35 Сейчас в теме
А на сколько это правильно запускать что либо от имени другого пользователя?
Не уменьшает ли это доверие пользователей к системе???
19. ikekoval 90 19.12.13 09:42 Сейчас в теме
(18) bayce, Имея права администратора ты и так можешь всегда запустить приложение от имени любого пользователя, просто тут это автоматизированно.
Обработка прекрасна! Выкачал бы ее на все sm, если бы работал на УФ =(
20. bayce 24 19.12.13 12:41 Сейчас в теме
добрый день!
Запуская приложения от имени любого пользователя имея права администратора, ты же должен сбрасывать пароли, и пользователи поймут, что кто то заходил под их именем.
Здесь же на сколько я понял ты пароль не сбрасываешь?
21. Dzenn 273 20.12.13 13:36 Сейчас в теме
Шикарная вещь, спасибо. Я бы за такую денег брал, рублей 100 хотя бы
22. VladimirL 837 20.12.13 16:53 Сейчас в теме
(21) На Инфостарте в свободном доступе есть и более полезные для повседневной работы вещи. Если каждый начнет требовать копейку за мелкую разработку, то мы больше потеряем, чем приобретем. Гораздо важнее отзывы, помогающие найти и устранить ошибки.
the1; mikl79; +2 Ответить
23. Dzenn 273 20.12.13 16:59 Сейчас в теме
(22) другими словами, она очень полезная и приятная)
24. brunet 40 20.12.13 17:01 Сейчас в теме
Спасибо. Очень удобно использовать в управляемых формах.
25. AllexSoft 20.12.13 17:11 Сейчас в теме
Спасибо! Круто... за гифки в статье особое спасибо
26. gull22 84 25.12.13 18:11 Сейчас в теме
Перешел на УФ, даже не надеялся найти нечто подобное. Огромное спасибо автору.
27. gull22 84 25.12.13 18:32 Сейчас в теме
Вопрос. Заполнил закладку "Внешние файлы" по каталогам, часть внешних файлов удалил за ненадобностью через кнопку "Удалить", в настройках поставил галку для кнопки "Обновить". Нажал ее и вернул удаленные внешние файлы. Предлагаю подумать о сохранении списка на этой закладке при повторных открытиях Вашей обработки.
28. VladimirL 837 26.12.13 02:31 Сейчас в теме
(27) Надо будет подумать. Вкладка "Внешние файлы" предусматривалась как быстрый аналог команды "Файл -> Открыть" и сейчас предполагает работу с каталогами, в которых находятся только файлы-инструменты для повседневной работы. Если сделать возможность убирать из списка файлы так, чтобы при обновлении списка они не добавлялись снова, то придется предусматривать и функцию возврата этих файлов в список.
29. gull22 84 26.12.13 11:45 Сейчас в теме
Как говорится, гулять так гулять!
В БП 3.0 в динамическом списке при выборе документов нельзя установить видимость поля = Комментарий. Желательно это поле видеть.
Если будете развивать свой проект хотелось бы видеть не только документ но и его движения (как это реализовано http://infostart.ru/public/15317/)
Успехов в работы для нашего счастья :)
30. VladimirL 837 26.12.13 13:04 Сейчас в теме
(29) Значит поле "Комментарий" - это строка неограниченной длины.

Скрытие поля "комментарий" в данный момент - техническая необходимость. Дело в том, что этот универсальный список изначально предназначался только для того, чтобы иметь возможность проводить отборы по реквизитам табличных частей. Для проведения отборов по реквизитам табличных частей в запросе динамического списка приходится проводить группировку по реквизитам основной таблицы, а группировка по полям неограниченной длины невозможна.

Метод кстати очень интересный и описан здесь: http://infostart.ru/public/237017/. К сожалению этот метод не позволяет устанавливать отборы при работе в обычном интерфейсе и интерфейсе "Такси" на 8.3. А комментарий видеть очень хочется, в этом Вы правы :) Поэтому при доработке либо придется отказаться от отборов по реквизитам ТЧ, либо дать возможность пользователю выбирать, хочет он видеть реквизиты неограниченной длины, либо проводить такие отборы.


Спасибо за предложения по развитию обработки. Надеюсь, что в ближайшие дни появится на это время :)
37. krv2k 367 06.02.14 23:41 Сейчас в теме
(30)
Скрытие поля "комментарий" в данный момент - техническая необходимость. Дело в том, что этот универсальный список изначально предназначался только для того, чтобы иметь возможность проводить отборы по реквизитам табличных частей. Для проведения отборов по реквизитам табличных частей в запросе динамического списка приходится проводить группировку по реквизитам основной таблицы, а группировка по полям неограниченной длины невозможна.

Чтобы была возможность группировать по комментарию, в самом запросе приведите его к конечной длине, например:
ПОДСТРОКА(Документ.Комментарий, 1, 1000)


К сожалению этот метод не позволяет устанавливать отборы при работе в обычном интерфейсе и интерфейсе "Такси" на 8.3.

В 8.3 отбор по ТЧ встроен в платформу, ничего дописывать не нужно.
31. dufrein 15.01.14 16:52 Сейчас в теме
Огромное спасибо, ценная обработка
33. dufrein 16.01.14 14:52 Сейчас в теме
Спасибо, статья оформлена на ура
34. break 29 17.01.14 11:04 Сейчас в теме
здоровская, понравилась!
35. break 29 17.01.14 11:37 Сейчас в теме
только не хватает отображения отчетов и обработок по справочнику "Внешние отчеты и обработки"
36. dufrein 17.01.14 15:43 Сейчас в теме
Для УПП 1.3 не подходит, пытается открыться, затем ничего не происходит(
38. softgarant 56 10.04.14 20:19 Сейчас в теме
Кто то что то похожее под обычные формы видел?
39. ks2003 18.04.14 11:53 Сейчас в теме
40. mikhailovaew 126 05.05.14 14:00 Сейчас в теме
запомню публикацию на будущее) надеюсь, автор не планирует забирать обработку из бесплатного доступа
41. kenza 14.01.15 13:36 Сейчас в теме
После обновления версии платформы до 8.3.5 стала зависать намертво при попытке входа под другим пользователем. До этого работала как часы. Не подскажете в чем может быть проблема? Управляемые формы, конфигурация не типовая.
42. kenza 20.01.15 10:52 Сейчас в теме
Вопрос, снят. По всей видимости проблема в самой базе ( Буду делать тестирование и исправление, может поможет
43. sword444 148 08.02.15 12:11 Сейчас в теме
Автор спасибо за инструмент
44. jacknk 1 08.03.17 19:09 Сейчас в теме
Изменение раскладки через COMОбъект реализовали?
45. sertak 60 18.05.18 11:01 Сейчас в теме
Спасибо, удобная замена команде Все функции.
user695684_EGOLEGE; +1 Ответить
46. leosoft 128 19.05.18 12:08 Сейчас в теме
Скачал, спасибо. Не понял - что нового в версии отт 18.05.2018?

Заметил проблемку - выставил группировку по регистру накопления,
при выборе другого регистра группировка осталась? Но это ничего,
а при выборе другого регистра, у которого нет такого реквизита прошел
вылет по ошибке.
47. VladimirL 837 20.05.18 20:29 Сейчас в теме
(46) В обновлении только другая строка запуска 1С под пользователем. И в обработчике "ПриЗакрытии" нет обращений к серверу, если происходит закрытие всего предложения. Не стал обозначать эти незначительные изменения в публикации, просто заменил файл.
49. Alexsur 89 24.05.18 22:19 Сейчас в теме
50. Hans 102 05.06.18 14:40 Сейчас в теме
Зачем обфускацию кода на английском сделал?
51. VladimirL 837 05.06.18 20:32 Сейчас в теме
(50) Надо было на немецком? "Универсальные" инструменты с открытым исходным кодом, написанные на языке отличном от английского, являются псевдоуниверсальными. Особенно если созданы для IT-специалистов, а не бухгалтеров ))
52. Hans 102 06.06.18 08:03 Сейчас в теме
(51) кто твою обработку будет качать кроме как с СНГ? 99.99% кода 1С это код на русском, что конфигурации что поделки.
53. VladimirL 837 06.06.18 10:12 Сейчас в теме
(52) Хотелось бы изменить описанную Вами ситуацию. Помимо Инфостарта есть еще GitHub, GitLab и т.д. Также рекомендую следить за тенденциями и действиями фирмы 1С: https://hh.ru/employer/3271505.
Оставьте свое сообщение