Хранилище внешних отчетов и обработок (интегрируемый модуль)

05.11.20

Разработка - Групповая разработка (Git, хранилище)

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

Скачать исходный код

Наименование Файл Версия Размер
СОИБ (хранилище ВОиО)
.dt 55,86Mb
15
.dt 1.0.0.1 55,86Mb 15 Скачать

ИНСТРУКЦИЯ ПО РАБОТЕ С ХРАНИЛИЩЕМ ВОиО

 

Данное "Хранилище Внешних Отчетов и Обработок" реализовано в виде модуля, встраиваемой подсистемы под названием ВОиО, для отдельной конфигурации по обслуживанию или администрированию ИБ в компании на платформе 1С не ниже 8.3.12, с обязательным наличием в ней такой подсистемы БСП как РаботаСФайлами. Если у заказчика нет подобного рода конфигурации для встраивания этого модуля, то можно просто развернуть новую чистую базу из прилагаемого архива СОИБ (хранилище ВОиО).dt и назвать, например, также как и называется конфигурация идущая в комплекте: СОИБ (Система Обслуживания Информационных Баз). Данная конфигурация была реализована на БСП версии 3.0.2.243 с доработкой подсистемы РаботаСФайлами. Доработки сделаны через расширение, БСП на поддержке. Главная форма хранилища, это форма списка справочника ВОиО и для удобства она сразу выведена на начальную страницу.

 

 

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

 

 

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

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

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

"Сохранить как" - сохранить последнюю (активную) версию файла к себе на диск, доступно всегда.

 

 

Для того, чтобы ЗАКОНЧИТЬ работу с элементом ВОиО, в форме карточки присоединенного файла нажимаем "Обновить из файла на диске..." и выбираем доработанный файл. Если файл изменён, то появится окно "Сохранение версии файла", где обязательно нужно указать комментарий (как при помещении объекта в хранилище). Обратите внимание, хорошим тоном, уважением к коллективу и показателем качества будет считаться, наличие такого же или подобного комментария в самой внешней обработке в соответствующем месте, как в примере ниже на скриншоте. А для этого, следует научить себя сразу добавлять дельный текст комментария для параметра Информация в функции СведенияОВнешнейОбработке() модуля объекта файла, кусок которого затем можно просто скопировать и вставить в поле Комментарий версии при сохранении новой версии файла в элементе ВОиО.

 

 

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

 

 

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

 

Версия модификации - заполняется, тогда, когда есть вероятность того, что обработка попадет в подключенные ИБ раньше, чем применятся новые изменения конфигурации, связанные напрямую с работоспособностью помещаемой версии файла. Иногда бывает, что приходится одновременно и внешнюю обработку дорабатывать и в конфигурации что-то связанное с этим редактировать/добавлять. В общем, это нужно для автоматизации и надежности, дабы полностью исключить ошибки совместимости. Данный функционал НЕ ОБЯЗАТЕЛЕН, подробнее о нём написано в Инструкции по подключению ИБ для обслуживания ДОиО.docx.

 

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


 

 

ИНСТРУКЦИЯ ПО ПОДКЛЮЧЕНИЮ ИБ (для обслуживания ДОиО)

 

Шаг 1.  Для случая, когда нужно или очень хочется сохранить девственность подключаемой ИБ, если такова еще имеется и важна, прилагается расширение ОбслуживаемаяИБ.cfe. Обратите внимание, что в этом расширении установлен режим совместимости расширения конфигурации версия 8.3.12, что означает то, что нужно будет в этом расширении предварительно скорректировать это свойство и привести в соответствие с  режимом совместимости конфигурации подключаемой ИБ. Конфигурации с режим совместимости ниже версии 8.3.11 для этого расширения не подойдут, т.к. только с версии 8.3.11 появилась возможность добавлять реквизиты объектов в расширениях. А также, предварительно нужно будет добавить в конфигурацию подключаемой ИБ регламентное задание ОбновлениеДанных, потому как в расширениях их добавлять нельзя. После чего это РЗ добавить в подключенное расширение и повестить соответствующую процедуру.

 

 

