1c-Programmierung lernen, wo man anfangen soll.

Wenn Sie in SI schreiben
Sei mindestens dreimal lahm
Sie sagen dazu:
„Er ist ein cooler Programmierer!“
(Fidosh-Lieder – „Was ist Suxxx und was ist Rulezzz“)

Vorwort

Der Grund für das Schreiben dieses Artikels war die negative Einstellung der Fachwelt gegenüber dieser Plattform und den Programmierern.

Als Programmierer, der sich für 1C entschieden hat, halte ich diese Meinung für unbegründet. Die 1C-Plattform ist alles andere als ideal, aber meiner Meinung nach ist sie das beste und vor allem inländische Produkt!

Und noch mehr: Es reicht nicht aus, die Fähigkeiten eines Programmierers anhand der Sprache zu beurteilen, in der er schreibt.

In diesem Artikel beschreibe ich die Vorteile, die ich für mich in dem Programm gefunden habe. Der Artikel wird sich fast als Werbung herausstellen, daher hier ein Haftungsausschluss:

  • Ich habe keine direkte Beziehung zur Firma 1C;
  • Dieser Artikel ist keine Auftragsarbeit und wurde ausschließlich auf freiwilliger Basis verfasst.
  • Teilweise werden persönliche Meinungen geäußert, die möglicherweise nicht übereinstimmen...;
  • Der gesamte Artikel, mit Ausnahme des Prologs, ist Eigentum des Autors, jeder Zufall ist ein Zufall;
  • Wir werden über die 1C Enterprise 8.2-Plattform sprechen (derzeit ist Version 8.3 aktuell, aber ich habe sie noch nicht studiert – es gibt viel Arbeit an 1C 8.2). Allerdings gilt das meiste Gesagte sowohl für die 8.3-Plattform als auch für frühere Versionen und einiges davon auch für Version 7.7.
Also lasst uns anfangen.

Worüber reden wir?

Plattform 1C Enterprise 8 ist:
  • Es funktioniert in zwei Versionen – Datei und Server (drei-Link) – jede hat ihre eigenen Vor- und Nachteile;
  • Ein unabhängiges Buchhaltungssystem, das einfach zu installieren und zu konfigurieren ist;
  • Ein leistungsstarkes Ökosystem für Programmierer mit allen notwendigen Objekten und Werkzeugen;
  • Schöne ergonomische Benutzeroberfläche;
  • Relativ kostengünstige Lösung für Unternehmen;
  • Franchisenehmer-Netzwerk, Erstausbildung;
  • Eine leistungsstarke Basis an Entwicklungen und Wissen, die sich im Laufe der Jahre angesammelt hat;
  • Manchmal eine problematische Plattform für Systemadministratoren;
  • Nicht die schnellste Ausführung von Algorithmen (wenn auch nicht die langsamste) – dies ist eine Hommage an den Informationsgehalt (bei Fehlern werden die Zeilennummer und deren Inhalt angezeigt);
  • In der Programmiersprache gibt es keine Klassen (Vererbung, Kapselung, Polymorphismus), keine anonymen Funktionen und andere moderne Features. Aber um die meisten Probleme zu lösen, ist das nicht notwendig!
Um die Buchhaltung zu organisieren, reicht eine Plattform nicht aus. Die Plattform ist eine Art „Engine“, ein Zwischenglied zwischen dem Programm und der Datenbank. Programme für diese „Engine“ werden Konfigurationen genannt. Die Konfiguration beschreibt die Struktur der Datenbank in Form von Objekten, Prozedurtexten, die in separaten Modulen gespeichert sind (es gibt viele Module, sowohl jedes Objekt als auch das System als Ganzes haben sie, und es gibt auch gemeinsame Module). Die Plattform bietet eine Abstraktionsebene, bei der kein direkter Zugriff auf die Datenbank erforderlich ist, und ermöglicht außerdem eine Abstraktion vom Betriebssystem und Datenbanktyp.

Datei- und Serverdatenbank

Die Plattform besteht aus mehreren Teilen und kann als Datei- oder Serverversion betrieben werden.

In der Dateiversion ist die gesamte Datenbank in einer Datei (mit der Erweiterung „1cd“) enthalten – die Plattform wird auf jedem Computer installiert und liest/schreibt direkt in die Datenbank.

Die Vorteile der Dateioption sind der niedrige Preis und die einfache Bereitstellung.

Nachteile – die Dateistruktur „1cd“ ist geschlossen, es gibt kein einzelnes System, das mit der Datenbank interagiert. Daher ist es schwierig, es bei einer großen Anzahl von Benutzern zu verwenden (habe es mit mehr als 20 Benutzern ausprobiert – es kann funktionieren). Wenn die Datenbankgröße etwa 15 GB (oder mehr) beträgt, können dynamische Aktualisierungen außerdem fehlschlagen. Das Beheben solcher Fehler ist eine schwierige Aufgabe, und das Dienstprogramm zum Reparieren der Datenbank repariert die Datenbank nicht immer effektiv und macht sie manchmal sogar lahm.

Es gibt eine Lösung – zunächst einmal die Einrichtung täglicher Datenbank-Backups. Darüber hinaus veröffentlichen Handwerker nicht nur das 1cd-Dateiformat, sondern haben auch Dienstprogramme für die Arbeit mit solchen Dateien und eine Reihe von Methoden zur Lösung solcher Probleme entwickelt.

In der Serverversion verwendet die Plattform zum Speichern der Datenbank einen SQL-Server (normalerweise MS SQL, aber ab 8.2.14 können Sie auch einige andere verwenden, zum Beispiel Firebird PostgreSQL, IBM DB2, Oracle Database) und die Plattform selbst verwendet eine dreistufige Architektur:

Ein Teil des Codes wird auf dem Client ausgeführt, ein Teil auf dem Server. In diesem Fall interagiert nur der Server mit der Datenbank. Gleichzeitig erschienen ab Version 8.2 zusätzlich zum Standardbetriebsmodus, der als „Thick Client“-Modus bezeichnet wurde, zwei neue Betriebsmodi – „Thin Client“ und „Web Client“; Es erschienen auch „kontrollierte Formen“, deren Erscheinungsbild in Form eines abstrakten Elementbaums aufgebaut ist. Die Programmierung für verwaltete Formulare und eine dreistufige Architektur ist schwieriger, aber dadurch können Sie fast die gesamte Last auf den Server übertragen (das heißt, Sie können einen leistungsstarken Server und hundert der günstigsten Bürocomputer kaufen).

Vorteile der Plattform: „dreistufig“ – Lastverteilung, Offenheit der Datenbank (offiziell lehnt 1C die Verantwortung für jegliche Datenbeschädigung ab, wenn Änderungen an der SQL-Datenbank anders als über ihre Plattform oder ihren Server vorgenommen wurden, aber das hält nur wenige Leute davon ab), Mangel an Einschränkungen.

Nachteile - Preis: Sie müssen für jeden Client-Computer separate Client-Lizenzen kaufen, separat - eine Lizenz für den 1C-Server, separat eine Lizenz für den SQL-Server, wenn Sie die kostenlose nicht verwenden. Außerdem treten manchmal Schwierigkeiten beim Betrieb der Datenbank auf. Sie werden aufgrund der Verfügbarkeit von Daten und der Verfügbarkeit externer Tools für die Arbeit mit der Datenbank viel schneller gelöst. Zusätzlich sollten Sie in diesem Fall ein Backup der Datenbank erstellen.

Ein gemeinsamer Vorteil ist die Vielseitigkeit des Konfigurationscodes: Mit einigen Ausnahmen funktioniert eine für eine Dateidatenbank entwickelte Konfiguration auf einer Serverdatenbank und umgekehrt. Ein Beispiel für eine Ausnahme ist die Übergabe eines veränderlichen Werts an den Server oder vom Server an den Client (in der Dateiversion führt dies nicht zu Ausnahmen, in der Client-Server-Version ist dies jedoch verboten).

Ein weiteres Plus: Die Plattform lässt sich sehr einfach installieren, etwa so: „Weiter-Weiter-Weiter-Ok“, es ist keine Feinabstimmung oder Installation irgendwelcher Komponenten erforderlich.

Für die Serverversion gibt es noch ein paar weitere Einstellungen, aber alles wird im Installationsdialog erledigt und es ist nicht erforderlich, etwas in separate Dateien zu schreiben. Die Installation eines SQL-Servers kann etwas schwierig sein, weil... In diesem Fall gibt es noch viel mehr Einstellungen (und zur Feinabstimmung müssen Sie zusätzliche Anweisungen studieren). Dies gilt jedoch nicht für die Probleme der 1C-Plattform. Wenn Sie außerdem beispielsweise einen MS SQL-Server mit allen Standardeinstellungen installieren, kann 1C damit arbeiten.

Es ist mehr als Buchhaltung

Wenn es um die 1C-Plattform geht, wird sie hauptsächlich als Buchhaltungsprogramm präsentiert. Tatsächlich ist dies der beliebteste Einsatzbereich der 1C-Plattform. Aber 1C lebt nicht nur von der Buchhaltung!
Diejenigen, die mit der Plattform vertraut sind, sagen, dass es sich um ein Buchhaltungssystem (Buchhaltungsautomatisierung) handelt. Dies trifft eher auf die Wahrheit zu – es gibt viele Konfigurationen, sowohl von 1C als auch von Drittentwicklern. Einige beziehen sich nur indirekt auf die Buchhaltung, andere überhaupt nicht.

Generell ist es richtiger, sich die 1C-Plattform als Shell für die Objektmodellierung einer Datenbank, Schnittstelle und Programmierung in der 1C-Sprache vorzustellen. Die einzige Einschränkung besteht darin, dass für jede Konfiguration eine eigene Datenbank erstellt wird, und zwar nur eine (es ist jedoch möglich, im Rahmen der Konfiguration zusätzlich externe Datenquellen, also andere Datenbanken, anzubinden).

Ökosystem für Programmierer

Betrachten wir nun die 1C-Sprache und -Plattform aus der Sicht eines Entwicklers:
Datenbankobjektmodell. Erstens arbeiten wir nicht direkt mit Datenbanken. Es ist nicht erforderlich. Der Einfachheit halber werden alle Daten in Form miteinander verbundener Objekte (Verzeichnisse, Dokumente, Informationsregister, Akkumulationsregister usw.) dargestellt und die Plattform „pult“ diese Daten automatisch aus der Datenbank.
Vorausgesetzt, dass die Variable „Nomenklaturelement“ beispielsweise einen Verweis auf das Verzeichniselement „Nomenklatur“ enthält, verfügt das Verzeichnis „Nomenklatur“ über das Attribut „Hauptlieferant“ vom Typ „Verzeichnis.Gegenparteien“ und das Verzeichnis „Gegenparteien“ über das Attribut „Hauptlieferant“. Attribut „Vollständiger Name“, dann der Code:

Nomenklaturelement. Hauptlieferant. Vollständiger Name
... veranlasst die 1C-Plattform mithilfe interner Mechanismen, einen Datensatz in der Tabelle zu finden, der dem Verzeichnis „Gegenparteien“ entspricht, anhand der Kennung aus dem Feld „Hauptlieferant“ des Artikels und gibt die Werte des entsprechenden Felds zurück in das Feld „Vollständiger Name“ im Objektmodell des Verzeichnisses „Gegenparteien“.

Es kann viele solcher Dereferenzierungen geben – das System kann damit umgehen. Die einzige Einschränkung besteht darin, dass das System nicht weiß, wie Dereferenzierungen optimiert werden. Daher sollten Sie versuchen, sie außerhalb aller Arten von Schleifen zu verschieben.

Neben Objekten, die Daten beschreiben, gibt es eine Vielzahl von Systemobjekten – für vielfältige Funktionen. Ich werde einige davon hervorheben:

Wertspeicher
Array– ein Objekt, das einen Datensatz speichert, im Gegensatz zur klassischen Idee von Arrays. Dabei kann es sich um Daten verschiedener Art (Zahl, String, Link, sonstiges Objekt) handeln. Es verfügt über eine minimale Funktionalität und wird hauptsächlich als temporärer Container für die Übertragung von Werten zwischen anderen Geschäften verwendet.

