otwarty
Zamknąć

Dodanie zewnętrznego formularza drukującego do bazy danych. Dodanie zewnętrznego formularza drukującego do bazy danych Konfiguracja formularzy drukowych w 1s 8.2

W tym artykule szczegółowo dowiesz się, jak początkujący z niewielką wiedzą na temat 1C 8 może stworzyć drukowany formularz. Weźmy na przykład jedną z najczęstszych konfiguracji 1C 8 - Rachunkowość 2.0. Tworzenie drukowanej formy 1C etapy pisania:

  • Tworzenie zewnętrznego pliku formularza do druku;
  • Stworzenie układu formularza drukowanego;
  • Pisanie kodu programu wyświetlającego dane z wydrukowanego formularza na ekranie;
  • Tworzenie parametrów automatycznej rejestracji drukowanego formularza;
  • Podłączenie zewnętrznej formy drukującej do podstawy Przedsiębiorstwa 1C.

Utworzenie drukowanego formularza 1C. Sformułowanie problemu

Jesteśmy wymagani w konfiguracji Rachunkowość 2.0 utwórz drukowany formularz dokumentu Odbiór towarów i usług. W nagłówku drukowanego formularza wyświetl następujące dane:

  • Organizacja;
  • Kontrahent;
  • Umowa z kontrahentem;
  • Data paragonu.

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

  • Nomenklatura;
  • Ilość;
  • Cena;
  • Suma;
  • A także cena towaru na bieżący dzień (według rodzaju ceny z dokumentu).

Zewnętrzny plik przetwarzania

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

W oknie, które zostanie otwarte, wybierz element Przetwarzanie zewnętrzne.

Następny w terenie Nazwa Musisz podać nazwę przetwarzania zewnętrznego. W naszym przypadku nazwiemy to po prostu „PrintForm”; pole synonimu zostanie wypełnione automatycznie. Należy pamiętać, że w terenie Nazwa, przetwarzanie zewnętrzne, nazwę należy pisać bez spacji i znaków interpunkcyjnych.

Dodaj atrybuty przetwarzania zewnętrznego Połącz z obiektem i wybierz wpisz dla niego DokumentLink.Odbiór towarów i usług. Aby to zrobić, w drzewie metadanych przetwarzania zewnętrznego 1C wybierz element Przybory i naciśnij przycisk Dodać(przycisk z zielonym plusem). Okno właściwości atrybutu otworzy się po prawej stronie ekranu, w polu Nazwa napiszmy - Odniesienie do obiektu. W pole Typ naciśnij przycisk z trzema kropkami.

Rozwińmy gałąź w drzewie typów Link do dokumentu, i znajdź tam element Odbiór towarów i usług, zaznacz pole obok i kliknij OK.

Zapiszmy plik przetwarzania zewnętrznego na dysku twardym; w tym celu skorzystaj z menu Plik -> Zapisz, piktogram Ratować(niebieska dyskietka) lub skrót klawiaturowy Ctrl+S. Nazwijmy zapisany plik „PrintForm”.

Tworzenie układu formularza drukowanego

Zacznijmy tworzyć układ formularza drukarskiego 1C. Układ służy jako szablon wydruku drukowanego formularza, więc jeśli chcesz, aby wydrukowany formularz dobrze wyglądał, powinieneś zwrócić na to uwagę.

Dodajmy nowy układ w drzewie metadanych przetwarzania zewnętrznego, w oknie projektanta układu nic nie będziemy zmieniać i klikamy przycisk Gotowy.

W nowym układzie, który się otworzy, utworzymy kilka obszarów niezbędnych do wyświetlenia drukowanego formularza. 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 wpisz w polu nazwę regionu. Tworząc obszar układu, nie bój się pomylić z liczbą linii, które zawsze możesz dodać lub usunąć. Aby usunąć linię układu 1C, wybierz żądaną linię i wybierz element z menu kontekstowego Usuwać. Aby dodać nową linię do układu, zaznacz dowolną linię układu i wybierz opcję z menu kontekstowego Zwiększać.

Dodawanie nagłówka układu

Przede wszystkim utwórzmy obszar Czapka, wyświetli dane nagłówka formularza wydruku. Do tego obszaru będziemy potrzebować siedmiu linii układu. Zaznaczmy je i tak jak napisałem powyżej wciśnij kombinację klawiszy Ctrl + Shift + N, w polu Nazwa napisz „Kapelusz” i naciśnij przycisk OK.

Wypełnijmy obszar układu potrzebnymi danymi. Zwykle żaden drukowany formularz nie jest kompletny bez tytułu, więc utwórzmy go również w nagłówku naszego układu. Ponieważ w tytule oprócz nazwy drukowanego formularza wyświetlimy także numer dokumentu, z którego został wydrukowany, jako parametr ustawimy treść tytułu w układzie. Parametr układu to specjalnie wyznaczona komórka układu, do której można wyprowadzać różne dane za pomocą wbudowanego języka 1C 8. Tytuł powinien być wyświetlany na całej szerokości drukowanego formularza, zdecydujmy zatem, ile komórek układu wystarczy nam do wydruku na standardowej poziomej orientacji arkusza.

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

Nagłówek drukowanego formularza powinien wyróżniać się na tle pozostałego tekstu, dlatego ponownie zaznacz komórkę i użyj ikon na panelu formatowania układu, aby ustawić wyrównanie tekstu Wyśrodkowany i rozmiar czcionki 14.

Po tekście tytułu wyświetlimy go w obszarze Czapka informacje o organizacji, kontrahentu, umowie kontrahenta i dacie odbioru towaru. Ponieważ wszystkie te dane są również pobierane z dokumentu, sformalizujemy je również za pomocą parametrów. Ponadto przed każdym parametrem należy napisać tekst objaśniający, aby użytkownik mógł łatwo zrozumieć, gdzie znajduje się organizacja, gdzie znajduje się kontrahent itp. Wszystkie te działania przypominają tworzenie tytułu, więc nie będę się nad nimi szczegółowo rozwodzić, dam tylko obraz tego, co powinno się wydarzyć na końcu.

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

Dodawanie nagłówka tabeli układu

Ostatnią rzeczą, którą musimy utworzyć w tym obszarze układu, jest nagłówek tabeli, w którym zostaną wyświetlone dane części tabelarycznej Dobra. Kolumny wymagane do tabeli zostały opisane w części „Opis problemu”. Stworzymy również nagłówek tabeli, korzystając z kombinacji komórek i wpisując tekst (nazwy kolumn). Za pomocą narzędzia wybierz krawędzie nagłówka tabeli Rama, który znajduje się w panelu formatowania układu.

Dodawanie tabeli do układu

Stwórzmy kolejny obszar w układzie - Dane. Zostanie w nim wyświetlona tabela danych części tabelarycznej Dobra. W przypadku tego obszaru potrzebujemy tylko jednej linii układu. Aby wyświetlić wszystkie wiersze części tabelarycznej w formie drukowanej, wypełnimy i wyświetlimy ten obszar wymaganą liczbę razy. Kolumny w okolicy Dane powinien pokrywać się z kolumnami nagłówka tabeli, więc jego wypełnienie nie będzie trudne. Jedyna różnica dotyczy obszaru Dane potrzebujemy parametrów, a nie tylko tekstu. Należy również pamiętać, że domyślnie parametry numeryczne są formatowane po prawej stronie, a parametry tekstowe po lewej stronie. Aby wybrać kolumny, musisz także skorzystać z narzędzia Rama.

Dodawanie stopki do układu

Ostatnim obszarem układu, którego potrzebujemy, jest Piwnica. Wyświetli sumy według ilości i kwoty. Tworzenie jest podobne do tworzenia obszaru Dane, ale dodatkowo wyniki należy podkreślić pogrubioną czcionką.

Efektem końcowym powinien być układ wyglądający tak:

Utworzenie drukowanego formularza 1C. Programowanie

Zacznijmy programować – to najważniejszy etap tworzenia drukowanego formularza. Na początek przejdźmy do modułu obiektu zewnętrznego formularza drukującego, to tutaj będziemy programować. W tym celu w głównym oknie przetwarzania zewnętrznego kliknij Akcje -> Otwórz moduł obiektu.

Należy utworzyć funkcję eksportu w module obiektu zewnętrznego formularza wydruku Foka().

Funkcja Print() Eksportuj funkcję końcową

Należy pamiętać, że ta funkcja jest wymagana w przypadku zewnętrznych formularzy drukujących w konfiguracjach wykorzystujących zwykłą aplikację. Cały kolejny kod programu niezbędny do wyświetlenia drukowanego formularza zostanie zapisany wewnątrz tej funkcji.

Inicjowanie zmiennych podstawowych

Stwórzmy zmienną TabDoc, który będzie zawierał dokument arkusza kalkulacyjnego - to jest dokładnie wydrukowany formularz, w którym będziemy wyświetlać wypełnione obszary układu.

TabDoc = nowy dokument tabelaryczny;

Do zmiennej Układ Otrzymamy utworzony przez nas układ formularza drukowanego. W tym celu korzystamy z wbudowanej funkcji Pobierz układ(<ИмяМакета>).

Układ = GetLayout("Układ");

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

HeaderArea = Układ.GetArea("Nagłówek"); AreaData = Layout.GetArea("Dane"); AreaFooter = Układ.GetArea("Stopka");

Wyprowadzanie nagłówka drukowanego formularza do dokumentu arkusza kalkulacyjnego

Wszystkie niezbędne zmienne są inicjalizowane. Zacznijmy wypełniać i wyświetlać obszary układu w dokumencie arkusza kalkulacyjnego. Na początek uzupełnijmy tytuł formularza do druku; w tym celu musimy przekazać parametr Tekst tytułu, który stworzyliśmy w układzie, potrzebny nam tekst. Aby wypełnić wartości parametrów, obszar układu ma specjalną kolekcję, która nazywa się - Opcje. Od czego przez „.” możesz uzyskać dowolny parametr. W tekście nagłówka przeniesiemy tekst: „Formularz drukowany” oraz numer dokumentu.

Header Area.Parameters.TitleText = "Formularz wydruku"+LinkToObject.Number;

W podobny sposób wypełnimy pozostałe parametry nagłówka; wszystkie niezbędne wartości uzyskamy dla nich ze szczegółów Odniesienie do obiektu, który zawiera łącze do dokumentu do wydrukowania.

HeaderArea.Parameters.Organization = LinkToObject.Organization; HeaderArea.Parameters.Account = LinkToObject.Account; HeaderArea.Parameters.ReceiptDate = ObjectLink.Date; Header Area.Parameters.Counterparty Agreement = LinkToObject.Counterparty Agreement;

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

TabDoc.Output(Obszar nagłówka);

Napisanie wniosku o wydrukowanie handicapu

Zacznijmy wypełniać i rysować obszar Dane. Utworzenie drukowanego formularza 1C wiąże się również z napisaniem zapytania; potrzebujemy go do uzyskania danych tabelarycznych Dobra i ceny Nomenklatury dla bieżącej daty, której będziemy używać Wniosek. 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 jeśli przynajmniej trochę znasz 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 kompetentnego posługiwania się nim to jedna z głównych umiejętności programisty 1C. Zapytania pozwalają uzyskać złożone próbki danych przy mniejszym zużyciu zasobów, a tekst zapytania jest znacznie łatwiejszy do zrozumienia niż kod programu napisany bez użycia zapytania (lub przy jego minimalnym użyciu). Ponadto 1C 8 ma bardzo dobrego projektanta zapytań, który umożliwia interaktywne składanie zapytania z niezbędnych tabel.

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

Żądanie = Nowe żądanie;

Tekst żądania utworzymy za pomocą konstruktora żądania. Na początek napiszmy:

Żądanie.Text = "";

Umieść kursor myszy pomiędzy cudzysłowami i naciśnij prawy przycisk myszy. W otwartym menu kontekstowym wybierz element Konstruktor żądań, bardzo nam to pomoże w stworzeniu formularza do druku 1C. Następnie otworzy się okno projektanta zapytań, które zawiera wiele zakładek, ale do naszego zapytania potrzebne będą tylko cztery: „Tabele i pola”, „Relacje”, „Warunki”, „Złączenia / Aliasy”.

Do naszego zapytania potrzebne będą dwie tabele: część tabelaryczna Dobra dokument Odbiór towarów i usług oraz migawkę najnowszych informacji na temat aktualnej daty rejestru Ceny przedmiotów.

Po lewej stronie okna projektanta znajduje się kolumna Baza danych. Zawiera drzewo wszystkich obiektów metadanych, znajdźmy te, których potrzebujemy. Aby to zrobić, otwórzmy wątek Dokumentacja i znajdź dokument Odbiór towarów i usług, otwórzmy go i znajdź część tabelaryczną Dobra, przeciągnij go do kolumny projektanta zapytań Stoły. Przeciągać można na trzy sposoby: przeciągając, klikając dwukrotnie tabelę lub zaznaczając ją i klikając przycisk „>”. Otwórzmy wątek Rejestry informacyjne i znajdź tam stół CenyNomenklatura.SkrótNajnowsze, przeciągnij go również do kolumny Stoły. Do naszego zapytania wystarczą te dwie tabele.

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

Struktura tabel i pól naszego żądania jest gotowa, przejdźmy teraz do warunków. Potrzebujemy danych tabelarycznych Dobra nie zostały pobrane ze wszystkich paragonów, a jedynie z tego, który drukujemy. Aby to zrobić, nałożymy na stół warunek Odbiór towarówUsługiTowary. Przejdźmy do zakładki „Warunki” projektanta zapytań. W kolumnie Pola znajdują się wybrane przez nas wcześniej tabele, do warunku będziemy potrzebować pola Połączyć ze stołu Odbiór Towarów i Usług Towarowych, Przeciągnijmy go do okna Warunki.

W żądaniach 1C możesz używać parametrów; są one potrzebne do przesłania danych do żądania. Przykładowo, jeśli chcemy ograniczyć wybór dokumentów do konkretnego dokumentu, to możemy zastosować parametr, aby przekazać do zapytania link do tego dokumentu i wykorzystać ten parametr w warunku. Dokładnie to uczynimy w naszej prośbie.

Po oknie Warunki dodaliśmy pole Połączyć, projektant zapytań sam utworzy parametr o tej samej nazwie i umieści go po znaku „=”. W razie potrzeby nazwę tego parametru można zmienić. W tekście żądania parametry są oznaczone znakiem „&”, ale w tym przypadku nie jest to konieczne, ponieważ zakłada się, że druga część warunku zawiera parametr, wystarczy o tym pamiętać. Sposób przekazania wartości do parametru żądania 1C zostanie omówiony poniżej.

Ponieważ w zapytaniu nie posługujemy się pełną tabelą cen produktów, lecz wirtualną (w tym przypadku wycinkiem tej ostatniej), musimy ustalić warunki powstania tej wirtualnej tabeli, w naszym przypadku jest to datą graniczną i warunkiem dotyczącym rodzaju cen (ceny posiadające ściśle określony rodzaj ceny to te, które są określone na drukowanym przez nas dokumencie paragonowym).

Aby uzupełnić parametry wirtualnej tabeli należy przejść do zakładki Tabele i pola konstruktor zapytań w kolumnie Stoły wybierz tabelę CenyNomenklaturaCięcieNajnowsze i naciśnij przycisk Opcje wirtualnego stołu, znajdujący się na górze. W oknie, które zostanie otwarte, w polu Okres należy ustawić parametr, do którego będzie przekazywana data, w której nastąpi obniżka ceny. W naszym przypadku będzie to data bieżąca (czyli dzisiejsza), dlatego parametr nazwiemy „&CurrentDate”. W polu warunków napiszemy warunki dla typu ceny, przekażemy je także w parametrze, który nazwiemy „&TypePrice”. Wynikowy warunek będzie wyglądał następująco (gdzie Typ Cena- pomiar rejestru Ceny przedmiotów):

Typ ceny = &Typ ceny

Parametry wirtualnej tabeli zostaną wypełnione, kliknij przycisk OK.

Teraz, gdy ograniczyliśmy wybór tylko do potrzebnego nam dokumentu, utwórzmy połączenia między tabelami zapytań. Jeżeli tego nie zrobimy, ceny z tabeli CenyNomenklaturySliceLast nie zostaną powiązane z pozycją z paragonu. Przejdźmy do zakładki Znajomości projektant zapytań. Stwórzmy połączenie w całym terenie Nomenklatura między naszymi dwoma stołami. Aby to zrobić, naciśnij przycisk Dodać, w polu Tabela 1 wybierz stolik Odbiór towarówUsługiTowary, oraz w 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 zakładki Dobra i ceny tylko wtedy, gdy są dostępne w bieżącym dniu dla typu ceny dokumentu. Zatem dane tabelaryczne Dobra są obowiązkowe, ale dane dotyczące podziału cen nie są dostępne. Dlatego w relacjach pomiędzy tymi tabelami konieczne jest zastosowanie tzw. LEFT JOIN, a lewa (lub wymagana) tabela zostanie Odbiór towarówUsługiTowary i prawy (lub opcjonalny) PriceNomenclatureSliceLast. Aby lewe złączenie tabel zapytań działało w sposób opisany powyżej, musisz zaznaczyć to pole Wszystko po polu Tabela 1.


Żądanie jest prawie gotowe, pozostaje tylko trochę popracować nad aliasami pól. Przejdźmy do zakładki Związki/aliasy i ustaw alias dla pola CenyNomenklatura Slice Latest.Cena. Pseudonim będzie brzmieć - Cena na dzień dzisiejszy, konieczne jest, aby nazwy pól wyboru zapytania odpowiadały nazwom parametrów w układzie formularza drukowanego.

Praca w projektancie zapytań została zakończona, kliknij OK. Po zamknięciu okna projektanta zobaczysz, że linia z tekstem żądania jest wypełniona i wygląda następująco:

Request.Text = "WYBIERZ | Odbiór towarówUsługiProdukty.Nomenklatura, | Odbiór towarówUsługiProdukty.Ilość, | Odbiór towarówUsługiProdukty.Cena, | Odbiór towarówUsługiProdukty.Ilość, | CenyNomenklatura Kawałek najnowszej.Cena AS Cena dzisiaj | OD | Dokument. Odbiór TowaryUsługi.Towary AS Paragon ProduktyUsługiProdukty |. LEWE POŁĄCZENIE RejestracjaInformacja.CenyNomenklatura.SliceLast (| &Bieżąca data, PriceType = &PriceType) AS CenyNomenklaturaSliceLast ON Odbiór towarówUsługiProdukty.Nomenklatura |

Wykonanie żądania

Przekażmy do żądania niezbędne parametry; w tym celu skorzystamy z metody request UstawParametr(<ИмяПараметра>,<Значение>). Aby uzyskać aktualną datę należy skorzystać z wbudowanej funkcji Bieżąca data(), zwraca datę i godzinę komputera.

Uruchommy zapytanie, aby uzyskać próbkę z potrzebnymi nam danymi. Aby to zrobić, najpierw użyj metody żądania Uruchomić(), a następnie metoda Wybierać().

Wybierz = Query.Run().Wybierz();

Wypełnianie wydrukowanej tabeli formularza

W efekcie w zmiennej Próbka będzie zawierał wybór wyników zapytania, możesz się po nim poruszać za pomocą metody Następny() i aby przejść przez całość, potrzebujesz pętli Do widzenia. Projekt będzie następujący:

Podczas gdy Select.Next() Loop EndLoop;

To w tej pętli wypełnimy i wyświetlimy obszar układu Dane. Ale najpierw zainicjujmy dwie zmienne typu numerycznego. Zbierzemy w nich sumy według ilości i kwoty, które musimy wyświetlić w obszarze Piwnica.

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

Wewnątrz pętli wypełnimy obszar Dane dane z bieżącego elementu selekcji na zmienne Całkowita kwota I Całkowita ilość dodać wartości sumy i ilości, a na koniec wyświetlić obszar w dokumencie arkusza kalkulacyjnego, stosując znaną nam już metodę Wyjście(). Ponieważ nazwy pól naszego żądania całkowicie pokrywają się z nazwami parametrów obszaru Dane, następnie do wypełnienia użyjemy wbudowanej procedury FillPropertyValues(<Приемник>, <Источник>), który kopiuje wartości właściwości<Источника>do właściwości<Приемника>.

Podczas gdy Selection.Next() Loop FillPropertyValues(AreaData.Parameters,Selection); TotalSum = Suma Całkowita + Suma Próbki; TotalQuantity = Całkowita ilość + Próbka.Ilość; TabDoc.Output(Dane obszaru); Koniec cyklu;

Wyprowadzanie stopki drukowanego formularza do dokumentu arkusza kalkulacyjnego

Pozostaje wypełnić i wyświetlić ostatni obszar układu - Piwnica. Przygotowaliśmy już dane do napełniania, napełnianie i pobieranie odbywa się według tego samego schematu.

AreaFooter.Parameters.TotalQuantity = Całkowita ilość; AreaFooter.Parameters.TotalSum = Suma całkowita; TabDoc.Output(AreaFooter);

Dokument arkusza kalkulacyjnego jest całkowicie wypełniony, pozostaje jedynie wyświetlić go na ekranie, aby użytkownik mógł obejrzeć wydrukowany formularz i w razie potrzeby go wydrukować. Ale w typowych konfiguracjach 1C 8 procedury specjalnych modułów są odpowiedzialne za wydruk zewnętrznych formularzy drukowanych. Wystarczy więc wrócić z funkcji Foka() wypełniony dokument arkusza kalkulacyjnego.

Wróć do TabDoc;

W tym momencie etap programowania jest zakończony i tworzenie formularza drukującego 1c jest prawie ukończone. Pełny tekst funkcji Foka() Nie będę tego tutaj podawać, można to obejrzeć w pliku do druku, który można pobrać na dole artykułu.

Utworzenie drukowanego formularza 1C. Opcje automatycznej rejestracji

Podczas podłączania zewnętrznego formularza drukowego do bazy system nie określa automatycznie, dla jakiego dokumentu lub skoroszytu przeznaczony jest formularz drukowy, należy go wybrać ręcznie. A jeśli drukowany formularz napisała inna osoba, a Ty masz jedynie za zadanie go podłączyć, to wybór może stać się niejednoznaczny. Aby uniknąć takich problemów, we wszystkich drukach zewnętrznych należy stworzyć układ z parametrami autorejestracji. Jeżeli jest on utworzony i prawidłowo sformatowany, system automatycznie określa, do jakiego dokumentu lub księgozbioru przeznaczony jest drukowany formularz.

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

  • W przetwarzaniu zewnętrznym tworzymy nowy układ. Nazywamy to „Settings_Auto-Registration” (ważne, aby nie popełnić błędu!).
  • W pierwszej komórce układu piszemy Dokumentacja.(Lub Katalogi.) oraz nazwę dokumentu, do którego należy podłączyć wydrukowany formularz.

Podłączenie zewnętrznej formy drukującej do podstawy

  • Uruchom tryb 1C 8 Firma;
  • Przejdź do menu Serwis -> Dodatkowe raporty i przetwarzanie -> Dodatkowe zewnętrzne formularze drukowane;
  • Naciśnij przycisk Dodać;
  • W oknie, które zostanie otwarte, kliknij ikonę Zastąp zewnętrzny plik przetwarzania;
  • Jeżeli utworzyłeś parametry automatycznej rejestracji, to wyrażamy zgodę na ich użycie;
  • Jeśli nie utworzyłeś parametrów automatycznej rejestracji, to w części tabelarycznej Akcesorium do płyty drukarskiej dodaj wymagany dokument lub księgę referencyjną;
  • naciśnij przycisk OK.

Następnie w menu dostępny będzie zewnętrzny formularz druku Foka dokument Odbiór towarów i usług. Utworzenie drukowanego formularza 1C można teraz uznać za zakończone.

Życie toczy się dalej, zmieniają się przepisy, deweloper wypuszcza aktualizacje konfiguracyjne i znowu mamy wybór: sami zainstalujmy aktualizację lub ponownie wezwijmy programistę, żeby „zainstalował nową wersję”…

Zapoznajmy się z mechanizmem zmiany form drukowych bez zmiany konfiguracji.


W praktyce każdego księgowego korzystającego z 1C zawsze istniała potrzeba modyfikacji konfiguracji dla siebie: niektórzy dostosowali dokładność ceny lub kwoty na fakturze, inni wstawili logo i dostosowali wygląd faktury. Wszystko byłoby dobrze, jednak z czasem takich zmian kumuluje się bardzo dużo i kiedy przychodzi czas na aktualizację wydania, pojawia się dylemat: albo stracić wszystkie wprowadzone zmiany, albo wezwać programistę, aby przeniósł wszystkie zmiany do nowej wersji (np. kurs za dodatkową opłatą). Jak być? Aby w jakiś sposób uprościć aktualizację konfiguracji, programiści stworzyli nowy mechanizm: „Przetwarzanie zewnętrzne, formularze drukowane, przetwarzanie w celu wypełnienia części tabelarycznych”. Dziś przyjrzymy się tylko części tego mechanizmu – drukowaniu formularzy.


Każdego przedmiotu najlepiej uczyć się na przykładzie. Postawmy sobie następujące zadanie: dodaj do konfiguracji możliwość wydruku faktury (document „Sprzedaż towarów i usług”) z logo naszej firmy. Ponadto konieczne jest, aby w nagłówku dokumentu znajdowały się napisy "dostawca" I "kupujący" zostały wyróżnione pogrubioną czcionką i wreszcie konieczne jest, aby na dole dokumentu znajdowało się miejsce na podpis służby bezpieczeństwa, która autoryzowała przesyłkę.


Wprowadźmy dwa dodatkowe warunki:

  • Nowy drukowany formularz powinien zastąpić stary formularz "Faktura"
  • Konfiguracji nie można zmienić, ponieważ chcemy w przyszłości skorzystać z automatycznej aktualizacji konfiguracji

Cóż, jakie jest zadanie? Wydaje się zbyt skomplikowane? Cóż, im bardziej jest to skomplikowane, tym ciekawsze i tym bardziej chcesz je rozwiązać. Potem zabierz się do pracy.


Uruchamiamy naszą bazę danych w trybie Konfiguratora. Otwórz konfigurację wybierając polecenie w menu głównym „Konfiguracja > Otwórz konfigurację”. W żadnym wypadku nie będziemy zmieniać samej konfiguracji. Wykorzystamy go jako prototyp. Tutaj wykonamy główną pracę, ale będziemy edytować przetwarzanie zewnętrzne. Przetwarzanie zewnętrzne tworzymy za pomocą polecenia w menu głównym „Plik > Nowy”. Wybór typu dokumentu „Przetwarzanie zewnętrzne”. Dla pierwszego przetwarzania ustawmy nazwę „Markowa faktura”


Ważny! Nazwa przetwarzania nie może zawierać spacji, podobnie jak nazwy zmiennych.


Teraz zróbmy trochę "plagiat". Skopiujmy układ "Faktura" z dokumentu „Sprzedaż towarów i usług”. Aby to zrobić, znajdziemy go w oddziale "Dokumentacja" drzewo konfiguracyjne. Rozwiń ten wątek klikając na ikonę «+» i znajdź układ, którego potrzebujemy "Faktura"(jest w wątku „Układy”). Aby skopiować ten obiekt należy zaznaczyć ten układ w drzewie i uruchomić polecenie „Edytuj > Kopiuj”(to samo działanie ma miejsce w przypadku kombinacji CTRL+C). Przejdźmy teraz do stworzonego przez nas przetwarzania, wybierz etykietę w drzewie „Układy” i w menu głównym wybierz pozycję - „Edycja > Wklej” (CTRL+V). Wynik powinien wyglądać jak na rysunku 1.


Teraz kliknij dwukrotnie, aby otworzyć układ.

Co to jest „układ”

Powiedzmy kilka słów o celu układu.

Układ- składowanie "cegiełki", obszary, z których niczym cegły buduje się dokument tabelaryczny, który zwykliśmy nazywać formą drukowaną. Obszary definiowane są za pomocą przekrojów poziomych i pionowych lub ich przecięć. Nasz układ ma tylko sekcje poziome: „Nagłówek”, „Dostawca”, „Kupujący”, „Nagłówek tabeli”, „Wiersz” (patrz rys. 2). Obszar to zbiór komórek. Podobnie jak w MS Excel, komórki można łączyć, zmieniać kolory tekstu i tła, czcionki itd. Wszystkie ustawienia komórki można przeglądać i zmieniać w oknie właściwości komórki. Możesz wywołać okno ustawień, klikając komórkę prawym przyciskiem myszy i wybierając pozycję menu kontekstowego "Nieruchomości"(ten sam efekt osiąga się za pomocą skrótu klawiaturowego Alt+Enter).


Komórka może zawierać jeden z trzech typów wartości:

  1. tekst– wartość tego typu zostanie wydrukowana w tej samej formie;
  2. parametr– komórka tego typu zawiera nazwę zmiennej, której wartość zostanie wydrukowana.
  3. próbka– komórki tego typu stanowią kombinację pierwszej i drugiej opcji. Komórka może zawierać tekst i zmienne. Aby program mógł odróżnić tekst od zmiennej, zmienne muszą być ujęte w nawiasy kwadratowe: „Dzisiaj jest [data]”.

Ważny! Edytor tabel wyświetla wartości komórek drugiego i trzeciego typu w nawiasach trójkątnych. Na rysunku 2 znajduje się komórka z tekstem "Kupujący"- wygląda jak tekst i znajduje się po prawej stronie komórki „Prezentacja kupującego”- parametr.

Dlaczego to wszystko mówię? Teraz wiesz, w których komórkach możesz łatwo zmienić zawartość, a w których zmiana czegokolwiek jest niepożądana, ponieważ będziesz musiał wprowadzić zmiany w algorytmie drukowania.

Wróćmy teraz do naszego zadania. Stworzyliśmy obróbkę, skopiowaliśmy układ i jesteśmy gotowi zmodyfikować go według własnych upodobań. Najpierw przyjrzyjmy się temu bliżej.

Co zawiera układ do druku

Struktura układu wszystkich dokumentów jest bardzo podobna. Po dokładnym zapoznaniu się z jednym dokumentem możemy zająć się innymi. Pierwsza sekcja "Tytuł". Po wyświetleniu tej sekcji zostanie wygenerowany nagłówek dokumentu składający się z typu, daty i numeru dokumentu. Po nim następują sekcje „Dostawca” i „Kupujący”, w którym program wyświetli odpowiednio informację o dostawcy i odbiorcy. Następna część jest bardziej interesująca "Dodatkowe informacje", które programiści wykorzystują do wyświetlania innych informacji na dokumencie, na przykład informacji o umowie wraz z jej numerem i datą. Osobliwością tej sekcji jest to, że można ją wyświetlać wiele razy i za każdym razem może zawierać inne informacje. Co dokładnie wydrukować i kiedy jest opisane w algorytmie drukowania.

To kończy nagłówek dokumentu. Po nagłówku zwykle następuje sekcja tabelaryczna. Co ciekawe, układ opisuje dwie opcje wyświetlania części tabelarycznej: „Nagłówek tabeli”, „String” i „Miejsca tabeli nagłówka” I „Miejsce ciągu”. W zależności od tego, czy kolumna jest wypełniona, czy nie „Mest” w dokumencie zostanie zastosowana pierwsza lub druga opcja wyświetlania części tabelarycznej dokumentu. Dociekliwy czytelnik prawdopodobnie już się zastanawiał: dlaczego w sekcji wyjściowej nagłówka "Cena" I "Suma" są umieszczone w nawiasach trójkątnych, jak gdyby były zmiennymi? Zgadza się – są to zmienne, w których w zależności od ustawień dokumentu wyświetli się napis "Cena", „Cena z VAT” Lub „Cena bez VAT” i podobnie dla kwoty.

Cóż, poniżej układu znajdują się sekcje, za pomocą których wyświetlane są wyniki dokumentu i podpisu.

Edycja układu

Byłoby miło umieścić logo nad informacjami o dostawcy i nabywcy. Sugeruję edycję obszaru układu "Tytuł". Konieczne jest zmniejszenie rozmiaru komórki zawierającej zawartość „Tekst tytułu”. Komórka ta składa się z kilku połączonych komórek. Zmieniamy rozmiar w następujący sposób:

  1. Skopiujmy ostrożnie zawartość scalonej komórki „Tekst tytułu”(w tym celu należy zaznaczyć komórkę i użyć polecenia „Edycja > Kopiuj” lub skrót klawiaturowy CTRL+C)
  2. Po wybraniu tej komórki należy wybrać pozycję w menu głównym „Tabela – Scal”, co doprowadzi do odwrotnego efektu - scalona komórka zostanie podzielona na wiele oryginalnych komórek
  3. Teraz zaznaczmy mniejszą liczbę komórek - zamiast komórki 2 w kolumnie zaczniemy scalanie od kolumny 6, kończąc na kolumnie 32 - i ponownie kliknij przycisk "Łączyć"
  4. Zespół „Edycja > Wklej” (CTRL+V) wstaw zawartość poprzedniej scalonej komórki do nowej scalonej komórki
  5. Po prostu usuwamy puste komórki w kolumnach 2 – 5 (zaznacz je i naciśnij klawisz Delete)

Teraz możesz wstawić zdjęcie z logo w wolne miejsce. W tym celu należy wybrać pozycję w menu „Stół > Obrazy > Obraz...”. Znajdź na dysku plik z naszym logo i kliknij „ OK" Teraz przenieśmy obraz na wolne miejsce. Wynik powinien wyglądać jak na rysunku 3.


Teraz wyróżnijmy wartości w komórkach pogrubioną czcionką "Dostawca" I "Kupujący"(ryc. 4). Aby to zrobić, znajdź parametr we właściwościach komórki "Czcionka" i ustaw styl na pogrubiony.



I na koniec pozostaje dodać podpis służby bezpieczeństwa. Tę informację zamieścimy w dziale „Podpisy”. Aby uzyskać miejsce na podpisy należy rozwinąć sekcję. Wybierz linię 37, kliknij ją prawym przyciskiem myszy i wybierz "Zwiększać" i tak dalej dwa razy. W jednej z dodanych linijek umieścimy miejsce na podpis służby bezpieczeństwa. W rezultacie wszystko powinno wyglądać jak na rysunku 5.



Ważny! W typowej konfiguracji używane są dwa języki: rosyjski i ukraiński. Układ przechowuje reprezentację tekstu w obu językach (projekt komórki jest ogólny). Aby wejść do dodanej przez nas ukraińskiej wersji napisu należy przejść do właściwości komórki i do pola "Tekst" naciśnij przycisk "szukaj". Otworzy się okno do wprowadzania reprezentacji tekstowych w różnych językach (ryc. 6).

Jak zapewnić druk

Tak więc układ jest gotowy. Teraz czas na pracę nad algorytmem jego wydruku.

Abyśmy mogli bezboleśnie zintegrować ten układ z konfiguracją i z niego skorzystać, stworzone przez nas przetwarzanie musi spełniać następujące warunki:

  1. Musisz utworzyć rekwizyty w przetwarzaniu „Połączenie obiektu” z typem „Dowolne łącze”
  2. Musisz utworzyć procedurę w module przetwarzania „Drukuj() Eksport” bez parametrów i pamiętaj o podaniu słowa kluczowego „ Eksport"

Punkt pierwszy jest potrzebny, aby algorytm drukujący wiedział, skąd wziąć dane do druku, a drugi to sam algorytm drukujący. Spełnijmy te warunki.

W panelu okna wybierz okno do edycji naszego przetwarzania (na rysunku 7). Otworzy się okno z drzewem obiektów do naszej obróbki. Wybór oddziału "Przybory" i naciśnij przycisk "Dodać",. Otworzy się okno właściwości atrybutu. Wprowadźmy nazwę - „Połączenie obiektu” i podaj typ „Dowolne łącze”. Teraz możemy przejść do tekstu modułu wydruku. Zamiast tego nie napiszemy go od zera; skopiujemy go z dokumentu „Sprzedaż towarów i usług”.



Aby to zrobić, znajdź w drzewie konfiguracyjnym wśród dokumentów „Sprzedaż towarów i usług”, kliknij go prawym przyciskiem myszy i wybierz „Moduł otwartego obiektu”(patrz rysunek 8).



Spowoduje to otwarcie modułu dokumentów. Potrzebujemy pierwszej funkcji "Wydrukuj dokument". Jego tekst należy zaznaczyć i skopiować. Bardzo wygodnie jest podświetlić tekst funkcji, gdy jest ona zwinięta, ale musisz także zaznaczyć linię pod nią, w przeciwnym razie ryzykujesz skopiowaniem samego tytułu.

Zobacz rysunek 9, podświetliliśmy tytuł i linię pod nim. Następnie skopiuj go do schowka. Menu główne „Edytuj > Kopiuj” (lub CTRL+C).



Zapamiętaliśmy tekst w schowku, teraz przejdźmy ponownie do przetwarzania „Markowa faktura”. Kliknij przycisk „Akcje > Otwórz moduł obiektu”(ryc. 10).



Wklej skopiowany tekst: „Edycja > Wklej” (lub CTRL+V).

Teraz konieczna jest niewielka edycja skopiowanego tekstu, ponieważ został on napisany w celu wydrukowania dokumentu z samego dokumentu i zbieramy go z przetwarzania zewnętrznego. Aby to zrobić, potrzebujesz:

  1. Zmień nazwę funkcji na „Drukuj”
  2. Zastępować „Ten obiekt” NA „Połączenie obiektu”
  3. Zastępować „Ten obiekt” NA „Połączenie obiektu”
  4. Zastępować „Konto bankowe organizacji” NA „Link do konta bankowego obiektu.Organizacja”
  5. Zastępować „Produkty. Podsumowanie” NA „LinkDoObiektu.Produktów.Razem”

Do tych działań można wykorzystać pozycję menu głównego „Edytuj > Zamień”.

Następnie należy sprawdzić składnię. Jest na to magiczna kombinacja: CTRL+F7. W rezultacie powinien pojawić się następujący komunikat: „Nie znaleziono błędów składniowych!”

Cóż, w ten sposób zakończyliśmy całą brudną robotę. Teraz możemy zapisać wyniki naszej pracy np. w pliku „Faktura markowa.epf”. W tym celu należy uaktywnić okno tego przetwarzania i zapisać je za pomocą menu głównego programu „Plik > Zapisz jako…”. Nazwa pliku przetwarzania – „Faktura markowa.epf”(będzie oferowana domyślnie). Możesz zapisać go tymczasowo na pulpicie, aby później móc go szybciej znaleźć.

Ważny! Jak widzieliście, nie dokonaliśmy żadnych zmian w naszej konfiguracji. W przypadku wszystkich opisanych powyżej działań nie trzeba nawet usuwać go ze wsparcia (to znaczy włączać możliwość zmiany).

Podłączenie przetwarzania zewnętrznego do konfiguracji

Teraz możemy połączyć przetwarzanie z naszą fakturą. Aby to zrobić, uruchom w trybie. Przejdź do menu "Praca", gdzie znajdują się trzy punkty związane z mechanizmem „Obróbka zewnętrzna, druk formularzy, obróbka do wypełnienia części tabelarycznych”. W naszym przypadku potrzebujemy tylko przedmiotu „Formy drukowe zewnętrzne”(patrz rys. 11).



Spowoduje to otwarcie katalogu. „Przetwarzanie zewnętrzne”, z wyborem według rodzaju „formularze drukowane”. Będzie przechowywać listę wszystkich druków zewnętrznych, ze wskazaniem, do jakich dokumentów służą i w jakich przypadkach należy je okazać.



Ważny! Samo przetwarzanie będzie zapisane w bazie danych wraz z innymi danymi, czyli po zapisaniu przetwarzania w bazie nie będzie nam już potrzebny plik zewnętrzny.

Musimy utworzyć nowy element w katalogu. Kliknij Wstawić. Przyjrzyjmy się teraz zawartości elementu. W nazwie zamieściliśmy wymowny krótki opis istoty tej formy, np. „Faktura firmowa”. Jak każdy inny katalog, również i ten zawiera kod. Zostawmy to jako domyślne. Atrybut type jest domyślnie wypełniony i nie można go edytować – „Wydrukuj formularz”. Ostatnim elementem nagłówka jest komentarz. Tutaj jak zwykle jest więcej szczegółów na temat przeznaczenia formularza drukarskiego. Oprócz nagłówka elementy tego katalogu mają dwie zakładki. Druga zawiera informację o ograniczeniu praw dostępu do tego przetwarzania. Ten temat wykracza poza zakres tego artykułu (o tym i innych ustawieniach praw dostępu porozmawiamy bez modyfikowania konfiguracji w jednym z nadchodzących numerów).

Przyjrzyjmy się bliżej pierwszej zakładce.

Zakładka zawiera cztery kolumny. Reprezentacja obiektu– rodzaj dokumentu, dla którego chcielibyśmy zastosować naszą formę drukową,

Wybór– warunek, pod jakim drukowany formularz powinien być dostępny. Przykładowo przeprojektowaliśmy drukowaną formę faktury i przetłumaczyliśmy ją na język angielski. I chcemy dla klientów z folderu "Europejski" zamiast standardowego drukowanego formularza "Faktura sprzedaży" Wydrukowano nowy formularz w języku angielskim. Aby to zrobić, możesz użyć kolumny "Wybór". Przykład takiego doboru pokazano na rysunku 13.



Ale w naszym zadaniu nie są potrzebne żadne selekcje.

Plik formularza do druku– wskazuje plik, z którego należy pobrać układ i procedurę drukowania. W tej komórce musisz wybrać plik, który zapisaliśmy na pulpicie.

Wymienna płyta drukująca– jeśli chcemy, aby stworzony przez nas formularz drukowany zastępował jeden ze standardowych dla tego dokumentu, to musimy wskazać, który należy wymienić. Jeśli nie ma już nic do wyboru, pojawi się dodatkowy drukowany formularz.

W naszym przypadku musimy „Markowa faktura” została wydrukowana zamiast zwykłej faktury. W tym celu wybierz w tym polu "Faktura sprzedaży".

Teraz zapiszmy ten element. I otwórz dowolną fakturę.

Powinno to wyglądać tak, jak pokazano na rysunku 14.



Cóż, na tym kończy się zadanie, które postawiliśmy sobie na początku artykułu. Wierzymy, że udało nam się zobrazować możliwości, jakie otwiera przed użytkownikiem zastosowanie mechanizmu przetwarzania zewnętrznego.

Aby utrwalić swoje umiejętności, możesz spróbować samodzielnie dodać do konfiguracji dodatkowy drukowany formularz „Do magazynu” dla dokumentu „Odbiór towarów i usług”, który powtarzałby zwykłą fakturę, ale bez cen i kwot, a także zawierają pola do wpisania przyjętej ilości.

Rozważmy zapisanie najprostszego drukowanego formularza w 1s 8,1 - 8,2 korzystając z przykładowej konfiguracji Rachunkowość przedsiębiorstwa 2.0. Załóżmy, że musisz napisać zewnętrzny formularz drukowany dla dokumentu: wyświetl podstawowe dane dokumentu, a także część tabelaryczną Dobra: nazewnictwo, cena, ilość i ilość.

Możesz pobrać wynikowy przykład z .

W konfiguratorze Przedsiębiorstwa 1C 8 utwórz przetwarzanie zewnętrzne ( Plik->Nowy->Przetwarzanie zewnętrzne), ustaw nazwę, utwórz wymagane dane dla zewnętrznego formularza drukowanego Odniesienie do obiektu z typem DocumentLink. Sprzedaż towarów i usług.

Tworzenie układu formularza drukowanego

Dodaj nowy układ, pozostaw typ układu dokument arkusza kalkulacyjnego. Na układzie tworzymy trzy obszary: Nagłówek, dane I Piwnica. Można to zrobić wybierając żądaną liczbę linii i klikając menu Tabela->Nazwy->Przypisz nazwę (Ctrl+Shift+N).

Następnie zaczynamy umieszczać tekst i parametry w obszarach. Umieścimy to w nagłówku nazwa drukowanego formularza, numer dokumentu I organizacja, a także narysuj granice nagłówka tabeli i wpisz nazwy kolumn. Tworząc parametr we właściwościach komórki, na zakładce Układ należy ustawić właściwość Pożywny w znaczeniu Parametr.

W pobliżu Dane utwórzmy parametry do wyświetlania wierszy w sekcji tabelarycznej ( Nazewnictwo, cena itp.) i w okolicy Piwnica dla sum według ilości i kwoty.

Programowanie

Przejdźmy do modułu obiektu formularza wydruku Akcje->Otwórz moduł obiektu.

Stwórzmy tam funkcję eksportu, która jest obowiązkowa dla formularzy drukowanych. Foka().

Funkcja Drukuj () Eksport Funkcja końcowa

W funkcji utworzymy zmienną dla dokument arkusza kalkulacyjnego, do którego zostanie wydrukowany formularz, otrzymamy układ I obszary układu.

TabDoc = nowy dokument tabelaryczny; Układ = GetLayout("Układ" ); HeaderArea = Układ.GetArea("Nagłówek" ); AreaData = Layout.GetArea("Dane" ); AreaFooter = Układ.GetArea("Stopka" );

Wypełnijmy parametry kapelusze i przynieś to dokument arkusza kalkulacyjnego.

HeaderArea.Parameters.HeaderText = +LinkToObject.Number; HeaderArea.Parameters.Organization = LinkToObject.Organization; TabDoc.Output(Obszar nagłówka);

Aby uzyskać wiersze tabeli Dobra korzystamy z prośby.

Żądanie = nowe żądanie; Request.SetParameter("Link", ObjectLink); Query.Text = "WYBIERZ | Sprzedaż towarów i usług Nomenklatura towarów, | Kwota sprzedaży towarów i usług, | Sprzedaż Towarów i Usług Cena Towarów, | Sprzedaż towarów i usług Ilość|OD | Dokument Sprzedaż towarów i usług Towary JAK sprzedawać towary i usługi Towary|GDZIE | Sprzedaż towarów i usług Towary Link = &Link";

Szczegóły przekazujemy do parametru request Odniesienie do obiektu, aby wskazać w warunku GDZIE, że potrzebujemy danych jedynie z dokumentu, z którego czerpiemy drukowany formularz. Aby otrzymać przykładowe zapytanie, najpierw je wykonujemy, a następnie wybieramy wiersze.

Wybierz = Query.Run().Wybierz();

