Продолжаем борьбу за ресурсы...
Часто ли мы задумываемся над тем, сколько времени уходит на просмотр содержимого объекта информационной базы?
Не могу, конечно, утверждать за всех, но мой опыт показывает, что в половине случаев пользователи 1С открывают объекты только для того, чтобы посмотреть их содержимое. Учитывая что 70% времени среднестатистический менеджер/специалист проводит в программе, получается так, что он больше половины своего рабочего времени тратит на:
- поиск и открытие объекта;
- поиск нужного реквизита;
- закрытие объекта.
При этом сама процедура открытия занимает время, на поиск нужных реквизитов тоже тратится какое то время, ну и бонусом мы еще частенько получаем перепроведение объекта, которое тоже занимает время, иногда немалое. Последний фактор особенно неприятен, но сделать с этим практически ничего невозможно... ну привыкли они нажимать ctrl+enter, исторически так сложилось.
Таким образом, уменьшив время, затрачиваемое на вышеописанные процедуры хотя бы вдвое, мы сможем сэкономить 1-1,5 часа рабочего времени пользователя, которое он сможет потратить на другие задачи.
Именно после таких наблюдений/размышлений и появилась идея создания этого расширения. Которое надо сказать получилось очень компактным и быстрым. Сохранив при этом универсальность, что являлось основной задачей.
Принцип работы.
Для реализации задачи, была создана общая форма "Справка по объекту", содержимое которой формируется полностью программно, в соответствии с настройками отображения реквизитов объектов метаданных, который в свою очередь хранятся в добавленном новом справочнике "Виды объектов".
При этом настройки можно хранить как для объекта метаданных в целом, так и для для одного объекта метаданных но с различными подвидами. Хранение настроек видов объектов реализовано в разрезе:
- ИмяОбъектаМетаданных
- ХозяйственнаяОперация
- ТипДоговора
Для каждого реквизита вида объекта можно указать:
- ширину/высоту элемента на форме справки,
- для строковых реквизитов можно установить многострочный режим,
- для ссылочных реквизитов - выставить признак вывода в виде навигационной ссылки.
В последнем случае по нажатию на ссылку открывается все та же форма справки. Если же вывести ссылку в виде поля ввода, то поведение системы будет стандартным.
Кроме того, можно включить признак выделения шрифтом (полужирный), установить цвет текста элемента, а также выбрать колонку размещения элемента (левая или правая).
При создании форм списков объектов, в состав подключаемых команд формы, в контекстное меню списка, программно добавляется команда "Справка по объекту", которую можно вызвать комбинацией клавиш Alt+X.
Команда открывает форму справки, содержимое которой формируется программно, в соответствии с набором реквизитов, настроенным в указанном выше справочнике видов.
При этом реквизиты объекта выводятся в форму в соответствии с порядком их расположения в настройках вида.
Вывод табличных частей объектов.
Для вывода содержимого табличных частей объекта было решено использовать реквизит с типом ФорматированныйДокумент.
Содержимое реквизита формируется построчно, при этом в строках создаются навигационные ссылки, нажатие на которые открывает ту же форму справки, но уже по объекту ИБ, ссылка на который содержится в строке ТЧ.
Состав реквизитов строк табличных частей объектов мы попробовали унифицировать. Исходя из своего опыта решили вопрос таким образом - все ТЧ разделили на 3 подвида:
- с номенклатурой и количеством (для товаров и услуг)
- с объектом расчетов и суммой (для расшифровок платежей)
- с порядком оплаты, датой и суммой (для графиков платежей)
Для большинства случаев этот набор реквизитов достаточен для понимания что содержится в объекте. Если же когда и понадобится что-то добавить, то сделать это не составит особого труда - код процедуры формирования строк довольно простой, все переменные имеют понятные имена, кроме того в коде достаточно много комментариев.
Помимо реквизитов объекта, на форму выводятся:
- текущее состояние объекта (проведен, не проведен, помечен на удаление)
- текущее состояние проверки документа (если это документ и если он является проверяемым и включена соответствующая функциональная опция)
Состояние выведено в виде пиктограмм с подсказками, появляющимися при наведении курсора на соответствующую пиктограмму.
Настройки видов объектов.
В расширении уже настроены типовые наборы для основных объектов метаданных. Для первоначального заполнения, после установки расширения необходимо открыть Справочник "Виды объектов" и выполнить команду "Перезаполнить".
В результате, справочник заполнится предустановленными значениями. Перезаполнить справочник можно в любое время, при этом виды объектов, которых нет в составе предустановленных, можно будет удалить, либо оставить... подсистема задаст соответствующий вопрос.
Нюансы настройки
Встречаются ситуации, когда для одного и того же объекта метаданных, но с разными хозяйственными операциями, требуется выводить различающиеся наборы реквизитов. Для решения этой задачи в виде объекта есть реквизит "Хозяйственная операция".
Таким образом, вид объекта определяется совокупностью имени объекта метаданных и значения реквизита ХозяйственнаяОперация этого объекта.
Пример такой настройки можно увидеть, посмотрев как по умолчанию настроены виды "Заявка на оплату" и "Заявка на выдачу наличных ДС".
Помимо этого, было применено аналогичное решение для вывода различных наборов реквизитов для договоров/соглашений с клиентами/поставщиками. Для этого используется значение реквизита объекта ТипДоговора.
Вывод элементов на форму справки
В табличной части формы настройки вида объекта содержатся поля, значения которых влияют на свойства и положение элементов на форме справки:
- Имя реквизита и синоним - берется из объекта (только чтение)
- Многострочный - включение установит свойство "МногострочныйРежим" элементу (доступно только для значений с типом "Строка")
- Ширина - задает ширину элемента
- Высота - задает высоту элемента
- Выделить - включение установит жирный шрифт заголовку и значению элемента
- Цвет - задает цвет текста для значения элемента
- Колонка - размещение элемента будет произведено в левой или правой колонке формы
По умолчанию, элементы на форму справки выводятся в 1 колонку, если общее количество реквизитов, настроенных для вида объекта, не превышает 15.
В случае если реквизитов больше 15, то элементы будут выведены в 2 колонки, при этом элементы будут распределены по колонкам поровну.
Если же в настройках реквизита задать конкретную колонку (левая или правая), то элемент будет всегда выводиться в указанную колонку, независимо от того, сколько всего реквизитов настроено для вида объекта.
Уже в ходе активного использования, было принято решение при выводе значения ТЧ объекта проверять высоту соответствующего элемента, и в случае необходимости (кол-во строк ТЧ > 10) выносить этот элемент в другую колонку формы.
Например: при выводе справки по заказу клиента, если количество строк в ТЧ Товары больше 10, и при этом разница между количеством реквизитов в левой и правой колонках формы достаточно большая, элемент с содержимым ТЧ будет перенесен в правую часть формы справки.
В расширении используются процедуры и функции БСП
Расширение разрабатывалось и используется на платформе 8.3.19.1399.
Проверялось в КА-2.4.14 и УТ-11.4.14
Не проверял, но полагаю, что будет работать и в ЕРП-2.
После установки расширения необходимо выключить "Безопасный режим" в настройках
Обновление 05.08.2022 (1.0.9):
добавил команду отчета "Связанные документы"
добавил в шапку справки "Состояние расчетов по договору с контрагентом"