Listenwerte- ein Objekt, das hauptsächlich zum Arbeiten mit der Benutzeroberfläche dient. Zu jedem Element kann es neben Daten auch eine Darstellung, ein Flag-Attribut und ein Bild (Icon) enthalten. Es verfügt außerdem über die Methoden „SelectElement()“ und „MarkElements()“ – beim Aufruf wird dem Benutzer ein Schnittstellendialog angezeigt (was praktisch ist, da dieser Dialog nicht in der Konfiguration erstellt werden muss).

Struktur Und Korrespondenz- Speicherung gepaarter Werte „KeyIValue“. In der Struktur ist „Schlüssel“ eine Zeichenfolge, die den Regeln für die Benennung von Variablen in 1C folgt (keine Leerzeichen, beginnt nicht mit einer Zahl, besteht nur aus Buchstaben, Zahlen und einem Unterstrich). Gemäß - „Schlüssel“ ist ein beliebiger Wert. Die schnellste Suche nach Objekten erfolgt in Übereinstimmung (schneller als in einem Array und einer indizierten Wertetabelle).

Wertetabelle- ein sehr praktisches und recht schnelles Objekt zum Speichern und Verarbeiten von Daten. Spalten in der Wertetabelle können unabhängig von der Anzahl der Datensätze hinzugefügt und gelöscht werden. In diesem Fall gehen die Daten in den Zeilen nicht verloren (oder es werden nur die Daten aus den Zellen gelöscht, die den gelöschten Spalten entsprechen). Außerdem verfügt es über die Methode „SelectRow()“, die den Zeilenauswahldialog aufruft. Es gibt Indizes.

Baum der Werte– ein Objekt, das hierarchische Daten darstellt. Enthält Spalten; der Spaltensatz ist für alle Datensätze auf allen Ebenen gleich. Das Entfernen/Hinzufügen von Spalten im Wertebaum ist genauso einfach wie in der Wertetabelle. Außerdem verfügt es über die Methode „SelectRow()“.

Schnittstellenobjekte und Objekte zum Arbeiten mit verschiedenen Daten TextDocument, SpreadsheetDocument, Webbrowser, ReadFile, WriteFile, ReadZIPFile, WriteZIPFile, ReadXML, WriteXML, HTTPRequest und viele weitere Objekte, und der Konfigurator verfügt über integrierte Hilfe für alles. Der Zweck der aufgelisteten Objekte ist aus ihren Namen ersichtlich und alles ist sofort auf der Plattform verfügbar.

Unabhängig davon ist zu beachten, dass es ein „Metadaten“-Objekt gibt, mit dessen Hilfe Sie in einer Programmiersprache die Struktur der Daten sowie jeden Link oder jedes Objekt für ein Verzeichnis, Dokument oder Diagramm untersuchen können Konten usw. Es gibt eine Methode „Metadata()“, die eine Beschreibung dieses Nachschlagewerks/Dokuments/Kontenplans usw. bereitstellt. in der Datenbank (welche Details, tabellarische Teile sind verfügbar, Länge des Codes/der Nummer usw.). Es ist oft sehr praktisch.

Und wir sollten auch die Objekte separat erwähnen: „Query“, „Query Constructor“, „Query Builder“, „Report Builder“, „Data Composition Schema“. Diese Familie implementiert eine Reihe von Objekten für die Arbeit mit der leistungsstarken 1C-Abfragesprache.

Abfragesprache. Abfragen in 1C werden nur verwendet, um eine Stichprobe von Daten mit praktischer Auswahl, Sortierung und Gruppierung zu erhalten. In erster Näherung ist dies der ins Russische übersetzte „SELECT“-Operator aus SQL, allerdings verfügt die 1C-Abfragesprache auch über Funktionen, die in SQL fehlen, nämlich:

  • Arbeiten mit 1C-Konfigurationsobjekten anstelle von SQL-Tabellen;
  • Arbeiten mit Links anstelle von SQL-Identifikatorfeldern;
  • Unterstützung für Dereferenzierung, ähnlich wie im Code;
  • Auswahl durch Aufnahme in eine Gruppe (für Verzeichnisse);
  • Hierarchische Summen;
  • Temporäre Tabellen und verschachtelte Abfragen (SELECT * FROM (SELECT ...)));
  • Der Abfrage-Builder ist ein praktischer, objektbasierter, automatisch optimierter Abfragetext zum schnellen Lesen, der Abfragetext analysieren (Abfragetext analysieren und daraus ein Objektmodell erstellen) kann;
  • Der Report Builder ist ein Add-on zum Abfragemechanismus, der Funktionen zur automatischen Formatierung der Ergebnisse sowie eine flexible Konfiguration der Abfrage selbst im „Enterprise“-Modus (d. h. durch den Benutzer) hinzufügt. Infolgedessen ist auf Standard-1C-Plattformen ein universeller Bericht erschienen, in dem der Benutzer konfigurieren kann, welche Daten und in welcher Reihenfolge er sehen möchte, was in den Zeilen und was in den Spalten steht, und der Bericht selbst die Ausgabetabelle generiert ;
  • DCS (Data Composition System) ist das nächste Modell, das die Funktionalität eines Universalberichts beinhaltet und diesen um einige Funktionen zur Ergebnisverarbeitung ergänzt.

Programmiersprache
Von der Syntax her ähnelt die 1C-Sprache dem „Russischen Pascal“, unterscheidet sich jedoch von „Pascal“ durch weniger Strenge und das Fehlen einiger Konstruktionen:

  • Es ist nicht nötig, Variablen zu deklarieren – Sie können sie direkt im Modultext initialisieren;
  • Es gibt keine strikte Typisierung von Variablen. Das System verfügt über Werttypen, es gibt jedoch keine strengen Typisierungsregeln für Variablen. Die Variable, die den Link gespeichert hat, kann nach ein paar Codezeilen bereits eine Zahl oder einen String speichern;
  • Sie können Variablen mit Werten unterschiedlichen Typs hinzufügen, und der Typ des Ergebnisses ist derselbe wie der Typ der ersten Variablen, zum Beispiel:
    k = „25“+1; // k = „251“, nicht 26
  • Variablen mit Werten unterschiedlichen Typs können auf Gleichheit oder Ungleichheit verglichen werden (jedoch nicht auf mehr oder weniger, dies führt zu einer Ausnahme) – natürlich sind solche Variablen nicht gleich;
  • Es gibt Funktionen und Prozeduren, es ist zulässig, Rekursion zu verwenden (mit einer Einschränkung der Rekursionstiefe);
  • Bei der Angabe einer Funktion oder Prozedur ohne Parameter ist es dennoch notwendig, am Ende leere Klammern anzugeben: so wie this();
  • Es gibt Module: Jedes Verzeichnis und jedes Dokument hat mehrere davon, außerdem haben Register, Berichte und Verarbeitung sowie jedes Formular Module, und im Rahmen der Konfiguration ist es auch möglich, gemeinsame Module zu erstellen;
  • Keine Klassen, Vererbung, Kapselung, Polymorphismus;
  • Eine Funktion kann nicht als Referenz übergeben werden, es gibt keine anonymen Funktionen;
  • Es gibt keine Rückwärtsschleife (für i:=5 bis 1 do), aber sie wird beim Löschen von Datensätzen wirklich benötigt. Wir begnügen uns mit einem etwas längeren Einstieg durch den „Bye“-Zyklus.

