Универсальное настраиваемое рабочее место (Версия 2.0)










При работе очень часто штатные интерфейсы 1С бывают неудобны в силу разной специфики работы каждого пользователя, а также конфигурация обычно «обрастает» новыми обработками, отчетами, документами и справочниками, которые требуются для работы организации, а в стандартных меню их, естественно, нет. Это особенно относится к толстому клиенту (например, программы УПП, УТ10.3 и пр.). Делать свои интерфейсы — не всегда спасает: то, что нужно одному пользователю, другому совершенно не надо, даже если у них одинаковые функциональные обязанности. Открывать все через меню «Операции» тоже неудобно: у нас, например, за несколько лет работы добавилось столько нового и специфичного, что уже и не помнишь, что и для чего. Поэтому родилась идея сделать что-то удобное и универсальное, что и получилось в результате: пользователь сам, не прибегая к помощи программиста, может сделать удобное меню для себя и всегда изменить, если требуется. И без всяких изменений конфигурации…

Предлагаемая обработка для запуска позволяет:

  1. Выбрать любые элементы, существующие в конфигурации (можно выбрать все или искать по части наименования)
    • — Справочники
    • — Документы
    • — Отчеты
    • — Обработки
    • — Регистры сведений
    • — Регистры накопления
    • — Бизнесс процессы
    • — Задачи
    • — Внешние обработки (для УПП, УТ10.3 и подобных, где есть соответств. для этого справочник внешних обработок)
    • — Внешние отчеты (для УПП, УТ10.3 и подобных,  где есть соответств. для этого справочник внешних обработок)
  2. Изменить название объекта на рабочем месте при необходимости (на РМ это гиперссылка с открытием соответствующего списка или обработки (отчета)).
  3. Добавить комментарий при необходимости, если нужно какое-то пояснение для команды.
  4. Все нужные объекты сгруппировать до 5-ти колонок.  Назвать каждую можно произвольно.
  5. Все команды можно логически объединить в какие-то группы, и группы выделяются в рамку.
  6. Каждый пользователь может настроить список команд  для себя индивидуально, а пользователь с админскими правами может легко перекинуть это рабочее место другому пользователю.  Далее каждое место можно дорабатывать индивидуально.
  7. Работает в толстом клиенте (в режиме управляемых форм — их использование обычно включено) и в тонком клиенте.  
  8. При первом использовании — написан небольшой HELP

 

 

    Добавления изменения , в версии 2.0
  1.  Организована работа со вкладками ( также любое произвольное количество, на каждой свой набор команд)
  2. Если ставить в настройке на закладке "Запускать по умолчанию" — то эта закладка будет активной при загрузке. Если не ставить — то будет запускаться с последней открытой закладки.
  3.  Сделана возможность, у кого уже стоит первая версия — перенести старые команды на какую-то вкладку.
  4. Организован перенос команды между вкладками ( в тот же столбик).
  5. Организован перенос команды между группами (столбиками) внутри одной вкладки.
  6. Для стандартных версий, где отчеты используют универсальный отчет и хранят настройки в регистре сведений "Сохраненные настройки"  ( это для толстого клиента программы УПП 1.3,  УТ10.3, Комплексная автоматизация и другие подобные) добавлена возможность открытия отчетов с заранее сохраненными настройками.
 
 
 
Для реализации данного функционала созданы справочник и обработка, поэтому оформлено в виде конфигурации.
 
Для добавления в свою конфигурацию надо:
  1. В режиме конфигуратора в своей базе выбрать "Сравнить, объединить с конфигурацией из файла", выбрать скачанный файл.
  2. В открывшемся окне снять все галочки.
  3. Внизу окна выбрать:  Действия -> Отметить по подсистемам файла.
  4. Выбрать подсистему  "РМ_Рабочее место" и нажать "Установить".
  5. Вручную установить галочку в ветке Общие -> Подсистемы  у подсистемы  "РМ_Рабочее место".
  6. Проверить, стобы НЕ СТОЯЛА галочка у справочника "Пользователи", у параметра сеанса "ТекущийПользователь" — эти объекты обычно есть в конфигурации и заменять их не надо. (если Вы правильно поставили фильтр по подсистеме — то так и будет).
  7. По кнопке "Выполнить" обновите конфигурацию.
  8. Дайте права на добавленную обработку и справочник всем пользователям, кто будет использовать рабочее место.
 
Если используете в толстом клиенте, то можно сделать чтобы запускалась обработка при старте системы, вставив код в обработчике "ПриНачалеРаботыСистемы" в модуле обычного приложения:
 
Форма = Обработки.РМ_УниверсальноеРМ.ПолучитьФорму("Форма");
Форма.Открыть();
 
Если в тонком клиенте — то надо добавить форму на рабочую область начальной страницы
 
 
Обработка использует станадартные объекты (которые обычно есть в стандарных конфигурациях):
  1. Справочник "Пользователи"
  2. Параметры сеанса "ТекущийПользователь"
  3. Роль "ПолныеПрава"
  4. Элемент стиля "ШрифтВажнойНадписи"

Если конфигурация самописная и эти объекты называются по другому — то надо будет просто исправить ссылки. 

 

Если у пользователя нет полных прав, то у него в меню "Все действия" доступны только команды "Настроить для текущего пользователя" и "Обновить".  По первой он попадает в справочник Настройки, где не может изменить пользователя, и соответственно может настроить команды только для себя. После изменения настроек — надо обновить рабочее место. Если есть полные права — то появляется еще одна кнопка "Настройка всех пользователей", где уже можно делать настройки любому пользователю. Копирование справочника и соответственно изменение пользователя — приведет к копированию созданных настроек между пользователями. Для удобства — справочник иерархический для объединения в группы (например, администраторы, бухгалтеры и пр.)

29 Comments

  1. MherArsh

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

    Reply
  2. yuraskid

    Да вроде в описании я писал:

    7. Работает в толстом клиенте (в режиме управляемых форм — их использование обычно включено) и в тонком клиенте.

    Reply
  3. fxfan

    Очень интересно!

    А можно ли сделать несколько страниц, если много пунктов меню и долго искать на всем поле (чтобы следовать правилу 7+-2 — столько альтернатив на каждом шаге выбора)?

    И как быть, если надо перейти к стандартному интерфейсу за объектом, который не вынесен в это рабочее место?

    Reply
  4. yuraskid

    (3) fxfan,

    Если интересно — доработаю чтобы было несколько страниц (сделаю обновление) — просто сделано «для себя» и пока хватало.

    По второму вопросу — все стандартные интерфейсы работают как и работали, переключение между формами как обычно внизу в панели окон (на принт-скрине я наверное обрезал эту панель зря).

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

    Reply
  5. irenk2006

    Здравствуйте! Как понять, работает ли обработка в КА в толстом клиенте? Желательно скриншоты и описание для толстого клиента.

    Reply
  6. yuraskid

    В комплексной автоматизации работает нормально. (проверил на версии 1.1 — это толстый клиент.)

    Изначально я и делал как раз для толстого клиента — для УПП, по структуре они похожи.

    Но сама обработка сделана на управляемых формах ( в свойствах конфигурации должна стоять галочка у свойства «Использовать управляемые формы в толстом клиенте в обычном режиме» и свойство «Режим использования модальности» — Использовать.

    В КА так и стоит.

    Далее, чтобы можно было что-то добавить в конфигурацию — в настройке поддержки должна быть включена возможность изменения и у самой конфигурации и должно быть установлено свойство «Редактируется с сохранением поддержки» у самой конфигурации. У всех вложенных родных объектов если стоит «объект поставщика не редактируется» то лучше и не трогать.

    Это все в разделе «Конфигурация» —> «Поддержка» —> «Настройка поддержки»

    Далее все что надо сделать — есть в описании.

    Reply
  7. Светлый ум

    Солидно и бесплатно +1

    Reply
  8. Muxomop

    Делал для себя что-то подобное, но не такое универсальное. Однозначно +1

    Reply
  9. ivanov660

    Неплохо, думаю 1С в типовых когда-нибудь все же предложит наконец подобную вещицу.

    Reply
  10. ako

    Скажите, а работает ли данная обработка в УТ11.1?

    Reply
  11. yuraskid

    (10) ako,

    В УТ 11 работает, только в том виде Рабочего места что есть — не будут выбираться дополнительные внешние отчеты и обработки (там по другому организован этот справочник, а т.к. у меня нет УТ11 — я детально не разбирался с этим. Но думаю если это важно то можно с этим разобраться — ничего невозможного нет. 🙂 )

    В тонком клиенте желательно добавить эту обработку на рабочую область начальной страницы (рабочую область рабочего стола — так называется в 8.2) и не ставить галочку в настройках «Запрашивать подтверждение при выходе».

    Reply
  12. ako

    Как-то у меня не получается вообще увидеть эту обработку , хотя сделал все , как написано. В конфигурации есть, права раздал, а добавить не могу, не вижу ее.

    Reply
  13. ako

    Разобрался, как поместить на рабочий стол, но, при настройке для текущего пользователя, появляется сообщение {Справочник.РМ_МенюПользователя.Форма.ФормаЭлемента.Форма(54)}: Индекс находится за границами массива

    ИмяТаблицы = ГруппаСправочники.ПодчиненныеЭлементы[1].Имя;

    Reply
  14. yuraskid

    (12) ako,

    Для начала найдите её через меню «Все функции» в обработках — там называться она будет по синониму (должно быть «Универсальное рабочее место») По идее если она есть в конфигурации — то обязательно должна быть здесь.

    а чтобы добавить на рабочий стол — то прежде в конфигураторе выбрать раздел «Открыть рабочую область начальной страницы» — это правой кнопкой мыши, когда стоите на самой конфигурации. там найти обработку, дойти до формы и добавить в окно настройки.

    И возможно уже в пользовательском интерфейсе надо будет включать обработку — тут все штатно, как работает платформа.

    Reply
  15. yuraskid

    (13)

    Смогу посмотреть вечером что не так — но в УТ11 я проверял. Проанализирую ошибку — напишу.

    Reply
  16. ako

    Спасибо,а обработка, сама по себе, очень интересная.

    Reply
  17. yuraskid

    (13) ako,

    Посмотрел по ошибке — похоже Вы в форме что-то меняли или как-то криво обновилось. По этой строке кода форма получает имя таблицы внутри группы, и таблица является 2-м элементом формы. В форме имеются всего 5 групп и в каждой есть таблица.

    Не знаю как Вы обновляли — но попробуйте удалите справочник «РМ_МенюПользователя» и обновите конфигурацию снова чтобы он добавился в неизменном виде.

    Самый крайний вариант — вообще поставьте «Возврат» в начале процедуры «ИзменениеЗаголовкаГруппы» в форме справочника — просто названия закладок не будут отображать название группы, а сама функциональность РМ при этом сохранится.

    По всякому гоняю форму на УТ 11 — ни разу ошибка не появилась. и судя по коду и структуре формы что есть — и не должна. И больше никто не писал о проблемах.

    Reply
  18. ako

    Переустановил , все заработало. Спасибо! Правда ,при нажатии кнопки Добавить вылезает извещение, что использование модальных окон в данном режиме запрещено. Хотя форма заполняется и все работает.

    Reply
  19. 7OH

    Эм — не совсем то, что ожидалось.

    Хотелось бы иметь возможность открывать конкретный объект.

    Самый простой пример — конкретный отчет из «Внешние отчеты и обработки»

    Да и иногда конкретный справочникдокумент бы не помешал.



    Добавочка: нашел — выбирает из внешних отчетов и обработок 🙂 .

    Reply
  20. yuraskid

    (18) ako,

    Это у вас в свойствах конфигурации стоит свойство: Режим использования модальности: Использовать с предупреждениями

    Если будет стоять просто «Использовать» то предупреждений выдавать не будет.

    Reply
  21. ako

    (20) Спасибо еще раз за обработку и советы.

    Reply
  22. Дмитрий74Чел

    Идея не нова. Достаточно в поиске забить «рабочий стол» — будет десяток подобных статей. И некоторые кстати в виде внешних обработок, а не встраиваемых конфигураций.

    Reply
  23. vikki0805

    Запустила в КА 2.0, пришлось переписать вызов внешних отчетов и обработок, так как другое название справочника и видов объектов. Но в тонком клиенте не открываются, посмотрела ваш код по открытию, есть только под толстый клиент. Как быть? Или я чего-то недопонимаю?

    Reply
  24. yuraskid

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

    По необходимым видам объектов я писал что требуется:

    1. Справочник «Пользователи»

    2. Параметры сеанса «ТекущийПользователь»

    3. Роль «ПолныеПрава»

    4. Элемент стиля «ШрифтВажнойНадписи»

    В основных стандартных конфигурациях они есть — насчет КА 2.0 эту конфигурацию не видел, но неужели там другие объекты?

    в любом случае — давайте я гляну эту конфигурацию и напишу (только по времени скорее на следующей неделе — быстрее никак…)

    Спасибо за проявленный интерес.

    Reply
  25. DiegoLidabo

    Работает ли обработка с характеристиками?

    Reply
  26. DorKarta

    У меня почему то группы размещаются горизонтально (в строку), а не вертикально (столбец) как показано на рисунке. http://joxi.ru/EA4Bq65CoRqRym?d=1

    В демо базе также было.

    В чем может быть причина, подскажите пож. Где это исправить? Спасибо!

    Reply
  27. DorKarta

    При попытке зайти в рабочее место, которое было создано копированием элемента справочника выдает ошибку (Не удалось создать группу: Страница) и выбрасывает из базы:

    {Обработка.РМ_УниверсальноеРМ.Форма.Форма.Форма(184)}: Ошибка при вызове метода контекста (Добавить)

    ГруппаИнтерфейса = ЭтаФорма.Элементы.Добавить(«ГруппаИнтерфейса_»+ВыборкаДетальныеЗаписи.НомерЗакладки, Тип(«ГруппаФормы»), Страница);

    по причине:

    Недопустимое значение параметров

    Reply
  28. yuraskid

    Уважаемый Дмитрий!

    В процедуре Процедура ДобавитьКнопкиСервер() во второй запрос

    Запрос.Текст =
    «ВЫБРАТЬ
    | РМ_МенюПользователяЗакладки.Ссылка,
    | РМ_МенюПользователяЗакладки.ИмяЗакладки,
    | РМ_МенюПользователяЗакладки.ЗапускатьПоУмолчанию,
    | РМ_МенюПользователяЗакладки.НомерЗакладки КАК НомерЗакладки
    |ИЗ
    | Справочник.РМ_МенюПользователя.Закладки КАК РМ_МенюПользователяЗакладки
    |
    |УПОРЯДОЧИТЬ ПО
    | РМ_МенюПользователяЗакладки.НомерСтроки»;
    

    Показать

    Измените на такой текст:

    Запрос.Текст =

    «ВЫБРАТЬ

    | РМ_МенюПользователяЗакладки.Ссылка,

    | РМ_МенюПользователяЗакладки.ИмяЗакладки,

    | РМ_МенюПользователяЗакладки.ЗапускатьПоУмолчанию,

    | РМ_МенюПользователяЗакладки.НомерЗакладки КАК НомерЗакладки

    |ИЗ

    | Справочник.РМ_МенюПользователя.Закладки КАК РМ_МенюПользователяЗакладки

    |ГДЕ

    | РМ_МенюПользователяЗакладки.Ссылка.Пользователь = &Пользователь

    |

    |УПОРЯДОЧИТЬ ПО

    | НомерЗакладки»;

    И добавьте установку нового параметра до выполнения запроса



    Запрос.УстановитьПараметр(«Пользователь», Пользователь);

    и должна ошибка уйти.

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

    Спасибо за проявленный интерес.

    Reply
  29. DorKarta

    Все заработало. Спасибо !!!

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *