
Давайте, я расскажу вам одну хорошую сказку.
Жили‑были Дед да Баба… бла‑бла‑бла…Курочка снесла золотое яйцо… Дед его бил, бил — не разбил; Баба его била, била — не разбила… мышка… бла‑бла‑бла… хвостиком… бла‑бла‑бла… яйцо разбилось… Дед плачет, Баба плачет… бла‑бла‑бла… не может такого быть, что вам не рассказывали в детстве эту сказку!
Только знаете что, если для вас фирма 1С — это курица, которая несет вам золотые яйца, вам не нужно нажимать кнопку читать далее…
Почему 1С:7.7, официально объявленная устаревшей еще 20 лет тому как, до сих пор работает быстрее, устойчивей всех этих 1С:8.х и пользуется такой популярностью?
Стабильность фундамента.
В этом заключается главная причина бессмертия 7.7. Пользователям, бизнесу, программистам‑одинесникам нужен устойчивый фундамент, а не зыбучий песок. Люди хотят вкладываться в автоматизацию, которая будет работать завтра и послезавтра и послепослезавтра, а не требовать ежедневного «обновления» от высокооплачиваемых специалистов.
Хватит кормить 1С!
7.7 покупают один раз. И после этого купленный софт находится в бессрочном пользовании.
За 8.х клиент вынужден платить бесконечно. Это уже не покупка софта, а аренда права вести учёт, где правила игры все время меняются, причем, в одностороннем порядке.

Жизнь и смерть внешних решений
У меня есть разработка для типовых конфигураций 1С (это одна из моих самых первых по времени), которую я уже и не вспоминаю. Она была написана в прошлом веке на компьютере с Win«95 для типовых конфигураций 1С:7.5 (и лежит где‑то в тырнете, даже не помню точно где); пережила все версии Windows от XP до 11; смену движка на 7.7; два десятка принципиально различных редакций (а не релизов!) конфигураций и два Плана Счетов бухгалтерского учёта в РФ. И вот совсем недавно на древний мейл, указанный в ней, получаю обращение пользователя с благодарностью и техническим вопросом по функционалу. Обработке больше 25 лет, а она живее всех живых.
И дело не в моей гениальности (я знаю очень много одинесников и в онлайне и в оффлайне, которые программисты гораздо сильнее меня), просто в среде 7.7 такое долгожительство — обычное дело.
А сможет кто‑нибудь повторить такое же на восьмерке? Нет! Могу даже на деньги поспорить.
Когда конфигурации у всех разные (как это было в 7.7), вендору сложно навязывать свои сервисы и облачные технологии. Если же движок и конфигурации постоянно мутируют под контролем 1С, выжить может только «типовое» решение.
Кадры не решают ничего
На восьмерке нет программистов. Настоящих разработчиков, которые пишут на 8-ке, не существует. Рынок забит «нажимателями кнопок», чей максимум — запустить типовое обновление и надеяться, что оно не упадет и не завалит базу.
Причин такого положения несколько, но основная — нестабильность фундамента. Восьмерка — сырая. И это превращает работу программиста в бег на месте: ты не создаешь новое, а бесконечно латаешь старое, чтобы оно просто не развалилось после очередного обновления движка или конфигурации. Кто будет работать в таких условиях?
Релизобесие
Сколько обновлений для одной типовой конфигурации 8.х выпускается, допустим, в неделю?
Если вы не одинэсите (не важно, юзером или программистом), ни за что не угадаете! В среднем — 3–4 релиза в неделю. Иногда, больше. (Если у вас 2 базы, например: БП и ТРУП — умножайте на два.) «Пропускать» релизы нельзя, нужно обязательно устанавливать строго по возрастанию и запускать после каждого обновления. Для средних по размеру баз обновление одним релизом занимает часы, в больших базах — до суток и более…
Движок «обновляется» с такой же частотой, хотя релизы движка не обязательно устанавливать все и подряд.
Где‑то лет 5–6 тому назад франчи, вероятно, окончательно взвыли, и разработчики типовых перешли на другую тактику: вместо новых релизов, они стали выпускать костыли и заплатки (официальное название «патч»). Релизов стало меньше, зато заплатки расплодились сотнями тысяч: одна заплатка = один косяк, но один косяк <> один костыль, бывает и три, и пять, и кто их считал… Казалось, что система костылей решит проблемы «обновляльщиков». Решила. Но теперь воют юзеры: во‑первых, заплатками тоже нужно заниматься, они сами себя не установят. Во‑вторых, патчей слишком много, их нельзя устанавливать сплошняком и все подряд, пользователи не в состоянии знать и понимать какие заплатки нужны их конфигурации, а какие, наоборот, завалят её в коврик. И, в‑третьих, костыли и заплатки конфликтуют между собой и новыми релизами, новые релизы не удаляют заплатки, даже если релиз включает в себя «последний» костыль к конкретному багу. А «добрый» разработчик публикует список заплаток, которые нужно вручную удалить в зависимости от применяемого релиза конфигурации. Те же грабли релизы, вид сбоку…
Вы помните «главное конкурентное преимущество» движка 8.0 перед 7.7? Так называемый «запрос к таблице значений». Правда, он «не дожил» до 8.1, как и все типовые конфигурации, в которых его сразу применили. Потом этот свинтопрульный аппарат снова появился в языке запросов (кажется, это было в каких‑то релизах 8.2?), но почти сразу сгинул, вероятно, окончательно.
Про «гениальное» внедрение двух отдельных Планов Счетов (для Бухучёта и Налогового Учёта) в бухгалтерских конфигурациях, наверное, тоже никто уже не вспоминает? А рекламного визгу было — минимум на Луну слетали! Исчезло тихо и бесследно, как Атлантида, вернувшись к схеме, взятой из 7.7.
И таких примеров — несть числа. Да вот хоть из последних, про 8.5:
Если достаточно долго (более 15 минут) править код в каком‑нибудь модуле, открытом в полноэкранном режиме, то пропадают кнопки закрытия окна модуля. И если это не отследить, клик по крестику и захлопывается весь конфигуратор …
Вендор за более чем 20 лет (20 ЛЕТ, КАРЛ!!!) не может стабилизировать работу инструмента программиста. Это как вообще?! — А я вам скажу как: не нужен вам конфигуратор, если нет программистов.
Метаданные‑призраки типовых конфигураций
Реквизит документа или справочника вашей рабочей базы 8.х неожиданно поменял идентификатор. Был (условно) СуммаПродаж, стал СуммаПродажи. Как такое может быть в действующей типовой конфигурации? — Легко!
Внимательно смотрите за руками (релизами): шаг первый — добавлен новый реквизит полностью идентичный «старому», в программных модулях «старый» идентификатор автозаменен на новый, а в форме, которую видит пользователь на месте «старого» реквизита размещается «новый» точно такой же геометрии, только пустой в уже существующих в базе объектах (документах, например).
При первом запуске после обновления, специальная обработка копирует значение «старого» реквизита в новый. Таким образом, пользователь видит, что ничего не изменилось, а о том, что во вновь созданных объектах заполняется и сохраняется только новый реквизит, а старый остается пустым, он не может знать никаким доступным ему способом.
Шаг второй — в следующем релизе «старый» реквизит будет удален из конфигурации физически. Этот фокус регулярно делается на раз — два в типовых конфигурациях 8.х, под раздачу попадают и целые объекты метаданных (что технически невозможно в 7.7). И, в лучшем случае, ваша разработка валится сама, но может и базу уронить…
С именами процедур и функций еще проще. Конец прошлого года: во всех типовых конфигурациях процедуры и функции со словом «Обработка» в названии стали называться «ПакетнаяОбработка».
Вот на фэншуй?
ОбработкаТабличнойЧастиВызовСервера -> ПакетнаяОбработкаТабличнойЧастиВызовСервераОбработкаТабличнойЧастиКлиент -> ПакетнаяОбработкаТабличнойЧастиКлиентОбработкаТабличнойЧастиКлиентСервер -> ПакетнаяОбработкаТабличнойЧастиКлиентСерверОбработкаТабличнойЧастиСервер -> ПакетнаяОбработкаТабличнойЧастиСервер.....
В порядке вещей изменение состава параметров, дробление процедур и функций, часто даже без переименования, например, была функция ДваПлюсДваУмножитьНаДва() — вызывалась из других процедур/функций, вычисляла формулу, которая следует из её названия, и возвращала число. И вы ею тоже пользовались в своих разработках. Теперь она тоже есть, но ее «оптимизировали», и она последовательно вызывает две новые функции ДваПлюсДва() и УмножитьНаДва(), возвращая число 8. В результате, если вы не заметили рефакторинга от 1С, вы рискуете получить банальную арифметическую ошибку, когда пользуетесь вызовом глобальных переменных, функций или процедур.

