A4 для 1С
Сотрудник открывает книгу Excel прямо из карточки файла в 1С, правит её в браузере и сохраняет. 1С сама создаёт новую версию файла: не нужно выгружать книгу, искать её в папке и загружать обратно. Администратор ставит один сервер в сети организации и одно расширение в базу; файлы не уходят во внешнее облако.
Что умеет
В Windows, в тонком клиенте, с конфигурацией на БСП 3.1:
- в карточке файла есть команда «Открыть в редакторе»; книга открывается в редакторе таблиц F1 в браузере;
- после сохранения 1С создаёт новую версию файла штатным механизмом;
- книга с макросами (
.xlsm) сохраняется целиком: число частей файла не меняется, проект VBA остаётся байт в байт прежним; - сохранённую версию открывает Microsoft Excel без диалога восстановления — только обычное предупреждение о макросах;
- форма настройки показывает версии расширения и сервера и строку «Версии совместимы»;
- при обновлении адрес сервера и ключ организации переносятся сами; при откате возвращаются в прежний вид.
Как работает
- Где живут файлы. Книга хранится в 1С, как и раньше. Версии и блокировки остаются под управлением 1С; сервер их не заменяет.
- Путь документа. Тонкий клиент передаёт книгу серверу документов в частной сети. Сотрудник правит её в браузере. После сохранения сервер возвращает книгу в 1С, и 1С записывает новую версию.
- Что не уходит из сети. Документ идёт только между тонким клиентом 1С, сервером организации и браузером сотрудника. Внешней передачи нет. Сервер не публикуется в Интернет.
- Что пишется в журнал. Запуск, ошибки и число сохранений. Без содержимого документов и без ключей.
Требования
- Windows с тонким клиентом 1С:Предприятие 8.3 и конфигурацией на БСП 3.1;
- Linux-сервер
x86_64с Docker; не меньше 8 ГиБ свободной памяти на одно рабочее место редактора; - частный адрес сервера и свободный TCP-порт
17867; - комплект выпуска, у которого совпали суммы из
SHA256SUMS; - права администратора в конфигураторе и резервная копия базы.
Установка
1. Подготовьте сервер
Создайте ключ организации длиной не меньше 32 байт вне каталога программы. Отдайте файл служебному пользователю контейнера (UID 65532); другие пользователи читать его не должны:
install -d -m 700 /etc/a4
umask 077
openssl rand -base64 32 > /etc/a4/organization.key
chown 65532:65532 /etc/a4/organization.key
chmod 600 /etc/a4/organization.key
Загрузите образ из архива комплекта, сверьте digest с паспортом выпуска и запустите сервер только на частном адресе. Вместо ЧАСТНЫЙ_АДРЕС подставьте адрес сервера в сети организации; номера версий — из блока «Скачать» внизу страницы.
gzip -dc a4-server-ВЕРСИЯ_СЕРВЕРА-linux-amd64.tar.gz | docker load
docker run -d --name a4-1c \
--restart unless-stopped \
--publish ЧАСТНЫЙ_АДРЕС:17867:17867 \
--volume /etc/a4/organization.key:/run/secrets/organization.key:ro \
--volume a4-server-state:/var/lib/a4 \
--env A4_PUBLIC_URL=http://ЧАСТНЫЙ_АДРЕС:17867 \
--env A4_ORGANIZATION_KEY_FILE=/run/secrets/organization.key \
--env A4_VERSION=ВЕРСИЯ_СЕРВЕРА \
--env A4_PROTOCOL=1 \
--env A4_LATEST_1C_EXTENSION_VERSION=ВЕРСИЯ_РАСШИРЕНИЯ \
a4-server:ВЕРСИЯ_СЕРВЕРА@sha256:DIGEST_ИЗ_ПАСПОРТА
- не публикуйте порт на
0.0.0.0и не открывайте его в Интернет; - ключ подключается к контейнеру только на чтение;
- состояние сервера лежит в отдельном томе — при обновлении его не удаляют;
- образ запускается по точному digest, а не по метке.
Проверка:
curl --fail http://ЧАСТНЫЙ_АДРЕС:17867/health
В ответе должны быть protocol: 1, а поля version и latestExtensionVersion — как в блоке «Скачать».
2. Установите расширение
- Остановите пользовательские сеансы и сделайте резервную копию базы.
- Откройте конфигуратор, раздел расширений конфигурации.
- Добавьте файл расширения
.cfeиз комплекта. В списке появится расширениеA4Office. - Снимите у расширения признаки «Безопасный режим» и «Защита от опасных действий». Без этого 1С не сохранит ключ в безопасном хранилище БСП и не обратится к серверу. Делайте это только после сверки файла по
SHA256SUMS; сервер должен оставаться в частной сети. - Обновите конфигурацию базы и запустите тонкий клиент.
- Дайте нужным сотрудникам роль
A4_ОсновнаяРоль. - Откройте A4: настройка подключения. Укажите частный адрес сервера и ключ организации. Поле ключа скрывает ввод.
- Откройте настройку ещё раз. Должны быть видны версии расширения и сервера и строка «Версии совместимы».
3. Первая проверка
- Возьмите копию тестовой книги
.xlsm, не рабочий файл. - В карточке файла нажмите «Открыть в редакторе».
- Измените одну ячейку и сохраните.
- Убедитесь, что 1С создала новую версию и сняла захват.
- Скачайте новую версию и откройте её в Excel. Диалога восстановления быть не должно.
Обновление и откат
SHA256SUMS. Проверьте, что активных сеансов нет: /health должен вернуть activeSessions: 0. Ключ организации и том состояния лежат вне образа — не копируйте их в каталог выпуска.Сервер
- Загрузите новый архив (
docker load) и запишите digest. - Убедитесь, что в старом контейнере нет активных сеансов, и остановите его. Файл ключа и прежний том не удаляйте.
- Создайте том
a4-server-state, один раз перенесите в него содержимое прежнего тома и запустите новый образ с тем же ключом, новым томом и точным digest. - Проверьте
/health: новая версия,protocol: 1, активных сеансов 0.
Расширение
У расширения сменилось техническое имя, поэтому это управляемая замена, а не штатное «Обновить из файла».
- Остановите сеансы пользователей и сделайте резервную копию базы.
- Не удаляйте прежнее расширение. Добавьте новое рядом, снимите у него безопасный режим и защиту от опасных действий, обновите конфигурацию базы.
- Дайте пользователям роль
A4_ОсновнаяРольвместо прежней. Прежнее расширение пока остаётся установленным, но неактивным. - Откройте форму настройки. При первом открытии A4 сам переносит адрес и ключ, проверяет, что ключ читается, и только потом удаляет старые значения. Вводить их заново не нужно.
- Убедитесь, что адрес подхвачен, сервер отвечает и версии совместимы.
- Только после этого снимите прежнее расширение, снова обновите конфигурацию базы и повторите первую проверку.
Откат
- Убедитесь, что активных сеансов нет.
- В форме «Администрирование → Настройка подключения» нажмите «Подготовить откат к …» (номер прежней версии). Команда один раз возвращает адрес и ключ в формат прежней версии. Ключ не показывается и не пишется в файл.
- Остановите новый контейнер и запустите прежний образ по сохранённому digest с прежними ключом и томом.
- Снимите
A4Officeи установите сохранённый прежний файл расширения. - Проверьте
/healthи повторите первую проверку на копии файла.
Долго работать на прежней версии не рекомендуем: в ней ключ хранился в общих настройках. После повторного обновления перенос сработает снова.
Безопасность
- Сервер слушает только частный адрес. Привязка к
0.0.0.0и публикация в Интернет не поддерживаются. - На сервере ключ организации лежит в файле с правами
600вне образа. В 1С он хранится средствами БСП в безопасном хранилище; в общих настройках остаётся только адрес. - Значения ключа нет ни в файле базы, ни в пользовательской выгрузке.
- На каждый открытый документ сервер выдаёт отдельный случайный токен сеанса. Он действует только для этого документа и не заменяет ключ организации.
- Документы и ключи в журнал не пишутся.
- Если редактор прервался, сохранение не подтверждается. Неактивное рабочее место удаляется по тайм-ауту. Восстановление черновика после падения всей машины не обещаем.
- Смена ключа: замените файл на сервере, перезапустите контейнер и введите новое значение в форме настройки.
Сообщая о проблеме, не прикладывайте ключ организации и рабочие файлы.
Типовые отказы
| Что видно | Что делать |
|---|---|
| «Действие недоступно в безопасном режиме» | Снять у расширения «Безопасный режим» и «Защиту от опасных действий» (шаг 4 установки) |
| «Сервер отклонил ключ организации» / HTTP 401 | Вставить тот же ключ, который смонтирован в контейнер |
| «Сервер документов недоступен» | Проверить частный адрес, контейнер и межсетевой экран |
| «Все места редактора заняты» / HTTP 429 | Закрыть завершённый сеанс или добавить мест, проверив память сервера |
| «Обновите расширение до X» | Поставить указанную совместимую версию расширения |
| «Обновите сервер документов до версии Y» | Заменить образ по разделу «Обновление и откат» |
| «Объект уже заблокирован» / файл занят другим пользователем | Закончить прежний сеанс редактирования в 1С; блокировку не обходить |
| Ошибка связи при сохранении | Не загружать файл вручную поверх исходного. Передать администратору точный текст сообщения и время |
Скачать
| Файл | Размер | Назначение |
|---|---|---|
A4-1C-2026.4.1.1.cfe | 26 269 байт | расширение конфигурации (техническое имя A4Office): документы, таблицы и презентации |
a4-server-2026.4.1-linux-amd64.tar.gz | 211 521 034 байт | архив образа сервера: F1 (xlsx/xlsm), A4 (docx), P2 (pptx), linux/amd64 |
USTANOVKA-ADMIN.md | 5 945 байт | установка для администратора |
OBNOVLENIE.md | 5 262 байт | обновление с прежних версий и откат |
POLZOVATEL.md | 1 210 байт | памятка пользователю |
BEZOPASNOST.md | 2 133 байт | безопасность и хранение ключа |
PASPORT.md | 1 128 байт | паспорт выпуска: digest образа и SHA-256 архива |
SHA256SUMS | 912 байт | контрольные суммы всех файлов |
Сведения о выпуске
| Что | Значение |
|---|---|
| Версия продукта | 2026.4.1 (расширение 2026.4.1.1, сервер 2026.4.1, протокол обмена 1): документы в A4, таблицы в F1, презентации в P2 |
Ответ /health | version: "2026.4.1", protocol: 1, latestExtensionVersion: "2026.4.1.1" |
| Архитектура сервера | linux/amd64 |
Digest образа a4-server | sha256:71167949df52d277ed2dae5fbd839b5b5cb7f06ee14d568ad2c7a396128a66d8 |
Контрольные суммы
9a9bf60fe5e05ddb382251a23cc1e74788d2914fbe55b72b51c548f5490b70bc A4-1C-2026.4.1.1.cfe
b1dd273c00a373ed15cae4321f62f89ba564c84e5441341a74f5f8e831fe5829 BEZOPASNOST.md
3b9927c4dec37b1445dec0dea4aec1ac59c64b8e63887c08422711384737c06c CHANGELOG.md
cb6077d07afe841aa701dcd518265748337d3eda7339acfe37ecac6d5967cf58 OBNOVLENIE.md
0d4bdac9bf2c94969e1d20a7a4145c6eaaffe78c7b80726386d094790f200140 PASPORT.md
fa2e121e724362b95b5122ba16678b4a4cb6a4cd1a876eab99113c088472c501 POLZOVATEL.md
21eb064e56e78545043ad1c1a3db582850e5b9ea93591c1f4fb26da7fd44d25a README.md
815315d6e7e7a73e07bd61cb5e79566b25c8583d47e8d58fa4f85bcd0ffc1671 USTANOVKA-ADMIN.md
a66f1862eb9b6c2ff374a359cc070c68183655f7ec4e21aa7105b443421f9061 VYPUSK.md
12c790d835d2b5acfc6712a7e850ee8a3d81e7d7766812c90250d8b81cc1a7e4 a4-server-2026.4.1-linux-amd64.tar.gz
79a98e6982c4fdf144052e72979f145db882c72928c928cfa42d5d1d40337270 server-evidence.json
Проверка комплекта после скачивания:
shasum -a 256 -c SHA256SUMS