WINE@Etersoft/1C: Предприятие 7.7 в WINE
Содержание
1C: Предприятие в WINE
1C: Предприятие 7.7
Установка
Запустите setup.exe
из каталога DISK1 дистрибутива программы для начала установки.
При получении ошибки Setup is unable to find _SETUP.DLL, which is needed to complete the installation. Error 103
убедитесь, что дистрибутив программы не расположен в каталоге, путь к которому назван русскими буквами.
Особенности работы программы 1С: Предприятие в WINE@Etersoft.
Обратите внимание на то, что при использовании файла NETHASP.INI, который записан по умолчанию, возможна нестабильная связь с менеджером лицензий и сбои при запуске программы 1С.
Если программа иногда выдаёт сообщение о том, что нет ключа защиты, иногда запускается, а иногда падает когда уже появилось главное окно, то необходимо правильно настроить NETHASP.INI (отключить broadcast и указать IP-адрес машины с ключом). Подробнее см. в разделе про настройку HASP.
При использовании режима административной установки у простых пользователей не будет возможности сохранять базу (через Конфигуратор), если у них отсутствуют права записи на файл 1CV7FILE.LST
. При этом будет выводиться сообщение Ошибка при открытии списка сохраняемых файлов
. Обычно данный файл имеется в каталоге BIN, но при необходимости отдельных настроек для каждой базы он может быть скопирован в каталог базы с соответствующими правами.
При восстановлении конфигурации из архива возможна ошибка о нехватке свободного места. Она связана с несовпадением владельца файлов, и пользователя, выполняющего восстановление.
Если программа молча закрывается сразу после ввода пароля пользователя, это говорит о проблемах с правами на файлы базы: невозможности открыть файлы базы для записи или создать новый файл в каталоге базы.
Полезные статьи по 1С 7.7: http://mista.ru/articles1c/index.htm
Проверка совместной работы
При неправильной настройке или неверном использовании сетевых файловых систем возможны проблемы в совместной работе различных экземпляров программы 1С с одной базой данных.
После настройки проверить правильность работы блокировок можно следующими шагами:
- Одновременно открываем одну и ту же базу под разными пользователями монопольно. Открыться не должна, потому что файл 1cv7.lck открывается в этом случае с SHARE_READ.
- Открываем одну базу под двумя пользователями не монопольно. Открываем один и тот же документ в каждой из программ. Последнему пользователю должно быть сообщено
запись заблокирована
. - Создаём документ под одним пользователем. Видим его в появившимся в журнале другого пользователя, не переоткрывая окно журнала.
- Открываем Сервис/Мониторинг/Активные пользователи. Видим две записи о пользователях. Наличие одной записи при двух пользователях свидетельствует о полном отсутствии совместного режима.
Использование в терминальном режиме
Вообще сетевая версия 1С рассчитана на эксплуатацию совместно с файл-сервером, когда файлы базы лежат на файл-сервере, а программы 1С, запущенные на каждом компьютере, обращаются к базе по сети.
Минусы:
- Режим разделения файлов по сети достаточно медленен, и замедление растёт с количеством пользователей. К тому же часто вылет или зависание одного пользователя может привести к невозможности работы остальных.
- При этом каждая машина имеет доступ к полной базе, всем файлам. Нет ничего сложного эту базу скопировать по сети и унести.
- Необходимо иметь на каждом рабочем месте компьютер необходимой мощности.
Плюсы:
- Для выполнения вычислений используются мощности каждого компьютера
При использовании терминал-серверного подключения (распространённое решение и в Windows-среде) файлы все минусы убираются:
- Нет задержек, связанных с сетью
- Доступ к файлам на машине ограничен (пользователи видят только картинку)
- В качестве рабочих мест могут выступать хоть тонкие клиенты (нет требований к производительности машин на рабочих местах)
Ускорение работы в терминальном режиме
1С после каждого изменения файла данных вызывает FlushFileBuffers, что приводит к сбросу буфера файла на диск. Если внезапно пропадет питание или произойдёт сбой системы, то данные в кэше будут потеряны, при этом может быть нарушена целостность базы. Настоятельно рекомендуется использование стабильной системы и источника бесперебойного питания.
При работе в WINE появляется проблема замедления работы, связанная с тем, что вызов fsync в Linux приводит к блокированию работы программы до физического завершения записи на устройство хранения. Windows делает это не настолько надёжно и возвращает управление раньше (зависит от настроек).
О кэшировании: http://www.mista.ru/articles1c/hare/article.45.html
Начиная со сборки wine-1.0.9-eter33 появилась обработка параметра WINEDISABLEFLUSH
, указав WINEDISABLEFLUSH=1
в/etc/wine/config, можно добиться существенного ускорения (в 3 раза на перепроведении документов) работы. Рекомендуется применять его только в монопольном режиме при выполнении технологического обслуживания базы администратором.
Прочие советы по ускорению работы 1С: http://www.kb.mista.ru/article.php?id=136&edition=12
Исправление загрузки процессора при ожидании блокировки: http://infostart.ru/projects/1515/
Запуск в режиме одного приложения
Создаем на терминальном сервере скрипт вида:
- !/bin/sh
env WINEPREFIX="/home/guest/.wine" wine "C:\Program Files\1Cv77\BIN\1cv7s.exe" enterprise Помещаем его в/usr/local/bin
На машине-клиенте в настройках NX клиента в секции Desktop указываем Unix: Custom. Рядом становится доступна кнопка Settings. В открывшемся окне указываем Run the following command
и в строке указываем название созданного скрипта.