Konfiguracja sprzętu i oprogramowania

1c zezwalaj na okna modalne w zarządzanej aplikacji. Dlaczego pojawia się błąd „Używanie okien modalnych w tym trybie jest zabronione”? Odrzucenie modalności

Pomoc dotycząca składni dla tych poleceń stwierdza, że ​​jeśli właściwość konfiguracji TrybUżyjModalność zainstalowany w Nie używaj, w kodzie programu należy użyć innych poleceń, takich jak PokażPytanie(), Pokaż ostrzeżenie(), ShowInputNumbers():

Aby pracować z tymi sytuacjami, program 1C 8.3 udostępnia nowy obiekt systemowy „Opis powiadomienia”, który służy do opisywania wywołania procedury modułu programu, gdy wystąpi oczekiwane zdarzenie, takie jak zamknięcie formularza lub niemodalnego okna dialogowego:

To spojrzenie na problem „od środka” dla tych, którzy chcą uporać się z pierwotną przyczyną. Przede wszystkim dla programistów 1C. Jak w tej sytuacji? zwykli użytkownicy napraw błąd bez ćwiczenia kod programu? Jest bardzo prosta metoda.

Instrukcje naprawy błędu dla zwykłych użytkowników

Krok 1. Zakończ pracę:

Krok 2. Wracamy do menu startowego, aby rozpocząć konfigurację. Wybierz punkt menu „Konfiguracja”:

Krok 3. Otwórz „Konfigurator”: wł Górny panel znajdź przycisk „Konfiguracja”, a na proponowanej liście wybierz menu „Otwórz konfigurację”:

Krok 4. Umieść kursor na Konfiguracja i kliknij prawym przyciskiem myszy, aby zadzwonić menu kontekstowe, w której wybieramy pozycję „Właściwości”:

Krok 5. Otwórz formularz „Właściwości”:

Krok 6. Znajdź wiersz „Modalność z wykorzystaniem modalności” (na dole listy):

Domyślnie program 1C 8.3 jest ustawiony na „Nie używaj”. Tłumaczymy wartość „Nie używaj” na wartość „Użyj”:

Wynik:

Jeśli błąd „Używanie okna modalne v ten tryb zabronione” w 1C 8.3 zniknęło, możesz dalej pracować. Zwykle tak się dzieje.

Ale jeśli błąd modalności w 1C utrzymuje się po wykonaniu wszystkich tych kroków, powinieneś skontaktować się z programistami, którzy utrzymują i wspierają twój program 1C.

Jak pracować w interfejsie „Taxi”, jak dostosować miejsce pracy „dla siebie”, ustawić pasek nawigacji Ulubione, jak przeprowadzić wyszukiwanie pełnotekstowe, techniki pracy z czasopismami, przycisk „wybierz” w dokumentach, przenoszenie linki do dokumentów, weryfikacji i innych funkcji w nowym interfejsie - wszystko to znajdziesz w naszym filmie:

Bardziej szczegółowo o tym, jak poprawnie i szybko zorganizować nawigację po programie 1C 8.3 za pomocą nowy interfejs TAXI, o nowych możliwościach w korzystaniu ze znanych narzędzi, takich jak wbudowany kalkulator, kalendarz, porównywanie plików, przekazywanie współpracownikom linków do dokumentów, rozważane są w naszym kursie „”


Oceń ten artykuł:

W platformie 1C w wersji 8.3 pojawił się nowy tryb działania programu - bez użycia modalności. Dokładniej, pojawiły się 2 nowe tryby: bez użycia modalności i z użyciem modalności, ale z ostrzeżeniem. A stary tryb działania jest wskazywany jako użycie modalności.

Co to wszystko znaczy? V wczesne wersje platformy, używaliśmy różnych okien modalnych i tak naprawdę nie myśleliśmy o tym. Na przykład musisz wyświetlić ostrzeżenie dla użytkownika lub zadać pytanie lub wprowadzić jakąś wartość lub wybrać plik. To są wszystkie okna modalne.

Co oznacza modalny? Oznacza to, że gdy to okno jest wywołane, nakłada się na wszystkie inne okna, to znaczy jest wyświetlane na samej górze i bloki działają z innymi oknami, dopóki praca z tym oknem nie zostanie zakończona. Oprócz blokowania okien, wykonanie kodu zatrzymuje się dokładnie w miejscu wywołania tego okna, a wykonanie kodu jest kontynuowane dopiero po zamknięciu takiego okna. Od miejsca, w którym zatrzymano egzekucję. Wywołanie okna modalnego zilustruję na przykładzie wywołania formularza wyboru okresu:

&Na kliencie

Przetwarzanie standardowe = Fałsz;




Jeśli Dialog.Edit() Następnie //Wywołaj formularz modalny. Wykonanie kodu będzie kontynuowane dopiero po zamknięciu formularza.
Elements.Services.CurrentData.StartDate = Dialog.Period.StartDate;
Elements.Services.CurrentData.EndDate = Dialog.Period.EndDate;
EndIf;

Koniec procedury


Jak widać, do przetworzenia wywołania okna wyboru okresu modalnego wystarczy jedna procedura.

Dlaczego modalności są złe? Teraz zastanówmy się, dlaczego 1C zdecydował się przestać używać okien modalnych. Przede wszystkim wynika to z faktu, że platforma 1C może być używana nie tylko w zwykłej formie - jako aplikacja komputerowa, ale może być również uruchamiana w przeglądarce i może być uruchamiana jako aplikacja mobilna.

Problem dotyczy przeglądarek. Modalność okien w nich jest realizowana za pomocą wyskakujących okienek poszczególnych przeglądarek. Obsługiwane są przez prawie wszystkie przeglądarki, ale ze względu na częste wykorzystywanie takich okien do reklam, prawie wszyscy twórcy przeglądarek zmagają się z nimi i domyślnie wyłączają możliwość korzystania z takich okien. W rezultacie, aby zapewnić użytkownikowi 1s możliwość pracy w przeglądarce, trzeba wymusić na nim zezwolenie na te okna, poświęcić się wszelkim zawiłościom 1s i przeglądarek i generalnie przeciążać niepotrzebnymi informacjami.

Oddzielny niuans z przeglądarkami dla komputery typu tablet i przeglądarki na telefony. W większości przypadków te przeglądarki nie obsługują wyskakujących okienek. Interfejsy (monitory i urządzenia wejściowe) takich wyskakujących urządzeń nie są kompatybilne.

I w końcu mobilna aplikacja 1C nie jest również całkiem przyjazny dla okien modalnych.

Stąd wniosek: nie używaj okien modalnych. A czego użyć zamiast nich? Zamiast tego musisz używać tych samych okien, ale bez trybu modalności. W nowej platformie 1C opracował również taki tryb dla każdego okna. Jest zaimplementowany jako osobna metoda dla każdego okna dialogowego. Ten tryb pozwala na wywołanie okna, ale nie zatrzymuje wykonywania kodu programu. Technicznie rzecz biorąc, w przeglądarkach jest to zaimplementowane jako pseudookno, które pojawia się w oknie nadrzędnym, ale nakłada się na nie. Fakt, że kod jest nadal wykonywany po otwarciu okna, oznacza, że ​​nie będzie można uzyskać wybranych w nim wartości zaraz po kodzie wywołania okna. Nie zostali jeszcze wybrani. Dlatego odbiór i przetwarzanie tych wartości odbywa się w osobnej procedurze, która jest wywoływana przy zamykaniu takiego okna, a ta procedura jest określona przy wywołaniu metody otwierania okna. Spójrzmy na przykład tego samego okna wyboru okresu.

&Na kliencie
Procedura serwisowaStartDateSelectionStart(Item, ChoiceData, Standard Processing)

Przetwarzanie standardowe = Fałsz;

Okno dialogowe = Nowy DialogEditStandardPeriod();
OkresStandardowy = Nowy OkresStandardowy();

DataRozpoczęcia = Pozycje.Usługi.CurrentData.DataRozpoczęcia;
Data Końcowa = Items.Services.CurrentData.EndDate;

StandardPeriod.StartDate = StartDate;
OkresStandardowy.DataZakończenia = DataZakończenia;
Dialog.Okres = StandardowyOkres;

AlertDescription = New AlertDescription("ProcessingPeriodSelect",ThisForm);

Dialog.Show (Opis Alerty)

Koniec procedury

&Na kliencie
Procedura ProcessingPeriodSelect(Period,Parameters) Export

Jeśli okres<>Niezdefiniowane wtedy

Items.Services.CurrentData.StartDate = Okres.DataRozpoczęcia;
Items.Services.CurrentData.EndDate = Okres.Data zakończenia;

EndIf;

Koniec procedury


Jak widzimy, Show() jest wywoływane zamiast Edit(). I obsługa zdarzenia wyboru już w innej procedurze.

