Beschreibung einer Integration von 1C und Bitrix und warum ich meinen Kunden nicht empfehle, eine solche Integration zu verwenden

    Es gab so etwas nicht und wieder dasselbe.

    V.S. Chernomyrdin.

    Ich habe bereits im Artikel Software Integration über den Datenaustausch zwischen Softwareprodukten der 1C-Familie und Bitrix-Sites gesprochen . Beschreibung des Prozesses durch einen Unternehmensberater. Aber dann habe ich ausschließlich über die allgemeinen Prinzipien der Arbeit gesprochen. In einem anderen Artikel schrieb ich über die Probleme von 1C und Bitrix.

    Heute werde ich nicht nur versuchen, das Problem der Integration von Bitrix-Sites und 1C-Softwareprodukten zu beschreiben, sondern Ihnen auch die möglichen „Fallstricke“ von Spezialisten detailliert erläutern, spezifische Probleme sowie mögliche Lösungen beschreiben.

    Ich habe bereits mehr als einmal gesagt, dass Softwareprodukte der 1C-Familie durch eine große Anzahl von Fehlern gekennzeichnet sind und regelmäßige Updates erfordern. Nach deren häufiger Installation müssen Sie jedoch die Konfiguration sowie alle Plug-Ins, Add-Ons und den Datenaustausch mit anderen Komponenten, Programmen und Systemen neu konfigurieren .

    Mit einem solchen Problem kam vor nicht allzu langer Zeit ein Kunde, ein Vertreter eines Webstudios, auf mich zu. So sah sein Vorschlag für eine Zusammenarbeit aus:

    Hallo! Wir müssen dringend die Synchronisierung der Site und von 1C genauer durchführen, um Waren, Preise und Fotos von 1C 8.3 (neueste Version) auf die Site hochzuladen. Hilfe wird dringend benötigt. Wenn Sie frei sind, schreiben Sie mir, wie ich Sie kontaktieren kann, um mehr über das Problem zu erfahren. Vielen Dank im Voraus


    Wie viele Kollegen bin auch ich an freiberuflichen Börsen registriert, weshalb mich solche Anfragen nicht überraschen. Ich hatte Freizeit. Und obwohl diese Anfrage weit nach Mitternacht kam, habe ich mich dennoch entschlossen, diese Aufgabe zu übernehmen.

    Wie ich erwartet hatte, war die Seite auf Bitrix. Der Kunde gab mir Fernzugriff, umriss das Wesentliche des Problems und ich machte mich an die Arbeit.

    Die Anfangsdaten lauten also wie folgt:
    1. Es gibt 1C Office of Commerce. Nach Kundenwunsch - neueste Version
    2. Die Integration funktioniert nicht mehr. Unmittelbar nach den Updates.
    3. Der Client gab an, vollständig aktualisiert zu sein.
    4. Bitrix neueste Version
    5. Was zu tun ist?! Alles ist weg


    Erster Schritt. Konfigurationsversion


    Als erstes überprüfe ich immer die Informationen, die mir der Kunde zur Verfügung stellt. Und im Fall von 1C - stellen Sie sicher, dass Sie die aktuelle Version unabhängig überprüfen.

    In diesem Fall war die Version der aktuellen Konfiguration 11.1.9.5. Dies bedeutete, dass die Konfiguration nicht aktualisiert wurde, die Version ist nicht die neueste .

    Natürlich habe ich diesen Fehler dem Client gemeldet, wonach ich die Updates selbst installiert habe. Die Konfiguration wurde aktualisiert. Integration hat nie funktioniert.

    Überprüfen Sie bei der Arbeit mit 1C immer die Plattformversion und -konfiguration! Es ist sehr wichtig!
    Ich möchte Sie daran erinnern, dass das Trade Management 11 ein Standard-Datenaustauschmodul zwischen UT.11 und Bitrix angekündigt hat. Dies ist ein integriertes Standardmodul, das ohne zusätzliche Einstellungen funktionieren sollte. Aber in meinem Fall hat es nach den Updates nie funktioniert. Zu Beginn des Austauschs ist einfach nichts passiert.

    Schritt zwei Plattformprüfung


    Dann habe ich die Plattformversion überprüft. Grundsätzlich lohnt es sich, dies sofort zu überprüfen. Persönlich rate ich Ihnen, die Versionen beider Plattformen und Konfigurationen immer selbst zu überprüfen. Es ist so wichtig, dass ich keine Angst habe, noch einmal darüber zu schreiben.

    Überprüfen Sie die Relevanz aller Releases selbst!

    In meinem Fall war die Plattform in Ordnung, die Veröffentlichung war die letzte, Nummer 8.3.5.1248, die am 31.10.14 veröffentlicht wurde. (Übrigens, während ich diesen Artikel schrieb, wurde ein weiteres Plattform-Update veröffentlicht).

    Plattformversionen und -konfigurationen sind also in Ordnung, aber die Freigabe funktioniert nicht.

    Es scheint, dann müssen Sie nur das Modul auf der Bitrix-Seite überprüfen. Wie die Praxis gezeigt hat, müssen Sie jedoch eine ganze Quest durchlaufen, um herauszufinden, welches Modul den Austausch von Bitrix unterstützt. Aber lasst uns nicht weiterkommen. Wie versprochen erzähle ich detailliert und in der richtigen Reihenfolge, was und wie ich getan habe und welche Lösungen ich gefunden habe.

    Schritt drei Überprüfen der Datenbankintegrität


    Also ging ich als erstes auf die Bitrix-Website. Ich bin auf die folgende Seite gegangen:

    http://1c.1c-bitrix.ru/ecommerce/download.php

    Aus der dort dargestellten Tabelle bin ich zu dem Schluss gekommen, dass meine Konfiguration genau mit der Version des Austauschmoduls übereinstimmt.

    Wie viele Kollegen in dieser Situation habe ich mich an das Internet gewandt, um Hilfe zu erhalten. In einem der Foren (mista.ru) habe ich Informationen gefunden, dass es notwendig ist, eine Verletzung der Integrität der Datenbankstruktur von der Liste möglicher Probleme auszuschließen, wenn ein Austausch nicht stattfindet. Um diese Aktion auszuführen, ist in 1C ein Tool integriert: Testen und Reparieren der Datenbank.

    Das 1C-Programm hat also eine große und ziemlich lange Arbeit geleistet, da in diesem Fall die Datenbank auf Dateibasis war und viele Fehler behoben wurden. Die gesamte Test- und Korrekturzeit beträgt 40 Minuten.
    Das Warten hat natürlich lange gedauert. Aber alles endet einmal. Und jetzt, nach dem Testen, hoffen wir auf den besten Start des Austauschs. Auch hier gibt es keine Ergebnisse.

    Schritt vier Spezialmodul: Hilft eine alternative Lösung?


    Nachdem das Überprüfen der Datenbank auch nicht geholfen hatte, fiel mir ein, dass ich auch in einem der Foren gelesen hatte, dass jemand von Bitrix-Spezialisten ein spezielles Austauschmodul installiert und es allen empfohlen hatte. Na dann. Ich ging auch online, um nach diesem Modul zu suchen und herauszufinden, warum es benötigt wird.

    Ich habe nur eine Release-Option für dieses Modul gefunden, das für Version 4.0.5.1 entwickelt wurde. Ich dachte, beschloss, alles auszuprobieren und lud dieses Integrationsmodul herunter. Beim Herunterladen habe ich festgestellt, dass die Version dieser Datei auf meiner Website weit von der ersten entfernt ist.

    Meine Datei nach dem Herunterladen wurde folgendermaßen aufgerufen:

    4.0.5.1_ UT_11.1.2 (3) .zip

    Es stellt sich also heraus, dass ich mindestens die vierte Person bin, die versucht hat, dieses Problem zu lösen und dieses Modul heruntergeladen hat.

    Als nächstes habe ich dieses Modul noch installiert. Im Archiv befindet sich eine kleine Broschüre für ihn, die sich als sehr hilfreich herausstellte. Aber genau die Version der Datei hat mich verfolgt. Und ich habe beschlossen, den Kunden zu fragen, was mein Konto ist. Als Antwort hörte ich, dass ich bereits 5 oder 6 Spezialisten bin, die versuchen, dieses Problem zu lösen.

    Ich habe bereits ein sportliches Interesse. Bitte beachten Sie: Es ist mehr als eine Stunde vergangen, seit ich begonnen habe, ein scheinbar einfaches Problem zu lösen, aber das Problem wurde nicht nur noch nicht gelöst, sondern die Lösungswege wurden noch nicht festgelegt.

    Trotzdem habe ich ein Modul installiert, das andere Spezialisten bereits installiert haben, um zu sehen, was mit dem Upload passiert.

    Das erste, was ich sah, waren die offensichtlichen Unterschiede zwischen dem Modul und der Standardaustauschoption von 1C, die funktionieren sollten. Es war sehr unpraktisch, mit einer ungewöhnlichen Oberfläche zu arbeiten.
    Darüber hinaus brachten all diese Maßnahmen keinen Nutzen.

    Überprüfen Sie die Version des Datenaustauschmoduls 1C und Bitrix. Es können mehrere gleichzeitig vorhanden sein: mehrere Versionen sowie verschiedene Konfigurationen.

    Nachdem ich versucht hatte, ein zusätzliches Modul zu installieren, bemerkte ich eine solche Inschrift oben auf dem Bildschirm:



    Nachdem ich diese Inschrift gelesen hatte, dachte ich, dass dies die letzte, neueste Konfiguration war. Aber das war mein Fehler. Erst später habe ich herausgefunden, dass es eine neuere Version gibt und wo man sie herunterladen kann.

    Darüber hinaus müssen Sie die Auswahl des Moduls sorgfältig überwachen. Persönlich war ich zunächst in diesen Modulen für Russland verwirrt:



    Im Allgemeinen, was ich als Ergebnis aller Aktionen und Überprüfungen bekam:
    • Es gibt einen Standardaustausch, der an 1C geht. Er arbeitet nicht.
    • Es gibt ein Datenaustauschmodul „Für Russland“. Er hat auch nicht gearbeitet.
    • Unten befindet sich ein weiteres Austauschmodul. Aber es funktioniert auch nicht.


    Das ist so ein Trick. Viele verschiedene Module, aber keines will arbeiten.

    Was mich sonst noch verblüffte. Wenn Sie auf die Schaltfläche „1C-Anforderungen“ klicken, wird die folgende Tabelle

    angezeigt : 1c.1c-bitrix.ru/ecommerce/require_1C.php


    Hier müssen Sie auch raten, was und wie heruntergeladen werden soll.

    Neues Austauschmodul: Installationsfunktionen


    Also habe ich das neue Austauschmodul immer noch heruntergeladen und in der Handelsabteilung implementiert. Gleichzeitig habe ich natürlich die Konfiguration aus dem Support entfernt. Seltsamerweise, aber eine Tatsache:

    Es scheint, dass die Add-Ons von 1C-Spezialisten für 1C-Softwareprodukte erstellt wurden, aber Sie müssen die Konfiguration aus dem Support entfernen. Für den Benutzer bedeutet dies, dass Aktualisierungen nicht die Standardmethode durchlaufen.

    Gleichzeitig gibt es auf der Website und in der Dokumentation Warnungen, die sogar erschrecken können. Sie werden nicht vergessen, daran erinnert zu werden, dass im Falle eines Ihrer Fehler die Konfiguration im Allgemeinen möglicherweise nicht mehr funktioniert.

    Vergessen Sie nicht zu sichern!

    Stellen Sie sicher, dass Sie Backups für alle Änderungen erstellen, da die Konfiguration zu jedem Zeitpunkt möglicherweise nicht mehr funktioniert: während der Aktualisierung, während der Modulimplementierung, während des Entladens von Tests. Im Allgemeinen ist es besser, ein zusätzliches Backup zu erhalten als unnötige Probleme.

    Also habe ich ein neues Modul implementiert, alles überprüft, alles genau und genau gemacht. Infolgedessen funktioniert der Austausch nicht .

    Der folgende Fehler wird angezeigt:

    Schwerwiegender Fehler Beim Ausführen einer POST-Anforderung an die Ressource / e1cib / logForm ist ein Fehler aufgetreten :
    aus einem Grund:
    DBMS-
    Fehler: SQL-Fehler: Inkompatible Typen in einem Ausdruck
    aus einem Grund:
    SQL-Fehler: Inkompatible Typen in einem Ausdruck


    Was bedeutet das? Was bedeuten diese Informationen? Ich habe es nicht verstanden

    Zu Beginn habe ich mich für den Debugger entschieden. Ich habe ungefähr eine halbe Stunde nach diesem Fehler gesucht und überhaupt nichts gefunden. Ehrlich gesagt, dann schlichen sich Zweifel in mir ein, dass ich die Aufgabe im Allgemeinen bewältigen würde.
    Ich habe nach weiteren Informationen zum Thema gesucht.

    Und ich habe ein Forum gefunden, in dem ich auf einen solchen Zweig

    gestoßen

    bin : http://dev.1c-bitrix.ru/community/forums/forum26/topic19114/?PAGEN_1=65 Ich habe erfolgreich Informationen zu dem Fehler im Thema Seite 65 gefunden.



    Die Antwort der Moderatoren war wie folgt. Sie gaben einen Link zu einem anderen Thema und erklärten, dass es bereits eine Lösung für dieses Problem gibt, und Sie können auch viele interessante Dinge zu diesem Thema finden.



    Конечно, я перешел по ссылке от модераторов, и там уже узнал, что проблема заключается в платформе.

    Разработчик об этом писал следующее:

    Наш модуль обмена сейчас несовместим с платформой 8.3.5.1248. В этой платформе, похоже, изменили что-то нехорошее. Для того, чтобы модуль заработал — нужно заменить строчки кода:
    |КОГДА ВариантыКомплектацииНоменклатурыТовары.Характеристика ЕСТЬ NULL
    |ТОГДА """"

    На
    |КОГДА ВариантыКомплектацииНоменклатурыТовары.Характеристика ЕСТЬ NULL
    |ТОГДА НЕОПРЕДЕЛЕНО
    В следующей версии модуля будут внесены соответствующие изменения.


    Was bedeutet das?

    Site Administrator 1C Bitrix gab praktisch zu, dass der Fehler in der 1C-Plattform liegt.

    Nachdem ich diese Informationen gefunden hatte, wurde der Fehler behoben und der Austausch im Allgemeinen verdient. Aber speziell nein.

    Beim Entladen haben wir festgestellt, dass das Foto und die Nomenklatur übertragen werden, die Preise jedoch nicht. Zum Glück wusste ich bereits, was ich mit diesem Problem anfangen sollte. Auf der Seite von Bitrix müssen Sie, obwohl es den Anschein hat, dass es während des Austauschs nicht funktioniert, eine Änderung vornehmen, nämlich das Kontrollkästchen „Für externe Benutzer verfügbar“ im Preisleitfaden aktivieren.

    Auch ein seltsamer Fehler, denke ich. Aus irgendeinem Grund wird in der Dokumentation kein Wort über diese Nuance geschrieben. Und einmal suchte ich nach einer Lösung für dieses Problem durch ein ähnliches Verfahren, d.h. bei Berührung.

    Was ist das Ergebnis?


    Die Aufgabe wurde erfolgreich gelöst. Wir haben alles mit dem Kunden eingerichtet, der Datenaustausch begann so zu funktionieren, wie er sollte. Wir haben von 1C aus gearbeitet, einem Bitrix-Spezialisten, der unsererseits Daten erstellt hat. Infolgedessen dauerte es 3 Stunden harte Arbeit.

    Wofür wurde diese Zeit aufgewendet?


    Jede Aktion benötigt eine bestimmte Zeit. Aktualisierungen dauern 10 bis 15 Minuten, das Indizieren und Aktualisieren der Datenbank dauert 40 Minuten, jeder Austauschversuch dauert 15 bis 18 Minuten (wenn Sie einen vollständigen Austausch durchführen).
    Infolgedessen haben wir viel Zeit aufgewendet, um neu zu konfigurieren, was perfekt funktioniert hat, bevor wir die Konfiguration und die 1C-Plattform aktualisiert haben.

    Schlussfolgerungen


    Aus eigener Erfahrung sowie auf der Grundlage einer sorgfältigen Lektüre des Forenthreads mit Integrationsproblemen und deren Lösungen habe ich folgende Schlussfolgerungen gezogen:
    1. Bitrix - interagiert in keiner Weise oder schlecht mit 1C. Die Aufschrift 1C Bitrix bedeutet nichts, außer dass diese Softwareprodukte gemeinsame Eigentümer haben.
    2. Das Einrichten eines scheinbar typischen Austauschs erfordert bemerkenswerte Anstrengungen, während immer die Gefahr besteht, dass auf einer unvorhersehbaren Seite Fehler auftreten. Das heißt, Beim Aktualisieren müssen Sie genau wissen, welche Konfiguration verwendet wird, auf welcher Plattform, welche Version des Moduls verwendet wird, und Sie müssen auch nach Fehlern für dieses Modul suchen.

    Nachdem ich alle in Absatz 2 aufgeführten Nuancen herausgefunden hatte, gelang es mir, das Problem der Wiederherstellung der Arbeit des Datenaustauschs zu bewältigen.

    Und ein bisschen interessanter aus meiner persönlichen Erfahrung



    Jetzt arbeite ich an einem anderen Projekt und sah mich auch einer merkwürdigen Situation gegenüber. Ich und die Spezialisten, mit denen ich zusammenarbeite, sind für die Integration der Site von 1C verantwortlich, und ein externer Spezialist arbeitet auf der Bitrix-Seite. Grundsätzlich waren wir uns von Anfang an einig, dass sie uns einen separaten Download für 1C schreiben würden. Dabei sagten uns die Bitrix-Spezialisten, dass es unmöglich sei, diese Vereinbarung zu erfüllen, und schlugen vor, einen Standardaustausch zu verwenden.

    Was ist das Ergebnis:

    Wir müssen Nachschlagewerke und Daten, die von unseren Streitkräften finalisiert wurden, in einer Standardform entladen.
    Wir haben also einen klaren Widerspruch. Natürlich werden wir das Problem dieses und eines anderen Mal sicherlich lösen. Es ist wichtig zu verstehen, dass solche Überlagerungen und Widersprüche ständige Begleiter aller sind, die an der Integration von 1C und Bitrix beteiligt sind.

    Wenn Sie sich für einen typischen Austausch entscheiden



    Das erste, was Sie verstehen müssen, ist, dass der angebotene Austausch universell ist und daher das Modul selbst sehr komplex ist. Selbst auf dieser Seite v8.1c.ru/edi/edi_stnd/90/92.htm werden Sie feststellen , dass es mehrere Versionen dieses Austauschs gibt, die sich außerdem regelmäßig ändern. Um den Betrieb eines solchen Austauschs vollständig anzupassen und ihn noch besser an Ihre Bedürfnisse anzupassen, müssen Sie klar verstehen, wie er funktioniert.

    Beispiel:

    Das Format der von UT 11.1.9.56 hochgeladenen Daten



    Das Format der von UT 11.1.9.56 mit dem Modul von Bitrix hochgeladenen Daten:



    Das heißt, wir haben eine Inkonsistenz in den Upload-Formaten von 1C und Bitrix für dieselbe Plattformversion und Konfiguration.

    Die Interaktion von 1C- und 1C-Bitrix-Produkten basiert auf bidirektionalen Datenaustauschverfahren. Der Datenaustausch erfolgt mit dem XML-basierten offenen Standard für den Austausch kommerzieller Informationen - CommerceML 2.0.

    Wenn Sie lesen, was CommerceML 2.0 ist, werden Sie wie ich erstaunt sein, wie komplex dieser Standard im Vergleich zu anderen ist. Sogar nur eine Beschreibung, d.h. Die Beschreibungsdatei selbst im TXT-Format benötigt 107 Kilobyte!

    Und jeder Fehler, den Sie machen, führt höchstwahrscheinlich dazu, dass der Austausch überhaupt nicht mehr funktioniert.

    Wenn Sie einen typischen Austausch verwenden, müssen Sie sowohl sich selbst als auch den Client "pushen", um ständig Änderungen zu überwachen, die sowohl auf der 1C-Seite als auch auf der Bitrix-Seite auftreten. Mit jedem Update laufen Sie Gefahr, alle Änderungen zu verlieren, die Sie an der Börse vorgenommen haben. Als Ergebnis erhalten Sie einen komplexen, sehr "fehlerhaften" Mechanismus, der fast unabhängig von Ihnen funktioniert. Und wenn Sie die ständigen Aktualisierungen von 1C und Bitrix hinzufügen, werden Sie anstelle eines funktionierenden Austauschs ständige „Kopfschmerzen“ feststellen.

    Wie mache ich die Integration?


    Ich habe diesen Rat bereits gegeben und werde ihn noch einmal geben: Sie müssen den Austausch selbst schreiben. Zusätzlich zu den Integrationsmechanismen haben Sie möglicherweise ein weiteres Problem: Das Modul selbst stützt sich auf eine bestimmte Datenmenge. Und diese Regeln können sich auch regelmäßig ändern.

    Während des „Kampfes gegen Updates“ haben Sie sich also mit der Plattform und dem Modul befasst und sind dann auf einen Fehler gestoßen, der vom falschen Datenformat herrührt. Es stellt sich heraus, dass sie darüber hinaus auch implizit ausgefüllt werden müssen. Denken Sie daran, wie ich in meinem Beispiel darauf hingewiesen habe, dass auf der 1C Bitrix-Seite ein „Häkchen“ gesetzt werden muss, von dem ich zum Glück wusste. Andernfalls wäre die Zeit für die Einrichtung eines Austauschs noch länger. Und nirgends in der Dokumentation zu diesem „Häkchen“ wird ein Wort gesagt!

    Wenn Sie einen typischen Austausch verwenden, sollten Sie sich grundsätzlich anhören, was 1C Bitrix selbst in den Worten des Administrators sagt:
    - Nicht aktualisieren (während 1c sagt - Aktualisieren)


    Wenn Sie das Standardmodul schließlich verwenden möchten, sollte die Reihenfolge Ihrer Aktionen festgelegt werden so sein:
    1. Überprüfte die Plattformversion
    2. Überprüfte die Konfigurationsversion
    3. Überprüfte die Version des Moduls.
    4. Wir haben alle Datenbanken überprüft und sichergestellt, dass die Daten erfasst werden.
    5. Wir haben die Konformität der Bitrix 1C-Versionen und des 1C-Softwareprodukts überprüft.
    6. Überprüfte die Integrität der Datenbanken, wenn es sich um Dateien handelt.

    Höchstwahrscheinlich wird während der Ausführung dieser Aktionen ein Fehler festgestellt. Darüber hinaus ist es sehr wichtig zu beachten:
    Ändern Sie in keinem Fall den Modellaustausch.

    Bei allen Versuchen, einen typischen Austausch zu verfeinern, werden Sie in Zukunft auf eine Vielzahl von Problemen stoßen, die Notwendigkeit, jedes Update des Austauschmoduls zu studieren und jedes Mal Ihre Verbesserungen an der neuen Version vorzunehmen.

    Wie Sie sehen, ist die Integration von 1C-Softwareprodukten und Bitrix-Sites eine ziemlich komplizierte Aufgabe, die Aufmerksamkeit, meistens Erfahrung erfordert und selbst nicht immer hilft. Leider finden Sie Hilfe bei neuen Fehlern, die relativ häufig auftreten, um die alten zu ersetzen, nur in den Foren. Aus diesem Grund schreibe ich den Austausch lieber selbst. Aber wenn es nötig ist, wird es eine Lösung geben (hoffe ich).

    Jetzt auch beliebt: