При работе с программными продуктами 1С, особенно в задачах автоматизации обновлений, настройки скриптов загрузки или мониторинга релизов, системным администраторам и программистам часто требуется внутренний идентификатор конфигурации, известный как distr_code. В этой статье мы подробно разберем, какой код используется для популярного решения «1С:Управление нашей фирмой», и научимся самостоятельно определять эти параметры для любых других конфигураций.
Разберем конкретный вопрос: какой distr_code соответствует конфигурации 1С:Управление нашей фирмой (УНФ)? Для российской редакции этой программы идентификатором является SmallBusiness16.
Важно обратить внимание на одну техническую особенность, которая часто вводит в заблуждение начинающих специалистов. Несмотря на то, что актуальная редакция УНФ имеет мажорный номер 3.0, в системе обновлений и на портале релизов она по-прежнему использует идентификатор SmallBusiness16. Это связано с тем, что редакция 3.0 архитектурно является прямым развитием ветки 1.6, и для сохранения преемственности обновлений фирма «1С» оставила прежний код дистрибутива.
Рассмотрим самый простой и надежный метод определения кода без необходимости заглядывать в конфигуратор. Выполним следующие шаги:
Ссылка будет иметь вид https://releases.1c.ru/project/SmallBusiness16. Часть текста, идущая сразу после слова project/, и есть искомый distr_code. Проанализируем ситуацию на примере других программ: для «Бухгалтерии предприятия 3.0» ссылка ведет на Accounting30, для «Зарплаты и управления персоналом 3.1» — на HRM30.
Если у нас уже установлены шаблоны конфигурации или обновлений, мы можем найти идентификатор в служебных файлах. Разберем, как это сделать по шагам:
Найдем папку, в которую устанавливаются шаблоны. По умолчанию это путь в профиле пользователя: %AppData%\1C\1cv8\tmplts\1c\. Внутри этой папки выберем каталог с нужной конфигурацией и версией. Проанализируем содержимое папки: там должен находиться файл version.xml.
Откроем этот файл с помощью любого текстового редактора. Внутри структуры XML мы увидим тег, содержащий внутреннее имя проекта. Рассмотрим пример структуры такого файла:
<?xml version="1.0" encoding="UTF-8"?>
<version>
<vendor>1C</vendor>
<name>SmallBusiness</name>
<version>3.0.7.123</version>
<distr_code>SmallBusiness16</distr_code>
</version>
Именно значение из тега distr_code или name (в зависимости от версии файла) используется программными интерфейсами 1С для связи с сервером обновлений.
Если в программе настроена Интернет-поддержка пользователей, выясним причину, по которой 1С понимает, какие обновления скачивать. Программа обращается к веб-сервису, передавая свое имя. Программно этот идентификатор можно получить из метаданных, но в пользовательском режиме он часто скрыт.
Однако, если зайти в меню Справка — О программе, мы увидим полное название конфигурации. Хотя там не указан distr_code в явном виде, для типовых решений существует прямая зависимость, которую мы можем проследить. Для региональных версий УНФ коды будут отличаться:
Выясним, для чего именно нам может понадобиться этот код на практике. Чаще всего он используется в следующих сценариях:
СоздатьОбновлениеКонфигурации или обращении к веб-сервисам ИТС.Рассмотрим пример того, как этот код может упоминаться в программном коде при формировании запроса к серверу обновлений (условный пример):
ПараметрыЗапроса = Новый Структура;
ПараметрыЗапроса.Вставить("ProjectID", "SmallBusiness16");
ПараметрыЗапроса.Вставить("Version", "3.0.6.200");
// Далее следует вызов метода API сервера обновлений
Для удобства работы с автоматизацией, приведем список наиболее востребованных идентификаторов, которые часто требуются вместе с кодом УНФ:
Retail20).Важный момент: всегда проверяйте актуальность кода перед использованием в критически важных скриптах, так как при выходе принципиально новых технологических платформ или редакций (например, переход с 2.0 на 3.0), фирма «1С» может сменить идентификатор, как это произошло с «Розницей».
Таким образом, мы выяснили, что для 1С:УНФ актуальным кодом является SmallBusiness16, и изучили методику, позволяющую быстро находить аналогичные данные для любых программных продуктов семейства 1С:Предприятие.