Okna.  Wirusy.  Laptopy.  Internet.  Biuro.  Narzędzia.  Kierowcy

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. Opis 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 otrzymania.

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

  • Nomenklatura;
  • Ilość;
  • Cena;
  • Suma;
  • A także cena towaru z aktualnej daty (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 go po prostu „PrintedForm”; 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.

Dodajmy 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 Bliższe dane 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, a następnie znajdź tam element Odbiór towarów i usług, zaznacz pole obok niego i kliknij OK.

Zapiszmy plik przetwarzania zewnętrznego w formacie dysk twardy, w tym celu użyjemy 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 menu kontekstowe ustęp Usuwać. Aby dodać nowa linia do układu wybierz 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 dla nagłówka drukowanego formularza. 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 wydrukowania na standardowym formularzu orientacja krajobrazowa liść.

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 Właściwoś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 innych tekstów, 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 Towary. 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 Towary. W przypadku tego obszaru potrzebujemy tylko jednej linii układu. Aby wyświetlić wszystkie wiersze części tabelarycznej w formie drukowanej, wypełnimy i wydrukujemy 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 jest najważniejszy etap utworzenie 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ą

zauważ to tę funkcję jest wymagany 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 dla obszaru układu, istnieje specjalna kolekcja o nazwie - Opcje. Od czego przez „.” możesz uzyskać dowolny parametr. W tytule podajemy tekst: „ Formularz do druku", a także 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 drukowanego dokumentu.

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 Towary 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 dobry projektant zapytania, co pozwala na 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 kliknij prawy przycisk myszy. W otwartym menu kontekstowym wybierz element Konstruktor żądań, bardzo nam 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 Towary 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 Dokumenty i znajdź dokument Odbiór towarów i usług, otwórzmy to i znajdźmy część tabelaryczna Towary, 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 stolik CenyNomenklatura.SkrótNajnowsze, przeciągnij go również do kolumny Stoły. Te dwie tabele wystarczą do naszego zapytania.

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 zapytania jest już gotowa, przejdźmy teraz do warunków. Potrzebujemy danych tabelarycznych Towary 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 zapytaniach 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 „&”, ale in w tym przypadku nie ma potrzeby tego robić, 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ą oraz warunkiem dotyczącym rodzaju cen (ceny posiadające ściśle określony rodzaj ceny to te 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 - Nomenklatura cenSliceLast. 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 Towary i ceny tylko wtedy, gdy są dostępne w bieżącym dniu dla typu ceny dokumentu. Zatem dane tabelaryczne Towary 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ługiItems.Nomenklatura |

Wykonanie żądania

Przekażmy do żądania niezbędne parametry; w tym celu skorzystamy z metody request UstawParametr(<ИмяПараметра>,<Значение>). Aby otrzymać aktualna data skorzystajmy 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ść; Piwnica TabDoc.Output(Dane obszaru); Koniec cyklu;

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 zatem 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, należy we wszystkich drukach zewnętrznych 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 Dokumenty.(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 Przedsiębiorstwo;
  • Przejdź do menu Serwis -> Dodatkowe raporty i przetwarzanie -> Dodatkowe zewnętrzne formularze drukowane;
  • Kliknij 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.

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 dokument elektroniczny 1C nazywa się drukowanym formularzem 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 (np Dokument Excela), 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 tak jest typowa konfiguracja Nie zaleca się jego zmiany, 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 szybki dostęp do ostatnio wybranego drukowanego formularza 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 ta forma druku?

Gdzie znajduje się 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 szczególnie 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! Jest też 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 oraz liczbę powtórzeń każdego bloku. W rezultacie powstaje 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

Odbywa się to zgodnie ze standardowym układem drukowanego formularza wbudowanym w aplikację przez programistów (jest to tzw. układ „dostarczony”).

W razie potrzeby możesz zmienić układ standardowy i w przyszłości wydrukować dokument w oparciu o swój osobisty („niestandardowy”) układ. Aby edytować układ drukowanego formularza, istnieje mechanizm przesyłania do komputer lokalny. Edycja układu odbywa się w lokalnej wersji aplikacji systemu 1C:Enterprise (w szczególności można skorzystać bezpłatna aplikacja 1C:Enterprise - Praca z plikami).


Aby zmienić układ wydruku:




Edycja układu drukowanego formularza jest zakończona; podczas drukowania dokumentu zostanie zastosowany układ, w którym dokonano zmian.

Jeśli chcesz powrócić do poprzedniego układu wydruku, kliknij przycisk Użyj standardowego układu. W takim przypadku edytowany układ nadal będzie obecny na serwerze i można go ponownie włączyć naciskając przycisk Zmiana.

Życzymy miłej pracy!

Jak wstawić logo firmy do układu drukowanego formularza?

Oto konkretny przykład edycji układu drukowanego formularza Faktury do zapłaty, czyli przyjrzyjmy się jak wstawić do niego obrazek, na przykład logo firmy (obrazek ten trzeba najpierw przygotować i zapisać jako plik graficzny na przykład w formacie PNG lub jpg).


Dzięki temu teraz faktury, które przygotujesz do przekazania kontrahentom, będą zawierały logo Twojej firmy. Aby dodać logo do innych dokumentów, należy powtórzyć opisane kroki dla odpowiednich druków tych dokumentów.

Życzymy miłej pracy!

2016-12-01T12:56:42+00:00

W 1C: Księgowość 8.3 (wydanie 3.0) pojawiła się wspaniała okazja. Teraz użytkownik w trybie 1C:Enterprise może z łatwością edytować układy drukowanych formularzy.

Kiedy może się to przydać? Cóż, na przykład istnieje drukowany formularz, powiedzmy „Faktura na żądanie”, w którym za każdym razem, gdy go drukujesz, wprowadzasz pewne zmiany. Zmień czcionkę, wydrukuj ponownie pola, usuń niepotrzebne rzeczy.

Więc po co to robić za każdym razem?! Jeśli uda nam się raz dokonać tych zmian w układzie drukowanego formularza, program zawsze wyprowadzi wydrukowany formularz w takiej formie, w jakiej tego potrzebujemy.

Poniżej krok po kroku pokażę jak zmienić wygląd drukowanego formularza „Zapotrzebowanie-faktura”. Dodamy tam nowe pole: „Odpowiedzialny”.

1. Utwórz formularz do wydruku (kliknij przycisk „Drukuj”) i kliknij przycisk „Więcej” -> „Zmień układ” w formularzu, który się otworzy (po prawej stronie):

2. Otworzy się układ do wydruku. Wprowadź w nim niezbędne zmiany, ale uważaj, aby tak nie wyszło. Od razu powiem, że czcionki i rozmiary pól można zmieniać absolutnie, ale usunięcie istniejących pól (zwłaszcza tych w<угловых скобках>) nie warto. Jeśli chcesz ukryć pole w<угловых скобках>, po prostu uczyń go niewidocznym (kolor lub rozmiar), ale powinien pozostać w formularzu, ponieważ jest to wymagane przez kod programu 1C.

3. Dodamy pole „Odpowiedzialny” i klikniemy przycisk „Zarejestruj i zamknij”.

4. Forma drukowa została przekształcona w nową formę, tak jak chcieliśmy.

Jeśli po zmianie formy druku przestanie działać, to Ty.

Z poważaniem, Włodzimierz Milkin(nauczyciel i programista).

Zewnętrzne formularze do druku regularna aplikacja(dla konfiguracji Enterprise Accounting 2.0, Salary and Human Resources Management 2.5, Trade Management 10.3 itp.) są tworzone w znacznie prostszy sposób w porównaniu z zewnętrznymi drukowanymi formularzami dla zarządzanej aplikacji.

Po co tworzyć zewnętrzne formy drukowe?

Zaletą zewnętrznej płyty drukarskiej w porównaniu z konwencjonalną jest to, że pozwala ona uniknąć zmian konfiguracyjnych baza informacyjna. Oznacza to, że proces kolejnych aktualizacji konfiguracji nie będzie skomplikowany. Ponadto zewnętrzne formularze drukowane wraz z zewnętrznym przetwarzaniem są jedyną opcją rozszerzenia funkcjonalności podstawowych wersji konfiguracji 1C, których w ogóle nie można zmienić.

I ostatnia rzecz: zewnętrzne formularze drukowane są łatwiejsze do replikowania, ponieważ reprezentują osobny plik, które można szybko połączyć z bazą informacji.

Jak utworzyć zewnętrzny formularz drukowy

Przyjrzyjmy się krok po kroku procesowi tworzenia zewnętrznego drukowanego formularza 1C:

  1. Tworzymy przetwarzanie zewnętrzne. W tym celu należy wybrać pozycję menu w konfiguratorze Plik - Nowy... A w oknie dialogowym, które zostanie otwarte - Przetwarzanie zewnętrzne.
  2. Utwórz atrybut przetwarzania zewnętrznego o nazwie Odniesienie do obiektu. Typ atrybutu to odnośnik do katalogu lub dokumentu, dla którego tworzony jest zewnętrzny formularz drukowany. Tę samą formę można zastosować dla kilku typów obiektów, w tym przypadku typu danych atrybutu Odniesienie do obiektu musi być złożony.
  3. W module obiektowym tworzymy funkcję eksportu o nazwie Foka, który powinien zwrócić gotowy, wydrukowany dokument arkusza kalkulacyjnego.

Często zdarza się, że trzeba nieco dostosować układ istniejącego drukowanego formularza i uczynić go zewnętrznym. Na przykład dodaj do układu pieczęć organizacji i podpis menedżera.

Stworzenie zewnętrznej formy drukowej na podstawie standardowej z niewielkimi zmianami

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

  1. Tworzenie przetwarzania zewnętrznego za pomocą rekwizytów Odniesienie do obiektu, typ danych - DocumentLink. Sprzedaż towarów i usług.
  2. Znajdujemy układ standardowego drukowanego formularza UPD (znajduje się on w układach ogólnych) i kopiujemy (przeciągamy) go do zewnętrznego okna przetwarzania. Układy innych druków mogą znajdować się w samych dokumentach lub księgach informacyjnych.
  3. Wprowadzamy niezbędne zmiany w skopiowanym układzie drukowanego formularza.
  4. Znajdujemy funkcję odpowiedzialną za generowanie drukowanego formularza. Funkcja ta powinna zwrócić wygenerowany dokument arkusza kalkulacyjnego. Skopiuj jego zawartość do funkcji eksportu Foka() w module obiektu przetwarzania zewnętrznego.
    W naszym przypadku jest to funkcja Eksport PrintUniversalTransferDocument(). z modułu obiektu dokumentu Sprzedaż towarów i usług.
    Jeżeli zmiany układu były znaczne (zmieniły się obszary i/lub parametry), należy dokonać odpowiednich korekt funkcji drukowania.
  5. Próbujemy zaoszczędzić przetwarzanie zewnętrzne. Jednak prawdopodobnie zostaną wyświetlone komunikaty o błędach wskazujące, że brakuje niektórych procedur i funkcji wywoływanych przez funkcję drukowania. Te funkcje i procedury należy znaleźć w dokumencie źródłowym, a także skopiować do modułu obiektu zewnętrznego przetwarzania. Lub popraw link, jeśli oryginalna funkcja lub procedurę wywozu.
  6. (fakultatywny). Aby przetestować zewnętrzną formę drukową, wygodnie jest przygotować formę, na której można umieścić rekwizyty Odniesienie do obiektu. Przycisk Wykonać musi wywołać procedurę Foka() z modułu obiektowego. Aby to zrobić, zdarzeniu kliknięcia przycisku przypisana jest procedura:


Jeśli zauważysz błąd, zaznacz fragment tekstu i naciśnij Ctrl+Enter
UDZIAŁ: