1c przetwarzanie zewnętrzne otwiera drugi formularz.

Aby pracować z przetwarzaniem zewnętrznym (a zewnętrzna forma drukowa jest również przetwarzaniem zewnętrznym), istnieje obiekt Przetwarzanie zewnętrzne.

Rozważmy dwa możliwe przypadki:

Przetwarzanie zewnętrzne jest przechowywane na dysku oddzielnie od bazy danych

Aby programowo otworzyć przetwarzanie zewnętrzne w 1C, musisz znać adres jego pliku. Wiedząc o tym, możesz albo otworzyć formularz przetwarzania, albo pobrać obiekt przetwarzający, aby przeprowadzić z nim dalsze akcje (na przykład wywołać funkcje eksportu z modułu obiektowego).

Otwarcie formularza przetwarzania zewnętrznego

Aby programowo otworzyć zewnętrzny formularz przetwarzania w 1C, użyj funkcji PobierzFormularz() obiekt Przetwarzanie zewnętrzne. Funkcja ma kilka parametrów. Rozważ proste otwarcie głównego formularza przetwarzania:


Formularz = Procesy Zewnętrzne. GetForm(Adres pliku) ;
Formularz. Otwarty();

Aby otworzyć pomocniczy formularz przetwarzania zewnętrznego, należy podać jego nazwę.

//Zmienna FileAddress zawiera pełną ścieżkę do zewnętrznego pliku przetwarzania
Formularz = Procesy Zewnętrzne. GetForm(adres pliku, „Drobna forma”) ;
Formularz. Otwarty();

Otwarcie przetwarzania zewnętrznego jako obiektu

Aby otrzymać przetwarzanie zewnętrzne jako obiekt, używana jest funkcja Tworzyć() obiekt Przetwarzanie zewnętrzne.

//Zmienna FileAddress zawiera pełną ścieżkę do zewnętrznego pliku przetwarzania
ProcessingObject = Przetwarzanie zewnętrzne. Utwórz(Adres Pliku) ;

Domyślnie całe przetwarzanie jest otwierane w trybie awaryjnym. Aby go wyłączyć, użyj następujących opcji:

//Zmienna FileAddress zawiera pełną ścieżkę do zewnętrznego pliku przetwarzania

Zewnętrzne przetwarzanie lub drukowanie formularza zapisanego w bazie danych

W wielu konfiguracjach możliwe jest zapisywanie druków zewnętrznych i obróbka bezpośrednio w bazie danych. Wykorzystuje się do tego podręcznik. Przetwarzanie zewnętrzne. Samo przetwarzanie zewnętrzne jest przechowywane jako dane binarne lub w atrybutach Przechowywanie Zewnętrzne Przetwarzanie lub w części tabelarycznej Przynależność w rekwizytach Przechowywanie Zewnętrzne Przetwarzanie.

Aby otworzyć przetwarzanie zewnętrzne, potrzebujesz:

  1. Pobierz go z magazynu.
  2. Zapisz przetworzony plik na dysku.
  3. Otwórz formularz lub pobierz obiekt przetwarzania.
  4. Jeśli mamy do czynienia z zewnętrznym formularzem drukowanym, wówczas możemy uzupełnić standardowe dane Odniesienie do obiektu i wywołaj funkcję eksportu Foka.

//Zmienna RefLink zawiera łącze do elementu katalogu OutsideProcessings
DvData = RefLink. Zewnętrzna pamięć masowa do przetwarzania. Dostawać() ;
Adres pliku = GetTemporaryFileName() ;
Dane Dv. Write(Adres Pliku) ;
ProcessingObject = Przetwarzanie zewnętrzne. Utwórz(AdresPliku, Fałsz) ;

W tym artykule rozważymy instrukcje krok po kroku dotyczące tworzenia przetwarzania zewnętrznego w 1C 8.3 w trybie aplikacji zarządzanej, dlatego będziemy korzystać z zarządzanych formularzy. A co najważniejsze, dowiemy się, jak podłączyć go do mechanizmu „zewnętrznego przetwarzania” konfiguracji 1C zbudowanego na bibliotece standardowych podsystemów w wersji 2.0 i nowszych.

Zadanie będzie polegało na stworzeniu najprostszego przetwarzania zewnętrznego, które wykona akcję grupową na katalogu „Pozycja”, czyli ustawi wybraną stawkę procentową VAT dla określonej grupy towarów.

Aby to zrobić, natychmiast dokonamy niezbędnych ustawień w programie (rozważamy konfigurację 1C 8.3: „Enterprise Accounting 3.0” na zarządzanych formularzach).

Zaznaczenie tego pola daje nam możliwość skorzystania z przetwarzania zewnętrznego.

Tworzenie nowego przetwarzania zewnętrznego w 1C 8.3 na przykładzie

Przejdźmy teraz do konfiguratora. W menu „Plik” wybierz „Nowy…”. Otworzy się okno wyboru typu pliku, który ma zostać utworzony. Wybierz „Przetwarzanie zewnętrzne”:

Otworzy się nowe okno przetwarzania zewnętrznego. Nadajmy jej od razu imię. Zostanie wyświetlony podczas zapisywania przetwarzania na dysku:

Dodajmy nowy formularz kontrolowanego przetwarzania. Wskazujemy, że jest to forma przetwarzania i jest ona główna:

