Інтернет Windows Android

Додавання зовнішньої друкованої форми в базу. Додавання зовнішньої друкованої форми в базу Зовнішні друковані форми зуп 3.0

В даній статті описано як підключити зовнішню друковану форму в базу 1С на прикладі конфігурації «Управління торгівлею 11.2"

Конфігурація «Управління торгівлею 11.2» - це конфігурація на «КЕРОВАНИХ» формах!

Наша інструкція «показує» як підключити зовнішню друковану форму в інформаційній базі 1С з конфігурацією на «КЕРОВАНИХ» формах а саме:

  • «Бухгалтерія 3.0»
  • «Управління торгівлею 11.2"
  • «Зарплата і управління персоналом 3.1»
  • «Комплексна автоматизація 2.0»
  • «Управління невеликою фірмою 1.6»
  • «Роздріб 2.2»
  • та інші подібні конфігурації.

Для того щоб підключити зовнішню друковану форму в 1С нам знадобиться пройти 11 кроків.

1 - Меню «НДІ і адміністрування» (В інших конфігураціях, як наприклад в Бухгалтерії підприємства 3.0, може називатися просто - «Адміністрування»). 2 - Вибираємо «Друковані форми, звіти і обробки» (див. Рис. Нижче ↓)

3 - Відкриваємо підменю «Звіти та обробки» (В інших конфігураціях, як наприклад в Бухгалтерії підприємства 3.0, такого підміню може не виявитися, тому відразу переходимо до наступного кроку). 4 - Ставимо «галочку» Використання додаткових звітів і обробок. 5 - Переходимо в розділ: Додаткові звіти і обробки. (Див. Рис. Нижче ↓) ()

6 - Натискаємо кнопку «Створити». (Див. Рис. Нижче ↓)

У нових версіях 1С (починаючи з серпня 2016 року) в програму вбудований механізм попередження про небезпеку використання невідомих зовнішніх обробок, які можуть містити «віруси», в більш ранніх версіях програми попередження виникати не буде! Якщо воно виникло, то для підключення зовнішньої друкованої форми буде необхідно - 7 - натиснути кнопку «Продовжити». (Див. Рис. Нижче ↓)

8 - Вибираємо каталог в якому знаходиться обробка. 9 - Виділяємо її (потрібну нам обробку). 10 - Натискаємо кнопку «Відкрити». Або замість дій 9 і 10 можна просто двічі клікнути по потрібній нам зовнішньої друкованій формі у вікні вибору. (Див. Рис. Нижче ↓)

