Bocha (bochafreebsd) wrote,
Bocha
bochafreebsd

Ребятам из 1С: Мужики, нельзя так лениться!

Обычно, когда интернет говорит "Это невозможно", я и не берусь. Но сегодня у меня было достаточно времени и я очень четко представляю, какую пользу могут принести такие исследования, так что я сказал интернету "А вдруг я всё таки умнее тебя" и решил попробовать. А делал я следующее: сейчас все форумы сисадминов забиты одним и тем же вопросом: "Что делать, если нагрянет ОБЭП". Да, нелицинзионный виндоуз - это проблема. И если с рабочих станций убрать его просто, то с серверов 1С:Бухгалтерии - пока что невозможно, так вот я и взялся попробовать перенести 1С:Бухгалтерию на более дешевую платформу.


Прежде всего я ознакомился с работами других энтузиастов. Результат примерно такой: в линуксе будет работать если купить коммерческий Wine редакции Etersoft (вам, ребята, тоже должно быть стыдно просить деньги за этот ваш продукт, объясню сейчас, почему), а во FreeBSD вообще виснет еще на заставке.

Я начал копать, как я всегда это делаю, с главного для меня: почему у всех именно эта ошибка, и вот что выяснил: причина подвисания на заставке оказалась банальна - там есть анимационный момент, его не стали писать с нуля, воспользовались системным вызовом винды. Я пробовал шестнадцатиричный редактор, чтобы удалить в низшем уровне вызов заставки из исполняемого файла, но позже случайно выяснил, что в этом нет смысла, нашел другой выход. Но к сожалению система стала ругаться, что метод сортировки системы не совпадает с использованным в моей базе. Ну ясно, опять взят системный вызов, оттого и привязка к платформе. Нужны были библиотеки из винды. Решение пришло довольно быстро, на сайте майкрософт можно получить эти библиотеки бесплатно в виде сервиспака к Виндоуз 98, который, в свою очередь, конечно, определит, что у нас нету никакой Windows 98, но его мнение нас мало интересует, так как он - всего лишь самораспаковывающийся архив, вскрываем его, забираем либы, дело с концом. Уважаемые Этерсофтовцы, попробовал я ваш вайн, мало того, что вы делаете компайл под 6.2, которая уже устарела, так еще и деньги просите по сути за то, что даёте нам те же самые библиотеки. Всего понадобилось натурализовать четыре DLLки, некорректно эмулируемые вайном, чтобы 1Ска согласилась перестроить базы под новую схему, базы остались совершенно целы. 1Ска, правда, тут же стала вылетать - она пытается открывать окошки внутри себя, догадайтесь, почему она вылетает на этом шагу? Правильно, окошки отрисовываются системным вызовом виндоуз и не могут рисоваться самой 1Ской, она на это не запрограммирована. Товарищи программисты 1С, вам там не стыдно? Формат базы у вас заимствованный, методы сплошь и рядом черпаются из системных библиотек, выходит, вы просто поддерживаете актуальные налоговые формы? Понятненько. Окошечность легко отключается, локаль легко настраивается, и, вуаля, я, за 7 часов непрерывных экспериментов и написания разного воркэраундовых фич, победил мнение интернета и несовместимость платформ.


Так что вывод прост:
1С:Предприятие может автономно работать под FreeBSD и не требует коммерческий Wine! Интернет, спасибо тебе за подсказки, однако я в отличие от тебя дошел до конца! Собственно, он был так близок, но его еще надо было увидеть...

Завтра с утра я напишу в коммьюнити ru_root и ru_sysadmins ясное хауту со скриншотами, как нам запустить 1С на юниксе и более не нуждаться в Windows на бухгалтерском сервере. Без всех этих подробностей разумеется. Я совершенно не исключаю, что не первый, но, тем менее чести открытие делает их авторам, раз они не поделились им с общественностью, в прочем как сейчас, вопрос резко не стоял в нашей стране никогда.
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

  • 18 comments