В этой статье рассказывается о проекте написания абсолютно свободной конфигурации F³для 1С, что расшифровывается как free, fine, fair (свободная, красивая, честная).

Концепция
Проект возник из-за несовершенства типовых конфигураций 1С. Они пишутся, чтобы успеть за изменениями законодательства, универсально под все отрасли, при этом пожелания пользователей по развитию функционала не учитываются. Здесь имеется разрабатывать именно тот функционал, который нужен пользователям.
Кроме этого, код типовых конфигураций — это недокументированный монолит, не разбитый на логически законченные функции, которые можно использовать отдельно. Он пишется в угоду мнимой производительности, при этом теряется ясность и прозрачность.
1С оправдывает свой плохой код постоянными изменениями в законах, но это ложь. Любые изменения можно абстрагировать, смоделировать и заложить в систему. Экономика давно изучена, нового в РФ ничего не изобретают.
Проект призван сделать ценным владение информационной системой, чтобы ее можно было использовать долго, пятилетками. Он будет разработана на старой платформе, чтобы даже пользователи старых конфигураций могли использовать эти доработки. Мы считаем, что проблемы учета решаются не новыми платформами 1С, а качественно написанными конфигурациями.
Стабильность ядра позволит делать доработки, которые будут ценны годами и постепенно включать их в ядро.
Конфигурация разрабатывается по модели GNU3, т.е. абсолютно свободная и бесплатная. Это поможет защититься от самодурства разработчиков, вероятность которых всегда есть у конфигурациях с авторами. Также это не позволит 1С выкупить права на эту конфигурацию и похоронить ее, как произошло с УНФ, которая выродилась в клона типовых конфигураций.
Конфигурация будет публиковаться в хранилище на github, релизы конфигураций будут также публиковаться там же в виде cf-файлов для скачивания.
Проект изначально разрабатывается мной, Гением 1С. Монетизировать планирую позже, на донатах и платных разработках функционала. Но это не главное. Я хочу подарить миру долгожданную красивую конфигурацию на 1С, с которой и в которой приятно работать. Можно считать это меценантством.
Функционал
-
Продажи и закупки товаров. Взаиморасчеты с контрагентами.
-
Склад — перемещения, инвентаризация.
-
Ценообразование.
-
Банк, касса.
-
Печатные формы документов.
-
Отчеты
-
Торговое оборудование на базе Торговое оборудование Легкое (ТОЛ). Первоначально только сканер, эквайринг, ККМ.
-
Пробитие чеков и маркировка. Позже чеки коррекции.
-
Номенклатура, характеристики, ПВХ свойств.
-
Выгрузка в БП 3.0 через Enterpise Data (как из Мой Склад).
-
Минимальные права доступа. Ведение списка пользователей и их групп. Вместо RLS тотальные отборы. Контроль права на изменения не галочно-ролевой, а через код.
-
Отслеживание версий конфигурации и механизм обновления. заполнение предопределенных элементов.
-
Библиотека функций Фиксина вместо БСП.
-
Нумерация справочников и документов. Префиксация.
-
Поддержка РИБ.
-
Партионный учет по товарам и взаиморасчетам с восстановлением последовательности.
-
Использование дополнительных отчетов и обработок.
Реализовано
-
ТОЛ — поддержка фискальных регистраторов Штрих-М и Атолл на чеках продажи и возврата
-
Библиотека Функций Фиксина — собраны функции, ведется проверка и пополнение.
-
Созданы основные прикладные объекты на этапе черновика.
Подходы в разработке
Общее
Все служебные данные — драйвера, классификаторы хранятся в отдельной папке в сети (репозитории), в базе хранятся только код, формы и легкие макеты печатных форм.
Используется JSON а не XML везде, где не требуется именно XML.
Используется параметризация и исторические настройки. Никаких сравнений с конкретными датами в коде (чем славится типовая), только галочки настроек и получение настроек на дату.
Платформа
В разработке используется платформа 8.3.16. Конфигурацию можно использовать и на более современных конфигурациях, но разработка ядра ведется на этой платформе.
Это сделано, чтобы пользователи старых конфигураций могли мигрировать на нашу конфигурацию. И чтобы не участвовать в «крысиных гонках» за новыми платформами, а просто делать хороший продукт.
Печатные формы
Код всегда формирует форму для одного объекта, а не для массива объектов.
На вход при формировании печатных форм поступает объект состоящий из структур и массивов, что позволяет решать проблему передачи данных между клиент-серверов и отделять формирование печатных форм от извлечения данных.
Права доступа
В конфигурации не будет использован устаревший и неудобный механизм типовых галочных ролей 1С.
Основные роли:
-
Администратор — имеет право на ведение списка пользователей и назначения им ролей.
-
Регулятор — доступ на изменение к справочникам доступа (пользователей и групп пользователей).
-
Полный — полный доступ, за исключением изменения справочников доступа.
-
Просмотр — просмотр всех объектов.
-
Внешний код — использование внешних отчетов и обработок.
Ограничение просмотра осуществляется за счет:
-
Проверки возможности открытия формы объекта и его печати
-
Назначение программного отбора на формы списка
-
Специальные вызовы для добавления отборов в SQL запросы.
Ограничение записи только программное в событиях при изменении.
Командный интерфейс статичен, но доступы к каждому пункту меню реализованы через функциональные опции, что позволит управлять доступностью каждого пункта меню.
Товарный учет
Будет использован классический партионный учет по товарам и взаиморасчетам с восстановлением последовательности, как максимально удобный для торговли. Другие варианты вроде закрытия месяца будут реализованы позже.
ссылка на оригинал статьи https://habr.com/ru/articles/1024784/