Home » 1С Предприятие 1С Предприятие 7.7 » Подсистемы: Плагин к проекту OpenConf 1Cv77
google




Подсистемы: Плагин к проекту OpenConf 1Cv77

Программная разработка «Подсистемы» является расширением (т.н. плагином) к проекту Открытый конфигуратор (OpenConf) Александра Орефкова (на платформе 1С Предприятии версии 7.7) и позволяет реализовать механизм Подсистем. Подсистема в данной реализации представляет собой выборку отдельных объектов метаданных (констант, справочников, документов и т.д.), которая может произвольно формироваться разработчиком. Визуально – это почти то же самое «дерево» метаданных конфигуратора, в котором отображаются только те объекты метаданных, которые определены самим разработчиком.

Интерфейс плагина «Подсистемы» (в дальнейшем просто Подсистемы) разработан таким образом, чтобы получить наиболее полную информацию об объектах метаданных, включенных в подсистемы, а также оперативно открывать нужные объекты, их формы и пр.

Установка

Для работы Подсистем необходимо иметь установленными «1С:Предприятие» версии 7.7 а также «Open Config» версии 1.0.2.0 (работа на более старых версия не тестировалась). В состав Подсистем входят:

  • SubSystems.dll – непосредственно сам плагин, который необходимо разместить в каталоге: BIN/Config.
  • SubSystemsData.mdb – файл базы данных в формате Microsoft Access, в которой храниться вся информация о настройках Подсистем, Списка Задач и Шаблонов и дугих данных. По-умолчанию он располагается все в том же каталоге: BIN/Config. Но, его местоположение может быть и другим.
  • SubSystemsData.ini – файл для настройки пути местонахождения файла базы данных Подсистем. Размещается в том же каталоге: BIN/Config. Этот файл необходим только в случае, когда база данных Подсистем (SubSystemsData.mdb) находится в каталоге, отличном от BIN/Config.
  • SubSystemsManage.vbs – управляющий файл скрипта к плагину.  Его необходимо разместить в каталоге: BIN/Config/Scripts.
  • SubsystemsExtension.js – файл скрипта в котором находятся не системные макросы. Его необходимо разместить в каталоге: BIN/Config/Scripts.
  • SubsystemsReports.js – файл предоставляющий возможность формирования отчетов по подсистемам. Его необходимо разместить в каталоге: BIN/Config/Scripts.

Под выше упоминаемым каталогом BIN подразумевается одноименный каталог программных файлов 1С. Обычно этот каталог расположен по пути:
\Program Files\1cv77\Bin.

В базе данных Подсистем храниться информация о всех конфигурациях, в работе с которыми применяются Подсистемы.

Важно: Пользователям предыдущих версий перед запуском следует обновить структуру БД, запустив программу: StructureUpdater.exe

Исходные коды

Находятся на google code

Использование

Начало работы

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

Регистрация конфигурации

Определения и понятия

Конфигурация – Объединение однотипных баз данных, основанных на одной единой структуре данных

Подконфигурация – конкретная ИБ, основанная на какой-либо конфигурации.

Пример:

Конфигурация – 1С Бухгалтерский учет

Подконфигурация:

  • 1С Бухгалтерский учет Фирма 1 (….\1CDB\DB_Firm1)
  • 1С Бухгалтерский учет Фирма 2 (….\1CDB\DB_Firm2)

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

Чтобы это сделать, необходимо перейти на вкладку «Конфигурации» и добавить текущую конфигурацию в список уже  зарегистрированных конфигураций, затем добавить подконфигурацию.

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

Создание подсистемы

Создание подсистем и их настройка осуществляется на вкладке «Настройка».

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

Настройка объектов подсистемы

Для настройки состава подсистем следует указать какие объекты метаданных должны быть включены в «дерево» метаданных при использовании этой подсистемы. Для этого необходимо перейти на вкладку «Объекты МД».

По нажатию кнопки  будет выведено «дерево» метаданных данной конфигурации. При позиционировании на конкретном объекте метаданных (константе, справочнике, документе и т.д.) в правой или нижней части (в зависимости от указанных настроен) окна будет отображаться список доступных в данной конфигурации 1С подсистем в виде переключателей, которыми и производится включение помеченных объектов метаданных в эти подсистемы. Возможен множественный выбор для включения  объектов метаданных. Для этого достаточно выбрать один объект метаданных и затем, нажав клавишу Ctrl выделить все остальные объекты, которые необходимо включить в подсистему. Исключение объектов метаданных из подсистем производится выключением одноименных флажков.

Настройка списка внешних файлов

Кроме объектов метаданных в Подсистемы можно также включать и различные внешние файлы. Включать можно как отдельные файлы, так и целые каталоги, причем для каталогов можно указать маску, с помощью которой будет проводиться фильтрация файлов. Пути к файлам и каталогам можно задавать относительно каталога ИБ, для этого служит префикс «@», например «@ExtForms\» означает вывести содержимое каталога ExtForms текущего каталога ИБ.

Для включения внешних файлов в Подсистемы необходимо перейти на вкладку «Настройка состава внешних форм».

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

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

? – подразумевается один символ, допустимый в именах файлов/каталогов.

* – подразумевается несколько символ, допустимых в именах файлов/каталогов

Для включения в список отдельного файла в реквизите «Путь» необходимо указать полный путь к файлу, включая и его имя. Реквизиты «Маска включения» и «Маска исключения» в этом случае будут недоступены.

Кнопка «IBDir\» производит модификацию пути, так, чтобы путь файла/папки был построен относительно каталога ИБ.

Настройка интерфейса

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

Настройка положения и перечня вкладок

Для настройки отображения вкладок и их положения относительно друг друга нужно нажать кнопку . В результате будет открыт диалог настройки

Сохранение/восстановление настроек

Кроме описанного выше механизма реализована возможность сохранения текущих настроек с последующим их восстановлением по аналогии с тем, как это сделано в отчетах и обработках 1С. По нажатию управляющей кнопки  происходит сохранение текущих настроек Подсистем. А при нажатии кнопки  открывается диалоговое окно, в котором можно выбрать ранее сохраненную настройку либо Last.  Выбор последней восстановит состояние Подсистем последнего сеанса работы с ними. Данный способ сохранения позволяет кроме перечисленных в предыдущем разделе параметров настроек Подсистем зафиксировать также перечень выбранных подсистем, с помощью которых ведется работа, и типы объектов метаданных этих подсистем, которые должны отображаться в «дереве» метаданных Подсистем.

Работа с Подсистемами

Основная работа с Подсистемами осуществляется на вкладке «Метаданные». Окно этой вкладки разделено на две части. В одной части располагается «дерево» метаданных, в которое включены только объекты из выбранных подсистем. В другой части расположены закладки, на которых отображается различная дополнительная информация. Но перед началом работы с данными Подсистем необходимо провести небольшую подготовку.

Общие вопросы работы

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

  • обновить список доступных подсистем.
  • выбрать все доступные подсистемы.
  • отменить выбор все доступных подсистем.
  • инвертировать выбор подсистем.

После выбора нужных подсистем можно настроить отображение необходимых типов метаданных, которые будут отображаться в «дереве» объектов Подсистем. Для этого нужно перейти на вкладку «Отображать объекты». На ней приводится перечень всех типов метаданных 1С:Предприятия 7.7. Выбор необходимых метаданных осуществляется с помощью включения (отключения) одноименных флажков. Назначение управляющих кнопок на данной панели аналогично описанным выше кнопкам на предыдущей вкладке, но применительно к типам метаданных.

На этом подготовительный этап настройки для работы с Подсистемами можно считать завершенным.

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

Использование

Визуально состав «дерева» метаданных Подсистем отличается от стандартного «дерева» метаданных 1С в первую очередь тем, что в него включены дополнительные элементы и возможности управления объектами:

Глобальный модуль и общие таблицы.

Формы справочников, документов, журналов и пр.

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

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

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

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

Как видно из рисунка дополнительные возможности, реализованные в Подсистемах, позволяет иметь полную информацию метаданных, не открывая самих объектов, а также оперативно открывать нужные формы. Для справочников и документов реализована возможность открытия диалога настройки параметров, а для их реквизитов – окна свойств. Открытие может осуществляться как при дойном щелчке «мышью» по нужному объекту, так и при нажатии кнопки, когда курсор позиционирован на нужном объекте метаданных. Кнопка  позволяет сохранить текущее «дерево» метаданных развернуто в текстовом виде на диске.

Кроме этого в «дереве» метаданных можно устанавливать закладки, чтобы затем быстро позиционироваться на нужном объекте метаданных. Для работы с закладками используются следующие управляющие кнопки:

  • открыть диалог навигации по закладкам, см. рисунок:
  • установить закладку в «дереве» метаданных.
  • удалить ранее установленную закладку.
  • перейти на следующую закладку.
  • перейти на предыдущую закладку.

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

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

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

Вкладка Описание
Свойства На вкладке Свойства отображается вся доступная информация из метаданных о текущем объекте «дерева» Подсистем. В колонке «Свойство» отображается наименование конкретного параметра метаданных, а в колонке «Значение» — его значение. Если информация о каком-либо параметре не помещается в колонке «Значение», нужно позиционироваться на ней курсором и тогда в реквизите под таблицей будет выведена эта информация полностью
Ссылки На вкладке «Ссылки» отображается информация о ссылках на текущий объект метаданных во всех объектах метаданных конфигурации. По своей сути это аналогично стандартной опции «Поиск ссылок на объект…» в меню «Действия». Назначение управляющих кнопок на этой вкладке следующее:- обновить список ссылок на текущий объект.

— вывести в окно сообщений перечень ссылок на текущий объект.

Подсистемы На вкладке «Подсистемы объекта» отображается список всех подсистем данной конфигурации, в которые входит текущий объект метаданных.
Explorer Кроме этого в Подсистемах реализована возможность доступа к Проводнику Windows, интерфейс которого вынесен на отдельную вкладку «Explorer».
Описание Описание текущего объекта МД, в отличие от обычного описания 1С имеется возможность добавлять описания даже для реквизитов.
Задачи Список задач по текущему объекту
Изменения Список зарегистрированных изменений конфигурации. Может использоваться для группой работы в случае блокировки одним из разработчиков объекта и внесения в это время в заблокированный объект изменений другим разработчиком

Краткое описание возможностей альтернативного дерева метаданных

  • Вывод выбранных объектов МД
  • Вывод внешних форм
  • Вывод глобального модуля
  • Вывод общих таблиц
  • Информация в ветке справочника
  • Вывод формы группы, элемента в случае редактирования в диалоге
  • Вывод описания
  • Вывод реквизитов справочника, отдельные иконки для периодических реквизитов, реквизитов с признаком сортировка, отбор
  • Вывод форм списка.
  • Отображение более блеклой иконкой форм/модулей выгруженных при помощи TurboMD
  • Вывод внешних печатных форм
  • Вывод подчиненных справочников
  • Возможность раскрытия составных типов данных у реквизитов (Ctrl+Enter).
  • Информация в ветке документа
    • Форма документа
    • Модуль документа
    • Описание
    • Общие реквизиты
    • Реквизиты шапки
    • Реквизиты табличной части
    • Документы вводимые на основании
    • Отображение более блеклой иконкой форм/модулей выгруженных при помощи TurboMD
    • Вывод внешних печатных форм
    • Возможность раскрытия составных типов данных у реквизитов (Ctrl+Enter).

Работа со Списком задач

Для того чтобы как-то систематизировать перечень задач по настройке конфигурации, которые ставит пред собой разработчик 1С, была реализована возможность  ведения Списка задач, которые отображается на отдельной вкладке «Задачи». Имеется возможность свертки условий/подчиненных в панель, для этого следует кликнуть на надписи «Управление списком» / «Подчиненные задачи», также можно изменять размер панелей не закрывая их.

Имеется возможность настраивать список и порядок выводимых в списке задач колонок.

Задача имеет перечень реквизитов, с помощью которых описывается ее назначение, срок выполнения, текущее состояние и пр. Список задач может быть отфильтрован по принадлежности к той или иной подсистеме, ее текущему состоянию, разработчику 1С, которые ее реализовывает, также по типу объекта метаданных и так далее. Фильтрация может быть  установлена сразу по нескольким критериям. Кроме этого реализована возможность упорядочивания списка задач. Щелчок «мышью» по столбцу списка задач сортирует данных в списке по этому столбцу.

Для копировании выделенной задачи следует нажать на кн.: .

Для создания подчиненной задачи нажать кн.:

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