Якщо нам необхідно додати розміщення для додається обробки (Наприклад, це Універсальна форма договору з нашого сайту і нам треба, щоб команда друку цієї форми виводилася в якомусь об'єкті, в якому з самого початку не виводиться) - 11 - натискаємо на рядок розміщення ( «Розмістити в:», може бути «Розміщення:») і вибираємо необхідні довідники і документи. 12 - Завершуємо дії по підключенню зовнішньої друкованої форми натисканням кнопки «Записати і закрити». (Див. Рис. Нижче ↓)

От і все! Вітаємо! Зовнішня друкована форма підключена! А чи всі ми зробили правильно? Перевіримо ...

Перед Записом і закриттям ми звернули увагу що дана зовнішня друкована форма розміщена в документі Реалізація товарів і послуг, а значить можливості друку відкриваємо будь-який документ виду: «Реалізація товарів і послуг». натискаємо кнопку «Друк» і бачимо - з'явилося вікно вибору друкованих форм, серед них присутній - 13 - підключена нами зовнішня друкована форма (див. Рис. Нижче ↓)

Тепер точно - все. Ми сподіваємося що дана стаття була вам корисна.

питання:

Підкажіть, будь ласка, де в 1С ЗУП 3 додати банківські реквізити організації, щоб вони відбивалися в довідках для співробітників? Наприклад, в Довідці про доходи (довільна форма) з довідника співробітники.

відповідь:

Семінар «Лайфхак по 1C ЗУП 3.1»
Розбір 15-ти Лайфхак з обліку в 1с зуп 3.1:

ЧЕК-ЛИСТ з перевірки розрахунку зарплати в 1С ЗУП 3.1
ВІДЕО - щомісячна самостійна перевірка обліку:

Нарахування зарплати в 1С ЗУП 3.1
Покрокова інструкція для початківців:

Справа в тому, що в 1С ЗУП немає необхідності зберігати відомості про розрахунковий рахунок організації. Він не використовується ні в одному документі. Тому дані відомості в програмі ніде не вносяться і в друковану форму їм потрапити нізвідки.

Є два варіанта. Або щоразу вносити ці відомості вручну в сформовану форму, або внести ці відомості один раз в макет друкованої форми (Розділ меню Адміністрування - Друковані форми, звіти і обробки - Макети друкованих форм).

Зручніше скористатися другим варіантом.

У переліку макетів необхідно знайти макет потрібної друкованої форми (назва макета збігається з назвою самої форми) і натиснути команду Змінити. У вікні, необхідно внести необхідні виправлення і записати їх.

Після збереження макета ці зміни будуть кожен раз виводитися при формуванні даного звіту по будь-якому співробітникові.

Щоб дізнатися першими про нові публікації підписуйтесь на оновлення мого блогу:

заходимо в сервіс->Додаткові звіти і обробки->Додаткові зовнішні друковані форми.

Відкрилася форма списку довідника з зовнішніми друкованими формами. У верхньому меню списку натискаємо Додати. З'являється форма створення елемента довідника.

Натискаємо кнопку Відкрити і вибираємо файл з потрібною друкованої формою. Після цього при необхідності задаємо потрібне ім'я (поле Найменування).

Якщо друкована форма містить параметри автореєстрації, то спливе повідомлення з цього приводу. натискаємо Так.Якщо ж цього не буде, то необхідно самим вказати до якого документу буде прив'язана дана форма.Для цього треба додати рядок в табличну частину "Належність друкованої форми", де в поле "Подання об'єкта" вибрати той тип документа, до якого ми прив'язуємо форму . Так як в нашому прикладі це акт списання матеріалів, то вибираємо документ Вимога-накладна.

Після цього заходимо в будь-який документ Вимога-накладна, натискаємо Друк, і вибираємо тільки що додану форму.

Для БП 3.0, ЗУП 3.0, УТ 11, КА 2.0, ERP 2.0.

Для демонстрації додавання друкарської форми в керованому інтерфейсі покажу додавання зовнішньої форми рахунки на оплату до однойменного документу в Бухгалтерії 3.0.

Заходимо в відповідний розділ програми:


Необхідно, щоб був включений ознака використання зовнішніх звітів і обробок, переходимо по посиланню в список зовнішніх об'єктів:

У списку, натискаємо створити:


У діалоговому вікні вибираємо потрібний файл:


Заповнилася картка зовнішнього об'єкта: в розміщенні бачимо тип об'єкта бази, до якого буде прив'язана форма і трохи нижче її назва:


Запишемо і закриємо форму створеного зовнішнього об'єкта.

Тепер зайдемо в будь-який документ Рахунок на оплату покупцеві і виведемо меню друку:


Добрий день.

Сьогодні хочу розповісти Вам як створювати зовнішні друковані форми для конфігурації "Зарплата і Управління Персоналом 3.0". Як відомо в ЗУП 3.0 використана бібліотека стандратною підсистем, а значить струтура обробки виглядає зовсім по іншому. Коли мені вперше довелося робити друковану форму для БСП в керованих формах (тоді це була УТ 11), першим ділом я поліз на диск ІТС з метою знайти там докладну документацію, про те які експортні процедури, з якими параметрами повинні бути в обрабтке і як воно все працює. Тут ІТС мене трохи розчарував, тому що там все розказано, про те, як процедури повинні виглядати в модулі документа, а у зовнішній друкованій формі параметри процедури "друк" переставлені місцями, тому довелося шукати інформацію в інших джерелах і колупати підсистему зсередини.

Ну що ж, почнемо. Те, що у нас вийде в кінці, цілком можна буде використовувати як шаблон.

крок перший - очевидний. Створюємо нову обробку. Дамо її довільне ім'я: "ОбразецПечаті".

Крок другий. Створимо макет. Оскільки у нас тестовий приклад, то макет я створю найпростіший, без єдиного параметра.

крок третій - найцікавіший. Відкриваємо модуль об'єкта і починаємо програмувати. Згідно БСП при реєстрації зовнішньої обробки, вона (обробка) повинна повідомити, що вона вміє, до яких об'єктів вона прив'язана, як вона називається. На питання, що вона вміє обробка повинна повернути список команд - це таблиця значень. У нашому випадку обробка вміє виводити одну друковану форму, тому команда буде всього одна. Для формування таблиці значень визначимо пару процедур, які у всіх зовнішніх друкованих формах завжди будуть однаковими:

// процедура, яка готує структуру таблиці команд

Функція ПолучітьТабліцуКоманд ()

// Створимо порожню таблицю команд і колонки в ній
Команди \u003d Новий ТабліцаЗначеній;

// Як буде виглядати опис друкованої форми для користувача
Команди.Колонкі.Добавіть ( "Подання", Новий ОпісаніеТіпов ( "Рядок"));

// Ім'я нашого макета, що б могли відрізнити викликану команду в обробці друку
Команди.Колонкі.Добавіть ( "Ідентифікатор", Новий ОпісаніеТіпов ( "Рядок"));

// Тут задається, як повинна викликатися команда обробки
// Можливі варіанти:
// - ОткритіеФорми - в цьому випадку в колонці ідентифікатор має бути зазначено ім'я форми, яке повинна буде відкрити система
// - ВизовКліентскогоМетода - викликати клієнтську експортну процедуру з модуля форми обробки
// - ВизовСерверногоМетода - викликати серверну експортну процедуру з модуля об'єкта обробки
Команди.Колонкі.Добавіть ( "Використання", Новий ОпісаніеТіпов ( "Рядок"));

// Наступний параметр вказує, чи потрібно показувати сповіщення при початку і завершення роботи обробки. Не має сенсу при відкритті форми
Команди.Колонкі.Добавіть ( "ПоказиватьОповещеніе", Новий ОпісаніеТіпов ( "Булево"));

// Для друкованої форми повинен містити рядок ПечатьMXL
Команди.Колонкі.Добавіть ( "Модифікатор", Новий ОпісаніеТіпов ( "Рядок"));

Повернення Команди;

КонецФункціі

// Створює в таблиці команд новий рядок

Функція ДобавітьКоманду (ТабліцаКоманд, Подання, Ідентифікатор, Використання, ПоказиватьОповещеніе \u003d Брехня, Модифікатор \u003d "")
НоваяКоманда \u003d ТабліцаКоманд.Добавіть ();
НоваяКоманда. Подання \u003d подання;
НоваяКоманда. Ідентифікатор \u003d Ідентифікатор;
НоваяКоманда. Використання \u003d Використання;
НоваяКоманда. ПоказиватьОповещеніе \u003d ПоказиватьОповещеніе;
НоваяКоманда. Модифікатор \u003d Модифікатор;
КонецФункціі

Функція СведеніяОВнешнейОбработке () Експорт
ПараметриРегістраціі \u003d Новий Структура;
МассівНазначеній \u003d Новий Масив;
МассівНазначеній.Добавіть ( "Документ.ПріемНаРаботу");
ПараметриРегістраціі.Вставіть ( "Вид", "ПечатнаяФорма"); // може бути - ЗаполненіеОб'екта, ДополнітельнийОтчет, СозданіеСвязаннихОб'ектов ...
ПараметриРегістраціі.Вставіть ( "Призначення", МассівНазначеній);
ПараметриРегістраціі.Вставіть ( "Найменування", "Привіт світ"); // ім'я під яким обробка буде зареєстрована в довіднику зовнішніх обробок
ПараметриРегістраціі.Вставіть ( "Версія", "1.0");
ПараметриРегістраціі.Вставіть ( "БезопаснийРежім", ІСТИНА);
ПараметриРегістраціі.Вставіть ( "Інформація", "Зразок"); // так буде виглядати опис печ.форми для користувача
ТабліцаКоманд \u003d ПолучітьТабліцуКоманд ();
ДобавітьКоманду (ТабліцаКоманд, "Привіт світ", "Макет", "ВизовСерверногоМетода", Істина, "ПечатьMXL");
ПараметриРегістраціі.Вставіть ( "Команди", ТабліцаКоманд);
Повернення ПараметриРегістраціі;
КонецФункціі

Власне в ній і доведеться Вам колупати кожен раз, коли Ви створюєте нову зовнішню друковану форму. З шматка коду видно, що прив'язувати її ми будемо до документа "Прийом на роботу", відповідно Ви пишете своє. Називатися друкована форма у нас буде "Привіт світ", знову таки міняємо на своє. Ось тут в шаблоні зручно буде написати явну білеберду, щоб вона впадала в очі, щоб не забути її виправити потім, на мій поглядом "Привіт світ" підходить як не можна до речі. Версія - це для себе, пишіть що хочете, вона буде відображатися у формі елемента довідника зовнішніх обробок. Слово "ЗРАЗОК" - теж видно тільки в формі довідника друкованих форм. Далі додаємо команду, ось тут другим параметрів передається ім'я кнопки, це те, що побачить користувач в документі в пункті меню "друк".

Цього набору з трьох процедур достатньо, щоб обробка додавалася в довідник зовнішніх обробок, весь цей заплутаний код - сервісний і до алгоритму друку не має відношення. По суті, автори БСП змусили нас так складно програмувати, якщо раніше ви відразу приступали до написання функції "Друк", то тепер при написанні обробки з нуля, а не за зразком, Ви витратите час на сервіс. Раніше параметри реєстрації були необов'язковими і вказувалися в макеті обробки, тепер все виглядає набагато серйозніше. Перше враження, коли я побачив це - круто, стільки можливостей, все уніфіковано ... а на практиці завжди створюю всього одну команду в одній обаботке, і чіпляю її до одного з документом. Тобто за фактом мені потрібно два рядки для реєстрації: ім'я об'єкта, назва кнопки. А тут все так ... ну да ладно, не мені судити.

крок четвертий - не менш цікавий.

Функція ДРУК?

А ось і ні, тепер не функція, а процедура.

А як повернути макет?

Послати його в функцію глобального модуля підсистеми друку.

Окай

Ось текст цієї процедури:

Процедура Друк (МассівОб'ектов, КоллекціяПечатнихФорм, Об'ектиПечаті, ПараметриВивода) Експорт
Якщо УправленіеПечатью.НужноПечататьМакет (КоллекціяПечатнихФорм, "Макет") Тоді
УправленіеПечатью.ВивестіТаблічнийДокументВКоллекцію (КоллекціяПечатнихФорм,
"Макет", "Макет",
СформіроватьТабДокумнтОбразца (МассівОб'ектов, Об'ектиПечаті));
КонецЕсли;
КонецПроцедури

Тепер разясненія. У першому рядку процедури йде трохи непоняное умова. Справа в тому, що при виклику процедури друку система передає нам таблицю значень, в якій зазначено, що нам треба надрукувати. Посути функція УправленіеПечатью.НужноПечататьМакет (...) перевіряє наявність в таблиці значень рядка в якій в колонці "ІмяВРЕГ" рядки з назвою макета. На практиці в більшості випадків річ марна, тому що наша обробка буде вміти формувати тільки одну друковану форму. Тобто цю умову можна опустити і на працездатність це не вплине.

Далі УправленіеПечатью.ВивестіТаблічнийДокументВКоллекцію (...) - вона то якраз і додає табличний макет куди потрібно, щоб потім вивести його на екран. Якщо Вам потрібно показати свій табличний документ в своєму вікні (не в типовому), то чи не викликайте цю процедуру, а просто напишіть тут свій код.

Ще хочу додати, що процедура Друк виконується на клієнті і при необхідності Ви можете тут відкрити довільну форму, з метою запитати додаткову інформацію у користувача необхідну для друку.

Далі СформіроватьТабДокумнтОбразца (...) - це функція, яку нам належить написати в модулі обробки і яка повертає табличний документ. У 100 з 100 випадків вона буде серверна, тому що нам треба отримати значення реквізитів з об'єктів перерахованих в параметрі "МассівОб'ектов".

крок п'ятий - формуємо макет.

УРА, ми нарешті почнемо алгоритму формування макета, отримання даних і т.д.

Але в нашому зразку ми вчинимо прозаїчно і тут навіть коментувати не буду)))

