Nowy mechanizm debugowania 1C i jego włączenie

Wraz z rozwojem technologii w programie 1C 8, istnieje potrzeba (jak wspomniano poniżej), aby znacząco przerobić procedurę debugowania. Znajduje to odzwierciedlenie w wersji 8.3.7.1759. Po pierwsze, utworzono uniwersalny interfejs dla tej procedury, a po drugie, taka zmiana zapewnia dalszy rozwój samego programu. W końcu dzięki debugowaniu możesz pracować nie tylko za pomocą Konfiguratora, ale także przy pomocy Narzędzi programistycznych. Zastanów się, jak włączyć debugowanie na serwerze 1C, zaczynając od nowej wersji.

Treść

  • 1 Cele tworzenia nowego debuggera
    • 1.1 Zastosowanie nowego protokołu
    • 1.2 Nowa architektura
    • 1.3 Aplikacje mobilne
    • 1.4 Inne zmiany
    • 1.5 Debugger narzędzi programistycznych
  • 2 Jak teraz wygląda
  • 3 Włącz debugowanie w różnych scenariuszach
    • 3.1 Skrypt pliku
    • 3.2 Skrypt klient-serwer

Cele tworzenia nowego debuggera

Zastosowanie nowego protokołu

Poprzedni debugger, który został wdrożony w poprzednich wersjach, zarządzał aplikacjami klienckimi i serwerowymi przy użyciu protokołu TCP / IP.

Obecnie korzystanie z takiego protokołu zaczęło ograniczać wydajność programu 1C: Enterprise do Internetu i powodowało niedogodności związane z obsługą aplikacji mobilnych.

Dlatego też, aby uzyskać swobodny dostęp do baz danych informacji, które mogą znajdować się poza siecią lokalną, przyjęto elastyczny protokół HTTP.

Nowa architektura

Poprzednio podczas przeprowadzania debug konfiguratora pracownik musiał połączyć się z infobazą. Aby to zrobić, musisz nadać mu uprawnienia administratora.

W nowej wersji w bezpośrednim połączeniu z bazami danych nie ma potrzeby - wystarczy mieć taką samą bazę jak klient. I możesz pobrać go z pliku.

Aplikacje mobilne

Dzięki protokołowi HTTP można teraz debugować dane serwera, klienta i aplikacje.

Inne zmiany

W nowej wersji w procedurze debugowania dostępna jest zmiana wartości dla zmiennych lokalnych - w tym celu zaimplementowano nowe okno szybkiego podglądu.

Tryb obliczeń zostaje zmieniony na asynchroniczny, dzięki czemu możesz kontynuować pracę bez czekania na wyniki.

Debugger narzędzi programistycznych

Interakcja z nową procedurą odbywa się w specjalnie zaprojektowanym uniwersalnym interfejsie programowym. Z jednej strony ten interfejs jest używany przez Konfiguratora. Z drugiej strony implementowany jest w nowym środowisku 1C: Enterprise Development Tools.

Jak teraz wygląda

Po zmianie programu procedura przebiega zgodnie z następującym scenariuszem:

Wygląda jak procedura debugowania 1C

Teraz nie tylko debugger i elementy są zaangażowane w to, jak to było wcześniej. Teraz do łańcucha dodawany jest dodatkowy element - Serwer.

Nie tylko jest dodawany - służy jako główny element wymiany informacji między debuggerem a przedmiotami. A sama wymiana odbywa się za pośrednictwem wiadomości w kolejce.

A ponieważ wymiana odbywa się za pośrednictwem protokołu HTTP, teraz nie ma znaczenia, gdzie dane mogą być zlokalizowane.

Połączenia z serwerem są generowane z debuggera i elementy w postaci dodatkowych żądań połączeń. Kiedy się pojawią, otrzymają odpowiednie odpowiedzi.

Włącz debugowanie w różnych scenariuszach

Dla programisty aplikacji nie ma żadnych zmian. Istotna różnica polega na tym, że należy uwzględnić nowy mechanizm. W końcu domyślnie jest teraz wyłączony.

Zastanów się, co stanie się po uruchomieniu trybu, jeśli wybierzemy jeden z dwóch scenariuszy.

Skrypt pliku

Na początku wariantu pliku konieczne jest wskazanie w ustawieniach konfiguratora wykorzystania nowego mechanizmu - "Debugowanie przez protokół HTTP".

Następnie, od strony Konfiguratora, automatycznie zaproponuje się użycie lokalnego serwera. Ten warunek musi zostać zaakceptowany i ponownie uruchomiony w trybie Konfiguratora.

Debugowanie HTTP

Następnie nowo uruchomiony Konfigurator zapisze wybraną przez nas nową metodę podczas następnej sesji. Ale dla tej samej bazy informacyjnej. Dlatego przy uzyskiwaniu dostępu do innej infobazy wymagane jest również dołączenie do niej.

Włączony mechanizm automatycznie uruchomi teraz serwer debugowania, który jest specjalną aplikacją dbgs.exe. Znajduje to odzwierciedlenie w oknie Menedżera zadań.

Specjalna aplikacja dbgs.exe

Wartość parametru ownerPID będzie odpowiadać identyfikatorowi aplikacji, która jest z nim powiązana.

Po uruchomieniu sesji debugowania za pomocą programu Configurator połączenie z serwerem nastąpi automatycznie. I będzie odzwierciedlać połączone obiekty.

Połączone elementy debugowania 1C

Jeśli program 1C został aktywowany bez nowego mechanizmu, należy ręcznie włączyć debugowanie na serwerze 1C. Dopiero teraz będziesz musiał podać adres serwera:

Idź do Narzędzia - Opcje

Znajduje się w ustawieniach przedmiotów:

Przejdź połączenie - konfiguracja

Korzystając ze skryptu plików z kilkoma bazami danych, należy wziąć pod uwagę ważny niuans w tym samym czasie - każdy z Konfiguratorów (z mechanizmem włączonym przez HTTP) wysyła własny Serwer:

Różne serwery debugowania

Dlatego jeśli kilka Konfiguratorów jest otwartych, to aby połączyć się z Klientem, musisz podać poprawny.

Skrypt klient-serwer

Debugowanie na serwerze 1C w scenariuszu klient-serwer, tak jak w poprzednim przypadku, rozpoczyna się od uruchomienia trybu. Wskazuje to na użycie nowego mechanizmu HTTP. Odbywa się to w ten sposób:

ragent.exe -debug -http

Po uruchomieniu debugger uruchamia się automatycznie po nim.

Wartość parametru ownerPID będzie odpowiadać numerowi identyfikacyjnemu menedżera klastra 1C.

Następnie w ustawieniach konfiguratora wskaż użycie nowego mechanizmu debugowania - "Debugger POP protocol HTTP".

Program utworzy propozycję użycia serwera debugowania klastra (zamiast lokalnego, jak w poprzednim scenariuszu). Zgadzamy się i uruchomimy ponownie.

Użyj teraz serwera debugowania klastra

W przyszłości wszystko będzie jak skrypt pliku. Tylko wtedy, gdy uruchamiany jest program Server Base Configurator, debuger lokalny nie będzie już uruchamiany.

Mamy nadzieję, że nasza publikacja pomogła w rozwiązaniu problemu z włączaniem debugowania na serwerze 1C.

Zadawaj pytania, dziel się doświadczeniami, zostawiaj komentarze.