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

06.05.19

Задачи пользователя - Подбор и обработка объектов

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Структура подчиненности
.epf 25,08Kb ver:3.0
36 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Тестировалось на Управление торговлей ред. 10.3 на релизе 10.3.47.3, но будет работать как на более ранних так и более поздних версиях.

 

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

 

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

 

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

 

Структура подчиненности - механизм который вызывается из всех документов (вызывается по кнопке Перейти - Структура подчиненности) и предназначена для показа подчиненности связанных объектов через ссылки. Например такой:

 

 

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

 

Все дальнейшие использование обработки я бы разделил на несколько групп:

1. выполнения в одном окне универсальные действия с документами

2. просмотр реквизитов у связанных документах

3. история хозяйственной деятельности

 

Теперь рассмотрим их подробнее.

 

Универсальные действия с документами

 

В типовой конфигурации нет способа универсально добавить некую функцию во все объекты. Но зато есть универсальные механизмы добавленные везде в которые можно добавить свои универсальные функции - и самый удобный механизм для этого как раз Структура подчиненности!

 

Как я уже говорил для ускорения всем действиям назначены сочетания горячих клавиш для быстрого выполнения - когда действий много то это очень сильно ускоряет работу - проверено неоднократно. Увидеть сочетание можно наведя мышкой на кнопу.

 

Типовые действия весьма скудные: проведение и его отмена, пометка и ее снятие.

 

ВАЖНО! Эти действия реализованы программно, а следовательно даже если у пользователя нет прав интерактивно выполнять данные действия то он сможет их сделать через эту обработку. По сути это такая дырка в безопасности, и если об этом не знать то можно долго гадать как пользователи обходят права.

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

 

Дополнительно добавил действия:

 

Все они выполняются по выделенному объекту (кроме движений документа), и только если в данной ячейки не объект, тогда берется документ из строки.

 

 Движения документа по регистрам

Стандартное действие вынесенное для упрощения вызова

 

 Задача

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

Задача привязывается к объекту по реквизиту "Объект" который к сожалению имеет ограниченный набор типов. Поэтому при создании новой задачи выполняется проверка содержит и реквизит данный тип и если нет то задача не будет создана будет выдано соответствующее предупреждение.

 

 Свойства  Категории

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

 

 Печать

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

 

Файлы

Механизм много где используется и везде визуально различается - в Заказе покупателя, Реализации, Контрагенте, Договоре. Механизм позволяет прикреплять произвольные файлы к объектам, и часто бывает что прикрепить можно только зайдя в справочник "Хранилище дополнительной информации", а у самого объекта такая функция не выведена.

Также выполняется проверка чтобы объекту можно было добавить файл - по типу данных реквизита Объект в справочнике "Хранилище дополнительной информации"

 

 Настройка.

Содержит несколько настроек меняющие работу обработки, если не устраивает как есть.

 

Выводимые реквизиты

 

Это одна из самых полезных доработок позволяющая выводить произвольные колонки. Очень удобно когда структура документов содержит множество разных документов и требуется понять общую картину не открывая каждый из них. Вот небольшой пример как это выглядит (на самом деле бывает что структура не помещается даже на экран):

 

 

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

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

Также есть такой нюанс как реквизиты с разным именем в разных документах выполняющие по сути одинаковую роль. Например Склад в документе "Реализация" и СкладГруппа в "Заказ покупателя". Я решил это путем вывода аналогов колонок, т.е. если добавляем колонку с реквизитом "Склад" из "Реализации" то автоматом проставляется аналог его для "Заказ покупателя" - в функции ПолучитьРеквизитыАналоги(), наоборот не делал. Если нужно то можно самостоятельно дописать другие аналоги.

 

Колонку "Валюта" убрал т.к. редко кто работает с несколькими валютами в базе и ее всегда можно добавить самостоятельно.

 

 Колонки.

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

Добавление производиться из реквизитов активного документа. а удаление - активной колонки.

 

 Сохранение  Восстановление.

Стандартный механизм позволяющий сохранить Настройки и Колонки. Удобно когда для разных типов документов нужна своя схема, или посмотреть схему другого пользователя. Работает как и в типовом механизме - при открытии обработки восстанавливается настройка по умолчанию.

 

