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

Материал из support.qbpro.ru
imported>Vix
Нет описания правки
imported>Vix
 
(не показано 14 промежуточных версий этого же участника)
Строка 1: Строка 1:
== отключение заставки ==
== отключение заставки ==
* вариант первый командой:
* '''вариант первый командой''':
  "c:\program files\1cv7\bin\1cv7.exe" /nosplash
  "c:\program files\1cv7\bin\1cv7.exe" /nosplash


* вариант второй - в конфигурации:
* '''вариант второй - в конфигурации''':
[http://manaeff.ru/forum/viewtopic.php?f=11&t=897 тут]
[http://manaeff.ru/forum/viewtopic.php?f=11&t=897 тут]


* вариант третий - утилитой:
* '''вариант третий - утилитой''':
[http://1c.proclub.ru/modules/mydownloads/personal.php?cid=142&lid=7913 качаем тут]
[http://1c.proclub.ru/modules/mydownloads/personal.php?cid=142&lid=7913 качаем тут]
   
   
реестр:
реестр:


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


  * открываем редактор реестра: Win+R – regedit;
  * открываем редактор реестра: Win+R – regedit;
  * переходим в [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Terminal Server\SysProcs];
  * переходим в [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Terminal Server\SysProcs];
  * добавляем DWORD: 1cSplashHider.exe со значением 0.
  * добавляем DWORD: 1cSplashHider.exe со значением 0.
* [http://1clinux.org/index.php?topic=35.0 еще пример]
* '''вариант четвертый - хирургический''':
<p>Специалисты компании 1С при разработке версии 7.7 отчего то решили, что их нелепая  анимация при запуске 1С кому то из пользователей интересна. К тому же эта гнусная поделка неимоверно тормозит. Если клиент находится в одной локальной сети с сервером 1С, то он может ничего и не заметить. Однако когда речь идет о доступе посредством протокола RDP к 1С через интернет&#8230; К тому же горе-программисты даже не предусмотрели возможность штатного отключения своего поделия. В оправдание следует заметить, что в более новых версиях 1С они исправили свой недосмотр. Однако многие все еще живут с версией 7.7, так что о ней речь пойдет дальше.</p>
<p><span id="more-904"></span></p>
<p>В подтверждение негативных эмоций по поводу версии 7.7 привожу простые замеры времени запуска, которые показывают всю ущербность анимации.</p>
<p>Доступ к терминальному серверу осуществляется посредством rdesktop через ssh тунель:</p>
rdesktop -g -a8 -k en-us localhost:10000
<p>Выполняется последовательный запуск двух копий 1С скриптом. После каждого запуска производился логоф юзера. Хорошо бы конечно перезагружать сервер, однако у меня не было возможности это делать.</p>
<table align="center" border="1" cellpadding="5" cellspacing="0">
<tr align="center">
<th bgcolor="#e6e6e6"><br>
</th>
<th bgcolor="#e6e6e6">1 запуск, мин</th>
<th bgcolor="#e6e6e6">2 запуск, мин</th>
<th bgcolor="#e6e6e6">3 запуск, мин</th>
<th bgcolor="#e6e6e6">среднее значение, мин</th>
</tr>
<tr align="center">
<td><b>С анимацией</b></td>
<td>03:01</td>
<td>02:50</td>
<td>02:45</td>
<td>02:52</td>
</tr>
<tr align="center">
<td><b>Без анимации</b></td>
<td>00:08</td>
<td>00:08</td>
<td>00:08</td>
<td>00:08</td>
</tr>
</table>
<p>Таким образом без анимации 1С запускаются в <b>21,5</b> раз быстрее!</p><br>
<p>Посему это безобразие я не могу обойти стороной.</p><br>
Для отключения отображения заставки необходимо при помощи HEX-редактора,<br>
(программы для редактирования и просмотра двоичных данных в шестнадцатеричном представлении)<br>
найти в файле библиотеки '''1с\Bin\seven.dll''' последовательность:
85 C0 '''74''' 1D 8B 4C 24 10
<p>и заменить ее на:</p>
85 C0 '''EB''' 1D 8B 4C 24 10
<p>Предварительно обязательно сделайте резервную копию seven.dll</p>
* [http://sadmin.pp.ua/otklyuchenie-zastavki-1s-v7-7.html взято тут]
==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
[http://webhamster.ru/mytetrashare/index/mtb0/1328360384uj1pfurnxg взято тут]
==Как установить 1С 7.7 в Линуксе (wine, ubuntu linux, 1С)==
1. Установить wine<br>
2. Запускаем wine, пусть создаст папку ~/.wine/<br>
если сразу папка не появилась то скормите wine какое нибудь виндовое приложение (*.EXE)<br>
3. Качаем Dcom98 c сайта http://www.microsoft.com/com/default.mspx (размер 1229056 байт)<br>
4. Копируем Dcom98 в ~/.wine/drive_c/<br>
5. Запускаем winecfg. Надо убрать галочку с "Графика"->"Разрешить менеджеру окон управлять окнами"<br>
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. <br>ничего страшного: НЕ НАЖИМАЯ КНОПКУ "OK" копируем все из папки /drive _c/windows/temp или /drive_c/windows/temp/IXP000.TMP  (по ситуации) в /drive_c/windows/system32<br>
7. запускаем winecfg, в приложениях добавляем DCOM98.EXE, выделив его выбираем вкладку "Библиотеки" делаем ole32=(родная,встроенная)
8. Запускаем wine DCOM98.EXE /Q<br>
9. Из настоящего Windows копируем msvcrt40.dll в наш windows\system32<br>
10. Запускаем wine 1C_77_25setup.exe (у вас установочный дистрибутив 1С может называться по-другому), установка должна пройти без проблемм.  Ставим базы.<br>
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
ИСТОЧНИКИ:
<hr>
* [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]
* [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

ИСТОЧНИКИ: