1c wtykowa płyta drukarska. Dodanie zewnętrznego nadruku do bazy

Rozważ napisanie najprostszego do wydrukowania w 1s 8,1 - 8,2 na przykładzie konfiguracji Rachunkowość przedsiębiorstw 2.0... Powiedzmy, że chcesz napisać zewnętrzny drukowany formularz do dokumentu: wyświetl podstawowe dane dokumentu, a także z sekcji tabelarycznej Dobra: nazewnictwo, cena, ilość i ilość.

Możesz pobrać wynikowy przykład wg.

W konfiguratorze 1C Przedsiębiorstwa 8 utwórz przetwarzanie zewnętrzne ( Plik-> Nowy-> Przetwarzanie zewnętrzne), ustaw nazwę, utwórz wymagane dla zewnętrznego druku Obiekt referencyjny z typem DocumentLink.Realizacja TowarówUsługi.

Stworzenie układu płyty drukarskiej

Dodaj nowe układ, pozostaw typ układu Dokument w arkuszu kalkulacyjnym... Na makiecie tworzymy trzy obszary: Kapelusz, Dane oraz Piwnica... Można to zrobić, podświetlając wymaganą liczbę linii i klikając menu Tabela-> Nazwy-> Przypisz nazwę (Ctrl + Shift + N).

Następnie zaczynamy umieszczać tekst i parametry w obszarach. Wyświetlimy w nagłówku nazwa druku, numer dokumentu oraz organizacja, a także narysuj granice nagłówka tabeli i wpisz nazwy kolumn. Tworząc parametr we właściwościach komórki, na karcie układu ustaw właściwość Pożywny w wartości Parametr.

W obszarze Dane utworzyć parametry do wyświetlania wierszy przekroju tabelarycznego ( Nomenklatura, cena itp.) oraz w okolicy Piwnica dla sum według ilości i kwoty.

Programowanie

Przejdźmy do modułu obiektu do druku Akcje-> Otwórz moduł obiektów.

Stwórzmy funkcję eksportu, która jest wymagana dla formularzy drukowalnych. Foka().

Funkcja Drukuj () Eksport Funkcja końcowa

W funkcji utwórz zmienną dla dokument w arkuszu kalkulacyjnym, w którym zostanie wyświetlony wydrukowany formularz, otrzymujemy układ oraz obszary układu.

TabDoc = nowy dokument tabelaryczny; Układ = Pobierz układ („Układ”); Obszar nagłówka = Layout.GetArea („Nagłówek”); DataScope = Układ.GetScope („Dane”); AreaFooter = Layout.GetArea („Stopka”);

Wypełnij parametry kapelusze i wyświetl to w dokument w arkuszu kalkulacyjnym.

Captions.Parameters.TextHeader = + ReferenceObject.Number; AreaHaps.Parameters.Organization = ReferenceObject.Organization; TabDok.Wyświetlacz (AreaHap);

Aby uzyskać wiersze sekcji tabelarycznej Dobra korzystamy z żądania.

Żądanie = nowe żądanie; Request.SetParameter („Link”, LinkOnObject); Request.Text = "WYBIERZ | Sprzedaż towarów, usług, towarów, nomenklatury, | Sprzedaż towarów, usług, towarów, ilości, | Sprzedaż towarów, usług, towarów, cena, | Sprzedaż towarów, usług, towarów, ilości| OD | Dokument.Realizacja TowarówUsługi.Towary JAKO Sprzedaż TowarówUsługi Towarów| GDZIE | Wdrożenie GoodsServicesGoods.Link = & Link ";

Przekaż właściwości do parametru żądania Obiekt referencyjny wskazać w stanie GDZIEże potrzebujemy tylko danych dokumentu, z którego wyświetlamy do druku. Aby pobrać zapytanie, najpierw je wykonujemy, a następnie pobieramy wiersze.

Wybór = Zapytanie.Uruchom ().Wybierz ();

