Калькулятор обновлений 1С конфигураций на HTML с пополнением через EXCEL

02.10.23

База данных - Обновление 1С

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Калькулятор обновлений 1С конфигураций на HTML с пополнением через EXCEL:
.zip 14,32Kb
3 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Часто бывает необходимость обновить конфигурацию. Если 1 или 2 пропущенных релиза, не страшно. Но когда это годовалая база без обновлений, или больше, уже проблема.

А если еще нет возможности обновиться на автомате, встроенными средствами это уже боль.

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

По запросу расплодилось много онлайн калькуляторов, некоторые еще и монетизируются. Я пошёл по другому пути. В связи с разработками мне пришлось поднять веб сервер, с публикацией базы для отладки. И 127.0.0.1 на адресе у меня красовался слоган «Привет, мир». Вот и решил его занять делом.

Написал небольшой скрипт в файле index.html, который читает таблицу в формате CSV и заполняет таблицу на экране браузера.

<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Путь обновлений</title>
    <style>
        table {
            border-collapse: collapse;
            width: 100%;
        }
        th, td {
            border: 1px solid black;
            padding: 8px;
            text-align: left;
        }
        th {
            background-color: #f2f2f2;
        }
        tr:hover {
            background-color: #f5f5f5;
        }
        /* Стиль для скрытия 5-ой колонки */
        td:nth-child(5), th:nth-child(5) {
            display: none;
        }
    </style>
</head>
<body>
    <select id="fileSelect">
        <option value="roznica.csv">1С:Розница</option>
        <option value="buh.csv">1С:Бухгалтерия</option>
		<!-- Добавить другие конфиги -->
    </select>
    <p>Выбранный релиз: <span id="selectedRelease">None</span></p>
    <p>Путь обновления: <span id="updatePath">None</span></p>
    <table id="updatesTable">
        <thead>
            <tr>
                <th>Номер версии</th>
                <th>Дата релиза</th>
                <th>Доступно с версии</th>
                <th>Версия платформы</th>
                <th>Ссылка на обновление</th>
            </tr>
        </thead>
        <tbody>
        </tbody>
    </table>
    <script>
    function loadCSVData(url) {
        fetch(url).then(response => response.text()).then(data => {
            const table = document.getElementById('updatesTable').getElementsByTagName('tbody')[0];
            table.innerHTML = '';
            const rows = data.split('\n');
            let firstRow = true;
            rows.forEach(rowData => {
                if (firstRow) {
                    firstRow = false;
                    return;
                }
                const row = table.insertRow();
                const cells = rowData.split(';');
                cells.forEach(cellData => {
                    const cell = row.insertCell();
                    cell.textContent = cellData;
                });
                row.onclick = handleRowClick;
            });
        });
    }
    function handleRowClick(event) {
        const row = event.currentTarget;
        if (row.cells.length < 5) {
            return;
        }
        const release = row.cells[0].textContent.trim();
        document.getElementById('selectedRelease').textContent = release;
        const table = document.getElementById('updatesTable').getElementsByTagName('tbody')[0];
        let currentVersion = release;
        const path = [{ version: currentVersion, url: row.cells[4].textContent.trim() }];
        let lastMatchedVersion = null;
        for (let i = table.rows.length - 1; i >= 0; i--) {
            const row = table.rows[i];
            if (row.cells.length < 5) {
                continue;
            }
            const version = row.cells[0].textContent.trim();
            const availableFrom = row.cells[2].textContent.split(',').map(v => v.trim());
            const url = row.cells[4].textContent.trim();
            if (availableFrom.includes(currentVersion)) {
                lastMatchedVersion = { version: version, url: url };
            } else if (lastMatchedVersion) {
                path.push(lastMatchedVersion);
                currentVersion = lastMatchedVersion.version;
                lastMatchedVersion = null;
                i = table.rows.length;
            }
        }
        if (lastMatchedVersion) {
            path.push(lastMatchedVersion);
        }
        if (path.length === 1) {
            document.getElementById('updatePath').textContent = "Путь обновления не найден";
        } else {
            document.getElementById('updatePath').innerHTML = path.reverse().map(step => `<a href="${step.url}" target="_blank">${step.version}</a>`).join(' <<< ');
        }
    }
    function handleFileChange(event) {
        const selectedFile = event.target.value;
        loadCSVData(selectedFile);
    }
    document.getElementById('fileSelect').onchange = handleFileChange;
    window.onload = () => loadCSVData('roznica.csv');
    </script>
</body>
</html>

При выделении строки по короткому пути выстраивается путь обновлений. Каждый релиз в пути виде гиперссылки с адресом URL из 5 колонки таблицы в файле CSV.

В моем случае домашняя страница веб сервера находится на компьютере на C:\Apache24\htdocs.

Веб сервер у меня, как видно, по пути Apache, но подойдёт и IIS.

У меня в ней 3 файл index(сама HTML страница), и 2 таблице roznica и buh

И вуаля, калькулятор со своими ссылками на скачивания всегда под рукой. А если у вас белый Ip, то доступно хоть откуда. Не надо каждый раз просчитывать, не надо каждый раз нырять в «1с портал».

Как поставить Апач //infostart.ru/1c/articles/691604/ и //infostart.ru/1c/articles/646384/ в статьях описано.

При желании легко добавить таблицы других конфигураций.

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

Вступайте в нашу телеграмм-группу Инфостарт

web обновление калькулятор универсальный

См. также

Инструменты администратора БД Обновление 1С Системный администратор Разработчик 1С 8.3 Абонемент ($m)

Если обновление 1С уже падало с "Записи регистра сведений стали неуникальными", вы знаете, что платформа называет только первый такой регистр, и каждый следующий всплывает новым запуском обновления. Проверьте заранее: снимите слепок регистров в базе с новой конфигурацией и нажмите "Проверить" в рабочей. Обработка покажет все регистры сведений, где записи после обновления совпадут по измерениям, и сами группы таких записей: укороченная строка, меньше знаков после запятой, укрупнённая периодичность, убранный из составного тип. Удалённое измерение называет, но записи по нему не считает. Что разобрать не может, называет с причиной и в "дублей не найдено" не записывает. Только чтение, без доступа к таблицам СУБД.

10 стартмани

09.11.2026    216    0    nedomolkov.ivan    0    

3

Архивирование (backup) Обновление 1С Системный администратор Разработчик 1С 8.3 Бесплатно (free)

Платформа 8.3.17, MS SQL Server: обновление конфигурации падает через 15 секунд на этапе обновления предопределённых данных, и конфигуратор при каждом входе предлагает только повторить. Проверьте у себя, когда сделана последняя полная копия базы: у нас её не было почти месяц. Разбор по минутам: что не помогло (перезапуск агента сервера 1С, перезагрузка, пакетный /UpdateDBCfg, три совета со стороны) и почему. Как ibcmd достал .dt из базы, которая не открывается, и как новую базу подставили под старым именем в кластере 1С через rac, не трогая пользователей. Простой 57 минут, потерь данных нет. Отдельно ошибки ИИ-агента Claude, который работал на сервере, и порядок действий на случай, если это случилось у вас.

03.11.2026    687    nedomolkov.ivan    13    

5

Обновление 1С Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 Бесплатно (free)

Вторая часть серии о переходе ERP 2.5 на 2.6. Я сравнил чистые выгрузки 2.5.27.88, 2.6.1.70 и 2.6.2.59 и выписал то, чего нет в официальных описаниях версий: какие экспортные методы удалены поимённо, какие документы больше нельзя создать и при каком условии, что переименовали без предупреждения. Из двенадцати механизмов, от которых отказывается 1С, к 2.6.2 удалены только два, а большая часть удалённого к ним не относится. Отдельно разбираю, почему перехватчики &ИзменениеИКонтроль ломаются на процедурах, где поменялся только английский текст, и почему доработки выгоднее готовить сразу под 2.6.2. Будет полезно разработчикам, которые сопровождают расширения и внешние обработки на ERP 2.5.27, и тем, кто планирует сроки перехода.

20.10.2026    1056    lexatsch    8    

8

Обновление 1С Разработчик 1С 8.3 1С 8.5 Абонемент ($m)

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

3 стартмани

19.10.2026    347    1    InShallaH    0    

3

Обновление 1С Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 Бесплатно (free)

1С считает, что перейти с ERP 2.5 на 2.6 не сложнее, чем обновиться между версиями длительной поддержки, а обязательным переход станет не раньше 30 апреля 2027 года. Я решил проверить это заранее на нашей доработанной ERP 2.5.27, где есть два больших расширения и 517 внешних отчётов и обработок. Форма готовности нашла четыре механизма, которые надо перевести, а про код промолчала. Проверка применимости на чистой 2.6.1 выдала 478 проблем, и настоящих среди них меньше сотни. А сверка кода со словарём изменений нашла ещё 63 проблемы, которых проверка применимости вообще не видит. Часть из них не даст открыть модуль, остальные вылезут уже у пользователей. Рассказываю, как проверить применимость расширения к 2.6.1 без записи в базу, что ловит компилятор, что ломается чаще всего и чем это заменить.

16.10.2026    686    lexatsch    0    

3

Инструментарий разработчика Обновление 1С Разработчик 1С 8.3 Бесплатно (free)

Бесплатная внешняя обработка: до обновления типовой показывает, какие ваши внешние обработки и печатные формы после него упадут. Находит в их коде вызовы общих модулей и менеджеров типовой и сверяет каждый с текущей конфигурацией и с выгрузкой нового релиза: есть ли метод, экспортный ли, сходится ли число параметров. Обработки берёт из справочника или из папки .epf и .erf, без конфигуратора. У каждого вызова статус, строка и причина.

29.09.2026    1219    141    nedomolkov.ivan    2    

9
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Lemmonbri 178 02.10.23 17:39 Сейчас в теме
Интересно, 1Сникам надо такую на страницу релизов добавить бы...
2. uno-c 276 02.10.23 19:47 Сейчас в теме
REST-API есть, он и размеры показывает.
Запрос1:
POST https://update-api.1c.ru/update-platform/programs/update/info
{
"programName": "Retail",
"versionNumber": "2.3.13.33",
"platformVersion": "8.3.22.1923",
"updateType": "NewConfigurationAndOrPlatform"
}

Ответ1:
{...
"configurationUpdateResponse": {
"configurationVersion": "2.3.16.21",
"size": 513631611,
"platformVersion": "8.3.21.1775",
"updateInfoUrl": "https://dl05.1c.ru/content//AutoUpdatesFiles/Retail/2_3_16_21/82/News1cv8.htm",
"upgradeSequence": [
"6345ae68-0889-46df-b276-19d31a244db0",
"865dbe6c-18ad-4389-836e-f12e3bd38d68",
"0c764cb6-a87f-408d-9871-b35944807adc"
],
"programVersionUin": "e4ca775b-68e2-4bd3-918d-4524454b46d6",
},
...
}
Показать

Запрос2:
POST https://update-api.1c.ru/update-platform/programs/update/
{
"programVersionUin": "e4ca775b-68e2-4bd3-918d-4524454b46d6",
"upgradeSequence": [
"6345ae68-0889-46df-b276-19d31a244db0",
"865dbe6c-18ad-4389-836e-f12e3bd38d68",
"0c764cb6-a87f-408d-9871-b35944807adc"
],
"login": "ITS_login",
"password": "ITS_Password"
}

Ответ2:
{...
"configurationUpdateDataList": [
{
"templatePath": "1c\\Retail\\2_3_14_26",
"executeUpdateProcess": true,
"updateFileUrl": "https://dl05.1c.ru/public/file/tmplts/get/***",
"updateFileName": "1cv8.cfu",
"updateFileFormat": "ZIP",
"size": 147932363,
"hashSum": "enuSE0jE9wGOYwZlhVp5nQ=="
},
{
"templatePath": "1c\\Retail\\2_3_15_50",
"executeUpdateProcess": true,
"updateFileUrl": "https://dl04.1c.ru/public/file/tmplts/get/***",
"updateFileName": "1cv8.cfu",
"updateFileFormat": "ZIP",
"size": 201045976,
"hashSum": "CdZxZSeMdvtXUsErkaHmFQ=="
},
{
"templatePath": "1c\\Retail\\2_3_16_21",
"executeUpdateProcess": true,
"updateFileUrl": "https://dl04.1c.ru/public/file/tmplts/get/***",
"updateFileName": "1cv8.cfu",
"updateFileFormat": "ZIP",
"size": 164653272,
"hashSum": "3T6t/xNVxuYhlSxul/Hxdw=="
}
],
...
}
Показать
cleaner_it; Andreyyy; ixijixi; +3 – Ответить
3. uno-c 276 02.10.23 20:05 Сейчас в теме
Еще программа "Обновлятор 1С" весьма неплоха.
svbel85; antvv; SuhoffGV; +3 – Ответить
4. ShuSU 81 02.10.23 22:50 Сейчас в теме
Бывают места где с серверов 1с скачивание крайне медленно, а со своей подсети провайдера быстрее. Для экономии времени и был придуман эта страничка. Что бы без сторонних приложений и телодвижений, зашёл по айпи и скачал нужные пакеты от туда от куда удобно( с яндекс диска, с фдп, с компа). И пополнять и администрировать можно было без знания верски html таблиц.
5. uno-c 276 03.10.23 11:02 Сейчас в теме
(4) АПИ во втором запросе в частности возвращает "templatePath": "1c\\Retail\\2_3_14_26" и т.п. Разместить шаблоны обновлений на своем фтп/диске согласно этим путям - и не нужно никаких пополнений через Excel. Главное, чтоб подписка на ИТС была, без нее АПИ-калькулятор не работает )
6. ShuSU 81 03.10.23 18:00 Сейчас в теме
Я опубликовал код для тех кто знает минимум в вебе. И принцип пополнения и дополнений минимизировал до простого умения работать с таблицей в офисного по.
8. uno-c 276 11.11.23 05:57 Сейчас в теме
(6)
Я опубликовал код для тех кто знает минимум в вебе
Для использования REST-API калькулятора знание веба вообще не нужно, все делается кодом 1С (HTTPЗапрос, ЧтениеJSON)
7. ShuSU 81 03.10.23 18:08 Сейчас в теме
Алгоритм нужно немного переписать. Щас от выделенного в верх идет до последнего упоминания релиза для фиксации следующего шага. Но есть релизы в которых через несколько релизов появляется снова. Но пока не придумал как это учесть. С верху с последнего релиза спускаться вниз до указанного, выходит хрень у меня.
9. uno-c 276 11.11.23 05:57 Сейчас в теме
(7)
выходит хрень у меня.
Используйте REST-API калькулятор и все будет норм.
Для отправки сообщения требуется регистрация/авторизация