Następnie w pętli wypełniamy parametry obszaru Dane dla każdej linii wyboru dokumentu i wyświetlić je w dokument arkusza kalkulacyjnego. Obliczamy również wartości całkowite w pętli wielkie ilości I kwoty. Nie będziemy wypełniać każdego parametru z osobna, lecz skorzystamy z procedury WypełnijPropertyValues((<Приемник>, <Источник>) z kontekst globalny, kopiuje wartości właściwości <Источника> do właściwości <Приемника> . Dopasowanie odbywa się na podstawie nazw właściwości. Więcej na ten temat można przeczytać w asystent składni 1C Enterprise 8.

Suma całkowita = 0; Całkowita ilość = 0; Podczas gdy Selection.Next() Loop FillPropertyValues(AreaData.Parameters,Selection); TotalSum = Suma Całkowita + Suma Próbki; TotalQuantity = Całkowita ilość + Próbka.Ilość; TabDoc.Output(Dane obszaru); Koniec cyklu ;

Wypełnij i wyświetl obszar Piwnica.

AreaFooter.Parameters.TotalQuantity = Całkowita ilość; AreaFooter.Parameters.TotalSum = Suma całkowita; TabDoc.Output(AreaFooter);

Zwrócenie wypełnionego dokumentu arkusza kalkulacyjnego z funkcji Foka().

zwróć TabDoc;

Jeśli korzystasz z jednej ze standardowych konfiguracji, to po zwróceniu dokumentu arkusza kalkulacyjnego 1C wyświetli wydrukowany formularz na ekranie. Do wydruku można także użyć metody arkusza kalkulacyjnego. Pokazywać().

5. Połączenie drukowanego formularza z dokumentem

W konfiguracje standardowe 1C 8 Istnieje katalog do rejestracji druków zewnętrznych Przetwarzanie zewnętrzne. Aby się połączyć, przejdź do menu w trybie korporacyjnym Serwis->Dodatkowe raporty i przetwarzanie->Dodatkowe druki zewnętrzne.

Dodaj nowy element katalogu, załaduj wydrukowany formularz z dysku i wybierz typ dokumentu.

Teraz w dokumencie Sprzedaż towarów i usług Pojawi się nowy plik do druku.

Automatyczna rejestracja drukowanego formularza

Aby mieć pewność, że podczas podłączania formularza drukującego nie będzie konieczne ręczne wybieranie typu dokumentu, możesz skonfigurować automatyczna rejestracja. Aby to zrobić, dodaj nowy układ i wywołaj go Ustawienia_Automatyczna rejestracja(to jedyny sposób) i w pierwszej komórce piszemy Dokumentacja.<Наименование документа> (Lub Katalogi.<Наименование справочника> ).

Teraz przy podłączaniu formularza drukującego zostaniemy poproszeni o jego użycie parametry automatycznej rejestracji.

Jak wiadomo - bez kartki papieru...żaden poważny biznes nie może się bez tego obejść. A kiedy mówimy, że 1C ma jakiś rodzaj dokumentów elektronicznych, od razu pojawia się pytanie, jak wydrukować je w formie papierowej.

Proces drukowania dokumentu elektronicznego 1C nazywa się formularzem drukowym 1C.

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

Istotą drukowanego formularza 1C jest szablon (taki jak dokument Excel), w którym określone są zmienne. Podczas procesu drukowania zmienne są zastępowane tekstem z dokumentu elektronicznego. Szablon jest zwykle przechowywany w konfiguracji.

Problem ze zmianą standardowego drukowanego formularza 1C polega na tym, że zwykle nie zaleca się zmiany standardowej konfiguracji, w przeciwnym razie aktualizacja będzie trudniejsza. Dlatego zaczęto na nowo wymyślać różne metody korzystania z zewnętrznych form drukarskich 1C.

Zewnętrzny formularz drukarski 1C to szablon druku, który jest przechowywany w jakiś sposób oddzielnie od samej konfiguracji.

Jednak to wszystko teoria. Jak stworzyć własny drukowany formularz? Albo jeszcze lepiej, jak wprowadzić zmiany w już istniejącym?

Jak drukowany jest dokument 1C

Aby wydrukować dowolny dokument 1C (który można wydrukować), należy kliknąć przycisk Drukuj w dokumencie. 1C zaproponuje wybranie z listy drukowanego formularza 1C dla tego dokumentu.

Na lewo od przycisku Drukuj zwykle znajduje się przycisk szybkiego dostępu do ostatnio wybranego formularza druku 1C.

Wynik wydruku wygląda następująco. Aby wydrukować go na drukarce, należy umieścić kursor w formularzu druku 1C, nacisnąć Ctrl+P lub przycisk drukarki na panelu przycisków lub w menu Plik/Drukuj.

Ustawienia drukowania (marginesy, orientacja arkusza itp.) znajdują się w menu Ustawienia pliku/strony. Można także skonfigurować ustawienia użytkownika, aby drukować bezpośrednio na drukarce.

Skąd pochodzi ten druk?

Gdzie jest drukowany formularz 1C?

Przejdźmy do konfiguratora. Znajdź wymagany dokument w oknie konfiguracji. Rozbudujmy jego oddział Layouts. To oni po wydrukowaniu zamieniają się w formę drukarską 1C.

To jednak nie wystarczy – podczas drukowania zaproponowano nam wybór znacznie większej liczby opcji. Faktem jest, że wiele układów formularzy drukowanych 1C jest ukrytych w innym miejscu.

Wróćmy na górę okna konfiguracyjnego 1C. Otwórzmy gałąź Ogólne, a następnie gałąź Układy ogólne. To właśnie tam znajduje się większość aranżacji. Dotyczy to zwłaszcza drukowanych formularzy 1C - TORG 12, faktur itp., które są regulowane przez państwo.

Nawiasem mówiąc, nie trudno zauważyć, że zobaczysz kilka układów TORG12 lub Faktura. Dlaczego? Łatwo to wyjaśnić. Przepisy i wymagania zmieniają się okresowo. Nie możemy jednak po prostu zmienić tego samego układu - a jeśli już musimy wydrukować dokument z datą wcześniejszą niż data zmiany. Dlatego sporządza się kilka układów i w zależności od daty dokumentu stosuje się 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 z uprawnieniami administracyjnymi Operacje/Katalogi wybierz katalog przetwarzania zewnętrznego.

Linie tego katalogu, które mają postać Formularz wydruku, dodają opcje wydruku dla dokumentu wskazanego w tabeli Własność formularza drukowego (na zdjęciu jest to Sprzedaż towarów i usług).

Aby to zadziałało, musisz wykonać zewnętrzne przetwarzanie, które ma procedurę Print() w swoim module obiektowym o nazwie Eksport, która organizuje proces drukowania.
Ale wyprzedzamy samych siebie. Przyjrzyjmy się najpierw, jak zorganizowany jest układ formularza drukarskiego 1C.

Układ drukowanego formularza 1C

Układ formularza drukarskiego 1C wygląda następująco.

Jak widać jest on podzielony na bloki. Bloki mogą być poziome (nazwa po lewej stronie) lub pionowe (nazwa u góry).

Sam układ w obecnej postaci 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. Rezultatem jest drukowany formularz.

Aby przypisać obszar należy zaznaczyć kilka wierszy (lub kilka kolumn) i z menu wybrać opcję Tabela/Nazwy/Nadaj nazwę. Aby usunąć, istnieje również polecenie Usuń nazwę.

Nazwa jest potrzebna, aby obszar był dostępny z poziomu kodu programu. Nazwę można przypisać nie tylko do wierszy czy kolumn, ale także po prostu 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ć należy wybrać z menu opcję Tabela/Nazwy/Wyświetl nazwane komórki.

Tak więc dzisiaj dowiedzieliśmy się, że drukowany formularz 1C jest tworzony przy użyciu układu. Układ składa się z bloków – sprytnie zwanych obszarami.

Typowe (powszechnie stosowane) bloki do płyt drukarskich:

  • Nagłówek – wyświetlany jest tytuł dokumentu
  • Wiersz – wyświetlany jest jeden wiersz tabeli, blok ten powtarza się tyle razy, ile wierszy należy wydrukować
  • Stopka – wyświetlana jest końcówka dokumentu.

Teraz musimy uporać się z