Полная установка 1С 7.7 под управлением Wine в Ubuntu 10.04


Начинаем с добавления PPA-репозитория для установки свежего Wine:

sudo add-apt-repository ppa:ubuntu-wine/ppa


Или через GUI: Система - Администрирование - Источники Приложений.
Вкладка - Другое По. Добавляем - ppa:ubuntu-wine/ppa

Устанавливаем свежий Wine:

sudo aptitude update
sudo aptitude install wine1.3 winetricks


Устанавливаем библиотеку DCOM:

winetricks dcom98


Копируем из Windows библиотеку MSVCRT40.DLL в директорию /home/usr/.wine/drive_c/windows/system/

Устанавливаем MFC42.DLL

winetricks MFC42.DLL


Устанавливаем шрифты:

winetricks corefonts
winetricks tahoma
winetricks lucida


Если каких-то шрифтов не будет хватать - их можно взять из установленной где-нибудь Windows.

Устанавливаем 1С 7.7, все должно пройти гладко.

Запускаем в 1С конфигуратор баз и убираем галочку из меню "Окна - Панель Окон -
Показать". Это нужно сделать раз для каждой базы и для каждого вида запуска -
будь то конфигуратор, предприятие и т.п.

Чтобы не было проблем с кодировкой - либо заходим в БД, меню "администрирование
- кодовая страница таблиц ИБ" и меняем на "Текущая системная установка" и ждем.....

Иногда это не совсем удобно, если БД используют машины с Windows, тогда создаем
либо в директории с базой, либо в каталоге BIN 1C пустой файл OrdNoChk.prm

Локальная версия должна заработать. Но это нам не интересно, нужно в базу заходить по сети.

Качаем etercifts c сайта Etersoft (http://wiki.etersoft.ru/etercifs), он
свободный и не требует оплаты. Устанавливаем (инструкции по нему - на
етерсофте). После его установки потребуется перезагрузка.

Открываем fstab и добавляем строки для монтирования нужных сетевых ресурсов

    //server1c/BaseBuh /home/usr/BaseBuh cifs rw,user,username=WORKGROUP\имяпользователя,password=пароль,iocharset=utf8,noperm,forcemand,direct 0 0


Монтируем:

sudo mount /home/usr/BaseBuh


Теперь каталог с базой у нас смонтирован, и мы можем добавить базу.

Это же вновь не то, что хотелось, ведь база у нас на SQL-сервере.

winetricks mdac25
winetricks mdac28
winecfg: sqlsrv32.dll - сторонняя.


возможно мдак25 и не надо было сначала устанавливать, но так я делал.

Проверяем:

wine regedit


"HKLM\Software\ODBC\ODBCINST.INI" - Должна быть папка с названием "SQL Server",
если нет - копируем из Windows и проверяем путь: строковый параметр - Driver.

Вуаля, заработала связка 1С+SQL.

Но могут быть проблемы с нахождением сервера, в этом случае заходим в
конфигуратор - "Администирование" - Параметры базы данных SQL и адрес сервера
меняем с имени на его IP-адрес.

1С мы запустили но мне, как разработчику плохо живется без OpenConf.
Качаем последний OpenConf (http://openconf.1cpp.ru/).

Перед установкой OpenConf, нужно поставить MS Visual Basic 6 runtime (нужен для
регистрации c:/Program Files/1Cv77/BIN/config/system/svcsvc.dll)

winetricks vb6run


Поставить IE, нужен для регистрации wsc компонентов:

winetricks ie6


Зарегистрировать все WSC компоненты из каталога c:/Program Files/1Cv77/BIN/config/system

    wine regsvr32 /i:CommonServices.wsc C:/windows/system32/scrobj.dll

... и т.д. для всех файлов

Компонент OpenConf.RegistryIniFile.wsc надо регистрировать в последнюю очередь!

Заметка про OpenConf была чуть модифицирована, ориганал.

Осталась одна проблема с мертвым Enter-ом. В журнале документов либо в форме
списка справочников он не работает!

Предлагаю воспользоваться FormEx.dll (последняя версия  есть на
http://www.dorex.ru/?download или можно найти на форуме
http://1clinux.org/formex_t.zip )

Далее извлекаем файл "FormEx.dll", складываем в каталог C:\Program files\BIN\

Заходим в конфигуратор и:

1. в процедуру "ПриНачалеРаботыСистемы()" добавляем:


    "
      Если ЗагрузитьВнешнююКомпоненту("FormEx.dll")=0 Тогда
            Предупреждение("Не удается загрузить внешнюю компоненту 1C++!",10);          
      КонецЕсли;    
    "


2. создаём в глобальном модуле новую процедуру:


    "
    Процедура ПриНажатииКнопкиКлавиатуры(Конт, КодКл, Алт, Шифт, Контрл, Символ, ФСО)
      //Сообщить (КодКл);
      Если КодКл=13 Тогда
            Service = СоздатьОбъект("Сервис");
            Service.SendKeys("{TAB}");
       //КодКл=9;
      КонецЕсли;
    КонецПроцедуры
    "


Заметка про FormEx основана на http://1clinux.org/index.php?topic=188.0
Вот в принципе и все :) имеем полностью рабочую 1С, запущенную в свободном Wine.

PS.
Когда пытался запустить игрушки баловался с winetricks (d3dx9, directx9 и
т.д.). И после этого панель окон стала нормально отображаться. 1С перестала
вызывать ошибку и нормально работает (либо это связано с обновлением wine,
которое было произведено незадолго до этого). В настройках Wine для 1С убрана
лишь галочка - "разрешить менеджеру окон декорировать окна".


[url=http://www.opennet.ru/tips/info/2477.shtml]источник[/url]

Комментариев нет:

Отправить комментарий