W formularzu będziemy mieli dwa szczegóły:

  • Grupa Nomenklatura – link do katalogu „Nomenklatura”;
  • WybierzVATRate – link do przeniesienia stawki VAT.

Szczegóły tworzymy w kolumnie „Właściwości” w prawym górnym oknie. Przeciągnij je myszką do lewego górnego okna. Nowe dane powinny od razu pojawić się w formularzu poniżej.

Kolejność szczegółów można zmienić za pomocą strzałek „W górę” – „W dół”:

Uzyskaj 267 lekcji wideo na 1C za darmo:

Pozostaje tylko dodać przycisk „Zainstaluj”. W formularzach zarządzanych nie można po prostu dodać przycisku do formularza. Nawet jeśli dodasz go do struktury elementów formularza, nie będzie on widoczny na samym formularzu. Przycisk musi być powiązany z poleceniem, które będzie wykonywał. Przejdź do zakładki „Komendy” i dodaj polecenie „Ustaw stawkę VAT”. We właściwościach polecenia utwórz akcję. Wybierz moduł obsługi poleceń „Na kliencie”. Polecenie można także dodać do formularza, po prostu przeciągając je do sekcji zawierającej elementy formularza.

W module formularza zostanie utworzona procedura o tej samej nazwie. W nim wywołamy procedurę na serwerze:

&Na kliencie

Procedura Ustaw stawkę VAT (polecenie)

UstawVATRateOnServer();

Koniec procedury

W procedurze na serwerze napiszemy małe zapytanie i działania związane z ustaleniem stawki VAT:

&Na serwerze

Procedura SetVATRateOnServer()

Żądanie = Nowe żądanie;
Żądanie.Tekst =
"WYBIERAĆ
| Nomenklatura.Link
|OD
| Katalog.Nomenklatura AS Nomenklatura
|GDZIE
| Nomenklatura.Link W HIERARCHII (&Grupa Nomenklatury)
| A NIE Nomenklatura.ZaznaczSkreślenie
| A NIE Nomenklatura. To jest grupa”;

Request.SetParameter("Grupa artykułów", Grupa artykułów);
ResRequest = Request.Execute();
SelectRecordDet = ResRequest.Select();

Podczas gdy pętla SelectRecordDet.Next()

Próba
SprNomObject.Write();
Wyjątek
Report("Błąd zapisu obiektu """ + SprNomObject + """!
|» + OpisBłąd());
Zakończ próbę;

Koniec cyklu;

Koniec procedury

Wracamy do zakładki „Formularz”, dodajemy przycisk do formularza i kojarzymy go z poleceniem:

Dzięki temu nasze przetwarzanie jest gotowe do użycia. Aby to wywołać, w trybie „1C Enterprise” musisz przejść do menu „Plik” - „Otwórz” i wybrać utworzony plik.

Jednak praca w tym trybie jest wygodna do debugowania przetwarzania, ale nie jest całkowicie odpowiednia dla użytkownika. Użytkownicy są przyzwyczajeni do tego, że wszystko mają „na wyciągnięcie ręki”, czyli w samej bazie danych.

Temu właśnie służy sekcja „Dodatkowe raporty i przetwarzanie”.

Aby jednak dodać tam nasze przetwarzanie, musimy najpierw nadać mu opis i poinformować program o jego właściwościach.

Opis funkcji „Informacje o przetwarzaniu zewnętrznym”

Podam przykład zawartości tej funkcji. Musi nadawać się do eksportu i odpowiednio znajdować się w module przetwarzającym:

Eksport informacji o funkcjiOnExternalProcessing().

DataForReg = Nowa struktura();
DataForReg.Insert("Nazwa", "Ustawienie stawki VAT");
DataForReg.Insert("Tryb awaryjny", Prawda);
DataForReg.Insert("Wersja", "wersja: 1.001");
DataForReg.Insert("Informacja", "Przetwarzanie w celu ustalenia stawki VAT w katalogu Nomenklatury");
DataForReg.Insert("Widok", "Dodatkowe przetwarzanie");

CommandTable = NowaTabelaWartości;
TabZnCommands.Columns.Add("Identyfikator");
TabZnCommands.Columns.Add("Użycie");
TabZnCommands.Columns.Add("Widok");

NowyRow = TabZnCommands.Add();
NewString.Identifier = "Przetwarzanie otwarte";
NewRow.Use = "OpenForm";
NewRow.View = "Przetwarzanie otwarte";
DataForReg.Insert("Polecenia", TabZnCommands);

Zwróć DataForReg;

Funkcja końcowa

Aby lepiej zrozumieć, które pola struktury danych rejestracyjnych należy wykorzystać, przyjrzyjmy się szczegółom katalogu „Dodatkowe raporty i przetwarzanie”:

Jak widać, wszystko jest dość proste. Tylko jeden atrybut nie pasuje: „Opcja uruchomienia” – „Użyj”. Jeśli spojrzymy na kod jednego ze wspólnych modułów, zobaczymy, jak powstaje kilka takich pól:

Aby określić, które pola struktury są wymagane, możesz najpierw jej nie opisywać, po prostu utwórz puste, a następnie użyj debugera. Jeśli prześledzisz moduły podczas rejestrowania przetwarzania, od razu stanie się jasne, które pola są wymagane, a które nie.

Podłączanie przetwarzania zewnętrznego w 1C 8.3

Powiązane publikacje