Добавление собственного виджета в 1С:Документооборот версии 3.0

18.07.22

Функциональные - Документооборот и делопроизводство (СЭД)

В данной публикации я хочу описать процесс добавления собственного виджета для отслеживания задач по видам документов в 1С документооборот версии 3.0.

Не так давно мне досталась задачка по созданию собственных виджетов по отслеживанию невыполненных задач в виде кольцевой диаграммы и показателей в Документообороте 3.0. Поиск в интернете особо ничего выдал, только статью на ИТС и на Инфостарте, как это делается в Документообороте 2.1. Начал смотреть и разбираться, оказалось, что отличий очень много, поэтому и родилась идея написать данную статью, так как ДО 3.0 сейчас активно внедряется, а информации по ней мало. Итак, приступим.

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

  1. Создать сам виджет.
  2. Создать групповой показатель. Он нужен для того, чтобы на самом виджете отображалось количество задач по нашим показателям.
  3. Создать и настроить показатели виджета
  4. Настроить сам виджет.

Далее переходим в конфигуратор и начинаем программировать работу виджета и показателей.

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

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

План нарисовали, можно приступать.

Еще немаловажный момент. Делалось все через расширение, так как заказчик попросил конфу не менять.

1. Создаем сам виджет

Делается это достаточно легко, открываем функции для технического специалиста и вбиваем поиск "Виджеты". Находится один справочник в него и переходим.

Нам открывается справочник, в котором есть только предопределенные значения. Особой необходимости как в ДО 2.1 делать предопределенным новый виджет нет, поэтому берем тот, что более-менее похож на наш, к примеру, "Задачи мне (диаграмма, по видам)" и копируем его. На текущем этапе достаточно только обозвать его так, как нам нужно. В моем случае это будет выглядеть вот так:

 

 

В итоге получаем виджет с нашим наименованием, но по сути это будет копия того, что мы сделали и если его вывести, то он ничем отличаться не будет.

2. Создаем групповой показатель

Групповой показатель, как писал ранее, нужен для вывода информации о количестве задач, которые будут по нашим показателям на виджете. По этому также открываем функции для технического специалиста и вбиваем поиск "Групповые Показатели". Нам открывается аналогичный Виджетам справочник, в котором есть опять же только предопределенные значения. Копируем аналогичный виджету групповой показатель, а именно "Итоги "Задачи мне" (по видам)", и начинаем его настраивать.

 

 

Пробежимся по реквизитам:

  1. В первую очередь наименование так как оно должно быть уникальным.
  2. Далее выражение. Это как раз та функция, которую нам придется в дальнейшем закодировать, чтобы по указанным свойствам, которые указаны ниже, передавать количество задач. В моем случае я ее назвал "ЗадачиМнеИтогиПоДокументам"
  3. Вкладка Свойства. На этой вкладке мы укажем ключи для наших показателей. Соответственно старые я удалил и вбил свои.
  4. Вкладку события не трогаем, там перечислены события, по которым данная функция будет дергаться для обновления показателей.

Записываем и закрываем, больше нам тут делать нечего. Идем дальше.

3. Создание и настройка показателей виджетов

Уже ставшим привычным действием открываем функции для технического специалиста и вбиваем поиск "Показатели виджетов". Открываем справочник, видим снова предопределенные значения и копируем, к примеру, виджет "Задачи мне: На рассмотрение", так как он у нас был в нашем первоначальном виджете, с которого мы копировали, ну и в групповом виджете он тоже участвовал.

Меняем значение реквизитов:

  1. Наименование в моем случае "Задачи мне: Договоры"
  2. Заголовок "Договоры". Так будет выглядеть наименование на самом виджете
  3. Подсказку по желанию
  4. Немаловажный реквизит - картинка. Без нее будет плохо, поверьте мне. Я потратил кучу времени на то, чтобы понять, почему из показателя получается абракадабра. Выбираем любой цвет из ЛегендаДиаграммы. Я выбрал такое значение "ЛегендаДиаграммыСиний".
  5. Цвет виджета серии по аналогии с картинкой берем "Синий"
  6. Далее у нас уже стоит Тип "Групповой"
  7. Групповой показатель выбираем тот, который создали ранее: "Итоги "Задачи мне" по документам"
  8. Свойство группового показателя - выбираем тот, который мы закладывали заранее для этого показателя "ЗадачиМнеДоговоры"
  9. Тип Значения уже стоит "Число", поэтому не трогаем.
  10. В разделе Действие пока ничего не трогаем, так как без Источника виджет будет ломаться, а команды для перехода мы сделаем только сильно позже.
  11. События оповещения нам не нужны.

Если все правильно сделали, то выглядеть будет вот так:

 

 

Записываем, закрываем и повторяем процедуру еще 3 раза, только указываем для каждого показателя свои значения.

Теперь настало время для настройки самого виджета.

4. Настройка виджета

Для того, чтобы нам удалось настроить виджет, необходима какая-нибудь обработка, которая позволит увидеть больше, чем то, что показывает нам сам документооборот. Я воспользовался 1С Admin. После открытия через данную обработку нашего виджета мы увидим, что у нас, оказывается, есть еще куча табличных частей, которые нам постеснялись показать.

 

 

Скрываем пустые ТЧ, удаляем все значения в ТЧ "Дополнительные показатели", "Основные показатели" и "Команды".

Добавляем в ТЧ "Основные показатели" наши показатели в том порядке, в каком вы хотите их видеть на виджете.

 

 

Записываем и закрываем. На текущем этапе в клиенте с работами пока все. Переходим в конфигуратор.

5. Функция для вывода значений показателей виджета на сам виджет.

Ранее в групповом показателе мы придумывали некую функцию. Так вот настало время ее создать. Идем в конфигурацию > Общиемодули > РаботаСЗадачиами

Для упрощения написания можно скопировать аналогичную функцию, к примеру, ту, что у нас была прописана в групповом показателе, с которого мы копировались. "ЗадачиМнеИтогиПоВидам"

Код этой функции:

 
 Код функции ЗадачиМнеИтогиПоДокументам

 

Собственно, в ней мы получаем отбор в виде сотрудника, под пользователем которого мы сидим, далее задаем структуру из наших свойств, которые указаны в Групповом показателе, затем идем в функцию с запросом, где получаем результат в виде ТЧ, где указаны задачи по видам действий. Ну а после уже перебором мы в нашу структуру суммируем количество задач и возвращаем в то место, откуда нас позвали.

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

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

 
 Получаем сотрудника

Далее меняем ненужные нам показатели на наши:

 
 Создаем структуру с нашими показателями

Пишем запрос, который удовлетворяет наши требования. Кстати, все значения получаются из регистра накопления "КоличествоДействийЗадач.Остатки"

 
 Запрос для получения показателей

Раз в типовом коде у нас получается ТЗ по результату выполнения запроса, почему бы и нам так же не сделать

Ну и, наконец, переписываем ту часть, где происходит заполнение нашей структуры с показателями

 
 Заполнения структуры показателями

За поиск по наименованию не ругайте, так надо, ибо таков путь.

Переходим к командам для перехода по нашим показателям.

6. Создание команд перехода по показателям

Все команды, которые нам необходимы, будем создавать в документе "Задача", так как форма с "Задачи " принадлежит этому документу. Для удобства копируем команду, которая у нас была указана в наших показателях. "ЗадачиМнеНаСогласование"

Переименовываем ее в "ЗадачаМнеПоВидамДокументов "и пишем синоним "Задача мне по видам документов Договоры". Синоним это важно, так как далее в коде будет прописана ссылка на этот синоним, и в заголовке формы задачи мы увидим этот текст.

В самом модуле команды мы меняем только Ключ использования на "ФильтрПоДоговорам". Далее нам нужно будет протащить этот ключ по всему модулю формы, чтобы нигде не было ошибок при выполнении.

 
 Текст модуля команды

Для всех наших показателей создаем по аналогии.

7. Настройка отборов для корректного открытия формы Задачи с нужным перечнем задач.

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

В первую очередь нам нужно завести эти команды на форму, так как в процедуре "ПриИзмененииВариантаГруппировки()" они используются как элементы формы. Поэтому "ПриСозданииНаСервере" обязательно в начале пишем:

 
 Создаем на форме наши команды

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

 
 Создаем процедуры для команд

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

Делаем по аналогии с тем, как заданы значения для других команд.

 
 Настройка БыстрогоПоиска