Функція СформіроватьТабДокумнтОбразца (МассівОб'ектов, Об'ектиПечаті)
табДок \u003d Новий ТаблічнийДокумент;
макет \u003d ПолучітьМакет ( "Макет");

ОбластьШапка \u003d Макет.ПолучітьОбласть ( "Шапка");
табДок.Вивесті (областьШапка);

Повернення табДок;
КонецФункціі

Ось власне і все, спасибі за увагу

Розглянемо написання найпростішої друкованої форми в 1с 8.1 - 8.2 на прикладі конфігурації Бухгалтерія підприємства 2.0. Припустимо потрібно написати зовнішню друковану форму до документа: вивести основні дані документа, а так само з табличній частині Товари: Номенклатуру, ціну, кількість і суму.

Завантажити вийшов приклад можна по.

У конфігураторі 1C Підприємство 8 створюємо зовнішню обробку ( Файл-\u003e Новий-\u003e Зовнішня обробка), Задаємо ім'я, створюємо обов'язковий для зовнішньої друкованої форми реквізит СсилкаНаОб'ект з типом ДокументСсилка.РеалізаціяТоваровУслуг.

Створення макета друкарської форми

додаємо новий макет, Тип макета залишаємо табличний документ. На макеті створюємо три області: Шапка, Дані і підвал. Зробити це можна виділивши потрібну кількість рядків і натиснувши меню Табліца-\u003e імена-\u003e Призначити ім'я (Ctrl + Shift + N).

