O gastrointestinálních onemocněních

Ladění 1C- velmi výkonný a funkční mechanismus platformy 1C 8.3, který vám umožňuje rychle najít chyby v kódu programu (v jiných programovacích jazycích se to nazývá „debug“, z angličtiny „debug“).

Níže budeme zvažovat hlavní metody použití mechanismu ladění ve formě praktických pokynů na konkrétním příkladu.

Pozornost! Pokud používáte režim klient-server (na serveru), potřebujete.

Nejjednodušší způsob, jak zahájit ladění v 1C, je otevřít 1C v režimu a odtud spustit režim ladění v požadovaném provozním režimu (tenký/tlustý, spravovaný/běžný):

Ladění úloh na pozadí 1C

Abyste mohli ladit úlohy na pozadí, musíte přejít do nabídky „Ladění - Připojení“. V okně, které se otevře, klikněte na tlačítko „Automatické připojení“:

V tomto okně můžete nastavit odpovídající příznak.

Kromě úloh na pozadí můžete v tomto okně povolit ladění externích připojení, http a .

Nastavení bodu přerušení

Druhým krokem v ladění je nastavení breakpointu (v jiných programovacích jazycích - breakpoint).

Například jsem pro ladění vybral obslužnou rutinu „Při změně“ ve formuláři dokumentu:

Chcete-li nastavit bod přerušení, musíte najít požadovaný kód programu a dvakrát kliknout na pole nalevo od pole pro zadání kódu (nebo stisknout tlačítko F9):

Chcete-li zobrazit seznam všech nainstalovaných, musíte jít do nabídky Debug - Seznam bodů přerušení (alt + F9):

Získejte 267 videolekcí na 1C zdarma:

Breakpoint 1C s podmínkou (modrá)

Kromě obvyklého bodu přerušení v 1C existuje ještě jeden typ bodu přerušení - s podmínkou. Graficky je takový bod zobrazen modře. Tento bod přerušení je velmi užitečný, když potřebujete zachytit konkrétní iteraci při procházení smyčky. Ladění se zapne, když je splněna určitá podmínka.

Zastavme například smyčku na řádku číslo 25:

Neaktivní bod přerušení (šedá)

Šedý bod přerušení znamená, že není aktivní a systém se na tomto bodu přerušení nezastaví. Můžete jej deaktivovat kliknutím na speciální tlačítko na panelu „Disable Breakpoint“ (shift+ctrl+F9):

Chybový bod přerušení

Systém se může zastavit kvůli chybě, abyste to udělali, musíte nastavit odpovídající příznak v nabídce Debug - Stop by error:

Chybové zastavení má také funkci podobnou podmíněnému bodu přerušení – umožňuje filtrovat výjimky s konkrétním textem chyby.

Pohyb krok za krokem přes programový kód 1C

Po nastavení bodu přerušení musíte zahájit provádění požadovaného programového kódu, aby systém zadal provádění kódu krok za krokem. Zobrazení šipky indikuje začátek režimu spouštění kódu krok za krokem:

Abyste mohli udělat krok na další řádek, musíte stisknout tlačítko „F11“ (Step into).

Pokud procházíte řádky programového kódu a na řádku je procedura nebo funkce, pak „spadnete“ do této procedury (nebo funkce).

Aby nedošlo k „selhání“, stačí místo F11 (Step into) přeskakovat řádky pomocí tlačítka F10 (Step through) toto tlačítko umožňuje procházet procedurami v kódu programu.

Chcete-li se přesunout z aktuální pozice kurzoru na požadovanou a obejít meziřádky kódu, musíte umístit kurzor na požadovaný řádek a stisknout Shift + F10 (Přejít na kurzor).

Analýza hodnot v režimu ladění 1C

Hodnoty určitých hodnot můžete zobrazit různými způsoby:

Zobrazit hodnotu při umístění kurzoru

Když umístíte ukazatel myši na proměnnou, systém „zvýrazní“ hodnoty proměnné:

Pomocí Evaluate Expression nebo Tableau

  • Formulář Vyhodnoťte výraz lze vyvolat pomocí kontextové nabídky nebo stisknutím klávesových zkratek - (Shift + F9), nebo nabídky (Ladění - Vyhodnotit výraz).
  • Výsledková tabulka volána pomocí klávesových zkratek Ctrl + Alt + W nebo z nabídky (Ladění - Tableau).