Ваши разработки просто протухнут с выходом следующего релиза БСП (Библиотеки стандартных подсистем). Потому что имя реквизита теперь по‑фэншую, а функция глобального модуля стала называться «по‑модному».
Рефакторинг а‑ля 1С — бессмысленный и беспощадный.
Рефакторинг ради рефакторинга.
Да, с точки зрения нормального человека — это все бессмыслица и чухня для слабоумных.
Ну, в самом деле, получив в подарок золотое яйцо от производителя, они сразу начинают его пытаться разбить…???!!!… Они нормальные? Зачем нужно разбивать золотое яйцо? Они что, золотую яичницу из него хотели сделать? Планировали вывезти по частям за границу? Какой в этом практический смысл? Если вы продаете золотые запасы, по частям всегда намного дешевле, чем целое, да еще в виде ювелирного изделия. Кринжатина лютая. Как такие вещи можно детям на ночь читать? Полная бессмыслица в действиях персонажей.
Еще бы Рябу на суп пустили — ведь так обычно поступают с курами, которые несут золотые яйца …
Дальше совсем плохо начинается: нашлись добрые помощники безруким, помогли разбить яйцо. И‑и-и‑и…??? Эти двое начинают плакать! Просто ревут в голос! Совсем адекват потеряли? Вы же только что хотели его разбить и у вас не получалось, вам помогли — так скажите спасибо, чё вы воете‑то, словно у вас ключ защиты для 1С:Бухгалтерии не работает?
Ну, бред же полнейший, а не сказка со смыслом!
На самом деле, никакие это не бреди, нам просто форсят создании закрытой экосистемы, где вендор является единственным источником истины, а все остальные — лишь потребителями или трансляторами его воли. Такая стратегия «выжженной земли» для сторонних разработчиков. И деньги здесь даже не главное, они вторичны по отношению к власти над рынком. Монополия позволяет диктовать не только цены, но и то, как именно бизнес должен вести свои процессы. Вендор уже давно объявил и считает свою систему 1С национальным стандартом учёта. Не, ну а чё? Да вы спросите любого, даже главного, бухгалтера: что такое журнально‑ордерная система учёта? Вам у виска покрутят пальцем, причем, у вашего. А разве её кто‑то отменял? А Минфин‑то знает, кто у нас заведует стандартами бухучёта?
Глоссарий одинэсников
Далее в тексте используются устоявшиеся названия программных продуктов: 7.7 — Клюшки, 8 — Снеговик. © Екатерина Слуцкая
Мне категорически не нравится, когда определяют Клюшки как «мертвый софт», а всякие там «олдскулы» просто бесят. Сами вы это слово.
«Техническое устаревание» платформы существует только в головах пиарщиков Снеговика. Десятилетия существования таких проектов как 1С++, Йоксель, ВКЛЭР, разработки авторства Кошки Рулят и команды OpenConf полностью опровергают мифологию вендора о невозможности дальнейшей работы на Клюшках из‑за изменений законодательства и новых требований к отчетности. Чушь!
Клюшки & ООП
Есть такая избитая фраза: в Снеговике нет ничего такого, чего нет в Клюшках. А ещё в Снеговике нет ООП. Зато оно есть в Клюшках. Те, кому были нужны инкапсуляция, наследование и полиморфизм бесплатно получили все это богатство в 1С:7.7 еще в далеком 2004 году. Благодаря движению 1С++ и его идейному вдохновителю Александру Орефкову.
А знаете, почему оказались так удачны и востребованы некоторые IT‑проекты (такие как 1С++, nginx, например)? Потому что их писали «как себе», а потом отдали в Open Source.
Один программист делает то, что не может сделать целая Фирма 1С — выпускает обновления для типовых конфигураций 7.7 и рег. отчетности с поддержкой текущего законодательства по НДФЛ, РСВ, НДС, УСН…
А технические решения, применяемые в разработках (в частности, применение API системных библиотек Windows) гарантирует, что код, написанный 25 лет назад, будет работать и в Windows 12, и в будущих версиях. Это и есть та самая «вечная совместимость». Системные библиотеки MS проверены временем и обновляются самой ОС. Прямая работа с системными компонентами быстрее и стабильнее, чем встроенные компоненты вендора. Пока Снеговик, это мертворожденное дитя фирмы 1С, обрастает тяжелыми фреймворками, сообщество программистов очищает Клюшки от лишнего, делая их максимально близкими к ядру ОС. Нет никакой «устаревшей системы» — забудьте!!!
Клюшки & Windows
Да, глупо отрицать, что иногда для некоторых задач по интеграции учётной системы с периферийным оборудованием и другими сервисами и ПО, встроенных в прошлом веке инструментов движка 7.7 недостаточно. Например, встроенный объект Текст позволяет производить с текстовыми файлами и переменными любые манипуляции, но «знает» только две кодировки — DOS и Windows. А некоторые «получатели» требуют присылать им файлы или текстовые строки в кодировке UTF-8. Это, например, ПФР РФ, который теперь стал СФР. Многие маркетплейсы для работы по API используют json‑формат, у которого по умолчанию должна быть кодировка UTF-8.
Системная библиотека Windows полностью перекрывает все потребности одинэсника, у неё даже больше методов, чем у встроенного Текста:
АдоСтрим = CreateObject("Adodb.Stream");АдоСтрим.Charset = "utf-8";АдоСтрим.Type = 2;АдоСтрим.Mode= 3;АдоСтрим.Open(); АдоСтрим.WriteText("<?xml version=""1.0"" encoding=""UTF-8""?>"+РазделительСтрок); АдоСтрим.WriteText("<ЕФС-1>"+РазделительСтрок); ......АдоСтрим.WriteText("</ЕФС-1>"+РазделительСтрок); АдоСтрим.SaveToFile(ИмяФайла, 2); АдоСтрим.Close();
Драйвер ККМ Атол тоже может выкинуть коленца, но не сможет поставить одинесника в тупик. Мне нужно было сделать фирменный чек ККМ — вставить в него картинки (логотип фирмы и логотип банка-эквайера при оплате через его терминал). Оказалось, что драйвер Атола «не принимает» имя файла, если оно слишком длинное или сетевое — драйвер не падает, но печатает чек без логотипов. Когда стала понятна причина такого поведения кассового аппарата, три строки кода закрыли вопрос (у встроенного объекта ФС тоже проблема с длинными именами файлов, зато у любого Windows есть короткие имена любой длины):
ФСВинды = СоздатьОбъект("Scripting.FileSystemObject"); Файл = ФСВинды.GetFile(ПутьКФайлуЛоготипа); КороткоеИмяВин = Файл.ShortPath; Феликс.setParam(Феликс.LIBFPTR_PARAM_FILENAME, ""+КороткоеИмяВин); Феликс.setParam(Феликс.LIBFPTR_PARAM_ALIGNMENT,Феликс.LIBFPTR_ALIGNMENT_CENTER); Феликс.printPicture();
Хватит кормить нас сказками рекламного отдела фирмы 1С!
Ладно, как говорится, о пустом поговорили, давайте о делах…
Конечно, никакой это не бред и не совсем сказка про Курочку Рябу, а по большому счету, даже совсем и не сказка. Скорее — притча. Философская и вечная, как жизнь и люди. Все «недоразумения» кажущиеся и мой стёб лишний… Но всё встаёт на свои места и обретает глубокий поучительный смысл, если понять и принять, что «золотое яйцо» — это символ счастья:
У них было СЧАСТЬЕ, которое они НЕ БЕРЕГЛИ и поэтому потеряли.
Клюшки были «ошибкой» вендора — они дали нам слишком много свободы. И всё то, что мы видим в Снеговике, — это работа над ошибками, чтобы свободных художников в этой среде больше не осталось, а была бы только одна‑единственная и проприетарная экосистема, замкнутая на вендоре.
Манифест «Клюшки Рулят».
Бессрочный жизненный цикл
Мы привыкли считать, что прогресс — это наслоение новых библиотек, фреймворков и гигабайтов кода. Но истинный прогресс — это избавление от лишнего. 1С++, Кошки Рулят и другие команды одинэсников доказали, что Клюшки остаются актуальной средой до сего дня и далее.
Прекращение разработчиком поддержки софта не означает, что софт должен умереть.
Мы провозглашаем отказ от сторонних прослоек в пользу прямой интеграции с операционной системой. Используя системные библиотеки Windows вместо проприетарных DLL, мы опираемся на самый стабильный фундамент в мире ИТ. Это позволит обеспечить принцип вечной совместимости. То, что обращается к ядру операционной системы напрямую, не ломается при обновлениях. Оно работает везде — от Windows XP до Windows 11 и будет работать завтра.
Мы убираем посредников. Прямое использование системных ресурсов делает систему неубиваемой. Нам не нужно контролировать регистрацию компонент или права доступа к папкам — система использует то, что уже встроено в неё по умолчанию.
Отказ от внешних зависимостей делает конфигурацию автономным организмом. Это высшая форма цифрового суверенитета: ваша база данных больше не зависит от капризов вендора или доступности проприетарных библиотек. Только чистый код и мощь системных вызовов.
Прозрачность и доверие. Системная библиотека Windows — это стандарт. В ней нет «закладок» или скрытых ошибок. Опираясь на системные стандарты, мы создаём решения, которые сможет аудировать и поддерживать любой квалифицированный программист.
Присоединяйтесь к нам. Мы не просто «поддерживаем старое». Мы очищаем легендарную платформу от наносов времени, превращая её в идеальный, быстрый и абсолютно независимый инструмент учёта.
Клюшки в связке с системным кодом — это не прошлое. Это будущее, в котором софт принадлежит тем, кто его использует.
Малому бизнесу для ведения учёта не нужны искусственный интеллект, тяжелые облачные подсистемы и ежемесячные гигабайтные обновления, требующие покупки новых серверов. Клюшки — это разумный минимализм. База данных должна быть легкой, интерфейс — понятным, а скорость работы — мгновенной. Стабильность ядра — это ценность, а не отсталость.
Приоритетные задачи:
-
Превращение закрытой экосистемы в общественное достояние (commons), платформу Long‑Term Suppor без срока годности.
-
Распространение на разработки культуры DIY (Сделай сам), прозрачность и возможность аудита.
-
Борьба против планового устаревания, создание низкого порога входа для железа.
-
Независимость от лицензионного давления, уход от принудительных платных подписок (ИТС) за функционал.
Наша конечная цель: Создание вечной, полностью автономной и бесплатной экосистемы поддержки для ваших учётных систем.
Присоединяясь к нам, программист выбирает профессиональное достоинство. Мы отказываемся быть обслуживающим персоналом для хотелок вендора, который постоянно меняет правила игры. Мы строим системы, которые принадлежат нам и нашим клиентам, на фундаменте, который невозможно снести никакими плановыми обновлениями.
Мы не рабы релизобесия! Хватит тратить свою жизнь и квалификацию на бесконечную адаптацию Снеговика к постоянно меняющимся интерфейсам вендора. Подключайтесь к созданию открытых (Open Source) разработок под лицензией MIT/GPL. Давайте вместе создадим единый национальный репозиторий свободных модулей для Клюшек.
Не платите за то, что вам не нужно! Не поддавайтесь на маркетинговый шантаж франчайзи, заявляющих, что «семерка умерла». Может, синус в Снеговике и доходит до полутора, но Клюшки считают штуки, рубли и налоги так же, как и 20 лет назад — математика не изменилась. Дебет все там же — слева, а кредит — справа. Бойкотируйте принудительный переход на Снеговика, если вам хватает текущего функционала. Поддерживайте независимых разработчиков. Инвестируйте малую часть сэкономленных от не-перехода на Снеговика денег в развитие независимой поддержки Клюшек.
Нам нужны открытые API. Снеговик не должен быть монополистом в отправке отчетности и ЭДО. Независимые ИТ‑разработчики и операторы ЭДО, если у нас будут открытые консольные утилиты, сдача электронной отчетности и электронный документооборот будут доступны даже калькулятору. Вы получите новых клиентов, а Клюшки будут жить вечно.

ссылка на оригинал статьи https://habr.com/ru/articles/1043678/