История хозяйственной деятельности

 

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

Для решения всех этих проблем я использую объект "Задачи пользователя". Но без привязки к документам невозможно понять кто с ним что делал и почему. Поэтому я доработал структуру подчиненности так чтобы сразу видеть вместе с документами и задачи по ним, и наоборот - по поставленной задаче пройтись по всей цепочке связанных документов.

В результате это выглядит вот так:

 

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

1. В критерии отбора СвязанныеДокументы в задаче ЗадачиПользователя у реквизита"Объект" - установить флажок.

 

2. в общем модуле "ОбщегоНазначения" в функция РазобратьПутьКОбъектуМетаданных() в конце нужно вставить после Если Структура.ТипОбъекта = "Документ" Тогда и перед Иначе еще одно условие:

            ИначеЕсли Структура.ТипОбъекта = "Задача" Тогда

                        Структура.Вставить("Метаданные", Метаданные.Задачи[Структура.ВидОбъекта]);

 

3. также чтобы ставить задачу по любому объекту лучше в реквизите "Объект" в Задаче ЗадачиПользователя поставить тип "ЛюбаяСсылка" тогда не придется выполнять п.4.

 

4. в общем модуле "ПолныеПрава" в про ПолучитьСписокДокументовПоКритериюОтбора()

перед Запрос.Текст = ТекстЗапроса; прописать

            Если Не ЗначениеЗаполнено(ТекстЗапроса) Тогда

                        Возврат Новый ТаблицаЗначений;

            КонецЕсли;

это нужно на случай если задача нигде не будет использована в составе критерия отбора (или в нем не будет реквизита с типом "ЛюбаяСсылка")

 

ВАЖНО! После всех этих действий кнопкой "Связанные документы" нельзя будет пользоваться как и формой списка для критерия отбора "Связанные документы" - потому что он не предназначен для работы с задачами (будет вылетать ошибка в процедуре ЗаполнитьТаблицуСвязанныхДокументов() при выполнении запроса). Это конечно можно исправить но т.к. я никогда не пользуюсь данным механизмом то не сделал этого, если кому нужно и не сможет сам - напишите и я распишу как исправить.

 

 

Несколько моментов в качестве заключения

 

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

Чтобы заменить вызов встроенной формы на эту нужно ее добавить как обработку и в общем модуле РаботаСДиалогами в процедуре ПоказатьСтруктуруПодчиненностиДокумента() написать вместо

ФормаСтруктурыПодчиненности = ПолучитьОбщуюФорму("ФормаСтруктурыПодчиненности");

новый вызов:

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

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

Кстати данная замена решает большое неудобство что нельзя открыть больше одной формы структуры подчиненности - чтобы сравнить несколько структур приходиться открывать несколько сеансов с базой.

 

Также я обычно для удобства вытаскиваю кнопку " Структура подчиненности документа" из меню "Перейти" просто на форму (списка и объекта - конечно только основных) и назначаю ей сочетание клавиш чтобы не искать кнопку, например Ctrl+D - чтобы легко было вызывать.  Но можно просто назначить сочетание и не придется тратить время на "мышкование".

 

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

Вступайте в нашу телеграмм-группу Инфостарт

обработка УТ 10.3 Структура подчиненности

См. также

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5. Работает на возможностях платформы, внешние компоненты не используются.

6000 руб.

25.02.2026    6169    22    1    

22

Подбор и обработка объектов Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 2.0 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Данная обработка предлагается для случаев, когда бывает необходимо изменить какой-либо реквизит в группе проводок, отобранных по определенному набору полей, за определенный период, с определенным типом документа-регистратора. Предлагается четыре варианта обработки для конфигураций: БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0.

2440 руб.

30.05.2016    30707    32    1    

52

Подбор и обработка объектов Разработчик 1С 8.3 1С:Бухгалтерия 3.0 Абонемент ($m)

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

1 стартмани

17.07.2026    1148    2    VKuser233196182    2    

5

Учетные задачи Поиск данных Подбор и обработка объектов 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

1.обработка позволяет автоматически вычислить дубли и привести их к единому наименованию во всех документах. 2.так же есть возможность в документах поменять счета учета для номенклатуры. Например разные бухгалтера оформляют поступление одного и того же товара - один занес на 10.01, второй на 41.01 в результате в ОСВ у нас минусы. В обработке есть возможность наглядно увидеть такие ошибки и тут же их поправить не бегая по всем документам. Достаточно поставить галочку у номенклатуры и указать счет учета который надо найти и счет учета на который надо его заменить. Обработка сама вычислит документы в которых номенклатура с галочкой была задействована и заменит счета учета. Что бы не было излишнего изменения документов, в обработке указываются типы документов, где операция замены счета разрешена (например Поступление ТМЦ, Реализация, Отчет о розничных продажах, возврат покупателю итд.)

7320 руб.

05.06.2026    766    2    0    

4

Перенос данных 1C Учет документов Подбор и обработка объектов Разработчик Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Россия Бухгалтерский учет Платные (руб)

Обработка «Сравнение документов» — это мощный инструмент для синхронизации и контроля данных между базами 1С:УНФ – 1С:БП, 1С:УТ – 1С:БП. Она позволяет сравнивать документы в двух базах, выявлять расхождения и загружать недостающие документы из одной базы в другую.

12200 руб.

06.08.2025    2747    4    0    

5

Подбор и обработка объектов Бухгалтер Пользователь 1С 8.3 1С:Бухгалтерия 3.0 Абонемент ($m)

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

1 стартмани

10.06.2025    2753    35    Rafael-87    13    

5

Подбор и обработка объектов Разработчик Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Абонемент ($m)

Данная обработка может быть полезна тем, кто хочет сделать более точечную замену объектов, когда заказчику необходимо заменить что-то только в определенном виде документа (справочника) с определенным отбором по реквизитам.

1 стартмани

09.05.2025    4130    102    Rafael-87    18    

7

Поиск данных ЭДО и ОФД Подбор и обработка объектов 1С:Предприятие 8 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Поиск номенклатуры при сопоставлении в ЭДО не интуитивный, не настраиваемый и просто неудобный. Данное решение - это альтернативный вариант расширенного поиска и сопоставления номенклатуры для 1С, который подключается в качестве расширения и решает эту проблему.

10000 руб.

10.04.2025    2848    1    2    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. RustIG 1988 07.05.19 10:00 Сейчас в теме
2. CaSH_2004 376 07.05.19 19:01 Сейчас в теме
(1) Ага, это весьма полезно, но то ли написал сложно то ли еще что только просмотров больше 200, а коммент 1. Непонятная реакция сообщества :)
3. RustIG 1988 07.05.19 21:01 Сейчас в теме
(2) я просто в "теме", сразу увидел "что к чему".
4. CaSH_2004 376 07.05.19 22:27 Сейчас в теме
(3) Может есть какие-то интересные идеи по данной теме нереализованные у меня?
5. RustIG 1988 07.05.19 22:28 Сейчас в теме
(4) есть идея подобное реализовать на УФ для УНФ, УТ 11, ЕРП, КА
6. CaSH_2004 376 07.05.19 23:18 Сейчас в теме
(5) Да, к сожалению, все приходиться дублировать. Но я особо управляемыми не занимаюсь, поэтому в планах развивать пока только для обычного режима.
Кстати я пока изучал чужие наработки видел несколько интересных решений для управляемых типа:
Структура подчиненности [Расширение] УТ 11 - тут даже можно без критерия отбора указать где ссылки искать
Структура подчиненности. Кнопки проведения и управление пометкой удаления [Расширение] - а это перекликается с моим решением
Но я так смотрю на управляемых до сих пор в несколько раз беднее функционал чем на обычных. Интересно с чем это связано?
7. Светлый ум 508 09.06.20 19:04 Сейчас в теме
8. user1588547 23.04.21 14:58 Сейчас в теме
Добрый день, подскажите, в восьмерке можно ли сделать структуру отображаемой при наведении мыши на строку договора в общем списке?
Для отправки сообщения требуется регистрация/авторизация