Tyto dvě metody analýzy jsou velmi podobné, hlavní rozdíly jsou v rozhraní. Pro skupinu ukazatelů je vhodnější použít srovnávací tabulku a pro jednotlivé ukazatele výrazy.

Tyto metody se velmi snadno používají. Do tabulky stačí zadat název požadované proměnné. Velkou výhodou libovolných výpočtů je, že do výrazu můžete přidat vlastní data.

Například:

Je velmi užitečné použít vyhodnocení výrazu a spustit dotaz, nahrát jej do tabulky hodnot a podívat se na něj.

Jak zjistit, odkud se procedura volá v ladění - Zásobník volání

Velmi často potřebujete pochopit, odkud byla konkrétní procedura nebo funkce volána a s jakými parametry. Pro tento účel poskytuje 1C speciální funkci - „Call Stack“. Chcete-li spustit zásobník hovorů, musíte stisknout klávesové zkratky - Ctrl + Alt + C nebo prostřednictvím nabídky (Ladění - Zásobník hovorů).

Pomocí něj můžete podrobně zjistit, odkud byla procedura volána a s jakými parametry:

Pokud máte zájem o vyhodnocení výkonu během ladění - .

Podívejte se také na přehledné video o ladění v 1C:

Pravděpodobně se žádná seriózní konfigurace na 1C 8.3 nebo 8.2 neobejde bez použití rutinních úloh a úloh na pozadí. Jsou velmi pohodlné, protože budou prováděny podle jasně definovaného plánu bez zásahu uživatele nebo programátora.

Jednou denně si například potřebujete vyměnit data s jiným programem. Pomocí rutinních úkolů a úkolů na pozadí bude 1C moci provádět tyto akce samostatně, například v mimopracovní době. Tato metoda nijak neovlivní uživatelskou zkušenost a pomůže ušetřit čas.

Nejprve pojďme zjistit, co znamenají a jaký je jejich rozdíl:

  • Naplánovaný úkol umožňuje spouštět jakékoli konkrétní akce podle předem nakonfigurovaného plánu.
  • Práce na pozadí je objekt, který obsahuje akce, které mají být provedeny.

Předpokládejme, že naše společnost něco prodává a má vlastní webové stránky, na kterých jsou umístěny ceny. Chceme je nahrávat jednou denně, abychom zachovali relevanci.

Otevřete konfiguraci a přidejte naplánovanou úlohu.

Nastavení vlastností

Podívejme se na nejdůležitější parametry, které je potřeba v jeho vlastnostech vyplnit.

  • V poli" Název metody» vybere postup konkrétního obecného modulu, který se přímo spustí. Uvede všechny kroky pro nahrání cen na naše webové stránky. Vezměte prosím na vědomí, že spuštění bude probíhat na serveru. Je to logické, protože rutinní operace se provádějí bez účasti uživatele.
  • Naplánovanou úlohu lze podle potřeby zakázat nebo povolit. Není potřeba pokaždé upravovat jeho rozvrh. Chcete-li to provést, na paletě vlastností nastavte nebo zrušte příznak " Používání».
  • Další důležitou věcí je nastavení, zda tento rutinní úkol bude předem určený, nebo ne. Předdefinované naplánované úlohy se spouštějí automaticky. Pokud tato funkce není nainstalována, budete je muset spustit programově nebo použít zpracování „Task Console“ s ITS.
  • Můžete také určit počet opakování a interval mezi nimi v případě abnormálního ukončení. Abnormální ukončení se týká situací, kdy úlohy nebyly dokončeny kvůli chybě.

Nastavení rozvrhu

Posledním krokem je nastavení plánu nahrávání na web pomocí odpovídajícího hypertextového odkazu v paletě vlastností.

Typické nastavení plánu uvidíte v 1C 8.3. Není zde nic složitého. V tomto příkladu jsme nastavili spuštění našeho nahrávání cen na web každý den od pěti do sedmi ráno. V případě, že naplánovaný úkol nestihne být dokončen do 7:00, bude dokončen hned následující den.

Blokování naplánovaných úloh

Spusťte standardní obslužný program „Správa podnikových serverů 1C“ a otevřete vlastnosti informační databáze, kde jste vytvořili rutinní úlohu (pro verze klient-server 1C).

