Как сохранить расширение 1с в файл
Перейти к содержимому

Как сохранить расширение 1с в файл

  • автор:

Сохранение и загрузка конфигураций

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

Сохранение и загрузка конфигураций

Сохранение конфигурации

Сохранение конфигурации прикладного решения в файл на диске может быть использовано для создания новой конфигурации прикладного решения, основу которой составляет текущая конфигурация, или для последующего сравнения и объединения с другими конфигурациями. Конфигурация сохраняется в файл с расширением *.cf.

Загрузка конфигурации

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

Как сохранить расширение 1с в файл

Для типовых баз разных версий готовится расширение. Есть некоторый шаблон в виде файла cfe. Необходимо выгрузить расширение в файлы, программно заменить один модуль и собрать расширение обратно.
Как это сделать, не подскажете?

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

(0) распакуй с v8unpack, внеси изменения и запакуй обратно. Это даже из 1с-ки сделать можно.

(1) И давно v8unpack понимает расширения конфигураций? И будет ли работать с платформами 8.3.12, 8.3.13?

v8unpack версия 10-ти летней давности. Боязно как-то отдавать клиентам продукт, собранный нетиповым способом.
Пробовал воспользоваться ключами DumpExternalDataProcessorOrReportToFiles и LoadExternalDataProcessorOrReportFromFiles для внешних обработок. Почему-то ругается на расширение, что это не внешняя обработка 😉
Есть ещё варианты?

(3) ДвоичныеДанные
(4) Что это?
Ладно, для поддержки разговора: XDTO

(5) Ты пишешь: «Боязно как-то отдавать клиентам продукт, собранный нетиповым способом»

А это типовой способ:
ДвоичныеДанные = Новый ДвоичныеДанные(ИмяФайла);
Поток = ДвоичныеДанные.ОткрытьПотокДляЧтения();
Буфер = Новый БуферДвоичныхДанных(1024);
Поток.Прочитать(Буфер, 0, 1024);
// Обработка и т.д. и т.п.
Поток.Закрыть();

Не пошла дискуссия. Жаль )

Тогда копипасту выложу:
/DumpConfigFiles [-Module] [-Template] [-Help] [-AllWritable] [-Picture] [-Right][-Extension ]
— выгрузка некоторых свойств объектов метаданных конфигурации (модулей, макетов, картинок, прав доступа и справочной информации). Допустимо использовать следующие параметры:

— каталог расположения файлов свойств;
Module — признак необходимости выгрузки модулей;
Template — признак необходимости выгрузки макетов;
Help — признак необходимости выгрузки справочной информации;
AllWritable — признак выгрузки свойств только доступных для записи объектов;
Picture — признак выгрузки общих картинок;
Right — признак выгрузки прав;
Extension — обработка расширения с указанным именем. Если расширение успешно обработано возвращает код возврата 0, в противном случае (если расширение с указанным именем не существует или в процессе работы произошли ошибки) — 1.

(7)
Автор не хочет DUMP из конфигурации. У него мождет не быть конфигурации, а есть только расширение в CFE.

Выгрузка и загрузка конфигурации в файлы

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

Выгрузка и загрузка конфигурации в файлы

Конфигурация выгружается в набор файлов разного типа: xml, html, bin, bsl и так другие. Тип файла соответствует содержимому. Например, структура объекта конфигурации Справочник выгружается в файл xml, а модуль объекта этого справочника — в текстовый файл с расширением bsl..

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

Выгрузка и загрузка конфигурации в файлы

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

Выгрузка и загрузка конфигурации в файлы

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

Выгрузка и загрузка файлов конфигурации также возможна при запуске конфигуратора в пакетном режиме или в режиме агента.

Расширения

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

Назначение

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

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

Расширения

Когда поставщик выпускает новую версию типовой конфигурации, выполняется её автоматическое обновление, поскольку режим поддержки типовой конфигурации не менялся. Она осталась на полной поддержке поставщика. А при запуске обновлённого прикладного решения платформа снова автоматически объединит изменённую типовую конфигурацию с расширением. И заказчик продолжит работать с изменённым, по его желаниям, типовым решением.

Расширения

Сценарии использования

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

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

Другая ситуация — это доработки типовой конфигурации под конкретного заказчика у него на внедрении. Или же доработки типовой конфигурации, которые выполняют для себя IT специалисты заказчика собственными силами. Если все эти доработки выполнить в расширении, то типовая конфигурация останется на полной поддержке, что значительно упростит её дальнейшее сопровождение.

Информация о расширении

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

Устройство

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

Расширения

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

Расширения

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

Подключение расширения

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

Расширения

Этот файл можно передать заказчику. Заказчик самостоятельно загрузит его в свою информационную базу в режиме 1С:Предприятие с помощью стандартной функции Управление расширениями конфигурации.

Расширения

Проверка возможности применения

Проверить возможность применения расширения к конкретной конфигурации можно до её реального запуска вместе с конфигурацией:

  • с помощью интерактивных команд в конфигураторе;
  • при пакетном запуске конфигуратора;
  • из встроенного языка;
  • в стандартной обработке Управление расширениями конфигурации перед добавлением или перед загрузкой расширения, автоматически или с помощью интерактивных команд.

Порядок применения расширений

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

Деактивация расширений

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

Авторы: Е.Ю. Хрусталева

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *