1c 7.7 Instrukcja krok po kroku dotycząca zewnętrznego formularza drukarskiego. Podłączanie do zewnętrznego programu raportującego przy użyciu specjalnego przetwarzania
Jak samodzielnie podłączyć zewnętrzne raporty i zewnętrzne formularze wydruku do konfiguracji w 1C:Enterprise 7.7
Kopiowanie raportu zewnętrznego do katalogu infobase.
Plik raport zewnętrzny ma rozszerzenie „ert”. To jest bezpośredni raport zewnętrzny. Zwykle do zewnętrznego pliku raportu dołączony jest plik opisu z rozszerzeniem „efd”. Plik ten jest niezbędny, aby program od razu „znalazł” raport i nie wymagał ręcznego łączenia. Na przykład, jeśli zewnętrzny plik raportu nosi nazwę „Application Log.ert”, wówczas plik opisu będzie nosił nazwę „Application Log.efd”. Te dwa pliki (lub jeden, jeśli nie ma pliku z rozszerzeniem efd) należy skopiować do roboczego katalogu bazowego. Aby to zrobić, musisz najpierw znaleźć działający katalog bazowy. Następnie musisz znaleźć katalog „ExtForms” w katalogu bazy roboczej.
Jeśli kopiujesz zewnętrzny formularz do druku, musisz znaleźć katalog „PrnForms” w katalogu „ExtForms”. Skopiuj oba pliki do znalezionego katalogu (ExtForms dla raportów zewnętrznych i PrnForms dla zewnętrznych plików do druku).
Podłączanie do zewnętrznego programu raportującego przy użyciu specjalnego przetwarzania.
Aby połączyć się z zewnętrzną bazą raportów należy otworzyć raport " Dodatkowe funkcje" przechodząc do menu "Narzędzia" - "Funkcje dodatkowe".
Jeżeli poprawnie skopiowałeś raport zewnętrzny i plik efd, Twój raport zewnętrzny pojawi się na liście raportów zewnętrznych.
Jeśli plik konfiguracyjny efd nie zostanie skopiowany, musisz wykonać następujące czynności:
Naciśnij przycisk „Zmień” i wybierz z menu opcję „Dodaj do listy”.
Z listy rozwijanej wybierz żądany plik raportu zewnętrznego (który został skopiowany do katalogu ExtForms). Jeżeli żądanego pliku nie ma na liście, może to wynikać z dwóch powodów: 1) Plik został skopiowany do niewłaściwego folderu, czyli należy jeszcze raz dokładnie sprawdzić, czy kopia była prawidłowa zgodnie z rozdziałem „Kopiowanie raportu zewnętrznego do katalogu baza informacyjna." 2) Plik został poprawnie skopiowany i znajduje się już na liście raportów zewnętrznych. W takim wypadku należy dokładnie przejrzeć listę raportów zewnętrznych i odnaleźć nowo dodany raport.
Po wybraniu pliku otworzy się okno, w którym należy podać nazwę raportu zewnętrznego. Wprowadź dowolną nazwę. Naciśnij przycisk „OK”.
Następnie Twój plik zewnętrzny pojawi się na liście plików zewnętrznych.
Podłączenie do programu zewnętrznego (dodatkowego) formularza drukującego.
Aby podłączyć zewnętrzną formę drukową należy z menu wybrać „Serwis” – „Rejestracja zewnętrznych form drukowych”.
Następnie wybierz dla jakiego dokumentu lub dla jakiego elementu lub listy katalogu chcesz podłączyć zewnętrzny wydruk. Przykładowo podłączmy zewnętrzny wydruk dla dokumentu "Wysyłka towaru, produktów". Aby to zrobić, należy w grupie „Zewnętrzne formularze drukowe dla” przejść do pozycji „Dokument”. Następnie z menu wybierz opcję „Wysyłka towaru, produktów”.
Podłączone zewnętrzne formy drukowe powinny pojawić się w tabeli. Jeśli tabela ma taką formę, jakiej potrzebujesz, to została połączona automatycznie.
Jeżeli w tabeli nie ma wymaganego formularza, wykonaj następujące czynności: Kliknij w przycisk „Zmień…” i z rozwijanego menu wybierz „Dodaj do listy”.
Z listy, która się otworzy, wybierz formularz, który skopiowałeś do katalogu PrnForms.
Jeżeli formularza nie ma na liście oznacza to, że błędnie skopiowałeś formularz do katalogu.Przeczytaj jeszcze raz uważnie rozdział "Kopiowanie raportu zewnętrznego do katalogu infobase".
Aby sprawdzić wydajność nowego zewnętrznego wydruku, należy otworzyć dokument, listę lub element katalogu, do którego podłączyłeś formularz i kliknąć przycisk z małym trójkątem obok przycisku „Drukuj”.
Z listy rozwijanej wybierz nowy plik do wydrukowania.
W dokumentach, dla których przewidziano drukowanie dowolnych formularzy drukowanych, po lewej stronie przycisku Foka jest przycisk listy.
Po kliknięciu tego przycisku użytkownik otrzymuje do wyboru listę formularzy do wydrukowania. Pierwszy formularz na liście jest formularzem standardowym, pozostałe formularze są rejestrowane jako zewnętrzne.
Leczenie Rejestracja zewnętrznych formularzy drukarskich przeznaczony do podłączenia nowych zewnętrznych form drukujących. Połączone formularze są dostępne na liście formularzy do wydrukowania w dokumencie.
Okno dialogowe przetwarzania zawiera tabelę z listą zewnętrznych formularzy drukowych. Do każdego rodzaju dokumentu, zestawienia lub elementu referencyjnego można przypisać dowolną liczbę zewnętrznych formularzy drukowych.
W grupie Zewnętrzne płyty drukarskie do określony jest dokument lub katalog, dla którego podłączony jest formularz druku. W grupie znajdują się trzy przełączniki:
- dokument- plik do druku pojawi się na liście drukowania okna dialogowego wybranego poniżej dokumentu;
- Lista katalogów- wydrukowany formularz pojawi się na liście wydruków wybranego poniżej katalogu;
- Element katalogu- wydrukowany formularz pojawi się na liście wydruku okna dialogowego wybranego poniżej elementu skoroszytu.
Wszystkie zewnętrzne formularze drukarskie przechowywane są w podkatalogu PrnForms katalog EKSTRFORMY. Po rozpoczęciu przetwarzania program wczytuje zewnętrzne formularze zapisane w tym katalogu. Każdy wiersz tabeli zawiera tekstową nazwę pliku zewnętrznego, nazwę pliku oraz nazwę przycisku, który będzie przypisany w dokumencie (podręczniku) do wywołania wydruku.
Poniżej listy znajdują się przyciski umożliwiające pracę z plikami zewnętrznymi.
Przycisk otwarty otwiera wybrany plik zewnętrzny. To otwiera przetwarzanie Foka, w którym chcesz określić konkretny dokument (lub katalog), który chcesz wydrukować za pomocą zewnętrznego formularza.
Kliknięcie przycisku Odświeżać ponownie zapełnia listę zewnętrznych formularzy drukarskich. Przycisku należy użyć po zapisaniu w podkatalogu nowych zewnętrznych formularzy drukowych PrnForms.
Przycisk Zmiana służy do pracy z listą plików zewnętrznych. Po naciśnięciu przycisku Zmiana obok otwiera menu składające się z czterech pozycji:
- Zmień nazwę;
- Zmień przycisk;
- Dodaj do listy;
- Usunąć z listy.
Przy wyborze przedmiotu Zmień nazwę nazwa tekstowa zewnętrznego pliku zostanie wyświetlona do edycji w osobnym oknie dialogowym.
Po edycji na liście zamiast poprzedniej pojawi się nowa nazwa pliku zewnętrznego.
Przy wyborze przedmiotu Zmień przycisk tytuł tekstowy przycisku zostanie udostępniony do edycji w tym samym oknie dialogowym. Po edycji na liście pojawi się także nowa nazwa przycisku.
Ustęp Dodaj do listy umożliwia dodanie do listy nowego formularza zewnętrznego. Wybranie tej pozycji spowoduje otwarcie listy plików formy zewnętrzne znajduje się w podkatalogu PrnForms katalog EKSTRFORMY. Informacje o nazwie pliku i nazwie przycisku są przechowywane w plik tekstowy z przedłużeniem efd. Tytuły te są automatycznie uwzględniane na liście. W razie potrzeby możesz je zmienić.
Ustęp Usunąć z listy po dodatkowym żądaniu usuwa z listy linię z opisem pliku zewnętrznego. Sam plik nie jest usuwany, więc można go później dodać do listy.
Kwestia konieczności drukowania dużej liczby dokumentów w 1C była poruszana nie raz, a w sieci można znaleźć znaczną liczbę zabiegów poświęconych rozwiązaniu tego problemu. To pytanie pojawiło się nie tak dawno temu i przede mną w następującym stwierdzeniu: „Potrzebuję przetwarzania, które pozwoli mi wydrukować dużo faktur, drukowany formularz to „TORG-12 (formularz 2011)” (posiadamy taki zewnętrzny formularz do druku - przyp. autora) ”.
Bez zbędnych ceregieli biorę za podstawę tę bardzo zewnętrzną formę do druku, zawieszam w oknie dialogowym wszelkiego rodzaju ozdoby, aby wybrać faktury, poprawiam kod i voila - wszystko gotowe! Dalej - więcej: „I też muszę te faktury wydrukować zbiorczo, ale w formie drukowanej „TORG-12 (Prom)” (mamy też taki druk zewnętrzny - przyp. autora). Tutaj już trzeba było zrobić coś bardziej uniwersalnego na wypadek, gdyby za jakiś czas znów potrzebne były albo nowe dokumenty, albo nowe formy drukowe.
Znalazłem kolejne wyjście: zajęcia! Istota: każdą zewnętrzną formę drukową opakowujemy w klasę i wywołujemy ją z przetwarzania masowego druku dokumentów. Ulepszenia zewnętrznej płyty drukarskiej dla zajęć są dość niewielkie i zajmują mniej czasu niż ich opis w tym artykule. Należy poprawić:
- - deklarujemy zmienną eksportu „Dokument” i procedurę „Print()”;
- - zdecydowanie usuń procedurę „Przy otwieraniu ()”;
- - kopiujemy tabelę źródłową z przetwarzania do pliku „.mxl” (ponieważ klasa nie zobaczy jej w trakcie przetwarzania, po to jest ta klasa) i odpowiednio zastępujemy wyrażenie typu „Table.SourceTable(„Tabela ”);” do wyrażenia takiego jak „Table.OriginalTable(hlCatalogPrintForm + „Trading12.mxl”);”;
- - aby otrzymać jedną prześcieradło z wieloma dokumentami, a nie kilka prześcieradeł dla jednego dokumentu, usuń deklarację w stylu "Table = CreateObject("Table");" oraz „Table.OriginalTable(hlCatalogPechForm + „Trading12.mxl”);” z procedury „Print()” i wstaw go do modułu przetwarzającego (dodaj na końcu modułu). W związku z tym deklarujemy zmienną „Tabela” jako zmienną modułu;
- - usuwamy także wyrażenie typu "Table.Show()" z procedury "Print()", zamiast tego dodajemy procedurę eksportu "Show()" z pojedynczą linią: "Table.Show();". Metoda ta zostanie wywołana po pętli metodą „Print()”;
- - w celu wydrukowania nowego dokumentu Nowa strona na końcu procedury „Print()” dodaj wiersz typu „Table.NewPage()”;
- - sprawdź moduł pod kątem obecności linii typu "Table.RepeatWhenPrintingLines();". W przeciwnym razie będzie niespodzianka!
- - cóż, oczywiście, zapewnij załadunek komponent zewnętrzny 1ср.dll (jeśli jeszcze go nie masz) i opisz klasy w pliku defcls.prm.
W rezultacie mamy:
- Obróbka jest uniwersalna – można ją zrealizować w dowolnej konfiguracji.
- Korzystając z przykładu podanego w tym przetwarzaniu, możesz wydrukować dowolny dokument w dowolnej formie druku wewnętrznego lub zewnętrznego. Po opublikowaniu nowego formularza drukarskiego jest on po prostu dodawany do przetwarzania.
- Kod przetwarzający stał się niezwykle krótki i zrozumiały (zawiera około stu linii). Aby dodać nowy dokument wystarczy dodać kilka linijek kodu na końcu modułu metodą kopiuj-wklej. Aby dodać nowy dokument do wydruku do istniejącego dokumentu, wystarczy dodać tylko jedną linię kodu.
- Dla niewtajemniczonych w OOP jest to świetny przykład tego, czym są klasy i jak je wykorzystać w praktyce.
Jeśli procedura drukowania znajduje się w module formularza dokumentu, to logika pracy jest taka sama: kopiujemy procedurę „Drukuj ()” i zawijamy ją w klasę. To prawda, że tu będzie więcej ulepszeń: będziesz musiał dodać link do dokumentu (to znaczy to, co jest przenoszone przez kontekst do zewnętrznego wydruku).
Wady: Pisałem już o liniach kodu typu „Table.RepeatWhenPrintingLines();”, które wyświetlają tytuł tabelarycznej części dokumentu na następnej stronie. Ponieważ zdecydowana większość moich dokumentów mieści się na jednej stronie, skomentowałem te wiersze i usunąłem nagłówki i stopki z drukowanych formularzy. Jeśli ktoś będzie musiał wyświetlić te linie, przetwarzanie będzie musiało zostać sfinalizowane. Ale to brak konkretnej realizacji, a nie samego pomysłu.