Технология конфигурации-носителя


Способ переноса доработок в конфигурации в маленьких файлах, альтернатива CFU

 

Файлы типовых конфигураций в 1с8 занимают очень большой объем, порядка 30-50 Мб. Передавать их через интернет бывает затруднительно.

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

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

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

Получателю останется только объединить полученный файл со своей конфигурацией.

Общая конфигурация-носитель

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

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

Конфигурация-носитель создана на базе названий объектов УТ и распространяется в формате 1с81, т.к. его всегда можно сконвертировать в 1с82.

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

Создание конфигурации-носителя из имеющейся конфигурации

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

Создадим для примера пустую конфигурацию для УТ 10.3:

  1. Выгрузим конфигурацию УТ в файл УТ.cf
  2. Создадим пустую базу
  3. Откроем пустую базу в конфигураторе, запустим сравнение объединение конфигурации пустой базы с УТ.cf. Откажемся от постановки конфигурации на поддержку 1C.
  4. В окне сравнения-объединения на верхнем уровне включим только ссылочные объекты, остальные снимем:
  5. Для каждого из ссылочных объектов устанавливаем только верхнюю галочку, остальные сбрасываем:
  6. Не забываем снять галочки для служебных объектов:
  7. Если требуется сохранение прав доступа и регистрации объектов в планах обмена, оставляем типовые планы обмена и роли:
  8. Также сохраним и подсистемы (не обязательно):
  9. Запускаем объединение, игнорируем неразрешимые ссылки, нажимаем Продолжить:
  10. Конфигурация получена, сохраняем конфигурацию.

Исходный файл конфигурации УТ.cf занимает 28 Мб. Полученный файл – всего 3 Мб. Экономия налицо. Файлы конфигурации практически не сжимаются.

26 Comments

  1. YNik

    А почему не через Поставку конфигурации создать файл обновления cfu? Тоже небольшой размер получится и не надо лишней работы делать.

    Reply
  2. pumbaE

    (2) изучите горизонтальную поддержку конфигурации.

    Reply
  3. Ne'я

    Похоже, что это уже было здесь:

    http://infostart.ru/public/66092/

    Reply
  4. fixin

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

    (3) ссылочку в студию.

    По поводу CFU приведу пример. Допустим, вы разработали некторую приблуду к типовой — пару новых доков и обработок с префиксами (например сохранение реквизитов ТТН).

    Конфы клиентов находятся на поддержке у 1С, коны разные. Поэтому у вас есть варианты — или создать CFU для типовой БП, для типовой УПП, для типовой УТ, или же просто тупо создать пустую конфу. Естественно, с пустой конфой легче, проще и разумнее.

    Reply
  5. pumbaE

    (5) книжка «проф разработка».

    Reply
  6. fixin

    (6) номер страницы, плиз. Но чтобы не тратить мое драгоценное время, вы про CFU? если да, то втопку. Сразу.

    Reply
  7. SiAl

    Который раз обнаруживаю fixin-а, изобретающего с огромным удовольствием колесо. Его бы энергию, да в мирное русло на пользу Родине.

    Reply
  8. fixin

    (8) а подробнее?

    Reply
  9. pumbaE

    (7) в топку такую статью. Изучи сначала документацию, а потом гениализируй.

    Reply
  10. fixin

    (10) поподробнее плиз, а то как бы тебе потом стыдно не было за твой первый минус.

    Reply
  11. pumbaE
    поподробнее плиз, а то как бы тебе потом стыдно не было за твой первый минус.

    1. cfu с горизонтальной поддержкой.

    2. РИБ с обменом только конфигураций.

    3. Если срочно и единоразово xdelta (конечно лучше делать самому, выигрываем только в размере передаваемых данных)

    4. Любая система версионного контроля (проблема только в: поднимать у себя сервер или арендовать). bitbucket.org 5 репозитариев закрытых бесплатно предоставляет.

    Твое решение порождает, каждый раз писать или скриншоты делать какие объекты ты добавил, какие изменил. Если же понадобится изменять типовые объекты (общие модули) то еще больше объяснений, что этот модуль надо поставить флажек.

    Минус схлопотал, за то что отвергаешь сразу режим cfu, не умеешь готовить не берись…

    P.S: Россия — страна талантов. Талантов масса, работать некому. (с) Жванецкий.

    Reply
  12. fixin

    (12) и ты считаешь озвученные методы лучше, чем моя пустая конфа? бугога. тебе пора перестать читать документацию и начинать думать. Я прощаю тебе твой минус.

    Есть такая вэсчь как подсистема. Если тебе очень нужно передавать большое количество объектов в пустой, можно заюзать подсистему и при объединении выделять только объекты подсистемы. Разжевываю…

    Reply
  13. pumbaE

    (13)

    — О, спасибо, тебе великий fixin. Я всю ночь не спал, думал, а вдруг ты меня накажешь.

    Спасибо что простил…

    По делу: спор с бугогашечкой по имени fixin считаю бессмысленным, каждый остался при своем мнении, а отвечать на «Дурак!» «Сам дурак!» , забрасывать шапками друг друга и плеваться в бороды нет никакого желания.

    Reply
  14. fixin

    (14) ок

    Reply
  15. SiAl
    тебе пора перестать читать документацию

    Это «пять». Большинство наставников предлагает новичкам читать документацию, то есть «учить матчасть». И только fixin идёт своим путём.

    Reply
  16. fixin

    (16) я ее уже 10 лет читаю. Совет мне, гуру, читать документацию, содержит 0 бит. Автор совета не удосужился даже объяснить свою методику для дистрибуции конфигурации. Думаю, более простого способа, чем мой не существует, а пыжиться тут многие горазды! Давайте по существу вопроса.

    Reply
  17. CratosX

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

    Reply
  18. fixin

    (18) истину глаголю — Пумба еще будет жалеть о своём недальновидном минусе, ибо вещь реально хорошая. Сам юзал.

    Reply
  19. luns
    Файлы типовых конфигураций в 1с8 занимают очень большой объем, порядка 30-50 Мб

    даже в деревне Гадюкино интернет сейчас по 5-10 мб

    статья 2000 года? ))

    + 1с несовместимо

    незачет.

    Reply
  20. fixin

    (20) лунс, а на ИС есть ограничения на размер файлов?

    Одно дело выложить обработку размером в 5 Мб, а другое дело — опубликовать всю конфу объемом 50 мб?

    К тому же всю конфу опубликовать нельзя — она типовая и попадаем на копирайт.

    И потом — где здесь 1с-несовместимо, га?

    Аргументу не зачот.

    Reply
  21. nalivai-chai

    (20) luns,

    Все-таки есть ситуации, когда 30-50Мб это много. Когда почтовый сервер с ограничениями, когда мало времени, когда интернет не такой как в «деревне Гадюкино», ну и куча др.

    Метод предложенный Фиксом полезен. Позволяет сохранить время.

    Reply
  22. Borisych

    Я делал РИБ — чтобы передавать изменения в конфигурации, размер файлов-сообщений маленький

    Reply
  23. WaterSmith

    Подробная инструкция по такой методике, еще для 77, была описана Арчибальдом: http://infostart.ru/public/90291/

    Я ничуть не хочу обвинить fixinа в плагиате, его методика описывает более автоматизированный способ, ставший возможным благодаря развитию 1С-8х.

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

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

    Reply
  24. fixin

    (22) истину глаголешь.

    (23) для публикации на ИС и в других подобных системах РИБ не катит

    (24) Разработку Арчибальда не смотрел, мысль пришла сама, из практики…

    Reply
  25. alexqc

    Для удаления текстов модулей можно использовать следующий прием:

    0. Создали конфу, из которой надо удалить тексты

    1. Выгрузить все модули/макеты/что-там-еще-надо во внешние файлы: в конфигураторе меню конфигурация-выгрузить файлы конфигурации.

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

    for %F in (*.mxl *.txt) do type nul >%F

    — она занулит указанные файлы (при желании вместо зануления можно например туда что-то скопировать)

    3. В конфигураторе обратно загрузить файлы

    Reply
  26. fixin

    (26) да думаю на 1с написать зануление тоже не долго. 😉

    Reply

Leave a Comment

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