Иногда меня посещает желание написать «убийцу» типовых 1С

Как-то мне пришла в голову мысль, как написать дешевую массовую 1С на базе базовой 1С:Деньги, я назвал ее Базухой.

Но можно не быть настолько радикальным, а просто написать отличную конфигурацию на платформе 1С, причем на довольно старой, например на 8.3.17.

У меня есть только один пример конфигурации, написанной небольшим коллективом независимо от 1С. Это Магазька:

(С) Скриншот из прораммы MAGAZKA от разработчика.

Но у Магазьки не было задачи сделать красиво, было нужно сделать эффективно.

Я же хочу сделать эффективный код, который не нужно было бы менять как перчатки с каждым веянием закона. Чтобы от использования конфигурации и программисты и пользователи получали удовольствие.

Чтобы программа была ценна и эффективна 5-10 лет.

При этом я хочу сделать ее бесплатной и с открытым кодом, в отличии от Магазьки.

Дорабатываться она будет по заказам и по мере поступления донатов. Исходный код конфигурации будет выложен на git, можно будет делать свои ответвления (если понадобится).

Почему я считаю, что можно написать альтернативу типовым конфигурациям?

1С слишком озабочено деньгами, поэтому они пишут конфигурации-однодневки, чтобы пользователь постоянно покупал новые релизы и обновления, был подписан на ИТС. А т.к. у нас нет цели сверхприбылей, мы можем сосредоточиться на эффективности и повторном использовании кода.

Вот тезисы и идеи, которые можно положить в основу разработки и которые позволят сделать красивый и замечательный продукт, которым можно гордиться, а не «впаривать»:

  1. Изоляция кода в функциях. Все параметры функций должны быть описаны, побочные эффекты тоже. Мы отлаживаем функции, чтобы добиться их идеального выполнения. Отлаженные функции ценны при любых обновлениях.
  2. Автотестирование. Создание базы с нуля набитием данных, автоматическое проведение документов, тестовое открытие форм, автоматическое сравнение с результатом. Так будут выявляться ошибки.
  3. Печатные формы как отображение входящих данных на макет. Это позволит просто выкладывать данные в нужной структуре и выдавать печатную форму. Никаких привязок к прикладным объектам.
  4. Простая и доступная библиотека торгового оборудования, поддерживающая основные устройства.
  5. Учет себестоимости на реальных данных, включающих минусовые остатки.
  6. Параметризация таких данных, как ставка НДС, например. Чтобы можно было описывать любые ставки НДС. Или параметризация системы налогообложения по параметрам — учитывается НДС, какие ставки НДС возможны и т.п.
  7. Устойчивость методологии.
  8. Полная документация всех алгоритмов на сайте разработки.

Начать можно было с базового оптово-розничного контура. Там совсем немного докумнетов.

Уже потом добавлять функционал вроде ячеистого склада, сборки-разборки, складского учета по ордерам и т.п.

Но пока я об этом только мечтаю.