Więc wymyśliliśmy, jak obejść się bez modalności. Teraz zastanówmy się, dlaczego potrzebujemy trybu korzystania z modalności z ostrzeżeniem. W rzeczywistości jest to taki tryb przejściowy. Kiedy nie udało Ci się jeszcze przerobić całej konfiguracji na tryb bez użycia modalności, ale już do tego dążysz. I za każdym razem, gdy wywołasz okno modalne, program wyświetli ostrzeżenie, że w tym trybie wywoływanie okien modalnych jest niepożądane.

Cóż, porzucamy modalność i opanowujemy nowe technologie do pracy 1C w przeglądarkach i komputerach mobilnych.

Okna dialogowe, do którego jesteśmy przyzwyczajeni podczas pracy z różnymi systemami, a w szczególności w 1C, może pojawić się podczas wykonywania różnych czynności, wymagać od użytkownika wprowadzenia dowolnych danych, na przykład określonej wartości, wybrania pliku, odpowiedzi na pytanie, lub po prostu wydaj ostrzeżenie. Nazywa się je również modalne.

Bez odpowiedzi na żądanie takiego okna nie można kontynuować pracy w programie. Okno blokuje interfejs, blokuje pracę innych okien, a jednocześnie wykonanie kodów programu zatrzyma się również w miejscu, w którym wywołano okno dialogowe - program czeka na zakończenie akcji z nim.

Okna dialogowe zwykle nie powodują problemów w trybie uruchamiania cienkiego i grubego klienta, ale problemy mogą wystąpić podczas pracy z klientem sieciowym. Wynika to z faktu, że to samo elementy systemu w Internecie są wykorzystywane jako nośniki reklam, a użytkownicy często wyłączają ich wyświetlanie w ustawieniach przeglądarki. W związku z tym ich praca jest również blokowana w programie działającym przez przeglądarkę internetową. Dlatego praca z 1C przez klienta internetowego lub na platforma mobilna, nie możemy zapomnieć o wykonaniu dodatkowe ustawienie przeglądarka i pamiętaj o tym przeglądarka mobilna w ogóle nie obsługuje wyskakujących wiadomości.

Jak naprawić błąd w 1C: „Używanie okien modalnych w tym trybie jest zabronione”

Taki błąd zaczął pojawiać się po przejściu 1C na nowy interfejs platformy 1C 8.3 - Taxi. Wynika to z faktu, że twórcy uwzględnili pracę z systemem Windows, ale bez trybu modalności.

Rys.1

Otwórzmy baza informacji w trybie "Konfigurator" i zobacz właściwości naszej konfiguracji klikając kliknij prawym przyciskiem myszy myszką i wybierz "Właściwości". Przewijając w dół linię poniżej, widzimy sekcję „Zgodność”, w której znajduje się interesujący nas parametr trybu i wymienione są opcje - „Użyj / Używaj z ostrzeżeniem / Nie używaj”.



Rys.2

Następnie musisz zapisać i zaktualizować zmiany w konfiguracji. Błąd, o którym mówimy, pojawia się, gdy jest pole wyboru, aby nie używać trybu modalności. Ta funkcja jest dostępna od platformy 8.3.3.721, wydanej we wrześniu 2013 r. Oznacza to, że użytkownicy pracujący na starszych wersjach platformy nie muszą rezygnować z tej modalności. W innych wersjach, aby okno błędu się nie pojawiło, możesz po prostu ustawić je na „Użyj”.

W naszym przykładzie ustawiona jest opcja ostrzeżenia. Oczywiście w przyszłości programiści sfinalizują konfigurację, aby korzystać z innych funkcji z pominięciem okien modalnych. Ale dzisiaj tryb z naszego przykładu jest używany tylko przez programistę podczas przejścia, kiedy nie cała konfiguracja została jeszcze przerobiona na tryb niemodalny. Dlatego program będzie również wydawał komunikaty o zakazie korzystania z okien o charakterystyce modalnej.



Rys.3

Aplikacje używane przez klienta WWW, na iPadzie, w chmurze, na przykład na „1cfresh.com”, nie korzystają z tego trybu. Wszystkie nowe konfiguracje wykorzystują modalny tryb interfejsu.

Odrzucenie modalności

Twórcy programu 1C, wspierający światowe trendy, starają się zbliżyć interfejs programu do próbek internetowych i doprowadzić go do jednego standardu, dając w ten sposób użytkownikom możliwość pracy w tym samym oknie ze zwykłym „zewnętrznym”.

