1c версии 7.7- решение проблем: различия между версиями

Материал из support.qbpro.ru
imported>Vix
Нет описания правки
imported>Vix
 
(не показана 1 промежуточная версия этого же участника)
Строка 146: Строка 146:


==Как установить 1С 7.7 в Линуксе (wine, ubuntu linux, 1С)==
==Как установить 1С 7.7 в Линуксе (wine, ubuntu linux, 1С)==
1. Установить wine
1. Установить wine<br>
2. Запускаем wine, пусть создаст папку ~/.wine/
2. Запускаем wine, пусть создаст папку ~/.wine/<br>
если сразу папка не появилась то скормите wine какое нибудь виндовое приложение (*.EXE)
если сразу папка не появилась то скормите wine какое нибудь виндовое приложение (*.EXE)<br>
3. Качаем Dcom98 c сайта http://www.microsoft.com/com/default.mspx (размер 1229056 байт)
3. Качаем Dcom98 c сайта http://www.microsoft.com/com/default.mspx (размер 1229056 байт)<br>
4. Копируем Dcom98 в ~/.wine/drive_c/
4. Копируем Dcom98 в ~/.wine/drive_c/<br>
5. Запускаем winecfg. Надо убрать галочку с "Графика"->"Разрешить менеджеру окон управлять окнами"
5. Запускаем winecfg. Надо убрать галочку с "Графика"->"Разрешить менеджеру окон управлять окнами"<br>
6. запускаем: wine DCOM98.EXE /C /T:c:\\temp /Q
6. запускаем: wine DCOM98.EXE /C /T:c:\\temp /Q<br>
     если ругнулся на неправильную версию Windows DCOM98 can only installed on Windows 98. For WindowsNT, please install latest service packs. ничего страшного: НЕ НАЖИМАЯ КНОПКУ "OK" копируем все из папки /drive _c/windows/temp или /drive_c/windows/temp/IXP000.TMP  (по ситуации) в /drive_c/windows/system32
     если ругнулся на неправильную версию Windows DCOM98 can only installed on Windows 98. For WindowsNT, please install latest service packs. <br>ничего страшного: НЕ НАЖИМАЯ КНОПКУ "OK" копируем все из папки /drive _c/windows/temp или /drive_c/windows/temp/IXP000.TMP  (по ситуации) в /drive_c/windows/system32<br>
7. запускаем winecfg, в приложениях добавляем DCOM98.EXE, выделив его выбираем вкладку "Библиотеки" делаем ole32=(родная,встроенная)
7. запускаем winecfg, в приложениях добавляем DCOM98.EXE, выделив его выбираем вкладку "Библиотеки" делаем ole32=(родная,встроенная)
8. Запускаем wine DCOM98.EXE /Q
8. Запускаем wine DCOM98.EXE /Q<br>
9. Из настоящего Windows копируем msvcrt40.dll в наш windows\system32
9. Из настоящего Windows копируем msvcrt40.dll в наш windows\system32<br>
10. Запускаем wine 1C_77_25setup.exe (у вас установочный дистрибутив 1С может называться по-другому), установка должна пройти без проблемм.  Ставим базы.
10. Запускаем wine 1C_77_25setup.exe (у вас установочный дистрибутив 1С может называться по-другому), установка должна пройти без проблемм.  Ставим базы.<br>
11. снова запускаем winecfg. В приложениях добавляем 1cv7l.exe (экзешник которым будем стартовать 1С), В библиотеках к нему добавляем:
11. снова запускаем winecfg. В приложениях добавляем 1cv7l.exe (экзешник которым будем стартовать 1С), В библиотеках к нему добавляем:
  "rpcrt4" = "родная,встроенная"
  "rpcrt4" = "родная,встроенная"
