Рабочий стол для УТ 10.3 (набросок)


Обучаясь в школе — решая практические задачи по УТ 10.3 обнаружил неудобство использования меню и стандартного решения "Панель функций" — по сравнению с рабочим столом, например в БП 1.6 и БП 2.0. Потому сразу был написан предлагаемый набросок…

Обучаясь в школе — решая практические задачи по УТ 10.3 обнаружил неудобство использования меню и стандартного решения «Панель функций» — по сравнению с рабочим столом, например в БП 1.6 и БП 2.0. Потому сразу был написан предлагаемый набросок… Решение задач с использованием данной обработки значительно ускорилось.

Файл открывался как внешняя обработка, но можете включить его в состав конфигурации и открывать форму в процедуре ПриНачалеРаботыСистемы.

Для тех, кто дорабатывает рабочий стол «Под себя»: 

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

Для создания своей кнопки можно просто скопировать существующую и переименовать ее по правилу:

Первые три буквы имени «ярлыка» — префикс, они указывают тип открываемого объекта:

Кон — константы 

Спр — справочник

Док — документ 

Отч — отчет

Обр — обработка

Рсв —  регистр сведений

Рег — регистр накопления

Остальная часть имени «ярлыка» — ИмяОбъекта, она должна соответствовать имени объекта как оно задано в конфигураторе, например СпрНоменклатура.

Цифры, стоящие в конце имени объекта отсекаются, например ярлык с именем «СпрНоменклатура1» откроет справочник «Номенклатура», а не «Номенклатура1» (такой механизм именования позволяет на одной форме создать несколько ярлыков на один и тот-же объект).

Дополнительно реализованы обработки префиксов: 

Веб — открыть интернет-страничку (во встроенном браузере).

ссылку на интернет-ресурс нужно указать в тексте подсказки.

Код — вызвать функцию глобального или общего модуля

ИмяОбъекта (оставшаяся часть имени ярлыка) — это имя вызываемой функции или процедуры глобального модуля или Общего модуля. Функция должна быть объявлена без параметров.

При указании функции общего модуля точка, разделяющая имя модуля и имя функции, заменяется одним символом нижнего подчеркивания.

Например: ярлык с именем «КодУниверсальныеМеханизмы_ОткрытьСписокВнешнихОбработок» откроет список внешних обработок, сохраненных в УТ.

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

Вот — открыть сохраненный в базе внешний отчет (из справочника «Внешние обработки»)

Реализованы два способа указания объекта:

1. Наименование элемента справочника «Внешние обработки» надо указать в комментарии к ярлыку (наименование должно точно соответствовать указанному в справочнике).

2. В качестве ИмяОбъекта (оставшаяся часть имени ярлыка) казать либо наименование, либо код, либо комментарий элемента справочника «Внешние обработки», при этом символи символы .,():; и кавычки надо заменит на символ нижнего подчеркивания.

Например ярлык «ВотУдаление_помеченных_объектов» предназначен для открытия внешней обработки, хранящейся в базе под именем «Удаление помеченных объектов».

Воб — открыть сохраненную в базе внешнюю обработку 

реализация аналогична префиксу «Вот».

Вы также можете самостоятельно расширить функционал обработчиков, отредактировав код процедуры «ОткрытьОбработку».

 

ОБНОВЛЕНИЯ: 

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

Идея и реализация поиска основана на обработке «Телепат» Александра Медведева (aka anig99), //infostart.ru/public/88030/
должен отметить, что вышеуказанная обработка обладает гораздо большим функционалом по сравнению с поиском и вполне уместна в использовании — как дополнение.

31.07.2012 — для тех, кто доделывает эту обработку «Под себя»: расширен функционал ярлыков. Теперь можно вызывать процедуры из общих модулей и глобального контекста, а также, открывать внешние обработки из справочника «Внешние обработки». Добавлено описание.