Werkzeuge

  • Die 1C-Plattform bietet die Möglichkeit, eine Konfiguration hoch- und herunterzuladen, eine Konfiguration mit einer anderen Konfiguration zu vergleichen und Änderungen teilweise herunterzuladen;
  • Es besteht die Möglichkeit, Modultexte zur Stapelverarbeitung herunterzuladen und wieder in die Konfiguration zu laden;
  • Wenn die Konfiguration unterstützt wird (alle Konfigurationen von 1C werden zunächst unterstützt), können Sie jederzeit einen Vergleich durchführen und sehen, was von Drittentwicklern oder lokalen Spezialisten geändert wurde;
  • Es ist auch möglich, die gesamte Datenbank (samt Daten) hoch-/herunterzuladen;
  • Für die gemeinsame Arbeit an einer Konfiguration wird ein Konfigurations-Repository verwendet;
  • Es gibt auch eine Reihe von Regeln für Änderungen an Standardkonfigurationen; es gibt sogar ein Dokument von 1C, das Methoden und Standards für die Änderung von Standardkonfigurationen (und allen anderen) beschreibt.

Allgemeiner Eindruck
Die 1C-Sprache kombiniert die Klarheit von Pascal-Sprachtexten mit der Leichtigkeit der Arbeit mit BASIC-Sprachvariablen. Es fehlen eine Reihe von Funktionen, die modernen Programmiersprachen eigen sind, aber Sie können darauf verzichten. Darüber hinaus verfügt die 1C-Plattform über einen leistungsstarken Garbage Collector, d.h. Es besteht beispielsweise keine Notwendigkeit, Tabellen nach der Verwendung zu bereinigen oder zu löschen.

Schnittstelle 1C Enterprise 8.2

Besonderes Augenmerk legte das Unternehmen 1C auf die Schnittstelle seines Programms. Zunächst einmal ist dies die Farbpalette. Sie ist hinreißend! Die Programmfenster sind schon aus der Ferne erkennbar und nach vielen Jahren der Arbeit – sie rufen keine feindseligen Gefühle hervor, im Gegenteil – möchte ich, dass alle Programme genauso cool sind.
Gleichzeitig ist der Stil des Plateaus sehr streng, ohne Schnörkel oder sonstigen Schnickschnack. Gleichzeitig gibt es sehr nützliche Funktionen, zum Beispiel das Merken der Fenstergrößen (die Größen werden nur gespeichert, wenn sie vom Benutzer geändert werden, und gleichzeitig können Sie die Benutzereinstellungen jederzeit zurücksetzen – auf die Standardgrößen und -positionen können Sie durch Drücken von Alt+Umschalt+R ändern.
Die 8.2-Webclient-Schnittstelle verursacht eine Reihe von Beschwerden, aber es scheint, dass die 8.3-Plattform eine neue, neu gestaltete Schnittstelle mit sich bringt – „Taxi“.

Preise, Angebot und Nachfrage, Franchising

Der „köstlichste“ Vorteil der 1C-Plattform ist ihr Preis. Dies gilt insbesondere jetzt, während einer Krise. Schließlich ist 1C vollständig unser inländisches Produkt. Und es wird für unsere Holzmodelle verkauft. Solche Lösungen eines ausländischen Herstellers kosten viel Geld. Und Lizenzen für 1C sind durchaus angemessen.

Darüber hinaus verfügt 1C über eine interessante Lizenzpolitik. Die Lizenzen und Konfigurationen selbst werden einmalig erworben. Dabei werden Lizenzen für eine Workstation und einen Server erworben, nicht jedoch für Datenbanken und auch nicht für Verbindungen, d.h. Unter einer Lizenz kann derselbe Benutzer eine unbegrenzte Anzahl von 1C-Sitzungen starten und mit einer beliebigen Anzahl von Datenbanken arbeiten. Gleiches gilt für Konfigurationen: Durch den Erwerb einer Lizenz für eine Konfiguration kann eine Organisation damit beliebig viele Datenbanken erstellen; außerdem ist es offiziell erlaubt, Teile des Codes und Objekte dieser Konfiguration bei der Entwicklung eigener Konfigurationen zu verwenden (in In diesem Fall können die eigenen Konfigurationen verkauft/übertragen werden – mit der Bedingung, dass Sie zur Nutzung eine Konfiguration von 1C kaufen müssen.

Nach diesem einmaligen Kauf müssen Sie nur noch einmal im Jahr Updates abonnieren und für die Abonnementverlängerung bezahlen, die sogenannte. ES IST. Das Abonnement ist übrigens sehr günstig, etwa so viel wie zwei Client-Lizenzen.

Insgesamt sieht alles sehr profitabel aus.

Das zweite „leckere“, aber mit einem Wermutstropfen versehene Plus ist das Vorhandensein ziemlich universeller Konfigurationen von 1C selbst und von Partnern.

Über Vielseitigkeit

Der Begriff „Vielseitigkeit“ wurde von einem NVP-Schullehrer am Beispiel von Gasmasken definiert: Es gibt universelle Masken, die vor vielen schädlichen Faktoren schützen, deren Schutzgrad jedoch durchschnittlich oder unterdurchschnittlich ist, und es gibt auch spezielle Gasmasken die vor einem Aufprall schützen, jedoch mit einem hohen Schutzgrad. Eine genauere Definition ist mir bisher nicht untergekommen.
Und die Konfigurationen von 1C sind universell. In der Praxis gibt es keine Aufgaben, bei denen sie ohne Modifikationen vollständig genutzt werden könnten. Dennoch ist es 1C gelungen, ein universelles Werkzeugset zu schaffen, das die Anforderungen der meisten Bereiche moderner Unternehmen abdeckt.


Der dritte Vorteil (und auch mit einem Wermutstropfen) ist das Netzwerk von Franchisenehmern und Schulungszentren, sowohl für Benutzer als auch für unerfahrene Programmierer und Administratoren. Eine gute Idee, aber die Qualität der Umsetzung ist sehr mittelmäßig. Die Verbreitung und das aggressive Marketing sind jedoch einer der Gründe für die weit verbreitete Beliebtheit von 1C in unserem Land (und dies ist auch der Grund für Negativität, Neid und Hass).

Ein Löffel Teer

Nachdem ich 1C in all seinen Farben beschrieben habe, wäre es unfair, nicht über seine Mängel zu sprechen, aber sie sind vorhanden:

Instabile Veröffentlichungen- Sowohl in der Plattform als auch in den Konfigurationen gibt es eine Vielzahl von Fehlern und Störungen. Und das steht in offiziellen Veröffentlichungen. Bevor die offizielle Version veröffentlicht wird, wird eine „Evaluierungsversion“ veröffentlicht. Es gibt auch Feedback für die Einreichung von Fehlerbeschreibungen, damit diese zur Korrektur akzeptiert werden. Entweder sind die Testversionen jedoch nicht besonders beliebt, oder das Unternehmen 1C selbst hat bis zum Veröffentlichungsdatum keine Zeit, alle Briefe zu verarbeiten, aber das ist eine Tatsache. Jedes Mal, wenn Sie eine Plattform oder Konfiguration aktualisieren, können Sie auf die unerwartetsten „Überraschungen“ stoßen. 1C wurde bereits mehrfach aufgefordert, seine Entwicklungen gründlicher zu testen.

Franchisenehmer (im Folgenden Franchisenehmer genannt). Im Idealfall sollten es sich, wie geplant, um Unternehmen mit qualifizierten Fachkräften handeln, die die Grundprinzipien der Funktionsweise von Konfigurationen und Plattformen kennen. Dieselben Unternehmen müssten die Plattform, die Konfiguration und den Support verkaufen, universelle Konfigurationen leicht „fertigstellen“, um den Anforderungen des Kunden gerecht zu werden (und diese Anforderungen manchmal anpassen) und dabei versuchen, die Standardkonfiguration nur minimal zu ändern. Um zukünftige Updates nicht zu sehr zu erschweren. Aber in Wirklichkeit ist das Gegenteil der Fall.

Beim Verkauf neuer Lizenzen an einen Kunden erhalten Franchisenehmer 50 % ihrer Kosten (abzüglich der Einkommensteuer von 13 % dieser 50 %). Gleichzeitig müssen Sie nichts selbst herstellen, sondern dem Käufer lediglich die Schlüssel für 1C übergeben.

Bei der Erbringung von Dienstleistungen zahlen Franchisenehmer dem Unternehmen 1C nichts (außer den Mitgliedsbeiträgen), müssen aber das Gehalt des Mitarbeiters zahlen. Auch für Steuern – die Pensionskasse und die Einkommensteuer – muss der Staat Geld ausgeben.

Es stellt sich heraus, dass der Verkauf von Lizenzen sowohl für 1C als auch für Franchisenehmer profitabel und für weitere Unterstützung unrentabel ist. Damit ein Kunde ein Programm kaufen kann, muss es zunächst auf seine Anforderungen zugeschnitten sein. Und man muss die Arbeit bezahlen. Und hier werden, um Geld zu sparen, Studenten, Auszubildende, Laien hinzugezogen, sie können ein wenig bezahlt werden, manchmal werden sie überhaupt nicht bezahlt, sie müssen nicht einmal als Mitarbeiter gemeldet werden (sie werden inoffiziell arbeiten). , zum Glück gibt es etwas zu bezahlen). Das Ergebnis ist eine große Anzahl von Verkäufen mit sehr geringer Qualität. Verbesserungen betreffen in der Regel wichtige Mechanismen und erschweren zukünftige Updates. Doch in der Verkaufsphase sind daran weder 1C noch der Franchisenehmer interessiert.

Ich stelle fest, dass dies weniger die Schuld der französischen Geschäftsleute als vielmehr der Firma 1C ist. Sie konzentrierte sich auf den Verkauf und kümmerte sich überhaupt nicht um die Unterstützung (ich spreche jetzt nicht von Schulen, sondern von der Tatsache, dass die Bereitstellung von Unterstützung sowohl für das Franchisenehmerunternehmen selbst als auch für 1C von Vorteil sein sollte).

Technische Unterstützung. Nach dem Verständnis des Unternehmens 1C ist technischer Support die Bereitstellung des Zugangs zum Abschnitt „Update“ für die Plattform und Konfigurationen sowie zu Informationsabschnitten, die eine Beschreibung einiger Mechanismen und Funktionen des 1C-Betriebs enthalten. Darüber hinaus erhalten Sie bei Abschluss Ihres Abonnements eine CD mit den angegebenen Materialien. Es gibt auch ein Forum (sehr dürftig im Vergleich zu den beliebten). Es besteht auch die Möglichkeit, eine E-Mail an das Unternehmen 1C zu senden – ohne jedoch darauf zu hoffen, dass diese darauf antwortet (oder der Roboter antwortet: „Der Brief wurde an die Entwicklungsabteilung gesendet.“ In Bezug auf die Entwicklung sind Yandex.Search und Die im Konfigurator integrierte Hilfe bietet eine viel größere Unterstützung.

Epilog

Ich bin 2008 zu 1C gewechselt und habe davor in einem Unternehmen gearbeitet, das ein eigenes Buchhaltungsprogramm entwickelte (Delphi 5, dann Delphi 7). Zuerst habe ich mich mit der 1C Enterprise 7.7-Plattform vertraut gemacht und war beeindruckt von der einfachen Berichterstellung. Gleichzeitig war klar, dass die Erstellung von Berichten viel länger dauerte als bei ähnlichen Mechanismen in Delphi, aber die Buchhalter machten sich darüber keine großen Sorgen. Ein paar Minuten statt ein paar Sekunden zu warten ist kein Problem. Im Gegenteil, Sie können dort Ihre Nägel lackieren, Tee trinken oder die neuesten Nachrichten besprechen, ohne die Arbeit zu unterbrechen. Schließlich sind die überwiegende Mehrheit der Buchhalter heutzutage Frauen.
Allerdings war die 7.7-Schnittstelle sehr eingeschränkt und die Objektmenge war sehr dürftig. Ich suchte nach Alternativen. Ich habe mich mit den externen Komponenten vertraut gemacht, konnte sie aber nicht praktisch nutzen, weil... Der Chef entschied, dass es für uns an der Zeit sei, auf 8.1 umzusteigen (ja, 8.2 gab es noch nicht), und auf dieser Plattform habe ich als Programmierer alles gefunden, was mir vorher gefehlt hat.
Derzeit verfüge ich über Autorität bei Kollegen sowie bei Kunden, die von Franchisenehmern zu mir kamen. Sie werden wahrscheinlich nie wieder Kontakt zu den Franzosen aufnehmen.


Im Allgemeinen bin ich mit der Arbeit auf der 1C Enterprise 8-Plattform recht zufrieden. Es eignet sich zur Lösung der meisten Buchhaltungs- und Datenbankprobleme.

Stichworte:

  • Programmiersprachen auf Russisch
  • 1C
  • 1C-Programmierung
Tags hinzufügen

Dieser Artikel ist der erste unserer Serie. Dieses Material wird nicht nur für unerfahrene Programmierer und Administratoren nützlich sein, die aufgrund der Art ihrer Arbeit mit der Installation der 1C:Enterprise 8-Plattform konfrontiert sind, sondern auch für normale Benutzer, die eine beliebige Box-Konfiguration selbstständig erworben haben und mit dem System konfrontiert sind Bereitstellungsprobleme.

Der Artikel geht ausführlich auf ein Bereitstellungsbeispiel ein und erläutert grundlegende Konzepte wie Plattform, Konfiguration und deren Betriebsmodi.

Anwendbarkeit

Der Artikel wurde für die 1C:Enterprise-Plattformversion 8.3.4.437 geschrieben, aber wenn Sie mit einer späteren Version der Plattform arbeiten, ist das gesamte Material absolut relevant.

Installation und Start von 1C:Enterprise 8

Es gibt zwei Modi für die Arbeit mit der Informationsdatenbank: Datei und Client-Server. Wir werden vorerst nur auf die Dateibetriebsart eingehen, da diese in der Regel Anfängern begegnet.

Der Dateibetriebsmodus ist nur für eine kleine Anzahl von Benutzern gedacht (in der Regel bis zu 5-10 Personen). In diesem Fall befinden sich die gesamte Informationsbasis, Konfiguration, Liste und Benutzereinstellungen in einer Datei (1cv8.1CD) im lokalen Netzwerk.

Kommen wir also zu den Konzepten. Eine Plattform ist im Kern eine Entwicklungsumgebung für Anwendungen (Konfigurationen). Es gewährleistet auch den Betrieb von Anwendungen (Ausführung von Programmcode). Aber die Umgebung ist auf einem sehr hohen Niveau. Die Plattform definiert eine Reihe grundlegender Objekte mit eigenen Eigenschaften und Methoden – das sind Konstanten, Dokumente, Verzeichnisse, Register und viele andere.

Der gesamte Satz an Objekten reicht aus, um geschäftsbezogene Probleme der Buchhaltungsautomatisierung (und viele damit verbundene Aufgaben) zu lösen.

Um mit vielen spezifischen Objekten arbeiten zu können, wurde eine spezielle Entwicklungssprache erstellt, in der High-Level-Programme geschrieben werden – die integrierte Sprache 1C:Enterprise 8. Darüber hinaus gibt es alle Arten von Editoren: Dialoge, Tabellen, HTML-Dokumente.

Somit können Sie aus der Menge der auf der Plattform verfügbaren Objekte spezifische Anwendungen erstellen (häufig wird der Begriff Konfigurationen verwendet). Es ist sehr wichtig, dass die Konfiguration eine Entscheidung ist, die bearbeitet werden kann.

Das heißt, in der Konfiguration selbst kann der Programmierer etwas aus der Menge der ihm zur Verfügung stehenden Objekte hinzufügen oder etwas an vorhandenen Konfigurationsobjekten ändern.

Allerdings ist zu bedenken, dass dieser Mechanismus ziemlich gefährlich ist, insbesondere in den Händen von Anfängern, die nicht alle Möglichkeiten einer bestimmten Konfiguration kennen. Es gab Fälle, in denen es statt einer globalen Neufassung des Programmcodes genügte, 1-2 Checkboxen in den Systemeinstellungen im Benutzermodus zu aktivieren.

Es ist zu beachten, dass Sie mit einer Plattform nicht nur mehrere Konfigurationen erstellen, sondern auch den Betrieb vieler Informationsdatenbanken (Datenbanken) sicherstellen können.

Es sieht so aus, als ob Sie den Unterschied zwischen der Plattform und der Konfiguration bereits verstanden haben. Wie unterscheidet sich die Konfiguration von der Basis?

Eine Konfiguration ist so etwas wie eine Vorlage. Basierend auf dieser Vorlage können Sie beliebig viele Datenbanken erstellen. Alle diese Datenbanken werden die gleiche Struktur haben, aber jede von ihnen kann unterschiedliche Daten berücksichtigen (z. B. für verschiedene Unternehmen).

Aus Gründen der Klarheit und leichteren Verständlichkeit kann die Plattform mit einem DVD-Brenner verglichen werden. Damit können Sie etwas aufnehmen und wiedergeben. In diesem Fall kann die Konfiguration mit einem Image zum Brennen einer Disc verglichen werden. Aus einem Image können Sie viele Datenträger brennen, die in diesem Beispiel mit Informationsdatenbanken verglichen werden können.

Wenn Sie zu einem Kunden mit einer neuen Box kommen (dies wird häufig von Praktikanten bei Franchisenehmerunternehmen durchgeführt), die Datenträger und Dokumentation enthält, sollten Sie bedenken, dass die Datenträger in der Regel eine veraltete Plattform und Konfiguration enthalten. Daher müssen Sie sich gut auf den Besuch vorbereiten.

Legen Sie dazu die neueste „1C:Enterprise Technology Platform for Windows“-Distribution auf Ihrem Flash-Laufwerk ab (Achtung, manche verwechseln sie mit der „1C:Enterprise Thin Client“-Distribution, die nicht für jeden geeignet ist). Auf dem Flash-Laufwerk benötigen Sie außerdem eine vollständige Distribution oder eine Konfigurationsupdate-Distribution und etwas anderes, worauf etwas später noch eingegangen wird.

Distributionen sind Installationsdateien (Dateisätze), die Software enthalten und es Ihnen ermöglichen, diese korrekt auf Ihrem Computer zu installieren.

Was zuerst installiert werden muss (Plattform oder Konfiguration), ist nicht von grundlegender Bedeutung, aber ohne Plattform werden Sie definitiv keine funktionierende Datenbank erstellen. Beginnen wir mit der Installation der Plattform. Um das Vorlagenverzeichnis sofort mit Garantie zu ermitteln, ist es außerdem immer noch besser, zuerst die Plattform zu installieren (über das Vorlagenverzeichnis sprechen wir etwas später in einem anderen Artikel). Betrachten wir die einfachsten Szenarien, bei denen die Installation vollständig manuell durchgeführt wird.

Es gibt unterschiedliche Plattformdistributionen für unterschiedliche Betriebssysteme. Die umfassendste Reihe verschiedener Plattformdistributionen wird für die 32-Bit-Version (x86) von Windows vorgestellt.

Mit diesen Distributionen können Sie einen Thick Client installieren (in dem Sie Konfiguration und Programmierung durchführen können), es ist möglich, einen 1C-Anwendungsserver zu installieren, und es gibt eine separate Distribution für den Thin Client (zuvor erwähnt).

Der Thin Client ist nur für den Benutzermodus vorgesehen (alle Berechnungen werden auf dem Server durchgeführt und die Anzeige erfolgt auf dem Client). Es ist zu beachten, dass Sie für die 64-Bit-Version von Windows 32-Bit-Anwendungen installieren können; diese funktionieren im Emulationsmodus.

Schauen wir uns den Prozess der Installation der Plattform an. Wir gehen davon aus, dass Ihr Kunde über das Betriebssystem Windows XP, Windows 7 oder Windows 8 verfügt. Anschließend können Sie das von Ihnen vorbereitete Plattform-Distributionskit sicher installieren.

Zunächst werden Sie tatsächlich häufig auf einzelne (d. h. auf einem Computer) oder lokale Installationen stoßen. In diesem Fall müssen die in der Abbildung dargestellten Komponenten zu den zu installierenden Komponenten gehören.

Durch Markieren der ersten Zeile wählen wir die Hauptkomponenten von 1C:Enterprise aus, darunter Komponenten für Verwaltung, Konfiguration, Thick- und Thin-Clients.

Wenn Sie auf die Schaltfläche „Ändern“ (unten rechts) klicken, können Sie das Verzeichnis für die Installation der Plattform ändern. Dies sollte jedoch nicht ohne zwingende Gründe erfolgen, da sich verschiedene Releases der Plattform nicht gegenseitig ersetzen, sondern sich im Verzeichnis ansammeln C:\Programme (x86)\1cv8. Standardmäßig wird die neueste Version der Plattform gestartet; bei Bedarf kann jede davon gestartet werden.

Im letzten Schritt werden Sie vom System aufgefordert, den Sicherheitstreiber zu installieren. Darüber hinaus ist das Installations-Kontrollkästchen standardmäßig aktiviert.

Ein Schutztreiber ist nur erforderlich, wenn dieser Computer über einen Schutzschlüssel verfügt (lokal oder Server). Bei Verwendung einer Netzwerklizenz oder eines Softwareschutzes macht die Installation eines Schutztreibers keinen Sinn.

Um die Plattform auszuführen, gibt es in jeder Plattformversion drei ausführbare Dateien im Unterverzeichnis bin:

  • 1cv8.exe – im Thick-Client-Modus starten;
  • 1cv8с.exe – Starten Sie den Thin Client (das Arbeiten im Konfiguratormodus ist nicht möglich);
  • 1cv8s.exe – ruft abhängig von den ausgewählten Datenbankparametern eine der beiden vorherigen auf.

Auch im Katalog C:\Programme (x86)\1cv8\common\ Es gibt einen interaktiven Launcher 1sestart.exe. Der Unterschied zu früheren ausführbaren Dateien besteht darin, dass die neueste Version der auf dem System installierten Plattform gestartet wird.

Auf der Speisekarte Start – 1C:Enterprise 8 Die Verknüpfung zu diesem Launcher steht an erster Stelle. Es wird die letztere Methode zum Starten der Plattform empfohlen.

Wir hoffen, dass für Sie alles gut geklappt hat, und können uns im nächsten Artikel mit der Installation von Konfigurationsvorlagen (auf deren Grundlage Informationsdatenbanken erstellt werden) sowie der Installation von Updates für Konfigurationen befassen .

Ich verfüge über Kenntnisse der Grundlagen von Delphi und Turbo Pascal, möchte die 1C-Programmierung erlernen und in Zukunft in diesem Fachgebiet arbeiten. Welche Kurse (kein Fernstudium) könnten Sie einem Neuankömmling in Moskau empfehlen, wo kann man mit dem Erlernen der Grundlagen beginnen? Danke!

Guten Tag!

Als Einstiegskurs bieten wir den Kurs „Grundlagen der Programmierung im 8er-System“ an, dieser Kurs wird zweigeteilt durchgeführt: tagsüber (3 Tage von 10:00 bis 17:00 Uhr) und abends (5 Abende von 18:30 bis 17:00 Uhr). 22:00) Kostenkurs 7200 Rubel.
Die nächstgelegenen Kurstermine: 4.–8. April – Abendkurs.

Sie können Ihre Ausbildung auch mit dem Selbststudium des Buches „Developer’s Practical Guide“ von Maxim Radchenko beginnen.
Dieses Buch kann separat oder als Teil der „Teaching Programming Version“-Box erworben werden.
Die Box enthält eine pädagogische Version der Plattform + Radchenkos Buch (das von angegeben wurde).
oben) + 2 weitere Bücher für Entwickler, Boxpreis 978UB.
Derzeit kann diese Version kostenlos heruntergeladen werden. Die kostenlose Version enthält auch alle Bücher, jedoch in elektronischer Form.

Wenn Sie über umfassende Programmiererfahrung verfügen, ist grundsätzlich ein Kurs zum Thema „Azams“
Sie können es überspringen und direkt mit dem nächsten Schritt fortfahren – dem Kurs „Grundlegende Objekte“.
Aber bevor Sie sich mit den Hauptzielen befassen, sollten Sie unbedingt das Buch von Radtschenko studieren.

Der nächste Kurs der Reihe ist „Einführung in die Konfiguration im 1C:Enterprise 8-System“.
Dieser Kurs wird in verschiedenen Formaten angeboten:
- Vollzeitkurs (tagsüber oder abends) – Unterricht in einer Gruppenklasse. Tageskurs – 3 Tage von 10:00 bis 17:00 Uhr, Abendkurs – 6 Abende von 18:30 bis 21:30 Uhr Kosten des Vollzeitkurses – 7200 Rubel, Kosten des Vollzeitkurses + Webzugang zu den Videomaterialien des Kurses für 6 Monate – 10400 Rubel .

Ausführlicher Präsenzkurs. Hierbei handelt es sich um ein neues Schulungsformat, das unser Schulungszentrum anbietet. Der Zuhörer lernt in unserem Schulungskurs 5 Tage lang von 10:00 bis 17:00 Uhr, der Zuhörer studiert selbstständig die Materialien des Webkurses in einem angenehmen Tempo (mit Kopfhörern in unserem Schulungskurs). Gleichzeitig gibt es in der Klasse einen Lehrer, der jederzeit bereit ist, alle Fragen des Zuhörers zu beantworten. Für jeden Tag gibt es ein spezifisches Programm, d.h.
Material zum Lernen und Erledigen von Aufgaben. Wenn Sie den Kurs tagsüber schneller absolvieren, können Sie an diesem Tag frei sein oder den Stoff am nächsten Tag studieren und so den Kurs schneller abschließen. Dieses Format ermöglicht es Ihnen, in einem für Sie angenehmen Tempo zu lernen und den Kursstoff tiefer zu studieren. Nach dem Kurs haben Sie weiterhin Zugriff auf die Videomaterialien des Webkurses
2 Jahre. Die Kosten für den Kurs im Immersionsformat betragen 10.800 Rubel (im Preis inbegriffen sind Mittagessen und Kaffeepausen).

Für die Buchhaltung in verschiedenen Bereichen wird das gängige 1C-Programm verwendet. Sie verfügt über umfangreiche Kenntnisse im Bereich Rechnungswesen. Eine Person, die hervorragend mit dieser Anwendung umgehen kann, kann in fast jeder Branche leicht einen gut bezahlten Job finden. In diesem Artikel machen Sie sich kurz mit dieser Anwendung vertraut. Dazu benötigen Sie:

— Personalcomputer oder Laptop;

— 1C-Software (Für den korrekten Betrieb empfehlen wir, nur die originale und zu 100 % lizenzierte Version von 1C zu verwenden, was Ihnen möglich ist).

Anweisungen

  1. Zuerst müssen Sie die 1C-Shell auf Ihrem Computer installieren. Man nennt es Shell, denn damit es vollständig funktioniert, müssen Sie alle Daten über Ihr Unternehmen eingeben, wie zum Beispiel:
  • Informationen über Mitarbeiter;
  • Musterverträge;
  • Details und andere.

Alle Informationen im Programm können nach eigenem Ermessen sortiert und angeordnet werden. Es verfügt außerdem über verschiedene Einstellungen für eine einfache Bedienung.


Erstellen eines neuen Elements im Verzeichnis „Mitarbeiter“.