Строка 207: Строка 207:
* [http://www.interface.ru/home.asp?artId=21684 Как установить 1С 7.7 в Линуксе (wine, ubuntu linux, 1С)]
* [http://www.interface.ru/home.asp?artId=21684 Как установить 1С 7.7 в Линуксе (wine, ubuntu linux, 1С)]
* [http://nowa.cc/archive/index.php/t-309326.html Мое маленькое How-to полная настройк 1С 7.7 включая SQL под свободным Wine]
* [http://nowa.cc/archive/index.php/t-309326.html Мое маленькое How-to полная настройк 1С 7.7 включая SQL под свободным Wine]
* [https://forum.mista.ru/topic.php?id=250304 Форум]
* [http://etersoft.ru/ Решения для перехода на Linux и свободное ПО]

Текущая версия от 00:32, 4 мая 2019

отключение заставки

  • вариант первый командой:
"c:\program files\1cv7\bin\1cv7.exe" /nosplash
  • вариант второй - в конфигурации:

тут

  • вариант третий - утилитой:

качаем тут

реестр:

При закрытии терминального приложения остается зпущенным процесс 1cSplashHider.exe, который воспринимается как приложение и не дает автоматически завершить сессию. Все что нам нужно это заставить систему воспринимать 1cSplashHider.exe как процесс в терминальной сессии который необходимо завершать при закрытии приложения.

* открываем редактор реестра: Win+R – regedit;
* переходим в [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Terminal Server\SysProcs];
* добавляем DWORD: 1cSplashHider.exe со значением 0.
* еще пример
  • вариант четвертый - хирургический:

Специалисты компании 1С при разработке версии 7.7 отчего то решили, что их нелепая анимация при запуске 1С кому то из пользователей интересна. К тому же эта гнусная поделка неимоверно тормозит. Если клиент находится в одной локальной сети с сервером 1С, то он может ничего и не заметить. Однако когда речь идет о доступе посредством протокола RDP к 1С через интернет… К тому же горе-программисты даже не предусмотрели возможность штатного отключения своего поделия. В оправдание следует заметить, что в более новых версиях 1С они исправили свой недосмотр. Однако многие все еще живут с версией 7.7, так что о ней речь пойдет дальше.

В подтверждение негативных эмоций по поводу версии 7.7 привожу простые замеры времени запуска, которые показывают всю ущербность анимации.

Доступ к терминальному серверу осуществляется посредством rdesktop через ssh тунель:

rdesktop -g -a8 -k en-us localhost:10000

Выполняется последовательный запуск двух копий 1С скриптом. После каждого запуска производился логоф юзера. Хорошо бы конечно перезагружать сервер, однако у меня не было возможности это делать.


1 запуск, мин 2 запуск, мин 3 запуск, мин среднее значение, мин
С анимацией 03:01 02:50 02:45 02:52
Без анимации 00:08 00:08 00:08 00:08

Таким образом без анимации 1С запускаются в 21,5 раз быстрее!


Посему это безобразие я не могу обойти стороной.


Для отключения отображения заставки необходимо при помощи HEX-редактора,
(программы для редактирования и просмотра двоичных данных в шестнадцатеричном представлении)
найти в файле библиотеки 1с\Bin\seven.dll последовательность:

85 C0 74 1D 8B 4C 24 10

и заменить ее на:

85 C0 EB 1D 8B 4C 24 10

Предварительно обязательно сделайте резервную копию seven.dll

Samba 1с7.7 и блокировки

Проблема: "Уже где-то на протяжении недели танцую самбу с бубном в руках. Целью сих увлекательных манипуляций,среди всего прочего, является наличие в месте, где я осуществляю свою проф-ую деят-ть работающего(это важно)) файлового сервера Samba с базами 1с на борту (дистрибутив - ubuntu 9.10 Desktop, в начале эпопеи стоял Debian Lenny, но он не выдержал моих издевательств)). В Дебиане использовалась самба 3.25, в бубунте - 3.4.0. То, что проделывают самба на пару с 1ской после того, как к расшаренным базам подключаются хотя бы 2 пользователя, совместной работой назвать трудно. Тормоза неприемлемые однозначно и дело тут совершенно точно не в пропускной способности сети, производительности файловой системы и жёстких дисков и т.д. и иже с ними. В инете по форумам народ носится с блокировками и экспериментами в smb.conf(комбинируют аттрибуты конфигурационного файла различными способами с целью, видимо посчитать максимально-возможное число комбинаций)). Потому как ни у кого не работает, окромя тех, у кого работает с самого начала с коробки без лишних манипуляций или тех, кто является или являлся счастливым обладателем самбы под версиями в районе 2.0.7-2.0.10.(ну плюс-минус чуть-чуть, не помню, может и 2.2 у кого-то работала)."

Решение: Сервер с базами 1с член домена DOM на Win 2003. Дистр - слака 12.0, самба 3.2.15. Вот конфиг:

[global]
interfaces = eth0 lo
hosts allow = 192.168.0. 127.
netbios name = dom-1c
workgroup = dom
password server = 192.168.0.1
server string = 1c bases
security = ADS
realm = DOM
#passdb backend = tdbsam
allow trusted domains = yes
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
os level = 1
preferred master = No
local master = No
domain master = No
dns proxy = No
ldap ssl = no
strict locking = No
time server = no
auth methods = winbind
encrypt passwords = yes
winbind use default domain = yes
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
log file = /var/log/samba/log.%m
max log size = 1024
log level = 1
display charset = koi8-r
unix charset = koi8-r
dos charset = cp866
nt acl support = yes
printcap name = /etc/printcap
max xmit = 65535
dead time = 15
use sendfile = no
max open files = 65535
kernel oplocks = yes
[1c-buh]
 comment = 1c for Buhgalteriya
 path = /1c/buh
 admin users = @"DOM\администраторы домена"
 read only = no
 create mask = 1775
 directory mask = 1775
 printable = no
 available = yes
 map acl inherit = yes
 inherit owner = no
 inherit acls = no
 inherit permissions = no
 acl check permissions = true
 acl map full control = true
 blocking locks = yes
 level2 oplocks = yes
 locking = yes
 oplocks = yes
 strict locking = no
 posix locking = yes
 browseable = yes
 share modes = yes

взято тут

Как установить 1С 7.7 в Линуксе (wine, ubuntu linux, 1С)

1. Установить wine
2. Запускаем wine, пусть создаст папку ~/.wine/
если сразу папка не появилась то скормите wine какое нибудь виндовое приложение (*.EXE)
3. Качаем Dcom98 c сайта http://www.microsoft.com/com/default.mspx (размер 1229056 байт)
4. Копируем Dcom98 в ~/.wine/drive_c/
5. Запускаем winecfg. Надо убрать галочку с "Графика"->"Разрешить менеджеру окон управлять окнами"
6. запускаем: wine DCOM98.EXE /C /T:c:\\temp /Q

   если ругнулся на неправильную версию Windows DCOM98 can only installed on Windows 98. For WindowsNT, please install latest service packs. 
ничего страшного: НЕ НАЖИМАЯ КНОПКУ "OK" копируем все из папки /drive _c/windows/temp или /drive_c/windows/temp/IXP000.TMP (по ситуации) в /drive_c/windows/system32

7. запускаем winecfg, в приложениях добавляем DCOM98.EXE, выделив его выбираем вкладку "Библиотеки" делаем ole32=(родная,встроенная) 8. Запускаем wine DCOM98.EXE /Q
9. Из настоящего Windows копируем msvcrt40.dll в наш windows\system32
10. Запускаем wine 1C_77_25setup.exe (у вас установочный дистрибутив 1С может называться по-другому), установка должна пройти без проблемм. Ставим базы.
11. снова запускаем winecfg. В приложениях добавляем 1cv7l.exe (экзешник которым будем стартовать 1С), В библиотеках к нему добавляем:

"rpcrt4" = "родная,встроенная"
"ole32" = "родная,встроенная"
"olepro32" = "родная,встроенная"
"oleaut32" = "родная,встроенная"
"msvcrt40" = "родная,встроенная"
если winecfg английский, то родная=native, встроенная=builtin

12. Запускаем 1С!!!:) Запускать лучше из терминала - увидим все ошибки.

Если при запуске будет ругаться:

err:module:import_dll Library ole32.dll (which is needed by L"c:\\windows\\system32\\shlwapi.dll") not found
err:module:import_dll Library shlwapi.dll (which is needed by L"c:\\windows\\system32\\shell32.dll") not found
err:module:import_dll Library shell32.dll (which is needed by L"c:\\windows\\system32\\comdlg32.dll") not found
err:module:import_dll Library ole32.dll (which is needed by L"c:\\windows\\system32\\shlwapi.dll") not found
err:module:import_dll Library shlwapi.dll (which is needed by L"c:\\windows\\system32\\comdlg32.dll") not found
err:module:import_dll Library comdlg32.dll (which is needed by L"c:\\windows\\system32\\winecfg.exe") not found
err:module:import_dll Library ole32.dll (which is needed by L"c:\\windows\\system32\\shlwapi.dll") not found
err:module:import_dll Library shlwapi.dll (which is needed by L"c:\\windows\\system32\\shell32.dll") not found
err:module:import_dll Library shell32.dll (which is needed by L"c:\\windows\\system32\\winecfg.exe") not found
err:module:import_dll Library ole32.dll (which is needed by L"c:\\windows\\system32\\winecfg.exe") not found
err:module:import_dll Library ole32.dll (which is needed by L"c:\\windows\\system32\\shlwapi.dll") not found
err:module:import_dll Library shlwapi.dll (which is needed by L"c:\\windows\\system32\\winecfg.exe") not found
err:module:LdrInitializeThunk Main exe initialization for L"c:\\windows\\system32\\winecfg.exe" failed, status c0000135

Проверьте все предыдущие шаги.

Если в этих строках будет упоминание про MFC42.DLL надо его достать из настоящей windows и скинуть в наш windows\system32.

13. Если всё увидели, то идём в меню выбора баз данных, добавляем базы, выбираем нужную и входим в неё через конфигуратор. "Администрирование"->"Кодовая страница таблиц ИБ" меняем на "+Текущая системная установка".

"Окна" - "Панель окон" отключаем (снять галочку)

этот пункт надо повторить _со_всеми_используемыми_базами_!!! Иначе при запуске будет выходить ошибка: "Порядок сортировки, установленный для базы данных, отличается от системного!" 14. Запускаем 1С. Выбираем базу, грузимся. первым делом "Окна" - "Панель окон" отключаем. Если 1С вылетает быстрее чем вы можете отключить эту функцию то запускаем wine regedit ищем ключ HKEY_USERS/s-1-5-4/Software/1c/1cv7/7.7/<<имя базы>>/v7/default/Taskbar/ Создаём ключ формата string, имя "Show", значение =0.

Если пишет ошибку: "Плохой путь Container.Contents" - проверьте все предыдущие шаги. Скорее всего не назначили библиотеки для 1С в winecfg (пункт 11.)

Если при запуске в меню вместо русских букв знаки вопросов, то лезем в реестр wine regedit и правим HKEY_CURRENT_USER/Sofware/Wine/Fonts/ меняем Codepages 1251,437 на Codepages на 1251,866

ИСТОЧНИКИ: