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

06.05.19

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Структура подчиненности
.epf 25,08Kb ver:3.0
36
36 Скачать (1 SM) Купить за 1 850 руб.

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

 

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

 

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

 

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

 

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

 

 

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

 

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

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

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

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

 

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

 

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

 

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

 

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

 

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

 

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

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

 

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

 

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

 

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

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

 

 Задача

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

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

 

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

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

 

 Печать

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

 

Файлы

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

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

 

 Настройка.

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

 

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

 

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

 

 

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

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

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

 

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

 

 Колонки.

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

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

 

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

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

 

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

 

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

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

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

 

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

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

 

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

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

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

 

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

 

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

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

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

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

            КонецЕсли;

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

 

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

 

 

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

 

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

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

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

новый вызов:

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

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

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

 

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

 

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

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

См. также

Подбор и обработка объектов Платформа 1С v8.3 1С:Зарплата и Управление Персоналом 3.x Россия Платные (руб)

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

11880 руб.

20.11.2023    708    2    3    

1

ККМ Кассовые операции Подбор и обработка объектов Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Модуль, ускоряющий подбор номенклатуры в 1С в чек ККМ и Заказе клиента. Оптимизированная форма подбора товаров с многократно ускоренным процессом поиска товаров в 1С в чек ККМ и Заказе клиента для конфигураций 1C:Управление торговлей 11.5, 1С:Комплексная Автоматизации 2.5 и 1С:ERP Управление предприятием 2.5

18000 руб.

30.10.2024    290    1    0    

3

Подбор и обработка объектов Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Очень часто бывает, что документы одного периода повторяются в следующем. Поэтому приходится выполнять рутинную работу по их повторению, а именно копировать каждый документ по отдельности. Чтобы этого избежать, была написана обработка группового копирования документов для конфигурации 1С Бухгалтерия версии 3.0.

6000 руб.

29.06.2015    45410    92    18    

104

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

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

2400 руб.

30.05.2016    29092    30    0    

49

Подбор и обработка объектов Программист Платформа 1С v8.3 1С:Управление нашей фирмой 3.0 Россия Абонемент ($m)

Обработка, очищающая двойные записи в регистре "График платежей". Решает проблему: Обнаружено дублирование ключевых значений в колонках: "Ссылка". Отображение данных в списке невозможно.

1 стартмани

26.09.2024    451    1    AlexHelmer    0    

4

Зарплата Подбор и обработка объектов Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Абонемент ($m)

После расчета и выплаты отпускных порой отпускные приходится пересчитывать. Причины: начислена годовая премия, или начислена зарплата, входящая в расчетную базу, и прочие. Делать вручную - непрактично. Можно воспользоваться отчетами (типовых, к слову, нет), но потом еще надо вручную создавать документы-исправления. Данная обработка автоматизирует весь процесс по принципу Plug-n-Play.

3 стартмани

14.08.2024    472    9    Vinzor    0    

5

Поиск данных Корректировка данных Подбор и обработка объектов Программист Пользователь Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Обработка позволяет найти и заменить битые ссылки справочников. Для всех конфигураций. Обработка универсальная! Незаменимая вещь как для IT-специалистов, так и для обычных пользователей!

10 стартмани

04.07.2024    874    6    user1527257    0    

5

Корректировка данных Подбор и обработка объектов Пользователь Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

10 стартмани

28.06.2024    751    6    user1527257    0    

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