MDLS.ru

Новости

Проект "ЧПУ на Ардуино"

Обновлен дизайн сайта "Простой станок с ЧПУ на Ардуино" по адресу http://ecnc.ru

Подробнее

Разработан сайт "Свет православия"

Разработан сайт "Свет православия" http://svet-pravoslaviya.ru

Подробнее

Проект "ЧПУ на Ардуино"

Открытый проект "Простой станок с ЧПУ на Ардуино" перенесён на http://ecnc.ru

Подробнее

Личная страница "Частный переводчик"

Частный переводчик поможет провести переговоры, осуществит последовательный, синхронный, письменный переводы. http://tran.mdls.ru

Подробнее

Запуск 1С версии 7.7 релиз 27 (1Cv77 rel 27) на MS SQL Server 2008

Исключительно в образовательных целях расскажем Вам о том, как запустить 1С версии 7.7 релиз 27 на Microsoft SQL Server 2008. Для того, чтобы разобраться, каким образом добиться желаемого результата нам понадобились:

  1. MS SQL Server 2008
  2. Soft ICE
  3. W32Dasm10
  4. HexEdit.

            Посидев немного в профайлере (profiler)  MS SQL Server 2008  и Soft ICE’е было обнаружено, что после запроса:

select 504,c.name,c.description,c.definition from master.dbo.syscharsets c where c.id = convert(tinyint, databasepropertyex ( db_name() , 'sqlcharset'))

приложение 1С отключается от базы данных с сообщением:

Требуется MS SQL Server 6.5 + Service Pack 5a или более старшая версия.

            Оказалось, что результат выполнения строки запроса отличается для MS SQL Server 2000 и MS SQL Server 2008. Таким образом, для дальнейшей нормальной работы необходимо обойти проверку результата или каким-то образом её фальсифицировать. Разумеется, был выбран первый вариант, как наиболее быстрый в реализации. Тут нам помогли: Soft ICE, Hex Edit и Profiler MS SQL Server 2008. Следует заметить, что данная проверка осуществляется в двух различных местах: при запуске конфигуратора и при запуске 1С:предприятия.

            То есть, условный переход необходимо исправить на безусловный в двух местах. Это делается следующим образом:

  1. Открываем BkEnd.dll из пакета 1C версии 7.7 релиз 27 в любом шестнадцатиричном редакторе (HexEdit).
  2. Находим последовательность “74 0С С7 45 08 DA 73 00” и заменяем в ней “74” на “EB”. Это обход проверки для Конфигуратора 1С.
  3. Затем находим последовательность “74 07 BB DA 73 00 00 EB” и заменяем в ней “74” на “EB”. Это обход проверки для :Предприятия.

Кроме того, при сохранении MD файла 1С выполняет следующую команду:

DUMP TRANSACTION WITH TRUNCATE_ONLY.

            Она не поддерживается в MS SQL Server 2008. Для корректной работы 1С необходимо заменить упомянутую команду на:

--MP TRANSACTION WITH TRUNCATE_ONLY

в любом текстовом редакторе (файл BkEnd.dll). И обрезание transaction log внести в регламент работы с базой данных 1С.       

            Внимание, не забудьте пользователю, под которым 1С заходит в базу данных, дать права process admin’а - это обеспечит возможность работы в многопользовательском режиме.

 

 

Коротаевский Андрей