Основные реквизиты Назначение
Конфигурация Конфигурация которой принадлежит задача
Подконфигуарция Подконфигуарция которой принадлежит задача
Релиз Релиз конфигурации в который включены работы по текущей задаче
Исполнитель Исполнитель работ по текущей задаче
Задача основание Головная задача текущей задачи. Имеется возможность создавать подчиненные задачи.
Наименование Краткое наименование, описание задачи.
Статус Статус в котором находится задача
% Процент выполнения задачи
Done Признак окончания работ по задаче.
Закладка Назначение
Описание Содержимое задачи, то, что необходимо сделать
Результат от невнедрения Что произойдет если не выполнить данную задачу
Инициаторы Список инициаторов задачи, выбирается из списка
Категории Категории задачи, ссылка на справочник, используется для более развернутой классификации/группировки задач
Файлы Список прикрепленных к задаче файлов.
Блокировки История блокировок объекта разработчиками. Используется для групповой работы.
Изменения Список изменений заблокированных объектов, используется для групповой работы
Для отчета Текст, который будет использоваться при формировании отчета о выполненных работах
Административные Ряд реквизитов отвечающих за реализацию задачи. В том числе реквизиты плана/факта начала/конца работы, руководитель работ, автор/последний изменявший дата создания/последнего изменения задачи. Ключевые слова, серьезность работ, номер задачи если используется внешняя система учета работ.
Подчиненные Дерево подчиненных задач.
Принадлежность МД Список объектов МД, подсистем, к которым относится текущая задача.

Работа с Шаблонами

В случае необходимости сохранения произвольных текстовых блоков, элементов форм можно воспользоваться Шаблонами. Этот механизм позволяет хранить текстовые блоки произвольной длины в базе данных Подсистем. Шаблоны можно группировать по определенным разработчиком 1С критериям. Для сохранения нового текстового либо извлечения уже сохраненного нужно перейти на вкладку «Шаблоны».

Имеется возможность взял содержимое шаблона из файла, например в случае использования программы «ClipboardHistory.exe»

Приложение

В конце необходимо описать некоторые нюансы в работе Подсистем.

Если вкладка Подсистем активна и находится на переднем плане, нажатие кнопки сохранения, которая находится  на панели инструментов 1С  «Стандартная» приводит к сбою в работе и «вылету» 1С:Предприятия.

Иногда возникают проблемы при обновлении отображаемой Подсистемами информация после открытия диалоговых окон. Решить эту проблему можно следующим образом. В файле скрипта, входящего в поставку Подсистем,  прописан метод под именем EnableDisableSubsystemsPanel(). Его следует подключить с помощью средств «OpenConf» для выполнения по «горячей» клавише, назначив удобное сочетание клавиш. При возникновении проблемы  с обновлением информации вызывать этот метод на выполнение. В результате корректное отображение информации будет восстановлено.

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

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

Обязательным является лишь скрипт: SubSystemsManage.vbs, в нем прописаны все события и способы их обработки.

Описание скриптов

Макрос Назначение
SubsystemsExtension.js
JSTrim(vValue) Trim(…)
Echo(text) Вывод в окно сообщений текста
EnableDisableSubsystemsPanel() Скрыть показать панель Подсистем
GetToDoName(pID) Получить имя Задачи по ее ИД
ToDoSaveToFileXML() Сохранить Задачи в XML файл
ToDoCardShow() Открыть Задачу с номером
OpenCurrentToDoCard() Открыть текущую задачу
GetAllToDoFromCurrentModule() Получить список Задач текущего модуля и перейти к выбранной
CreateChildToDo() Создать подчиненную задачу
SetMDObjBlock() Установить блокировку объекта МД
GoToNextPage() Перейти к след.странице
GoToSSPage() Перейти на закладку подсистемы
TemplateCardShow() Открыть карточку Шаблона по ИД
GetTextFromClpbrd() Взять текст из буфера обмена
SetTextToClpbrd() Установить текст в буфер обмена
ShowSQLConnectionString() Показать строку соединения с SQL базой
MetadataTreeShowNameSynonym() Отображать в дереве метаданных Идентификатор и Синоним
MetadataTreeShowName() Отображать в дереве метаданных только Идентификатор
SubsystemsReports.js
РаботыПланируемыеБытьНачатымиСегодня() Список работ планируемых начать сегодня
НевыполненныеРаботы() Невыполненные работы по текущей конфигурации
Задачи текущего модуля Задачи текущего модуля

Posted on by Ушаков Сергей
Categories: 1С Предприятие,1С Предприятие 7.7 Метки: ,,,



Добавить комментарий

Войти с помощью: 

Google




Социальные сети


Я в Twitter
Яндекс.Поиск
Поиск обычный
Счетчики
Рейтинг@Mail.ru Яндекс.Метрика