Після цього починаємо розташовувати в областях та внесіть необхідні. В шапку виведемо назва друкованої форми, номер документа і організацію, А також намалюємо кордону шапки таблиці і напишемо імена колонок. При створенні параметра у властивостях осередку, на закладці макет слід встановити властивість заповнення в значення параметр.

В області дані створимо параметри для виведення рядків табличної частини ( Номенклатура, ціна і т.д.), а в області підвал для підсумків за кількістю і сумою.

програмування

Зайдемо в модуль об'єкта друкованої форми Дії-\u003e Відкрити модуль об'єкта.

Створимо там обов'язкову для друкованих форм експортну функцію Печатка().

функція Друк () експорт КонецФункціі

У функції створимо змінну для табличного документа, В який буде виводиться друкована форма, отримаємо макет і області макета.

ТабДок \u003d новий ТаблічнийДокумент; Макет \u003d ПолучітьМакет ( "Макет"); ОбластьШапкі \u003d Макет.ПолучітьОбласть ( "Шапка"); ОбластьДанние \u003d Макет.ПолучітьОбласть ( "Дані"); ОбластьПодвал \u003d Макет.ПолучітьОбласть ( "Підвал");

заповнимо параметри шапки і виведемо її в табличний документ.

ОбластьШапкі.Параметри.ТекстЗаголовка \u003d + СсилкаНаОб'ект.Номер; ОбластьШапкі.Параметри.Організація \u003d СсилкаНаОб'ект.Організація; ТабДок.Вивесті (ОбластьШапкі);