V okně, které se otevře (po zadání přihlašovacího jména a hesla pro přístup k zabezpečení informací), zkontrolujte, zda není zaškrtnuto políčko „Blokování rutinních úloh je povoleno“. Pokud narazíte na situaci, kdy úloha nefunguje, zkontrolujte nejprve toto nastavení.

Stejným způsobem můžete zcela zakázat rutinní úlohy v 1C 8.3. Chcete-li zakázat konkrétní úlohy na pozadí, můžete použít zpracování „Background Job Console“ zabudované do nejnovějších verzí.

Pozadí a naplánované úlohy v režimu souborů

V tomto režimu je nastavení a spouštění těchto úloh mnohem obtížnější na organizaci. Nejčastěji se vytvoří další účet, jehož relace bude vždy otevřená.

V tomto případě se rutinní úlohy aktivují pomocí metody „RunTaskProcessing()“.

Můžete také použít následující konstrukci:

Jako název procedury musíte zadat název procedury klienta, která bude provedena. Interval ukazuje, o kolik sekund později bude provedení provedeno. Parametr „Jednorázově“ není vyžadován. Odráží, zda bude tento postup proveden jednou nebo vícekrát.

Sledování chyb v úlohách na pozadí

V protokolu můžete zobrazit průběh úloh na pozadí a také přítomnost možných chyb. Ve filtru nastavte výběr na aplikaci „Zakázka na pozadí“ a případně vyberte důležitost zájmu, např. pouze „Chyby“.

Protokol zobrazí všechny položky, které odpovídají vašemu výběru, spolu s komentářem, který vám pomůže pochopit důvod chyby.

Někdy je potřeba odladit úlohu na pozadí (rutinu). Právě zde často nastává problém.

Někdy je potřeba odladit úlohu na pozadí (rutinu). Právě zde často nastává problém. A tento problém spočívá v tom, že ladicí program se nemůže připojit k procesu běžícímu na straně serveru.

K vyřešení tohoto problému musíme vyřešit dva problémy:

1. Povolte ladění na serveru 1C. Ve výchozím nastavení je ladění na serveru zakázáno a chcete-li jej povolit, musíte: Spustit registr Windows zapsáním " Vykonat"příkaz REGEDIT. Najít řádek

"C:\Program Files\1cv81\bin\ragent.exe" -srvc -agent

(převzato ze spouštěcích parametrů služby 1C:Enterprise 8.1 Server Agent). (toto je pro platformu verze 8.1)

Přidejte klíč na konec -ladit (nezapomeňte před klíč -debug vložit mezeru)

Příklad
. "ImagePath"= byl "C:\Program Files\1cv81\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -rozsah 1560:1591 -d "C:\Program Files\1cv81\server" dát "C:\Program Files\1cv81\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -rozsah 1560:1591 -ladit-d "C:\Program Files\1cv81\server"

Restartujte agenta serveru. Připraveno. Nyní můžeme ladit vlákna spouštění serveru.

2. Velikost písmen názvu serveru a názvu databáze v připojení klienta k serveru 1C se musí přesně shodovat.

Správné připojení:
Práce na pozadí Klient - Srvr="NÁZEV-SERVERU";Ref="Jméno_základny";
Nesprávné připojení:
Práce na pozadí - Srvr="SERVER-NAME";Ref="Název_základny"; Klient - Srvr="název-serveru";Ref="název_základny";

Jak můžete zjistit, s jakými parametry se úloha na pozadí připojuje k databázi? Můžete si vymyslet různé způsoby, jedním z nich je protokolování těchto parametrů, zatímco běží úloha na pozadí.

Kód je následující:

Postup WriteConnectionWithBase() Export
Registrace do deníku(,InformationBaseConnectionString());
Konec procedury

Když je spuštěna úloha na pozadí, do protokolu se zapíše řádek s parametry připojení k databázi, které používá úloha na pozadí.


Nyní specifikujeme automatické připojení k úlohám na pozadí.

Po provedení takových manipulací můžete ladit úlohy na pozadí.


Vy jste to ještě nečetli? Mohlo by vás zajímat...



Pokud si všimnete chyby, vyberte část textu a stiskněte Ctrl+Enter
PODÍL: