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

02.10.23

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

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

Файлы

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

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

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

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

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

Часто бывает необходимость обновить конфигурацию. Если 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 обновление калькулятор универсальный

См. также

Инструменты администратора БД Групповая разработка (Git, хранилище) Обновление 1С Системный администратор Программист 1С v8.3 1С:Комплексная автоматизация 2.х 1С:Библиотека стандартных подсистем Абонемент ($m)

Обработка, объединяющая в себе использование инструментов БСП по администрированию кластера серверов и запуска скриптов для автоматического обновления конфигурации из хранилища.

4 стартмани

17.11.2025    608    1    KovrovtsevAS    0    

7

Обновление 1С Программист 1С v8.3 Бесплатно (free)

Обновление конфигураций с расширениями конфигураций.

13.11.2025    1015    vasilev2015    15    

6

Обновление 1С Программист 1С v8.3 1С:Бухгалтерия 3.0 Россия Абонемент ($m)

Обработка, загружающая по расписанию пакет правил обмена в случае их изменения из установленного в настройках каталога.

2 стартмани

27.10.2025    519    2    cheiser1982    2    

1

Нейросети Рефакторинг и качество кода Обновление 1С Программист Бесплатно (free)

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

24.10.2025    1935    1c-izh    6    

6

Обновление 1С Рефакторинг и качество кода 1С v8.3 Абонемент ($m)

Анализ конфигураций - позволяет проверять любые конфигурации и расширения на наличие ошибок, связанных с вызовом экспортных функций и процедур общих модулей и модулей менеджеров объектов. Проверяются ошибки: 1) Метод объекта не обнаружен 2) Недостаточно фактических параметров. 3) Слишком много фактических параметров. Рекомендуется выполнять при подготовке обновлений. Анализ расширений - позволяет выводить подробный количественный состав расширений по объектам, определить случаи пересечения одного и того же функционала в разных расширения, выявить использование в модулях аннотации "вместо".

10 стартмани

17.10.2025    4641    21    Suker86    13    

19

Обновление 1С Программист 1С v8.3 Бесплатно (free)

Как быстро починить обновление при ошибках в данных без использования внешних обработок.

13.10.2025    3918    VetalDV    7    

8

Обновление 1С Программист 1С v8.3 Бесплатно (free)

При обновлении конфигураций ЕРП/КА/УТ типовыми обновлениями можно получить ошибку  Превышен максимальный расход памяти сервера за один вызов". С чем это связано? Рассмотрим исправление этой ошибки.

18.08.2025    4222    iolko    10    

20
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Lemmonbri 161 02.10.23 17:39 Сейчас в теме
Интересно, 1Сникам надо такую на страницу релизов добавить бы...
2. uno-c 269 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 269 02.10.23 20:05 Сейчас в теме
Еще программа "Обновлятор 1С" весьма неплоха.
svbel85; antvv; SuhoffGV; +3 Ответить
4. ShuSU 78 02.10.23 22:50 Сейчас в теме
Бывают места где с серверов 1с скачивание крайне медленно, а со своей подсети провайдера быстрее. Для экономии времени и был придуман эта страничка. Что бы без сторонних приложений и телодвижений, зашёл по айпи и скачал нужные пакеты от туда от куда удобно( с яндекс диска, с фдп, с компа). И пополнять и администрировать можно было без знания верски html таблиц.
5. uno-c 269 03.10.23 11:02 Сейчас в теме
(4) АПИ во втором запросе в частности возвращает "templatePath": "1c\\Retail\\2_3_14_26" и т.п. Разместить шаблоны обновлений на своем фтп/диске согласно этим путям - и не нужно никаких пополнений через Excel. Главное, чтоб подписка на ИТС была, без нее АПИ-калькулятор не работает )
6. ShuSU 78 03.10.23 18:00 Сейчас в теме
Я опубликовал код для тех кто знает минимум в вебе. И принцип пополнения и дополнений минимизировал до простого умения работать с таблицей в офисного по.
8. uno-c 269 11.11.23 05:57 Сейчас в теме
(6)
Я опубликовал код для тех кто знает минимум в вебе
Для использования REST-API калькулятора знание веба вообще не нужно, все делается кодом 1С (HTTPЗапрос, ЧтениеJSON)
7. ShuSU 78 03.10.23 18:08 Сейчас в теме
Алгоритм нужно немного переписать. Щас от выделенного в верх идет до последнего упоминания релиза для фиксации следующего шага. Но есть релизы в которых через несколько релизов появляется снова. Но пока не придумал как это учесть. С верху с последнего релиза спускаться вниз до указанного, выходит хрень у меня.
9. uno-c 269 11.11.23 05:57 Сейчас в теме
(7)
выходит хрень у меня.
Используйте REST-API калькулятор и все будет норм.
Для отправки сообщения требуется регистрация/авторизация