Dlatego (i w celu usunięcia opisanych powyżej problemów) zdecydowano się wyeliminować wyskakujące okna dialogowe bez ograniczania funkcjonalności rozwiązań. Jednocześnie komunikaty w nowym trybie działania programu pojawiają się w oknie nadrzędnym, a nie jak dotychczas w oknie modalnym. Chociaż nadal blokuje cały interfejs.

Oznacza to, że innowacja oszczędza nam potrzeby dodatkowych ustawień przeglądarki, stabilizuje klienta internetowego i poprawia jego wydajność. Ponadto, ponieważ nie ma teraz potrzeby otwierania wyskakujących okienek, dowolna konfiguracja z tymi zmianami może być używana na dowolnym urządzeniu.

Jeśli w trakcie wykonywania lekcji masz taki błąd, bardzo łatwo go naprawić.

Wróć do konfiguratora i wybierz punkt menu "Konfiguracja" -> "Otwórz konfigurację":

W oknie, które się otworzy, kliknij prawym przyciskiem myszy element „Konfiguracja” i wybierz element „Właściwości” z menu rozwijanego:

Otworzy się okno z właściwościami konfiguracji (po prawej):

Przewiń na sam dół i znajdź tam pozycję „Tryb korzystania z modalności”:

Ustaw jego wartość na "Posługiwać się":

Uwaga! Pamiętaj, że jeśli używasz platformy 1C innej niż ta, którą pobraliśmy w pierwszej lekcji (późniejsza wersja), pojawi się również pole „Tryb korzystania z połączeń synchronicznych…”. Musi być również ustawiony na „Użyj”.

Na koniec wybierz pozycję menu „Konfiguracja” -> „Zapisz konfigurację”:

Gotowe! Teraz błąd już się nie pojawi.

Wyjaśnienia poniżej - dla tych, którzy są zainteresowani tym, co zrobiliśmy.

W naszej konfiguracji włączyliśmy tryb modalności. Domyślnie ten tryb jest wyłączony i nie pozwala na używanie poleceń takich jak EnterNumber, EnterString, EnterDate, OpenValue.

Faktem jest, że te polecenia są modalne. Ich wezwanie prowadzi do tego, że przed użytkownikiem pojawia się okno (na przykład do wprowadzania informacji), co blokuje możliwość pracy z programem do czasu zamknięcia okna.

A ponieważ obecność takich okien jest wysoce niepożądana podczas pracy z 1C za pośrednictwem przeglądarki internetowej, podczas opracowywania nowych konfiguracji tryb modalności jest domyślnie wyłączony.

Możemy to śmiało zawrzeć, ponieważ piszemy przykłady szkoleń, które nie są przeznaczone do pracy w Internecie.

15
Następujące przełączniki służą do wymuszenia uruchomienia przedsiębiorstwa w aplikacji zwykłej lub zarządzanej: /RunModeOrdinaryApplication uruchamia grubego klienta w trybie normalnym, niezależnie od ustawień konfiguracyjnych i użytkownika, w imieniu którego 3
Konieczne jest, aby użytkownicy nie mogli zmieniać skonfigurowanego dla nich interfejsu! Rozwiązanie: Aby go wyłączyć, musisz usunąć prawo „Zapisz dane użytkownika” z głównego elementu konfiguracji w prawach dostępu. Ustawienia panelu i pozycja menu zostaną wyłączone. 2
W bieżącej pracy użytkownik zwykle otwiera kilka obiektów. Może to być dokument, informator, raport itp. W poprzednim interfejsie nie było problemów z szybkim odnalezieniem otwartego obiektu i aktualizacją go do dalszej pracy za pomocą okien lub 2
W ostatnim artykule: Instalowanie klasyfikatora adresów (KLADR) w 1C, powiedziałem ci, czym jest Kladr i jak załadować go do 1C za pomocą zwykłych formularzy (8.0-8.2). W tym artykule wyjaśnię, jak załadować klasyfikator adresów (KLADR) w zarządzanym interfejsie i 2
Często przy opracowywaniu określonej konfiguracji użytkownicy chcą dołączyć zdjęcia do elementu katalogu i przechowywać je w bazie danych. W tym artykule opowiem Ci, jak połączyć magazyn zdjęć w formie książki referencyjnej z książką referencyjną obiektów budowlanych.

Podobał Ci się artykuł? Podziel się z przyjaciółmi!
Czy ten artykuł był pomocny?
tak
Nie
Dziekuję za odpowiedź!
Coś poszło nie tak i Twój głos nie został policzony.
Dziękuję Ci. Twoja wiadomość została wysłana
Znalazłeś błąd w tekście?
Wybierz, kliknij Ctrl+Enter a my to naprawimy!