A4 для 1С:Предприятие
Из карточки файла в 1С документ открывается в редакторе: таблицы — в F1, документы — в A4; после сохранения 1С создаёт новую версию файла и снимает захват. Редактор работает на сервере в сети организации.
Проверено: 1С:Предприятие 8.3.27 (Windows, тонкий клиент), конфигурация на БСП 3.1. Сервер: версия 0.4.0, протокол обмена 1. Расширение: 0.4.0.1. Обновление проверяется с версии 0.3.0.15.
Что понадобится
- Windows с тонким клиентом 1С 8.3.27 и конфигурацией на БСП 3.1;
- Linux-сервер
x86_64с Docker, не менее 8 ГиБ памяти на одно рабочее место редактора; - частный адрес сервера и свободный TCP-порт
17867; - комплект выпуска с файлом контрольных сумм
SHA256SUMS.
1. Подготовьте сервер
Создайте ключ организации длиной не меньше 32 байт вне каталога программы. Читать его должен только служебный пользователь контейнера, указанный в паспорте комплекта:
install -d -m 700 /etc/a4
umask 077
openssl rand -base64 32 > /etc/a4/organization.key
chmod 600 /etc/a4/organization.key
Загрузите образ сервера из комплекта (docker load), сверьте digest с паспортом выпуска и запустите его командой из паспорта. Правила запуска:
- порт
17867публикуется только на частном адресе сервера — не на0.0.0.0и не в Интернет; - ключ организации подключается к контейнеру только на чтение;
- состояние сервера хранится в отдельном томе — при обновлении его не удаляют;
- образ запускается по точному digest из паспорта, а не по метке.
Проверка (в примере частный адрес 10.0.0.20):
curl --fail http://10.0.0.20:17867/health
В ответе должны быть version: "0.4.0", protocol: 1 и latestExtensionVersion: "0.4.0.1".
2. Установите расширение
- Откройте конфигуратор, раздел расширений конфигурации.
- Добавьте файл расширения
0.4.0.1из комплекта. - Оставьте расширение в безопасном режиме. Снимайте защиту от опасных действий, только если этого требует ваша политика, и после проверки файла.
- Обновите конфигурацию базы и запустите тонкий клиент.
- Выдайте сотрудникам роль редактирования документов из расширения.
- Откройте настройку подключения, укажите частный адрес сервера и ключ организации. Ключ хранится в безопасном хранилище БСП, поле скрывает ввод.
- Откройте настройку повторно: должны быть видны версии расширения и сервера и строка «Версии совместимы».
3. Первая проверка
- Возьмите копию тестовой книги
.xlsm, не рабочий файл. - В карточке файла нажмите «Открыть в редакторе».
- Измените одну ячейку и сохраните.
- Убедитесь, что 1С создала новую версию и сняла захват.
- Скачайте новую версию и откройте её в Excel: диалога восстановления быть не должно, макросы на месте.
Обновление с 0.3.0.15 до 0.4.0.1
SHA256SUMS. Проверьте, что активных сеансов нет: /health должен вернуть activeSessions: 0.Сервер
- Загрузите новый образ и запишите digest.
- Остановите контейнер 0.3.0, не удаляя файл ключа и том состояния.
- Запустите 0.4.0 с тем же ключом и тем же томом.
- Проверьте
/health: версия 0.4.0, протокол 1, активных сеансов 0.
Расширение
В конфигураторе выберите установленное расширение и штатную команду «Обновить расширение из файла». Не удаляйте старое расширение: удаление превращает обновление в переустановку. При первом чтении настроек расширение один раз переносит ключ в безопасное хранилище; адрес и ключ заново вводить не нужно.
Откат
- Убедитесь, что активных сеансов нет.
- В настройке подключения нажмите «Подготовить откат к 0.3.0.15». Ключ при этом не показывается и не пишется в файл.
- Остановите новый контейнер и запустите прежний образ по сохранённому digest с тем же ключом и томом.
- Штатно обновите расширение из сохранённого файла 0.3.0.15.
- Проверьте
/healthи повторите первую проверку на копии файла.
Типовые отказы
| Что видит администратор | Что делать |
|---|---|
| «Сервер отклонил ключ организации» / HTTP 401 | Вставить тот же ключ, который смонтирован в контейнер |
| «Сервер документов недоступен» | Проверить частный адрес, контейнер и межсетевой экран |
| «Все места редактора заняты» / HTTP 429 | Закрыть завершённый сеанс или увеличить число мест после проверки памяти |
| «Обновите расширение до X» | Поставить указанную совместимую версию расширения |
| «Обновите сервер документов до версии Y» | Заменить образ по разделу «Обновление» |
| «Объект уже заблокирован» | Завершить штатный сеанс редактирования в 1С; блокировку не обходить |