2. Um die Details Ihres Unternehmens einzugeben, müssen Sie das Menü „Service“ öffnen und den Punkt „Organisationsinformationen“ auswählen (in verschiedenen Versionen der 1C-Anwendung kann der Name dieses Punkts leicht abweichen). Öffnen Sie das Menü „Verzeichnis“ und suchen Sie den Abschnitt „Mitarbeiterverzeichnis“. Dort müssen Sie alle Informationen über Ihre Mitarbeiter eingeben. Es gibt auch andere Verzeichnisse im Programm, zum Beispiel werden Informationen zu Ihren Partnern und Lieferanten in das Verzeichnis „Kontrahenten“ eingetragen. Machen Sie sich mit allen verfügbaren Nachschlagewerken vertraut, damit Sie in Zukunft frei darin navigieren können.

3. Alle Geldüberweisungen Ihrer Organisation werden in den Journalen „Bank“ und „Zahlungsdokumente“ angezeigt. Um den Überblick über Verbrauchsmaterialien und Waren Ihres Unternehmens zu behalten, wurden viele verschiedene Journale erstellt, wie zum Beispiel:

  • Waren;
  • Rechnung;
  • Konten und andere.

Das Programm verfügt außerdem über die Möglichkeit, viele verschiedene Berichte und Salden anzuzeigen, die alle auf den im Programm verfügbaren Daten basieren. Es ist auch möglich, Berichte für Steuer- und Sozialdienste anzuzeigen.

4. Wenn Sie sich mit den Grundlagen des Rechnungswesens auskennen und die Grundprinzipien der Führung von Personal-, Waren-, Sachanlagen etc. kennen, dann können Sie dieses Programm problemlos meistern. Bitte beachten Sie, dass es im Internet eine Vielzahl verschiedener Handbücher zu dieser Software gibt, viele davon sind kostenlos verfügbar. Sie helfen Ihnen dabei, den Umgang mit diesem Programm schnell und effektiv zu erlernen.

Video: 1C-Handelsmanagement. Schritt-für-Schritt-Arbeitsplan im 1C-Handelsmanagement