Powrót do strony głównej

Wolne konfiguracje 1C: projekt F³ dla stabilnych systemów

Analiza projektu F³ — wolnej konfiguracji dla 1C z otwartym kodem. Opisano rozwiązania architektoniczne, system uprawnień dostępu i przewagi nad standardowymi rozwiązaniami. Szczegółowo omówiono zasady rozwoju i możliwości funkcjonalne.

F³: Nowa paradigma wolnych konfiguracji dla 1C
Advertisement 728x90

# F³: Jak swobodna konfiguracja zmienia podejście do 1C

Projekt F³ to zupełnie nowy format konfiguracji dla platformy 1C, oparty na otwartości kodu, stabilności architektury i rzeczywistym uwzględnieniu potrzeb biznesu. W przeciwieństwie do standardowych rozwiązań, F³ eliminuje zależność od częstych aktualizacji i umożliwia długoterminowe korzystanie z systemów informatycznych bez wiązania z rocznymi zmianami w prawie.

Koncepcyjne podstawy projektu

Głównym problemem standardowych konfiguracji 1C jest ich orientacja na szybką reakcję na zmiany legislacyjne przy jednoczesnym ignorowaniu potrzeb użytkowników. F³ rozwiązuje ten problem poprzez:

  • W pełni udokumentowany i modułowy kod
  • Abstrakcję zmian legislacyjnych
  • Wsparcie dla starszych wersji platformy (od 8.3.16)

Kluczowym elementem jest model GNU3, gwarantujący absolutną wolność kodu. Zapobiega to wykupieniu praw przez 1C i późniejszemu zamknięciu projektu, jak miało to miejsce w przypadku UNF. Architektura została zaprojektowana tak, aby zmiany w prawie były abstrahowane poprzez parametryzację, a nie sztywne kodowanie dat i reguł.

Google AdInline article slot

Możliwości funkcjonalne

Zrealizowany zakres funkcjonalny obejmuje kluczowe procesy biznesowe:

  • Zarządzanie sprzedażą i zakupami z pełnymi rozliczeniami wzajemnymi
  • Magazynowy obrót towarowy z systemem partii i odzyskiwaniem sekwencji
  • Integracja ze sprzętem handlowym (Shtrih-M, Atol) poprzez TOL
  • Wsparcie dla oznaczania i drukowania paragonów
  • Elastyczny system praw dostępu bez użycia standardowych ról 1C

Szczególną uwagę poświęcono formularzom drukarskim — generowanie odbywa się dla pojedynczych obiektów za pomocą strukturyzowanych danych, co ułatwia dostosowanie. Wszystkie dane pomocnicze (sterowniki, klasyfikatory) przechowywane są w oddzielnym repozytorium, a nie w bazie danych, co zwiększa mobilność systemu.

Zasady rozwoju

Rozwiązania architektoniczne

Priorytetem jest używanie JSON zamiast XML wszędzie tam, gdzie jest to technicznie możliwe. Parametryzacja zastępuje sztywne daty w kodzie — wszystkie ustawienia są historyzowane i sterowane za pomocą checkboxów w interfejsie. Biblioteka funkcji Fiksin całkowicie zastępuje BSP, zapewniając przejrzystość i testowalność kodu.

Google AdInline article slot

Krytycznie ważną decyzją było wybranie platformy 8.3.16 jako bazowej. Umożliwia to migrację nawet dla przestarzałych konfiguracji, oszczędzając biznesowi kosztów pełnej wymiany systemu. Deweloperzy świadomie zrezygnowali z udziału w „wyścigu szczurów” za nowymi wersjami platformy.

System praw dostępu

Zrealizowany poprzez programowe ograniczenia z pięcioma podstawowymi rolami:

  • Administrator
  • Regulator
  • Pełny dostęp
  • Przegląd
  • Zewnętrzny kod

Kontrola dostępu realizowana jest poprzez:

Google AdInline article slot
  • Sprawdzanie otwierania formularzy
  • Programowe filtry w listach
  • Modyfikację zapytań SQL

W przeciwieństwie do standardowych konfiguracji, nie ma tu ról opartych na checkboxach. Dostęp do pozycji menu sterowany jest poprzez opcje funkcjonalne, co pozwala elastycznie dostosowywać interfejs do konkretnych zadań.

Cechy ewidencji towarowej

Wybrano klasyczny partionowy obrót towarowy z odzyskiwaniem sekwencji jako najbardziej praktyczny dla operacji handlowych. Taki sposób eliminuje potrzebę miesięcznego zamykania okresu, ułatwiając pracę z przeterminowanymi towarami i partiami. Partionowy obrót towarowy obejmuje również rozliczenia wzajemne, zapewniając ciągłą analizę wszystkich operacji.

Zrealizowano wsparcie dla RIB (regulowanych informacyjnych baz) poprzez mechanizm aktualizacji wersji konfiguracji. Pozwala to zachować spójność danych podczas migracji między wersjami bez utraty zapisów historycznych.

Co jest ważne

Długoterminowa stabilność: Rdzeń konfiguracji nie wymaga corocznej wymiany, obniżając TCO systemu ewidencyjnego

Otwartość kodu: Pełny dostęp do źródeł na GitHub z licencją GNU3

Wsparcie dla legacy: Działanie na platformie 8.3.16 i wyższych bez utraty funkcjonalności

Elastyczność praw: Rezygnacja ze standardowych ról 1C na rzecz programowej kontroli dostępu

Oszczędności na aktualizacjach: Obniżenie kosztów adaptacji do zmian legislacyjnych poprzez parametryzację

— Editorial Team

Advertisement 728x90

Czytaj dalej