Następnie w pętli uzupełnij parametry obszaru Dane dla każdej linii wyboru dokumentu i wyświetl je w dokument w arkuszu kalkulacyjnym... Ponadto w cyklu obliczamy wartości całkowite Ilość oraz sumy... Nie będziemy wypełniać każdego parametru z osobna, ale skorzystamy z procedury FillPropertyValues ​​((<Приемник>, <Источник>) z kontekst globalny, kopiuje wartości właściwości <Источника> we właściwościach <Приемника> ... Dopasowywanie odbywa się według nazw właściwości. Więcej na ten temat przeczytasz w asystent składni 1C Enterprise 8.

Suma całkowita = 0; Całkowita ilość = 0; Podczas Fetch.Next () Pętla FillPropertyValues ​​(ScopeData.Parameters, Fetch); Suma Suma = Suma Suma + Próbka.Suma; TotalQuantity = TotalQuantity + Sample.Quantity; TabDok.Wyświetlacz (ScopeData); Koniec cyklu;

Wypełnij i wyświetl obszar Piwnica.

AreaBoard.Parameters.TotalQuantity = TotalQuantity; AreaBoard.Parameters.TotalSum = Suma całkowita; TabDok.Display (powierzchnia piwnicy);

Zwracanie wypełnionego dokumentu arkusza kalkulacyjnego z funkcji Foka().

powrót TabDoc;

Jeśli używasz jednej z typowych konfiguracji, to po zwróceniu dokumentu arkusza kalkulacyjnego 1C wyświetli sam wydrukowany formularz. Możesz także użyć metody dokumentu arkusza kalkulacyjnego do wyjścia Pokazać().

5. Podłączanie druku do dokumentu

V typowe konfiguracje 1C 8 istnieje katalog do rejestracji zewnętrznych formularzy do druku Przetwarzanie zewnętrzne... Aby się połączyć, przejdź do menu w trybie korporacyjnym Serwis-> Dodatkowe raporty i przetwarzanie-> Dodatkowe zewnętrzne formularze do druku.

Dodaj nowy element katalogu, załaduj do druku z dysku i wybierz typ dokumentu.

Teraz w doc Sprzedaż towarów i usług pojawi się nowy druk.

Automatyczna rejestracja do druku

Aby uniknąć konieczności ręcznego wybierania typu dokumentu podczas podłączania formularza do drukowania, możesz skonfigurować automatyczna rejestracja... Aby to zrobić, dodaj nowy układ i nazwij go Autorejestracja_Parametry(tylko w ten sposób) i w jego pierwszej komórce piszemy Dokumenty.<Наименование документа> (lub Leksykony.<Наименование справочника> ).

Teraz, po podłączeniu do druku, zostaniemy poproszeni o użycie parametry automatycznej rejestracji.

Zewnętrzne wydruki dla zwykłej aplikacji (dla konfiguracji Enterprise Accounting 2.0, Payroll and Human Resources 2.5, Trade Management 10.3, itd.) są dość proste do utworzenia w porównaniu do zewnętrznych wydruków dla zarządzanej aplikacji.

Po co tworzyć zewnętrzne płyty drukarskie

Zaletą zewnętrznej formy drukowej nad konwencjonalną jest to, że unika się zmiany konfiguracji infobazy. Oznacza to, że proces kolejnych aktualizacji konfiguracji nie będzie skomplikowany. Ponadto zewnętrzne formy drukowe wraz z obróbką zewnętrzną to jedyna możliwość rozszerzenia funkcjonalności. podstawowe wersje Konfiguracje 1C, których w ogóle nie można zmienić.

I ostatnia rzecz: zewnętrzne formy drukarskie są łatwiejsze do powielenia, ponieważ są osobnym plikiem, który można szybko podłączyć do infobazy.

Jak stworzyć zewnętrzny materiał do druku

Rozważ proces tworzenia zewnętrznego formularza drukowania 1C w krokach:

  1. Tworzymy przetwarzanie zewnętrzne. W tym celu w konfiguratorze wybierz pozycję menu Plik - Nowy... A w otwartym oknie dialogowym - Przetwarzanie zewnętrzne.
  2. Utwórz zewnętrzne właściwości przetwarzania o nazwie Obiekt referencyjny... Typ atrybutu — łącze do księgi referencyjnej lub dokumentu, dla którego tworzony jest zewnętrzny wydruk. Ten sam formularz może być użyty dla kilku typów obiektów, w tym przypadku typu danych atrybutu Obiekt referencyjny musi być złożony.
  3. W module obiektów utwórz funkcję eksportu o nazwie Foka, który powinien zwrócić gotowy dokument tabelaryczny formy drukarskiej.

Często zdarza się, że trzeba nieco dostosować układ istniejącej formy drukarskiej i uczynić ją zewnętrzną. Na przykład dodaj pieczęć organizacji i podpis kierownika do układu.

Stworzenie zewnętrznej formy drukarskiej opartej na standardowej z drobnymi zmianami

Rozważmy tę procedurę na przykładzie tworzenia zewnętrznego druku dla uniwersalnego dokumentu transferowego dla dokumentu. Sprzedaż towarów i usług 1C: Rachunkowość. Będzie się różnić od standardowej formy druku obecnością pieczęci organizacji.

  1. Twórz zewnętrzne przetwarzanie za pomocą rekwizytów Połącz z obiektem, typ danych - DocumentLink.Realizacja TowarówUsługi.
  2. Znajdujemy układ standardowej formy drukowania UPD (znajduje się w ogólnych układach) i kopiujemy (przeciągnij i upuść) do zewnętrznego okna przetwarzania. Układy innych drukowanych formularzy mogą znajdować się w samych dokumentach lub w podręcznikach.
  3. Dokonujemy niezbędnych zmian w kopiowanym układzie płyty drukarskiej.
  4. Znajdujemy funkcję odpowiedzialną za formowanie kliszy drukarskiej. Ta funkcja powinna zwrócić wygenerowany dokument arkusza kalkulacyjnego. Kopiowanie jego zawartości do funkcji eksportu Foka() w module zewnętrznego obiektu przetwarzania.
    W naszym przypadku jest to funkcja Drukowanie dokumentu transferu uniwersalnego () Eksport z modułu obiektu dokumentu Sprzedaż towarów i usług.
    Jeżeli zmiany układu były znaczące (obszary i/lub parametry uległy zmianie), konieczne jest dokonanie odpowiednich korekt w funkcji drukowania.
  5. Staram się zachować przetwarzanie zewnętrzne. Spowoduje to najprawdopodobniej wyświetlenie komunikatów o błędach związanych z brakiem niektórych procedur i funkcji wywoływanych przez funkcję drukowania. Te funkcje i procedury należy znaleźć w oryginalnym dokumencie, a także skopiować do modułu zewnętrznego obiektu przetwarzania. Lub popraw łącze, jeśli eksportowana jest oryginalna funkcja lub procedura.
  6. (niekoniecznie). Do testowania zewnętrznej płyty drukarskiej wygodnie jest wykonać jej formę, na której można umieścić rekwizyty Obiekt referencyjny... Przycisk Wykonać powinien zadzwonić do procedury Foka() z modułu obiektu. W tym celu do zdarzenia kliknięcia przycisku przypisana jest procedura:

Jak wiadomo - bez kartki papieru ty ...żadna poważna firma nie może zrobić. A kiedy mówimy, że w 1C są jakieś dokumenty elektroniczne, natychmiast pojawia się pytanie, jak je wydrukować w formie papierowej.

Proces drukowania dokument elektroniczny 1C nazywa się płytą drukową 1C.

Każdy dokument może mieć kilka formularzy drukowania 1C. Na przykład dokument Sprzedaż towarów i usług (tj. Sprzedaż) jest drukowany w formach drukowych 1C: TORG-12, List przewozowy, List przewozowy, Certyfikat świadczonych usług i tak dalej.

Istotą formularza drukowania 1C jest szablon (taki jak dokument Excel), w którym ustawiane są zmienne. W procesie drukowania zamiast zmiennych podstawiony jest tekst z dokumentu elektronicznego. Szablon jest zwykle przechowywany w konfiguracji.

Problem ze zmianą typowej formy drukowania 1C polega na tym, że zwykle nie jest pożądana zmiana typowej konfiguracji, w przeciwnym razie aktualizacja będzie trudniejsza. Dlatego zaczęto wymyślać różne metody stosowania zewnętrznych płyt drukarskich 1C.

Zewnętrzna płyta drukowa 1C to szablon drukowania, który jest przechowywany oddzielnie od samej konfiguracji.

Jednak to wszystko jest teoria. Jak samemu stworzyć drukowany formularz? A jeszcze lepiej, jak dokonać zmian w już istniejącym?

Jak drukowany jest dokument 1C

Aby wydrukować dowolny dokument 1C (który można wydrukować), musisz kliknąć przycisk Drukuj w dokumencie. 1C zaoferuje wybór formularza drukowania 1C dla tego dokumentu z listy.

Po lewej stronie przycisku Drukuj zwykle znajduje się przycisk szybkiego dostępu do ostatnio wybranego formularza drukowania 1C.

Wynik drukowania wygląda tak. Aby wydrukować go na drukarce, należy umieścić kursor w formularzu drukowania 1C, nacisnąć Ctrl + P lub przycisk z drukarką na pasku przycisków lub w menu Plik / Drukuj.

Ustawienia drukowania (marginesy, orientacja papieru itp.) znajdują się w menu Plik / Ustawienia strony. Ponadto w ustawieniach użytkownika możesz wydrukować go bezpośrednio na drukarce.

Skąd pochodzi ten druk?

Gdzie jest drukowany formularz 1C?

Przejdźmy do konfiguratora. Znajdźmy wymagany dokument w oknie konfiguracji. Otwórzmy jego gałąź Layouts. To oni zamieniają się w formę drukową 1C podczas drukowania.

To jednak nie wystarczy – zaproponowano nam wybór o wiele więcej opcji podczas drukowania. Faktem jest, że wiele układów form drukowych 1C jest ukrytych w innym miejscu.

Wróćmy na górę okna konfiguracji 1C. Otwórz gałąź Ogólne, a następnie gałąź Układy ogólne. To tutaj znajduje się większość układów. Dotyczy to w szczególności formularzy drukowanych regulowanych przez państwo 1C - TORG 12, Faktura itp.

Nawiasem mówiąc, nietrudno zauważyć, że zobaczysz kilka układów TORG12 lub Faktury. Czemu? Łatwo to wyjaśnić. Przepisy i wymagania zmieniają się okresowo. Ale nie możemy po prostu zmienić tego samego układu - i jeśli musimy wydrukować dokument od daty wcześniejszej niż data modyfikacji. W związku z tym wykonywanych jest kilka układów i w zależności od daty dokumentu używany jest właściwy.

Ale to nie wszystko! Istnieją również układy zewnętrzne. Gdzie są przechowywane?

Wróćmy do trybu 1C Enterprise. Poprzez menu użytkownika za pomocą prawa administracyjne Operacje / Katalogi, wybierz katalog Przetwarzanie zewnętrzne.

Linie tego katalogu, które mają formę Drukowalna, dodają opcje druku dla dokumentu określonego w Tabeli Przynależności Druku (na zdjęciu jest to Sprzedaż towarów lub usług).

Aby to zadziałało, musisz wykonać zewnętrzne przetwarzanie, które ma w swoim module obiektowym procedurę Print() ze znacznikiem Export, który organizuje proces drukowania.
Ale wyprzedzamy samych siebie. Zobaczmy najpierw, jak zorganizowany jest układ płyty drukarskiej 1C.

Układ płyty drukarskiej 1C

Układ płyty drukarskiej 1C jest następujący.

Jak widać, jest podzielony na bloki. Bloki mogą być poziome (nazwa po lewej) i pionowe (nazwa powyżej).

Sam układ, tak jak jest, nie jest drukowany. Drukowane są poszczególne bloki. Programista w procedurze przetwarzania wydruku określa kolejność bloków i liczbę powtórzeń każdego bloku. W rezultacie powstaje płyta drukarska.

Aby przypisać obszar - zaznacz kilka wierszy (lub kilka kolumn) i wybierz w menu Tabela / Nazwy / Przypisz nazwę. Do usunięcia - jest też polecenie Usuń nazwę.

Nazwa jest potrzebna, aby można było uzyskać dostęp do obszaru z kodu programu. Tytuł można przypisać nie tylko do wierszy lub kolumn, ale także tylko do kilku komórek. Aby to zrobić, zaznacz komórki i wybierz to samo menu.

Jednak domyślnie niestandardowe nazwy komórek nie są wyświetlane. Aby je zobaczyć - wybierz z menu opcję Tabela / Nazwy / Pokaż nazwane komórki.

Tak więc dzisiaj dowiedzieliśmy się, że forma druku 1C jest tworzona przy użyciu układu. Układ składa się z bloków – sprytnie – nazwanych obszarów.

Typowe (powszechnie używane) bloki do płyty drukarskiej:

  • Nagłówek - wyświetla tytuł dokumentu
  • Linia - wyświetlany jest jeden wiersz tabeli, ten blok powtarza się tyle razy, ile jest wierszy do wydrukowania
  • Stopka — wyświetlany jest koniec dokumentu.

Teraz musimy poradzić sobie z faktem

W tym artykule opisano sposób podłączenia zewnętrznej płyty drukarskiej do podstawy 1C na przykładzie konfiguracji „Trade Management 10.3”

Konfiguracja „Zarządzanie handlem 10.3” jest konfiguracją na tak zwanych formularzach „ZWYKŁYCH”, a nie na formularzach „ZARZĄDZANYCH”, takich jak „Zarządzanie handlem 11.2”, zalecamy zapoznanie się z formularzami „ZARZĄDZANE”.

Nasza instrukcja "pokazuje", jak podłączyć zewnętrzną płytę drukową w 1C z konfiguracją na formularzach "ZWYKŁY", a mianowicie:

  • „Księgowość 2.0”
  • „Zarządzanie handlem 10.3”
  • "Zarządzanie wynagrodzeniami i personelem 2,5"
  • „Zintegrowana automatyka 1.1”
  • "Kontrola przedsiębiorstwo produkcyjne 1,3"
  • „Handel detaliczny 1.0”
  • i inne podobne konfiguracje.

Aby podłączyć zewnętrzną płytę drukową w 1C, musimy przejść przez 11 kroków.

1 - Menu „Serwis”. 2 - Wybieramy "Zewnętrzne formy druku i obróbka". 3 - Dalej - "Zewnętrzne formy drukarskie" (patrz rysunek poniżej ↓)

Aby przekonać Państwa, że ​​ta instrukcja nadaje się również do innych konfiguracji na formularzach "STANDARD" - przedstawimy ten sam inicjał 1-2-3 kroki, ale nie w „Zarządzanie handlem 10.3”, ale w „Rachunkowości 2.0” też jest wszystko, z wyjątkiem nieco zmienionych słów w akapitach, a mianowicie…

1 - Menu „Serwis” (a także w „UT 10.3” iw innych).
2 - Tutaj „Dodatkowe raporty i przetwarzanie”, a nie „Zewnętrzne formy drukowania i przetwarzanie” jak w „UT 10.3”,
ale mimo wszystko znaczenie jest takie samo i znajduje się w tym samym miejscu w menu „Serwis”.
3 - A potem - "Dodatkowe zewnętrzne płyty drukarskie", czyli dodatkowe słowo „Dodatkowy” w porównaniu z „UT 10.3” (patrz rysunek poniżej ↓)

Następnie będziemy kontynuować przykład „Zarządzanie handlem 10.3” bez zbędnych porównań.
4 - Naciśnij przycisk "+" czyli "Dodać". 5 - Przycisk, w którym rysowany jest folder (po najechaniu kursorem pojawi się podpowiedź: „Zastąp plik przetwarzania zewnętrznego”).

W nowych wersjach 1C (od sierpnia 2016 r.) program ma wbudowany mechanizm ostrzegania o niebezpieczeństwie korzystania z nieznanych zewnętrznych procesorów, które mogą zawierać „wirusy”, we wcześniejszych wersjach programu ostrzeżenie nie pojawi się! Jeśli tak się stanie, konieczne będzie podłączenie zewnętrznego przetwarzania - 6 - nacisnąć przycisk „Kontynuuj”. (patrz zdjęcie poniżej ↓)

7 - Wybieramy katalog, w którym znajduje się plik zewnętrznego formularza do druku, którego potrzebujemy. 8 - Wybierz nasz plik. 9 - Kliknij "Otwórz" (patrz rysunek poniżej ↓)

10 - Zewnętrzny wydruk może mieć parametry autorejestracji, tak jak w naszym przypadku, tutaj sensowne jest kliknięcie "Tak" - tym samym korzystając z tych parametrów podczas rejestracji, tj. automatycznie wybierze te obiekty (dokumenty, a może np. katalogi), w których będzie można korzystać z podłączonego zewnętrznego printable (patrz rysunek poniżej ↓)

To wszystko, wypełniliśmy tabelę „Własność formularza drukowanego”, dzięki parametrom automatycznej rejestracji widzimy nazwę podłączonego zewnętrznego formularza wydruku, być może wypełnisz pole „Komentarz” itp. Możesz dodać swoje obiekty do tabeli "Własność drukowanych formularzy", na przykład dla naszego przetwarzania "Uniwersalny drukowalny formularz umowy", który obsługuje drukowanie wielu dokumentów i książek referencyjnych, ale parametry automatycznej rejestracji są ustawione tylko dla główne: 10* - Kliknij zielony przycisk „Dodaj” i wybierz obiekty do przetworzenia. Teraz pozostaje tylko - 11 - kliknij przycisk „OK” i (patrz rysunek poniżej ↓)

Teraz warto sprawdzić - czy zrobiliśmy wszystko dobrze?
W tym celu wybieramy obiekt do weryfikacji, na przykład dokument „Sprzedaż towarów i usług”, który jest wskazany w tabeli „Przynależność formy drukarskiej”, co oznacza, że ​​podłączoną formę drukarską można wykorzystać w ten dokument! Sprawdźmy... (patrz zdjęcie poniżej ↓)

Aby sprawdzić możliwość wydruku, otwórz dowolny dokument w postaci: „Sprzedaż towarów i usług”. 13 - Naciśnij przycisk „Drukuj”.
Widzimy - pojawiło się okno wyboru form drukowych, wśród nich jest - 14 - podłączona przez nas zewnętrzna płyta drukowa (patrz zdjęcie poniżej ↓)

W tym artykule dowiesz się szczegółowo, jak stworzyć materiał do druku dla początkującego, który nie wie zbyt wiele o 1C 8. Na przykład weźmy jedną z najczęstszych konfiguracji 1C 8 - Księgowość 2.0... Stworzenie nadających się do druku etapów pisania 1C:

  • Tworzenie pliku zewnętrznej płyty drukarskiej;
  • Stworzenie makiety do druku;
  • Pisanie kodu programu do wyświetlania danych do druku na ekranie;
  • Tworzenie parametrów do automatycznej rejestracji materiału do druku;
  • Podłączanie zewnętrznej płyty drukarskiej do podstawy 1C Przedsiębiorstwo.

Stworzenie formularza drukarskiego 1C. Sformułowanie problemu

Jesteśmy wymagani w konfiguracji Księgowość 2.0 utwórz do druku dla dokumentu Odbiór towarów i usług... Wydrukuj następujące dane w nagłówku do druku:

  • Organizacja;
  • Kontrahent;
  • Umowa kontrahenta;
  • Data przyjęcia.

W formie tabeli wyświetl dane sekcji tabelarycznej Dobra dokument. Tabela powinna zawierać następujące kolumny:

  • Nomenklatura;
  • Ilość;
  • Cena;
  • Suma;
  • A także cenę towaru na bieżącą datę (zgodnie z rodzajem cen z dokumentu).

Zewnętrzny plik przetwarzania

Przejdźmy do rozwiązania problemu. Najpierw otwórzmy 1C 8 w trybie Konfigurator... W tym trybie przeprowadzane są wszystkie zmiany na platformie 1C 8. Teraz musimy utworzyć zewnętrzny plik przetwarzania. Aby to zrobić, kliknij menu Plik -> Nowy... lub przez ikonę nowego pliku.

W oknie, które się otworzy, wybierz element Przetwarzanie zewnętrzne.

Dalej w terenie Nazwa należy wpisać nazwę zabiegu zewnętrznego. W naszym przypadku nazwijmy to po prostu: „Formularz drukowania”, pole synonimu zostanie wypełnione automatycznie. Zwróć uwagę, że w terenie Nazwa, przetwarzanie zewnętrzne, należy wpisać nazwę bez spacji i znaków interpunkcyjnych.

Dodaj rekwizyty do zewnętrznego przetwarzania LinkOnObject i wybierz dla niego typ DocumentLink.Przybycie towarówUsługi... Aby to zrobić, w drzewie metadanych przetwarzania zewnętrznego 1C wybierz element Przybory i naciśnij przycisk Dodać(zielony przycisk plus). Po prawej stronie ekranu otworzy się okno właściwości, w polu Nazwa pisać - Obiekt referencyjny. V pole Typ naciśnij przycisk z trzema kropkami.

W drzewie typów otwórz gałąź Link do dokumentu, i znajdź tam pozycję Przyjęcie Towaru/Usługi, postaw przed nim haczyk i kliknij OK.

Zapiszmy zewnętrzny plik przetwarzania na dysku twardym, do tego używamy menu Plik -> Zapisz, piktogram Zapisać(niebieska dyskietka) lub skrót klawiaturowy Ctrl + S... Nazwijmy zapisany plik „Formularz drukowania”.

Stworzenie układu płyty drukarskiej

Zacznijmy tworzyć layout formularza drukowego 1C. Układ służy jako szablon dla wyjścia do druku, więc jeśli chcesz, aby twój wydruk wyglądał dobrze, powinieneś zwrócić na to uwagę.

W drzewie metadanych przetwarzania zewnętrznego dodaj nowy układ, w oknie projektanta układu nic nie zmienimy i klikamy przycisk Gotowy.

W nowym układzie, który się otworzy, utwórz kilka obszarów niezbędnych do wydrukowania materiału do druku. Wszystkie potrzebne nam obszary układu będą poziome, więc aby utworzyć nowy obszar, wybierz wymaganą liczbę linii układu i przejdź do menu Tabela -> Nazwy -> Przypisz nazwę lub użyj skrótu klawiaturowego Ctrl + Shift + N, następnie wprowadź w polu nazwę obszaru. Tworząc obszar układu, nie bój się pomylić z liczbą wierszy, zawsze możesz je dodać lub usunąć. Aby usunąć linię układu 1C, wybierz żądaną linię i wybierz element w menu kontekstowym Kasować... Aby dodać nową linię do układu, wybierz dowolną linię w układzie i wybierz element Odepchnij.

Dodawanie nagłówka układu

Przede wszystkim stwórzmy obszar Czapka, zostaną tam wyświetlone dane nagłówka do druku. Do tego obszaru potrzebujemy siedmiu linii układu. Zaznacz je i, jak napisałem powyżej, wciśnij skrót klawiaturowy Ctrl + Shift + N, w terenie Nazwa napisz "Kapelusz" i naciśnij przycisk ok.

Wypełnijmy obszar układu danymi, których potrzebujemy. Zwykle żaden wydruk nie jest kompletny bez nagłówka, więc stwórzmy go również w naszym nagłówku. Ponieważ w tytule oprócz nazwy formularza wydruku wyświetlimy również numer dokumentu, z którego został wydrukowany, tekst tytułu w układzie ustawimy parametrem. Parametr układu to specjalnie wyznaczona komórka układu, w której można wyświetlać różne dane za pomocą wbudowanego języka 1C 8. Nagłówek powinien być wyświetlany na całej szerokości formularza drukarskiego, więc ustalmy ile komórek układu wystarczy nam do wydrukowania na standardowej orientacji poziomej arkusza.

Zwykle wystarczy trzynaście lub czternaście komórek układu, zaznacz je w pierwszym wierszu obszaru Czapka i połącz w jedną komórkę ( Menu kontekstowe -> Połącz). Następnie kliknij dwukrotnie wynikową dużą komórkę i wpisz nazwę parametru, w naszym przypadku „TytułTytuł”. Aby wprowadzony tekst stał się pełnoprawnym parametrem, kliknij komórkę prawym przyciskiem myszy i wybierz element Nieruchomości... Na zakładce Układ znajdź pole Pożywny i wybierz wartość Parametr... Parametry w układzie 1C są oznaczone nawiasami ”<>».

Tytuł wydruku powinien wyróżniać się spośród innych tekstów, dlatego ponownie zaznacz komórkę i za pomocą ikon na panelu formatowania układu ustaw wyrównanie tekstu Środek i rozmiar czcionki 14.

Po tekście tytułowym wyświetlimy się w obszarze Czapka dane dotyczące organizacji, kontrahenta, umowy kontrahenta oraz daty odbioru towaru. Ponieważ wszystkie te dane są również pobierane z dokumentu, uporządkujemy je również z parametrami. Ponadto przed każdym parametrem należy napisać tekst wyjaśniający, aby użytkownik mógł łatwo zrozumieć, gdzie jest organizacja, gdzie jest kontrahent itp. Wszystkie te działania są podobne do tworzenia nagłówka, więc nie będę się nad nimi szczegółowo rozwodził, podam tylko obrazek z tym, jaki powinien być wynik.

Rysunek pokazuje, jak opcje układu różnią się od zwykłego tekstu.

Dodawanie nagłówka tabeli układu

Ostatnią rzeczą, jaką musimy stworzyć w tym obszarze układu, jest nagłówek tabeli, w którym będą wyświetlane dane sekcji tabelarycznej. Dobra... Kolumny wymagane dla tabeli zostały opisane w sekcji „Oświadczenie o problemie”. Stworzymy również nagłówek tabeli wykorzystując konkatenację komórek i pisanie tekstu (nazwy kolumn). Wybierz granice nagłówka tabeli za pomocą narzędzia Rama który znajduje się w okienku formatowania układu.

Dodawanie tabeli do układu

Stwórzmy kolejny obszar w układzie - Dane... Wyświetli tabelę danych sekcji tabelarycznej Dobra. Potrzebujemy tylko jednej linii układu dla tego obszaru. Aby wyświetlić wszystkie wiersze sekcji tabelarycznej w formie do wydrukowania, wypełnimy i wyświetlimy ten obszar tyle razy, ile będzie to konieczne. Kolumny w okolicy Dane musi pasować do kolumn nagłówka tabeli, więc wypełnienie go jest łatwe. Jedyna różnica dotyczy obszaru Dane potrzebujemy parametrów, a nie tylko tekstu. Należy również zauważyć, że domyślnie parametry numeryczne są wyrównane do prawej, a parametry tekstowe do lewej. Aby wybrać kolumny, musisz również użyć narzędzia Rama.

Dodanie stopki do układu

Ostatni obszar układu, którego potrzebujemy, to Piwnica... Wyświetli sumy według ilości i kwoty. Tworzenie jest podobne do tworzenia obszaru Dane, ale dodatkowo sumy należy wyróżnić pogrubioną czcionką.

W rezultacie powinieneś otrzymać następujący układ:

Stworzenie formularza drukarskiego 1C. Programowanie

Zacznijmy programowanie - to najważniejszy etap tworzenia formy drukarskiej. Przede wszystkim przejdziemy do modułu obiektu zewnętrznej formy druku, tu będziemy programować. Aby to zrobić, w głównym oknie przetwarzania zewnętrznego kliknij Akcje -> Otwórz moduł obiektu.

W module obiektu zewnętrznego formularza drukowania należy utworzyć funkcję eksportu Foka().

Funkcja Drukuj () Eksportuj funkcje końcowe

Należy pamiętać, że ta funkcja jest wymagana dla zewnętrznych płyt drukarskich w konfiguracjach wykorzystujących zwykłą aplikację. Napiszemy cały kolejny kod programu niezbędny do wyświetlenia tego, co można wydrukować wewnątrz tej funkcji.

Inicjowanie podstawowych zmiennych

Stwórzmy zmienną TabDoc, który będzie zawierał dokument arkusza kalkulacyjnego - to właśnie on jest drukowalnym, w którym wyświetlimy wypełnione obszary makiety.

TabDoc = nowy dokument tabelaryczny;

W zmienną Układ otrzymujemy układ stworzonej przez nas formy drukarskiej. W tym celu korzystamy z wbudowanej funkcji Pobierz układ (<ИмяМакета>).

Układ = Pobierz układ („Układ”);

Wszystkie obszary układu podzielimy na zmienne. W tym celu używamy metody układu Pobierz obszar (<ИмяОбласти>) .

Obszar nagłówka = Layout.GetArea („Nagłówek”); DataScope = Układ.GetScope („Dane”); AreaFooter = Layout.GetArea („Stopka”);

Wyjście drukowanego nagłówka do dokumentu arkusza kalkulacyjnego

Wszystkie wymagane zmienne są inicjowane. Zacznijmy wypełniać i wyświetlać obszary układu w dokumencie arkusza kalkulacyjnego. Przede wszystkim wypełnijmy nagłówek wydruku, w tym celu musimy przekazać parametr Tekst nagłówka, który stworzyliśmy w makiecie, potrzebny nam tekst. Aby wypełnić wartości parametrów, obszar układu ma specjalną kolekcję, która nazywa się tak - Opcje. Z którego przez „.” możesz uzyskać dowolny parametr. W tytule przeniesiemy tekst: „Do druku”, a także numer dokumentu.

AreaHaps.Parameters.TextHeader = "Do druku" + ReferenceOnObject.Number;

Wypełnij pozostałe parametry nagłówka w podobny sposób, wszystkie niezbędne dla nich wartości uzyskamy z rekwizytów Obiekt referencyjny, który zawiera łącze do drukowanego dokumentu.

AreaHaps.Parameters.Organization = ReferenceObject.Organization; AreaHaps.Parameters.Contractor = Obiekt Referencyjny.Contractor; AreaHaps.Parameters.ArrivalDate = Obiekt referencyjny.Data; AreaHaps.Parameters.Contractor Umowa = ReferenceObject.Contractor Umowa;

Wszystkie parametry nagłówka są wypełnione, wyświetlimy je w utworzonym przez nas dokumencie arkusza kalkulacyjnego, do tego używamy metody Wyjście (<Область>) .

TabDok.Wyświetlacz (AreaHap);

Pisanie prośby o upośledzenie do druku

Wypełnijmy i wypiszmy obszar Dane... Stworzenie wydruku 1C oznacza również napisanie żądania, potrzebujemy go, aby uzyskać dane z sekcji tabelarycznej Dobra i ceny Nomenklatury dla bieżącej daty będziemy używać Zapytanie... Język zapytań 1C 8 jest podobny do SQL, a raczej praktycznie kopiuje możliwości swojego operatora SELECT, ale całe zapytanie jest napisane w języku rosyjskim. Dlatego też, jeśli znasz język SQL, z łatwością zrozumiesz język zapytań 1C 8.

W tej drukowanej formie żądanie będzie dość proste i wielu powie, że można by się bez niego obejść, ale znajomość języka zapytań i umiejętność jego prawidłowego użycia jest jedną z głównych umiejętności programisty 1C. Zapytania pozwalają na użycie mniej zasobów w celu uzyskania najbardziej złożonych próbek danych, a tekst zapytania jest znacznie łatwiejszy do zrozumienia niż w kodzie programu napisanym bez użycia zapytania (lub przy minimalnym jego wykorzystaniu). Ponadto 1C 8 ma bardzo dobrego projektanta zapytań, który umożliwia interaktywne zbieranie zapytań z wymaganych tabel.

Stwórzmy zmienną, która będzie zawierać żądanie.

Żądanie = Nowe żądanie;

Tekst żądania skomponujemy za pomocą konstruktora zapytania. Najpierw napiszmy:

Request.Text = "";

Umieść kursor myszy między cytatami, naciśnij prawy przycisk myszy. W otwartym menu kontekstowym wybierz element Konstruktor zapytań, bardzo nam to pomoże w stworzeniu formy do druku 1C. Następnie otworzy się okno projektanta zapytań, które zawiera wiele zakładek, ale dla naszego zapytania potrzebne są tylko cztery: "Tabele i pola", "Relacje", "Warunki", "Połączenia / Aliasy".

Do naszego zapytania potrzebujemy dwóch tabel: sekcji tabelarycznej Dobra dokument Odbiór towarów i usług oraz wycinek najnowszego rejestru informacyjnego na bieżącą datę Ceny przedmiotów.

Po lewej stronie okna projektanta znajdź kolumnę Baza danych... Zawiera drzewo wszystkich obiektów metadanych, znajdziemy te, których potrzebujemy. Aby to zrobić, otwórz oddział Dokumenty i znajdź dokument Przybycie towarów i usług, otwórz go i znajdź sekcję tabelaryczną Dobra przeciągając go do kolumny projektanta zapytań Stoły... Możesz przeciągać i upuszczać na trzy sposoby: przeciągając i upuszczając, klikając dwukrotnie tabelę lub wybierając ją i naciskając przycisk „>”. Otwórzmy oddział Rejestry informacyjne i znajdź tam stolik CenyNomenklatura.SliceLast, przeciągnij go również do kolumny Stoły... Te dwie tabele wystarczą dla naszego zapytania.

Wybierzmy potrzebne nam pola z wynikowych tabel. Aby to zrobić, w kolumnie Stoły otwórz stół i znajdź pola: Nomenklatura, ilość, cena, ilość i przeciągnij je do trzeciej kolumny konstruktora - Pola... Otwórzmy stół , znajdź pole Cena a także przeciągnij go do Pola.

Struktura tabel i pól naszego zapytania jest gotowa, teraz zajmijmy się warunkami. Potrzebujemy danych z sekcji tabelarycznej Dobra zostały zaczerpnięte nie ze wszystkich paragonów, a tylko z tego, który drukujemy. Aby to zrobić, nakładamy warunek na stół Przybycie towarów... Przejdźmy do zakładki „Warunki” projektanta zapytań. W kolumnie Pola tabele, które wybraliśmy wcześniej, znajdują się, dla warunku potrzebujemy pola Połączyć ze stołu Odbiór towarów, usług, towarów, przeciągnij go do okna Warunki.

W żądaniach 1C możesz użyć parametrów, są one potrzebne do przesyłania danych do żądania. Na przykład, jeśli chcemy ograniczyć wybór dokumentów do konkretnego dokumentu, to za pomocą parametru możemy przekazać do żądania link do tego dokumentu i użyć tego parametru w warunku. Dokładnie to zrobimy w naszej prośbie.

Po wyjściu za okno Warunki dodaliśmy pole Połączyć, konstruktor zapytań sam utworzy parametr o tej samej nazwie i umieści go po znaku „=". W razie potrzeby można zmienić nazwę tego parametru. Parametry w tekście żądania są oznaczone "&", ale w tym przypadku nie musisz tego robić, ponieważ zakłada się, że druga część warunku zawiera parametr, wystarczy go zapamiętać. Sposób przeniesienia wartości do parametru żądania 1C zostanie opisany poniżej.

Ponieważ w zapytaniu nie posługujemy się kompletną tabelą cen towarów, ale wirtualną (w tym przypadku jej wycięciem), musimy ustalić warunki utworzenia tej wirtualnej tabeli, w naszym przypadku jest to data obcięcia i warunek dla rodzaju ceny (należy wybrać ceny, które mają ściśle określony rodzaj ceny - taki, który jest określony na drukowanym przez nas dokumencie paragonu).

Aby uzupełnić parametry wirtualnej tabeli, przejdź do zakładki Tabele i pola konstruktor zapytania, w kolumnie Stoły wybierz stół Ceny NazewnictwoKawałekOstatni i naciśnij przycisk Parametry wirtualnego stołu znajduje się na górze. W oknie, które się otworzy, w polu Okres należy ustawić parametr, do którego zostanie przesłana data, od której ceny zostaną obcięte. W naszym przypadku będzie to data bieżąca (czyli dzisiaj), dlatego nazwiemy parametr „& CurrentDate”. W polu warunku wpiszemy warunki dla typu ceny, przekażemy go również w parametrze, który nazwiemy "& TypePrice". Wynikowy warunek będzie wyglądał tak (gdzie Rodzaj ceny- rejestracja pomiaru Ceny przedmiotów):

Typ ceny = & Typ ceny

Parametry wirtualnej tabeli są wypełnione, naciśnij przycisk ok.

Teraz, gdy ograniczyliśmy wybór tylko do potrzebnego nam dokumentu, utworzymy łącza między tabelami zapytań. Jeśli tego nie zrobisz, ceny z tabeli ItemNomenclatureSlicePrices nie będą połączone z towarem z paragonu. Przejdźmy do zakładki Znajomości konstruktor zapytań. Utwórz link w całym polu Nomenklatura między naszymi dwoma stołami. Aby to zrobić, naciśnij przycisk Dodać, w terenie Tabela 1 wybierz stół Przybycie towarów, aw polu Tabela 2 - CenyNomenklaturaSliceLast. W warunkach komunikacji wybierz pola Nomenklatura z obu tabel.

Należy również zauważyć, że przy wyborze zapytania musimy pobrać wszystkie wiersze z części tab Dobra i ceny tylko wtedy, gdy istnieją dla bieżącej daty według rodzaju cen dokumentu. Tak więc te zakładki Dobra są wymagane, ale dane dotyczące obniżek cen nie. Dlatego w powiązaniach pomiędzy tymi tabelami konieczne jest użycie tzw. LEFT JOIN, a lewa (lub wymagana) tabela będzie Przybycie towarów i odpowiedni (lub opcjonalny) PriceNomenclatureSliceLast. Aby lewe sprzężenie tabel zapytań działało tak, jak opisałem powyżej, musisz zaznaczyć pole Wszystko po boisku Tabela 1.


Zapytanie jest prawie gotowe, pozostało niewiele pracy nad aliasami pól. Przejdźmy do zakładki Związki / Aliasy i ustaw alias dla pola Ceny NomenklaturaPlasterOstat.Cena... Nazwa aliasu będzie - CenaDzisiaj, jest to potrzebne, aby nazwy pól wyboru zapytania i nazwy parametrów w układzie wydruku były takie same.

To kończy pracę w projektancie zapytań, naciśnij przycisk OK. Po zamknięciu okna konstruktora zobaczysz, że wiersz z tekstem żądania jest wypełniony i wygląda tak:

Zapros.Tekst = „SELECT | PostuplenieTovarovUslugTovary.Nomenklatura, | PostuplenieTovarovUslugTovary.Summa, | PostuplenieTovarovUslugTovary.Tsena, | PostuplenieTovarovUslugTovary.Kolichestvo, | TsenyNomenklaturySrezPoslednih.Tsena AS TsenaNaSegodnya | OD | Dokument.PostuplenieTovarovUslug.Tovary AS PostuplenieTovarovUslugTovary | lewe sprzężenie RegistrSvedeniy.TsenyNomenklatury.SrezPoslednih (| & Bieżąca data, Typ ceny = &Typ ceny) AS Ceny NazewnictwoKawałekNajnowsze | WŁ. Towary przychodząceUsługiTowary.Nazewnictwo | = Ceny NazewnictwoKawałekNajnowsza.Nazewnictwo | GDZIE | Towary przychodząceUsługiTowary.Link = & Link ";

Wykonywanie prośby

Przekażmy żądaniu niezbędne parametry, w tym celu użyjemy metody żądania Ustaw parametr (<ИмяПараметра>,<Значение>). Aby uzyskać aktualną datę, użyjemy wbudowanej funkcji Aktualna data(), zwraca datę i godzinę komputera.

Wykonajmy żądanie, aby uzyskać selekcję z danymi, których potrzebujemy. Aby to zrobić, najpierw używamy metody żądania Wykonać () a następnie metodą Wybierz().

Wybór = Zapytanie.Uruchom ().Wybierz ();

Wypełnianie tabeli formularza druku

W rezultacie w zmiennej Próbka będzie zawierał wybór wyników zapytania, możesz się po nim poruszać za pomocą metody Następny(), a żeby go całkowicie ominąć, potrzebujesz pętli Do widzenia... Konstrukcja będzie wyglądać następująco:

Podczas Fetch.Next () Koniec pętli;

To w tej pętli wypełnimy i wyświetlimy obszar układu. Dane... Ale najpierw zainicjujmy dwie zmienne typu liczbowego. W nich zbierzemy sumy za ilość i kwotę, którą musimy wnieść na teren Piwnica.

Suma całkowita = 0; Całkowita ilość = 0;

Wewnątrz pętli wypełnimy obszar Dane dane z bieżącego elementu selekcji, na zmienne Całkowita kwota oraz Całkowita ilość dodać wartości ilości i ilości, a na koniec wyświetlić obszar w dokumencie arkusza kalkulacyjnego znaną nam już metodą Wyjście ()... Ponieważ nazwy pól naszego zapytania całkowicie pokrywają się z nazwami parametrów zakresu Dane, wówczas do wypełnienia wykorzystamy wbudowaną procedurę FillPropertyValues ​​(<Приемник>, <Источник>), który kopiuje wartości właściwości<Источника>we właściwościach<Приемника>.

Podczas Fetch.Next () Pętla FillPropertyValues ​​(ScopeData.Parameters, Fetch); Suma Suma = Suma Suma + Próbka.Suma; TotalQuantity = TotalQuantity + Sample.Quantity; TabDok.Wyświetlacz (ScopeData); Koniec cyklu;

Wyprowadzanie stopki formularza do drukowania do dokumentu arkusza kalkulacyjnego

Pozostaje wypełnić i wyświetlić ostatni obszar układu - Piwnica... Przygotowaliśmy już dane do wypełnienia, wypełnienia i wypłaty według tego samego schematu.

AreaBoard.Parameters.TotalQuantity = TotalQuantity; AreaBoard.Parameters.TotalSum = Suma całkowita; TabDok.Display (powierzchnia piwnicy);

Dokument arkusza kalkulacyjnego jest całkowicie wypełniony, pozostaje wyświetlić go na ekranie, aby użytkownik mógł zobaczyć wydrukowany formularz i, jeśli to konieczne, wydrukować. Ale w typowych konfiguracjach 1C 8 procedury specjalnych modułów są odpowiedzialne za wydruk zewnętrznych formularzy drukarskich. Dlatego wystarczy wrócić z funkcji Foka() wypełniony dokument arkusza kalkulacyjnego.

Powrót TabDoc;

Na tym etapie programowanie jest zakończone i tworzenie płyty drukarskiej 1c jest prawie zakończone. Pełny tekst funkcyjny Foka() Nie podam tego tutaj, możesz to zobaczyć w pliku do druku, który można pobrać na dole artykułu.

Stworzenie formularza drukarskiego 1C. Parametry automatycznej rejestracji

Podłączając zewnętrzną formę drukową do bazy, system nie określa automatycznie, dla jakiego dokumentu lub księgi referencyjnej przeznaczona jest forma drukowa, należy ją wybrać ręcznie. A jeśli wydrukowany formularz napisała inna osoba, a ty zostałeś tylko poinstruowany, aby go połączyć, wybór może stać się niejednoznaczny. Aby uniknąć takich problemów, konieczne jest stworzenie layoutu z parametrami automatycznej rejestracji we wszystkich zewnętrznych formach do druku. Jeśli zostanie utworzony i poprawnie sformatowany, system automatycznie określa, dla jakiego dokumentu lub księgi referencyjnej jest przeznaczony drukowany formularz.

Odbywa się to w następujący sposób:

  • W przetwarzaniu zewnętrznym tworzymy nowy layout. Nazywamy to "Autoregistration_Parameters" (ważne, aby się nie pomylić!).
  • W pierwszej komórce układu napisz Dokumenty.(lub Leksykony.) oraz nazwę dokumentu, z którym chcesz połączyć drukowalne.

Połączenie z podstawą zewnętrznej płyty drukarskiej

  • Uruchom 1C 8 w trybie Spółka;
  • Przejdź do menu Serwis -> Dodatkowe raporty i przetwarzanie -> Dodatkowe zewnętrzne formularze do druku;
  • Naciśnij przycisk Dodać;
  • W oknie, które się otworzy, kliknij ikonę Zastąp zewnętrzny plik przetwarzania;
  • Jeśli utworzyłeś parametry automatycznej rejestracji, wyrażamy zgodę na ich użycie;
  • Jeśli nie utworzyłeś parametrów automatycznej rejestracji, to w sekcji tabelarycznej Przynależność płyty drukarskiej dodaj wymagany dokument lub katalog;
  • Wciśnij guzik OK.

Po tym zewnętrzny wydruk będzie dostępny w menu Foka dokument Odbiór towarów i usług. Stworzenie formularza do drukowania 1C można w tym momencie uznać za kompletne.

Podobne artykuły

2021 wybierzvoice.ru. Mój biznes. Księgowość. Historie sukcesów. Pomysły. Kalkulatory. Czasopismo.