74 Comments

  1. itar59

    гораздо удобнее и практичнее.

    очень хорошо!!!

    Reply
  2. acherey

    Спасибо, стало гораздо удобнее…

    Reply
  3. 1Viktor

    Хороший рабочий стол — полезный.

    При наведении на пункты всплывающие подсказки одинаковы — Открыть журнал «Путевые листы»

    Reply
  4. cool.vlad4

    Идея хорошая, я хочу такой же сделать, наверное картинки себе другие сделаю. +

    Reply
  5. wwizard

    Как включить его в состав конфигурации и открывать форму в процедуре ПриНачалеРаботыСистемы.?

    Reply
  6. DrAku1a

    (3) Спасибо, исправил. Сделал заполнение комментариев программно.

    (5) К сожалению, штатные средства УТ этого не предосматривают. Будем надеятся, 1С включит такую возможность в будущих релизах — чтобы дополнительную внешнюю обработку, зарегестрированную в соотв. справочнике, можно было открывать при старте системы (для этого в справочнике нужен флажок «Запускать при старте системы» — и соответствующий код в процедуре «ПриНачалеРаботыСистемы».

    А пока что это можно сделать только в полной версии УТ (не базовой). При этом надо сначала включить возможность изменения конфигурации (что усложнит в будущем обновление).

    Затем, в модуле обычного приложения (глобальном) — найти процедуру «ПриНачалеРаботыСистемы», и после строчки

    ПервыйЗапуск = (Константы.НомерВерсииКонфигурации.Получить() = «»);

    вставить строку

    Обработки.РабочийСтол.ПолучитьФорму().Открыть();

    затем добавить обработку в конфигурацию под именем «РабочийСтол».

    Reply
  7. itar59

    кстати, взгляните на такую: http://infostart.ru/public/95675/

    Reply
  8. DrAku1a

    (7) Тоже вариант… У меня есть еще рабочий стол, разбитый по страницам, с возможностью настройки страниц под конкретного пользователя (какие показывать, с какой начинать работу) — там тоже на многих вкладках вынесены списки документов… Но публиковать не могу — т.к. делаю для одной конкретной задачи.

    Reply
  9. DimaP

    авансом +, симпотяшно

    Reply
  10. wwizard
    DrAku1a пишет:

    ПриНачалеРаботыСистемы

    А можно поподробнее, не понял если честно, искал и не нашел…

    Reply
  11. net7wolf

    для 8.1 сделай супер будет

    Reply
  12. wwizard

    так у меня, 8,2 УТ (только купил)

    Reply
  13. Ильяххх

    Симпатично. Полезная штука, надо прикрутить менеджерам. А то в меню от 1с они путаются.

    Reply
  14. CheBurator

    Предложенный рабочий стол — для некоего обобщенного сферического в вакууме менеджера — нате вам все… пригодится там, где менеджер — и шнец, и жнец, и на дуде игрец… Минус, короче

    Reply
  15. Seregalink

    Красочно и симпатично, но слишком громоздко!

    Reply
  16. DrAku1a

    (14)(15) Я в названии указал слово «набросок» — это идея… А как оформить и какой функционал сделать далее — это уже Вам решать. В данном рабочем столе вынесено только самое основное (что мне потребовалось на обучении, да и то пару раз в меню лазил) — а в работе на конкретном предприятии — еще много пунктов можно добавить.

    Можно, например, сделать несколько страниц и при открытии анализировать права и интерфейсы пользователей, и в зависимости от прав — показывать те или иные страницы.

    В общем, идею кинул — дальше дело Вашей фантазии… ))

    Вот вам пример моей реализации для одного конкретного предериятия…

    Reply
  17. Abadonna
    Затем, в модуле обычного приложения (глобальном) — найти процедуру «ПриНачалеРаботыСистемы», и после строчки

    Код

    ПервыйЗапуск = (Константы.НомерВерсииКонфигурации.Получить() = «»);

    вставить строку

    Код

    Обработки.РабочийСтол.ПолучитьФорму().Открыть();

    затем добавить обработку в конфигурацию под именем «РабочийСтол».

    ________________

    Если уж «колбасить» конфу, то не проще, имея уже готовый код в УТ:

    Если УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(мТекущийПользователь, «АвтооткрытиеФормыРабочегоМестаМенеджераПоПродажамПриЗапускеПрограммы») = Истина
    И (Не ПервыйЗапуск) Тогда
    Обработки.РабочееМестоМенеджераПоПродажам.ПолучитьФорму().Открыть();
    КонецЕсли;
    

    заменить обработку «РабочееМестоМенеджераПоПродажам» этой?

    Reply
  18. DrAku1a

    (17) Можно и так. Теряем обработку правда… При обновлении тогда не обновлять просто ее. И… по-моему, она открывается после всяких там информационных окон (описание конфигурации, быстрое освоение и т.п.) — тогда при запуске наш рабочий стол окажется поверх всех окон — это не очень удобно…

    Reply
  19. alexkl

    От удобст никто обычно не отказывается, но понимание их разные.

    Reply
  20. sound

    Полезная обработка или нет могут сказать те, кто будет с ней работать. Мне же вид такого рабочего стола напомнил одну забавную историю, баян конечно, но смешно. Во времена виндовз 2000 у одного неискушенного в компах сотрудника весь рабочий стол был похож на помойку, в которой соответственно только он один понимал что и где, и ему конечно же было так очень удобно и хрен ты его переубедишь что так делать плохо. Ну сделали ему принт скрин, как обои на рабочий стол, а всю хрень с рабочего стола соответственно убрали. Как он матерился 🙂

    Reply
  21. AlexKoso

    ну если речь зашла об аналогичном, обратите внимание на http://infostart.ru/public/22288/ плюсы: полный доступ к коду (все обработчики), конструктор, ограничение по пользователям и/или ролям и проч из режима предприятия.

    Reply
  22. DrAku1a

    (21) Обратил. Вещь! Мощная и универсальная. Рекомендую всем заглянуть!

    Reply
  23. shamant

    Спасибо, тоже попробуем…

    +1

    Reply
  24. morpheus2

    Очень полезная вещь

    Reply
  25. sserazm

    полезная весчь, ускоряет работу

    Reply
  26. rubelev

    Спасибо! Полезная вещь!

    Reply
  27. xalker

    Благодарим-с! Пригодится 🙂

    Reply
  28. latrium

    Жаль, а мы только на 11 УТ перешли. Но вам плюс за труды.

    Reply
  29. andru_dv

    Плюс за старания!

    Reply
  30. KliMich

    Спасибо!

    Даёшь каждому виду сотров по рабочему столу!

    (в стиле 7 Ноября)🙂

    Reply
  31. levran

    (21) AlexKoso, Пользуюсь обработкой по ссылке уже давно, очень удобная! Рекомендую.

    Reply
  32. AlexKoso

    (31)по той что я написал ссылку? 🙂 сами ей пользуемся, пришлось допиливать немного но да, обработка тащит. Юзеры даже незнают не подозревают о главном меню, привыкли что всё нужное им — на рабочем столе. В РБД нормально обработка себя чувствует — настройки из центрального узла в подчиненные летают на ура.

    Reply
  33. Serheo

    Спасибо, опробую у себя. В аккурат редакция 10.3.6.8

    Reply
  34. doom2good

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

    Reply
  35. commo

    Спасибо, очень удобно теперь.

    Reply
  36. Angeros

    А внешние обработки включенные в конфу в нем можно настроить чтобы открывались?

    Reply
  37. DrAku1a

    Наcтройки в режиме «Предприятие» не предусмотрены. А вот программисту дописать под конкретную конфу — особого труда не составит…

    Reply
  38. Sairys

    Я так понимаю это только для 8.2 ?

    Reply
  39. DrAku1a

    (38) Да. Разрабатывалось под 8.2, обычное (неуправляемое) приложение.

    Reply
  40. Evgeny2009

    А можно мне на sotikom@bk.ru отправить? А то «+» нехватает! За обработку респект! А в 1С Комплексная будет работать?

    Reply
  41. wwizard

    можно ещераз поподробнее как встроить форму чтобы она открывалась вместе с конфигурацией?

    Reply
  42. DrAku1a

    (42) можно. Есть два варианта:

    1. Заменить данной обработкой существующую обработку «РабочееМестоМенеджераПоПродажам«, если конечно ей никто не пользуется… В настройках пользователя (в меню: «Сервис-Настройки пользователя» — настройки текущего пользователя, или «Сервис — Пользователи — Список пользователей» — настройки всех пользователей) — установить галочку «Автооткрытие формы рабочего места менеджера по продажам при запуске программы» (можно вместо РабочееМестоМенеджераПоПродажам использовать ПанельФункций или БыстроеОсвоение).

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

    ПервыйЗапуск = (Константы.НомерВерсииКонфигурации.Получить() = «»);

    строку

    Обработки.МойРабочийСтол.ПолучитьФорму().Открыть()

    Если конфигурация стандартная и не изменялась — то надо предварительно включить в настройке поддержки возможность изменения конфигурации.

    Внимание! Включение возможности изменения конфигурации — необратимо!

    Reply
  43. wwizard

    Спасибо. Буду пробовать.

    Reply
  44. wwizard

    (43) По первому варианту, ругается, на:

    {МодульОбычногоПриложения(156)}: Поле объекта не обнаружено (РабочееМестоМенеджераПоПродажам)

    Обработки.РабочееМестоМенеджераПоПродажам.ПолучитьФорму().Открыть();

    Reply
  45. DrAku1a

    (45) При замене обработки на внешнюю — меняется и ее Имя. Нужно вернуть стандартное имя РабочееМестоМенеджераПоПродажам а синоним можно написать — «Рабочий стол«. См. свойства обработки — или на первой странице, если ее открыть в конфигураторе.

    Reply
  46. olegtymko

    спасибо, очень нужная вещь)

    Reply
  47. wwizard

    Спасибо, заработало, супер.

    Reply
  48. wwizard

    Скажите, случайно ли нельза в форму рабочего стола, в раздел продажи, добавить документ: «Чек ККМ продажа»?

    Reply
  49. S.V.Y

    Плюс, спасибо за работу.

    Reply
  50. DrAku1a

    (49) можете сами сделать. Посмотрите как называется документ в конфигурации, далее копируете один из ярлыков и нахываете его (имя) докИмяОбъекта, например, «докЧекККМПродажа».

    Reply
  51. wwizard

    (51)

    далее копируете один из ярлыков

    Это где, вернее откуда его копировать? и куда?

    Reply
  52. DrAku1a

    (52) на форме обработки.

    Reply
  53. wwizard

    ничего не получилось, весь день про..мучался. пожалуйста, если Вам не сложно, помогите страждущему

    Reply
  54. dardroze

    стало гораздо удобнее, спасибо!

    Reply
  55. DrAku1a

    (54) давай на мыло вышлю

    Reply
  56. wwizard
  57. wwizard

    так как получится выслать?

    Reply
  58. bankir1982

    Спасибо. Я думаю нашим менеджерам это понравится, ибо стандартная обработка была убога. Еще бы чтобы можно было зайти в настройки и самому накидать ярлыки на раб стол — вообще было бы круто. Это чтобы менеджеры сами себе организовывали так как им удобно, а настройки например хранить в настройках пользователя.

    С меня +

    Reply
  59. Troha

    Отличная штука. Спасибо!

    Reply
  60. akril19811

    Спасибо очень удобно

    Reply
  61. RakovskiyK

    давно думал о нечто подобном. бесподобно красивая обработка, на первый взгляд. + авансом.

    А есть возможность распределять по ролям? чтобы одному сотруднику было доступны действия согласно его роли и не доступно то, что по роли не прописано? Если да — то апплодирую стоя и буду качать.

    Просто шикарно!

    Reply
  62. wwizard

    Обновления будут?

    Reply
  63. DrAku1a

    (64) не планируются. а зачем?

    Reply
  64. SERJ_1CC

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

    Reply
  65. wwizard

    (16) скажите, а ентот пример для того предприятия скачать можно? и возможно ли добавить ярлычки внешних обработок?

    Reply
  66. DrAku1a

    (67) Этот пример выложить не имею права — он разработан для одного конкретного клиента на заказ. Ярлычки внешних обработок и отчетов добавить можете. Как это сделать описано в публикации, а именно, речь о префиксах «Воб» и «Вот».

    Reply
  67. wwizard

    (68)

    Воб

    а что енто такое?

    Reply
  68. wwizard

    ок, спасибо, попробую.

    Reply
  69. DrAku1a

    Вот — открыть сохраненный в базе внешний отчет (из справочника «Внешние обработки»)

    Реализованы два способа указания объекта:

    1. Наименование элемента справочника «Внешние обработки» надо указать в комментарии к ярлыку (наименование должно точно соответствовать указанному в справочнике).

    2. В качестве ИмяОбъекта (оставшаяся часть имени ярлыка) казать либо наименование, либо код, либо комментарий элемента справочника «Внешние обработки», при этом символи символы .,():; и кавычки надо заменит на символ нижнего подчеркивания.

    Например ярлык «ВотУдаление_помеченных_объектов» предназначен для открытия внешней обработки, хранящейся в базе под именем «Удаление помеченных объектов».

    Воб — открыть сохраненную в базе внешнюю обработку

    реализация аналогична префиксу «Вот».

    Показать

    Reply
  70. wwizard

    ок, спс, будем пробовать

    Reply
  71. an.azarova

    Спасибо! Очень хорошая…. даже я не знакомая с конф-м могу настроить рабочий стол как мне нужно +100

    Reply
  72. Dubasov

    Подскажите как создать ярлык чтоб открывался не журнал заказов

    А при нажатии открывался новый документ заказ покупалеля

    Reply
  73. DrAku1a

    (74) Dubasov, в данной обработке — это не предусмотрено. Но, если Вы владеете базовыми навыками программирования — это можно легко реализовать: в процедуре-обработчике нажатия на кнопку добавить обработку нового типа (первые три буквы имени кнопки) — например «СЭС» — создать элемент справочника или «СНД» — создать новый документ. Далее — реализовать обработчик:

    Справочники[ИмяОбъекта].СоздатьЭлемент().ПолучитьФорму().Открыть()

    или

    Справочники[ИмяОбъекта].СоздатьДокумент().ПолучитьФорму().Открыть()

    этот корд будет работать для обычных (неуправляемых) форм. Для управляемых потребуется иной код…

    Reply
  74. Горыныч_Злой

    Реально хорошая работа, жаль под 11_ю не продолжили.. 🙁

    Reply

Leave a Comment

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