Теперь правим событие ПриИзмененииВариантаГруппировки

В месте, где заполняется соответствие КомандыВариантовГруппировки, вписываем свой код:

 
 Редактируем ПриИзмененииВариантаГруппировки

Чтобы не получить ошибку "Неизвестный ключ назначения использования", дописываем код в процедуре ОбработатьКлючНазначенияИспользования. Встраиваемся сразу после проверки ключа "ЗадачиМнеДругие". На самом деле не обязательно именно в этом месте, но таков путь. Кстати, здесь как раз и прописывается ссылка на синоним для заголовка.

 
 Редактируем процедуру ОбработатьКлючНазначенияИспользования

По аналогии с процедурой ОбработатьКлючНазначенияИспользования, чтобы не получить такую же ошибку, дописываем код в процедуре "ОбновитьГруппировки". Вставлять текст после проверки на ключ "ЗадачиМне".

 
 Редактируем процедуру ОбновитьГруппировки

Ну и чтобы не получить ошибку, если кто-то полезет в группировки и начнет нажимать команды, указанные там, редактируем процедуру "ЗаполнитьГруппировкуЗадачиМне". Вставляем код после проверки на вариант перечисления по Флагу. Опять же необязательно именно там.

 
 Редактируем процедуру ЗаполнитьГруппировкуЗадачиМне

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

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

 
 Редактирование процедуры ПараметрыОтбора

Массивы со значениями я получал запросом в отдельной функции, которую дергал, если попадал в соответствующий вариант

 
 Запрос для получения массива видов документов из папки Договоры

 

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

Идем в Настройка > Персональные настройки > Рабочий стол. Поскольку наш Виджет занимает 2 клетки, нам нужно очистить нужное место от стандартных реквизитов и вставить наш. Жмем плюсик. Ждем, когда инициализируются все виджеты, и выбираем наш. В итоге получится вот так:

 

 

Ну и на рабочем столе у нас уже будут наши виджеты, и выглядят они таким образом:

 

 

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

Далее, что касается параметров отбора. Данная процедура дергается из процедуры УстановитьПараметрыГруппировкиНаСервере()

Что интересно, в ней уже заранее заложены такие параметры, как ВидПриложения, хотя на форме нет возможности никак получить список задач по какому-то определенному виду документов. Возможно, со временем допилят, а пока текущая версия, на которой все манипуляции делались, это Документооборот КОРП, редакция 3.0 (3.0.7.28). На момент написания статьи это актуальный релиз для ДО 3.0.

Всем спасибо за прочтение данной статьи, надеюсь, она вам была полезной.

Виджет Документооборот 3.0 Собственный

См. также

1С:Документооборот - цена на лицензии КОРП, ПРОФ и ДГУ

Документооборот и делопроизводство (СЭД) Типовые Платформа 1С v8.3 Управленческий учет Платные (руб)

Организуйте правильный оборот документов на вашем предприятии в 1С. Ведение учета и хранения документов. Управление потоками документации между подразделениями. Работа с договорами в компании. Автоматизация процессов подготовки, согласования и подписания документов. Сократите время и объем ошибок с 1С:ДО!

48500 руб.

19.02.2016    107305    105    5    

86

1С:Архив

Документооборот и делопроизводство (СЭД) Платформа 1С v8.3 Платные (руб)

"1С:Архив" – это универсальная система, обеспечивающая надежное долговременное хранение документов с гарантией юридической значимости на неограниченный срок. "1С:Архив" разработан на основе нормативно-правовых актов по архивному делу, поддерживает операции хранения документов – от попадания в архив до уничтожения – и не имеет ограничений на объем хранимых данных. "1С:Архив" сопровождается методологической поддержкой в виде организационных документов по хранению, входящих в состав "Комплекта нормативных документов" к "Методике управления документами и совместной работой", разработанной специалистами фирмы "1С". Использование "1С:Архива" позволяет организовать единое хранилище всех бумажных и электронных документов из разных информационных систем, вести архивный учет в соответствии с требованиями Росархива и снизить нагрузку на учетные системы. Продукт подходит для малых, средних, крупных предприятий и учреждений любых отраслей.

90000 руб.

24.10.2022    4966    5    1    

4

Таймлист (1С:Совещание, Таймлист Лайт)

