From 75d01219d3aca98e3719d64fa2fce2ccc0e299e5 Mon Sep 17 00:00:00 2001 From: jze9 Date: Fri, 26 Jun 2026 03:22:30 +0500 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=B1=D0=BE=D1=80=D0=BA=D0=B0=20Windows?= =?UTF-8?q?=20.exe=20(onefile)=20+=20=D0=B8=D0=BD=D1=81=D1=82=D1=80=D1=83?= =?UTF-8?q?=D0=BA=D1=86=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit build.bat собирает «Приём документов.exe» одним файлом через PyInstaller. Добавлена инструкция для пользователя и раздел сборки в README. .gitignore исключает build-артефакты (*.exe, build/, dist/, *.spec). Co-Authored-By: Claude Opus 4.8 --- .gitignore | 6 ++++++ README.md | 17 +++++++++++++++++ build.bat | 29 +++++++++++++++++++++++++++++ Приём документов — инструкция.txt | 30 ++++++++++++++++++++++++++++++ 4 files changed, 82 insertions(+) create mode 100644 build.bat create mode 100644 Приём документов — инструкция.txt diff --git a/.gitignore b/.gitignore index e750502..59fc9ff 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,9 @@ Thumbs.db # Временные lock-файлы LibreOffice .~lock.*# + +# Сборка PyInstaller +*.exe +build/ +dist/ +*.spec diff --git a/README.md b/README.md index 6057985..ccda599 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,23 @@ python3 run.py Скрипт идемпотентен: всегда читает оригиналы, повторный запуск не задваивает данные. +## Сборка .exe для Windows (один файл) + +На **Windows** (Python 3.10+ с галочкой «Add to PATH») достаточно запустить +`build.bat` — он установит зависимости и соберёт один файл: + +``` +build.bat +``` + +Результат: `dist\Приём документов.exe` — всё внутри одного файла, у конечного +пользователя ничего ставить не нужно. В onefile-режиме пути по умолчанию не +работают, файлы реестра/журнала и папку `прием` нужно указать в окне кнопками +«Обзор». + +> Кросс-сборка из Linux напрямую невозможна (PyInstaller собирает под ту ОС, +> где запущен); на Linux это делается через Wine с Windows-Python. + ## Правило сопоставления Файл `DD.MM.YYYY_74_NN.` из папки `ТОk` → лист `ТОk_NN` реестра. diff --git a/build.bat b/build.bat new file mode 100644 index 0000000..3c6f679 --- /dev/null +++ b/build.bat @@ -0,0 +1,29 @@ +@echo off +chcp 65001 >nul +REM ============================================================ +REM Сборка «Приём документов.exe» (один файл) для Windows. +REM Требуется установленный Python 3.10+ (при установке +REM отметить галочку «Add python.exe to PATH»). +REM Запускать из папки проекта двойным щелчком. +REM ============================================================ + +echo Установка зависимостей... +python -m pip install --upgrade pyinstaller odfpy openpyxl xlrd || goto :err + +echo. +echo Сборка одного файла... +python -m PyInstaller --noconfirm --clean --onefile --windowed ^ + --name "Приём документов" ^ + --collect-submodules odf ^ + gui.py || goto :err + +echo. +echo Готово. Файл: dist\Приём документов.exe +pause +exit /b 0 + +:err +echo. +echo ОШИБКА сборки. Проверьте, что Python установлен и доступен в PATH. +pause +exit /b 1 diff --git a/Приём документов — инструкция.txt b/Приём документов — инструкция.txt new file mode 100644 index 0000000..9661d97 --- /dev/null +++ b/Приём документов — инструкция.txt @@ -0,0 +1,30 @@ +ПРИЁМ ДОКУМЕНТОВ — внесение в реестр и заполнение журнала +========================================================== + +Как пользоваться +---------------- +1. Запустите «Приём документов.exe» (двойной щелчок). + Ничего устанавливать не нужно — всё уже внутри файла. + +2. В открывшемся окне укажите кнопками «Обзор»: + • Реестр — файл «2026_ЕДИНЫЙ РЕЕСТР НЕВОСТРЕБОВАННЫХ ДОКУМЕНТОВ..ods» + • Журнал — файл «Журнал внесения.xlsx» + • Папка приёма — папка «прием» с файлами принятых документов + +3. При необходимости измените «Дату внесения» (по умолчанию — сегодня). + +4. Нажмите «Внести данные». + +Результат +--------- +Оригиналы НЕ изменяются. Рядом с ними создаются: + • 2026_ЕДИНЫЙ РЕЕСТР НЕВОСТРЕБОВАННЫХ ДОКУМЕНТОВ._ЗАПОЛНЕНО.ods + • Журнал внесения_ЗАПОЛНЕНО.xlsx + +Повторный запуск не задваивает данные — программа всегда читает оригиналы. + +Примечание +---------- +Файл 64-битный, для 64-разрядной Windows (10/11). При первом запуске +SmartScreen/антивирус может предупредить о неизвестном издателе — +это обычное поведение для самостоятельно собранных программ.