Для случая, когда в конфигурацию подключаемой ИБ есть возможность вносить изменения, тогда из прилагаемой в комплекте ОбслуживаемаяИБ.cf нужно обязательно перенести (сравнить/объединить) объекты подсистемы ВОиО: два служебных реквизита справочника ДОиО УникальныйИдентификаторВОиО и ХешФайла (см. скриншот). И дополнительно, это объекты подсистемы Модификация: общие модули в которых реализован механизм учета версий доработок конфигурации с возможностью обновления данных и код вызова из модуля приложения в процедуре ПередНачаломРаботыСистемы().

 

 

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

 

 

При обмене, в СОИБ передаётся номер текущей версии модификации из РС ВерсииПодсистем, который попадает туда после успешного обновления версии и он сравнивается с тем номером, который был указан в получаемой для обслуживаемой ИБ версии файла ВОиО, при помещении программистом доработанного файла ВОиО в хранилище.

Наличие данной подсистемы НЕ ОБЯЗАТЕЛЬНО! Поэтому, если этот механизм по вашему мнению окажется излишним (реализована своя подобная система или достаточно типовой),  некорректным, неподходящим или попросту не потребуется, то объекты этой подсистемы можно просто не переносить (а в случае с расширением удалить соответствующие объекты). В таком случае, проверка на совместимость версий модификации конфигурации и загружаемого файла ВОиО просто игнорируется.

 

Шаг 2. В справочнике "Информационные базы" создаем новый элемент и заполняем необходимые реквизиты на вкладке Общие и Подключение. Важно включить признак Тестовая, если ИБ которую вы подключаете служит для разработки или для тестов, иначе такая база для системы будет считаться рабочей и непроверенная версия файла ВОиО не попадет в такую ИБ.

 

 

 

На вкладке Обслуживание ДОиО включаем признак обслуживания и записываем новый элемент. Теперь эта база появится в форме списка ВОиО.

 

 

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

 

 

Теперь, по индивидуально настроенному использованию, нужно добавить сведения для обмена, для этого всё на той же вкладке Обслуживание ДОиО следует нажать "Обновить сведения". Таким образом, в специальный для обмена регистр сведений СведенияПоВОиОДляИБ добавятся новые записи по этой ИБ и используемыми ВОиО для неё. Запись в этот РС происходит с замещением последних не синхронизированных записей.

Шаг 4. Сохраняем файл последней актуальной версии универсальной обработки "Обслуживание ДОиО" из справочника ВОиО и в подключаемой ИБ в режиме предприятия открываем его и указываем настройки.

 

 

Местоположение WSDL: http://yourdomain.ru/ws/MaintenanceInfoBases.1cws?wsdl

Логин и Пароль отдельного бот-пользователя, созданного специально для веб-сервисов в обслуживающей базе. Например, в СОИБ это ws_bot с паролем 1q2W3e4

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

 

Записываем настройки и жмакаем "Выполнить обмен". Теперь, эта обработка появится в справочнике ДОиО или обновится, если такой элемент там уже был.

Либо, можно сразу создать новый элемент в справочнике ДОиО с видом дополнительная обработка и загрузить в него этот файл внешней обработки и далее попасть в настройки подключения можно уже и из самой формы этого созданного  элемента нажав кнопку Выполнить на команде "Обслуживание ДОиО (ручной запуск)". И далее, также как в первом варианте, заполняем и записываем настройки подключения и жмакаем "Выполнить обмен".

 

 

Теперь нужно создать  регламентное задание выполнения этой служебной дополнительной обработки. Для этого, у команды "Обслуживание ДОиО" следует указать расписание (например каждые 3600 сек.), после чего, в списке регламентных заданий появится соответствующий элемент.

 

На этом, ВСЁ. Теперь, добавленная база успешно подключена для автоматического поддержания справочника ДОиО в актуальном состоянии.

 

Примечание: нужно учитывать, что если в обслуживаемой ИБ ранее не было какого-либо из используемых для ИБ ВОиО, то после обмена следует проверить и один раз вручную настроить (назначения, доступ пользователей, команды, расписания и т.п.) новые загруженные элементы ДОиО, если это требуется.

 

Дополнительно: чтобы проанализировать детальную информацию по состоянию обслуживания ДОиО можно воспользоваться специальным для этого отчетом "Анализ сведений по обмену ВОиО". Отчет по-умолчанию имеет два предопределенных варианта: по группировке ИБ и по группировке ВОиО. Если что, можно легко донастроить отчет под себя.

 

хранилище внешние дополнительные отчеты обработки ВОиО ДОиО обслуживание администрирование версионирование обмен

См. также

Системы контроля версий для 1С-разработчиков.

1С-программирование DevOps и автоматизация разработки Групповая разработка (Git, хранилище) DevOps для 1С Платформа 1С v8.3 Платные (руб)

Основы командной разработки на 1С. Использование систем контроля версий при разработке на платформе 1С:Предприятие 8

4900 руб.

29.06.2022    9454    78    4    

112

Обновляемый список последних статей Инфостарт для профиля Github

Групповая разработка (Git, хранилище) Бесплатно (free)

Не знаете, чем бы таким заполнить свой профиль Github? Заполните его своими статьями на Инфостарт! Этот простой workflow сам соберет список ваших последних статей и будет периодически обновлять его для актуализации данных.

08.04.2024    943    bayselonarrend    2    

31

Процесс разработки с использованием GIT и расширений для 1С:ERP. Без EDT

Групповая разработка (Git, хранилище) Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Доработки 1С:ERP на крупных проектах можно организовать, не внося изменения в саму типовую конфигурацию, а используя только расширения и отдельные «микроконфигурации». Расскажем о том, как это сделать без EDT, используя процесс разработки GitHub Flow.

02.04.2024    4968    Begemoth80    24    

45

Особенности национального Workflow: Github Actions и OneScript

Групповая разработка (Git, хранилище) OneScript Бесплатно (free)

Сегодня мы посмотрим на Github Actions - встроенный инструментарий Github для автоматизации рабочих процессов. Разберем, что это такое, зачем и причем тут OneScript.

25.03.2024    1608    bayselonarrend    3    

38

Автоматизация процесса разработки с помощью сервиса GitFlic

Групповая разработка (Git, хранилище) Бесплатно (free)

GitFlic – первая в России полностью самостоятельная реализация сервиса для хранения репозиториев с исходным кодом. За три года разработки сервис GitFlic стал полноценным инструментом, которым можно заменить GitLab, GitHub и BitBucket. Расскажем о том, как выстроить в GitFlic процесс автоматического тестирования, статического анализа кода и сборки приложений.

05.03.2024    2121    user1989937    6    

16

OpenYellow - рейтинг открытых GitHub репозиториев для платформы 1С:Предприятие

Групповая разработка (Git, хранилище) Бесплатно (free)

Обновляемый топ GitHub репозиториев для 1С по всем языкам программирования и еще немного рассуждений про open-source.

05.02.2024    4075    bayselonarrend    15    

63

Насколько глубок 1С-ный GitHub?

Групповая разработка (Git, хранилище) Бесплатно (free)

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

22.01.2024    8098    bayselonarrend    50    

87

TCP прокси-сервер хранилища конфигурации 1С

DevOps и автоматизация разработки Групповая разработка (Git, хранилище) OneScript Платформа 1С v8.3 Бесплатно (free)

Продолжение истории с прокси хранилища, но уже не на HTTP, а на TCP и без падений по памяти веб-сервера. Проверяем комментарии хранилища, вызываем веб-хуки, старты пайплайнов, gitsync по событию помещения версии в хранилище. И все это полностью на знакомом и понятном OneScript.

17.01.2024    3054    kamisov    17    

60
Оставьте свое сообщение