Для того щоб отримати рядки табличній частини Товари використовуємо запит.

Запит \u003d новий запит; Запрос.УстановітьПараметр ( "Посилання", СсилкаНаОб'ект); Запрос.Текст \u003d "ВИБРАТИ | РеалізаціяТоваровУслугТовари.Номенклатура, | РеалізаціяТоваровУслугТовари.Сумма, | РеалізаціяТоваровУслугТовари.Цена, | РеалізаціяТоваровУслугТовари.Колічество | З | Документ.РеалізаціяТоваровУслуг.Товари ЯК РеалізаціяТоваровУслугТовари | ДЕ | РеалізаціяТоваровУслугТовари.Ссилка \u003d & Посилання ";

У параметр запиту передаємо реквізит СсилкаНаОб'ект, Що б вказати в умови ДЕ, Що нам потрібні дані тільки того документа з якого виводимо друковану форму. Щоб отримати вибірку запиту, спочатку виконуємо його, а потім вибираємо рядки.

Вибірка \u003d Запрос.Виполніть (). Вибрати ();

Далі в циклі заповнюємо параметри області дані для кожного рядка вибірки документа і виводимо їх в табличний документ. Також в циклі вважаємо підсумкові значення кількості і суми. Заповнювати кожен параметр окремо ми не будемо, а використовуємо процедуру ЗаполнітьЗначеніяСвойств ((<Приемник>, <Источник>) з глобального контексту, Вона копіює значення властивостей <Источника> в властивості <Приемника> . Зіставлення проводиться по іменах властивостей. Детальніше про це можна прочитати в синтаксис-помічника 1С Підприємство 8.

ІтогоСумма \u003d 0; ІтогоКолічество \u003d 0; Поки Виборка.Следующій () Цикл ЗаполнітьЗначеніяСвойств (ОбластьДанние.Параметри, Вибірка); ІтогоСумма \u003d ІтогоСумма + Виборка.Сумма; ІтогоКолічество \u003d ІтогоКолічество + Виборка.Колічество; ТабДок.Вивесті (ОбластьДанние); КонецЦікла;

Заповнимо і виведемо область підвал.

ОбластьПодвал.Параметри.ІтогоКолічество \u003d ІтогоКолічество; ОбластьПодвал.Параметри.ІтогоСумма \u003d ІтогоСумма; ТабДок.Вивесті (ОбластьПодвал);

Повертаємо заповнений табличний документ з функції Печатка().

повернення ТабДок;

Якщо ви використовуєте одну з типових конфігурацій, то після повернення табличного документа саме виведе на екран друковану форму. Так само для виведення можна використовувати метод табличного документа Показати ().

5. Підключення друкованої форми до документа

В типових конфігураціях 1С 8 для реєстрації зовнішніх друкованих форм існує довідник ВнешніеОбработкі. Для підключення слід в режимі підприємства зайти в меню Сервіс\u003e Додаткові звіти і обробки-\u003e Додаткові зовнішні друковані форми.

Додаємо новий елемент довідника, завантажуємо друковану форму з диска і вибираємо тип документа.

Тепер в документі Реалізація товарів і послуг з'явиться нова друкована форма.

Автореєстрація друкованої форми

Для того щоб при підключенні друкованої форми не потрібно було вибирати тип документа вручну можна налаштувати автореєстрацію. Для цього додаємо новий макет і називаємо його Параметри_Авторегістраціі(Тільки так) і в першій його осередку пишемо Документи.<Наименование документа> (або Довідники.<Наименование справочника> ).

Тепер при підключенні друкованої форми нам буде запропоновано скористатися параметрами автореєстрації.