Документооборот и делопроизводство (СЭД) Конфигурации 1cv8

«Таймлист» – экосистема сервисов («Таймлист Лайт», «1C:Совещание», «Таймлист Recorder»), основанная на искусственном интеллекте Таймлист, который позволяет эффективно работать с легкими поручениями за счет фиксации всех важных идей при расшифровке и последующем формировании автопротокола встречи. Сервисы, в которые интегрирован ИИ, позволяют работать с задачами (поручениями), полученными из автопротокола.

10000 руб.

06.12.2023    1509    0    0    

7

Табличная часть в доп. реквизитах и формирование таблиц в шаблоне docx для 1С:ДО 3.0

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    4711    10    5    

18

SALE! 30%

Распознавание и загрузка сканов в 1С "одним нажатием": УПД, ТОРГ-12, накладные, счета, номенклатура, заказы и т.д.

Загрузка и выгрузка в Excel Документооборот и делопроизводство (СЭД) Учет документов Распознавание документов и образов Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная программа для распознавания ЛЮБЫХ СКАНОВ ИЛИ ФОТО ТОВАРНЫХ ДОКУМЕНТОВ в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML и т.д.) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить".

6000 5520 руб.

04.06.2019    102060    298    173    

314

Легкий документооборот (+чат-бот для Telegram)

Документооборот и делопроизводство (СЭД) Мессенджеры и боты Учет документов Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 Платные (руб)

Расширение для согласования справочников и документов в конфигурациях "1С: Бухгалтерия 3.0", "Управление нашей фирмой", "1С ERP Управление предприятием", "Бухгалтерия государственного учреждения". Ролевая адресация, условная маршрутизация, последовательное и параллельное согласование, уведомление о новых задачах на почту, блокировка объектов в зависимости от статуса, запрет проведения в зависимости от статуса, автозапуск процессов согласования, отчеты по исполнительской дисциплине. Не требуется снятие конфигурации с поддержки. Настройка без программирования. Версия для 1cfresh.com. Сертификат 1С-Совместимо.

14900 руб.

15.11.2018    28108    26    48    

58

1С:Бухгалтерия 3.0 ПРОФ + 1С:Документооборот. Модуль интеграции 1С:БП и 1С:ДО (ПРОФ или КОРП)

Обмен между базами 1C Документооборот и делопроизводство (СЭД) Учет документов Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Бесшовная связь с 1С:Документооборот (КОРП или ПРОФ) - вот что обеспечит Вам и Вашим сотрудникам оперативный доступ и продуктивную работу с документами в учётной системе 1С на базе "1С:Бухгалтерия предприятия 3.0 ПРОФ". Интеграция позволяет экономить до 60% времени на поиск и согласование первичной документации (актов, счетов-фактур, накладных), не говоря уже о других полезных функциональных возможностях: создании и запуске бизнес-процессов, работе с электронной почтой, штрихкодировании документов и многом другом.

30000 руб.

23.05.2017    54097    34    67    

41

Шаблоны.doc - документы Word из 1С (1С:Совместимо!)

Печатные формы Документооборот и делопроизводство (СЭД) Учет документов Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет Управленческий учет Платные (руб)

Приложение для быстрого создания макетов печатных документов, заполняемых из 1С:Предприятие, без привлечения программистов и запуска конфигуратора. Шаблон готовится в редакторе MS Word, отлично освоенном офисными служащими. Так, на подготовку нового шаблона договора купли продажи со спецификацией потребуется 25 минут. Приложение будет полезно, если Вы работаете со множеством Word-шаблонов или если Вам надо часто создавать новые шаблоны. Есть сертификат "1С: Совместимо!". Версия ПРОФ доступна в виде расширения.

2000 руб.

05.09.2017    90305    62    82    

96
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ArseniyFenix 49 18.07.22 10:21 Сейчас в теме
Для редактирования реквизитов я использовал 1CAdmin из этой статьи https://infostart.ru/public/100967/
За что им большое спасибо.
user1863474; XanDerOitProg; mrChOP93; +3 Ответить
2. triviumfan 93 25.07.22 14:46 Сейчас в теме
Думаю пригодится, плюсую, когда-нибудь доберусь, тем более оформил хорошо.
user1863474; ArseniyFenix; +2 Ответить
Оставьте свое сообщение