Контакти

1с підприємство 7.7 друкована форма. Копіювання зовнішнього звіту в каталог інформаційної бази

Питання про необхідність роздрукування в 1С великої кількостідокументів піднімався не раз, і в мережі можна знайти чималу кількість обробок, присвячених вирішенню даної проблеми. Дане питання не так давно встав і переді мною в наступній постановці: «Мені потрібна обробка, що дозволяє роздрукувати багато накладних, печатна форма- "ТОРГ-12 (форма 2011р.)" (Є у нас така зовнішня друкована форма - прим. Автора) ».

Не мудруючи лукаво, беру за основу ту саму зовнішню друковану форму, вішаю на діалогове вікно всякі красивості для відбору накладних, підправляти код і, вуаля - все готово! Далі - більше: «А ще мені потрібно масово роздруковувати ці накладні, але в друкованій формі" ТОРГ-12 (Пром) "(є у нас і така зовнішня друкована форма - прим. Автора). Тут вже потрібно було щось робити більш універсальне на випадок, якщо через деякий час знадобляться знову або нові документи, або нові друковані форми.

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

  • - оголошуємо експортними змінну «Докум» і процедуру «Друк ()»;
  • - рішуче видаляємо процедуру «відкриття ()»;
  • - вихідну таблицю копіюємо з обробки в файл «.mxl» (оскільки клас не побачить її всередині обробки, на те він і клас) і, відповідно, замінюємо вираз типу «Табліца.ІсходнаяТабліца (« Таблиця »);» на вираз типу «Табліца.ІсходнаяТабліца (глКаталогПечФорм +« Торг12.mxl »);»;
  • - щоб отримати одну онучу з купою документів, а не купу онуч по одному документу, прибираємо оголошення типу «Таблиця = СоздатьОб'ект (« Таблиця »);» і «Табліца.ІсходнаяТабліца (глКаталогПечФорм +« Торг12.mxl »);» з процедури «Друк ()» і вставляємо його в модуль обробки (додаємо в кінець модуля). Відповідно, змінну «Таблиця» оголошуємо змінної модуля;
  • - також прибираємо з процедури «Друк ()» вираз типу «Табліца.Показать ()», замість цього додаємо експортну процедуру «Показати ()» з єдиною рядком: «Табліца.Показать ();". Цей метод будемо викликати після циклу з методом «Друк ();
  • - для того щоб новий документдрукувався на новій сторінці, В кінці процедури «Друк ()» додаємо рядок типу «Табліца.НоваяСтраніца ()»;
  • - перевіряємо модуль на наявність рядків типу «Табліца.ПовторятьПріПечатіСтрокі ();". Інакше буде сюрприз!
  • - ну і природно, передбачити завантаження зовнішньої компоненти 1срр.dll (якщо вона у вас до сих пір не передбачена) і описати класи в defcls.prm.

В результаті ми маємо:

  1. Обробка є універсальною - її можна впровадити в будь-яку конфігурацію.
  2. За допомогою прикладу, наведеного в даній обробці, можна роздрукувати будь-який документ у будь-який внутрішній або зовнішній друкованій формі. При виході у світ нової друкованої форми вона елементарно додається в обробку.
  3. Код обробки став до межі коротким і зрозумілим (і містить близько сотні рядків). Для додавання нового документа потрібно додати лише кілька рядків коду в кінець модуля шляхом копі-паста. Щоб додати новий друкованої форми до вже існуючого документу потрібно додати всього один рядок коду.
  4. Для непосвячених в ООП це відмінний приклад, що таке класи і як їх застосовувати на практиці.

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

Недоліки: я вже написав з приводу рядків коду типу «Табліца.ПовторятьПріПечатіСтрокі ();", за допомогою яких виводиться на наступну сторінку заголовок табличній частині документа. Оскільки у мене переважна більшість документів містилося на одній сторінці, я закоментувавши ці рядки і прибрав колонтитули з друкованих форм. Якщо кому-небудь знадобиться виводити ці рядки - обробку треба буде доопрацювати. Але це недолік конкретної реалізації, а не самої ідеї.

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

Як самостійно підключити до конфігурації зовнішні звіти та зовнішні друковані форми в програмі 1С: Підприємство 7.7

Копіювання зовнішнього звіту в каталог інформаційної бази.

Файл зовнішнього звіту має розширення "ert". Це безпосередньо зовнішній звіт. Зазвичай до файлу зовнішнього звіту додається файл опису з розширенням "efd". Цей файл необхідний для того, щоб програма відразу "знайшла" звіт і не було потрібно його підключати вручну. Наприклад, файл зовнішнього звіту називається "ЖурналУчетаЗаявок.ert", тоді файл опису буде називатися "ЖурналУчетаЗаявок.efd". Ці два файли (або ж один, якщо файлу з розширенням efd немає) необхідно скопіювати в каталог робочої бази. Для цього спочатку необхідно знайти каталог робочої бази. Після цього необхідно знайти в каталозі робочої бази каталог "ExtForms".
Якщо Ви копіюєте зовнішню друковану форму, то необхідно знайти в каталозі "ExtForms" каталог "PrnForms". У знайдений каталог (ExtForms для зовнішніх звітів і PrnForms для зовнішніх друкованих форм) потрібно скопіювати обидва файли.

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

Для підключення до бази даних зовнішнього звіту необхідно відкрити звіт " Додаткові можливості", Перейшовши в меню" Сервіс "-" Додаткові можливості ".

Якщо Ви скопіювали правильно зовнішній звіт і файл з розширенням efd, то Ваш зовнішній звіт з'явиться в списку зовнішніх звітів.

Якщо файл настройки efd НЕ скопійований, то необхідно виконати наступне:
Натиснути кнопку "Змінити" вибрати з меню "Внести в список".

У списку вибрати потрібний файл зовнішнього звіту (який був скопійований в каталог ExtForms). Якщо в списку потрібного файлу не виявилося, це може бути з двох причин: 1) Файл був скопійований не в ту папку, т. Е. Потрібно ще раз уважно перевірити, правильність копіювання по голові "Копіювання зовнішнього звіту в каталог інформаційної бази. "2) Файл скопійований правильно і вже знаходиться в списку зовнішніх звітів. У такому випадку потрібно уважно переглянути список зовнішніх звітів і знайти новий доданий звіт.
Після вибору файлу буде відкрито вікно, в якому потрібно задати назву зовнішнього звіту. Введіть довільне найменування. Натисніть кноку "ОК".

Після цього Ваш зовнішній файл з'явиться в списку зовнішніх файлів.

Підключення до програми зовнішньої (додаткової) друкарської форми.

Для підключення зовнішньої друкованої форми необхідно вибрати з меню "Сервіс" - "Реєстрація зовнішніх друкованих форм".

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

У таблиці повинні з'явитися підключення зовнішні друковані форми. Якщо в таблиці є та форма, яка Вам потрібна, значить вона була підключена автоматично.
Якщо потрібної форми в таблиці немає, необхідно зробити наступне: Натиснути на кнопку "Змінити ..." і в випадаючому меню вибрати "Внести в список".

У списку, необхідно вибрати ту форму, яку Ви копіювали в каталог PrnForms.

Якщо форми в списку немає, значить Ви неправильно скопіювали форму в каталог ще раз уважно прочитайте главу "Копіювання зовнішнього звіту в каталог інформаційної бази."


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

У випадаючому списку необхідно вибрати нову друковану форму.

У документах, для яких передбачено виведення на друк будь-яких друкованих форм, зліва від кнопки печаткаприсутній кнопка списку.

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

Обробка Реєстрація зовнішніх друкованих формпризначена для підключення нових зовнішніх друкованих форм. Підключення форми пропонуються в списку друкованих форм документа.

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

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

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

Всі зовнішні друковані форми зберігаються в підкаталозі PrnFormsкаталогу EXTFORMS. При запуску обробки програма зчитує зовнішні форми, що зберігаються в цьому каталозі. Кожен рядок таблиці містить текстове назву зовнішнього файлу, ім'я файлу і ім'я кнопки, яка буде призначена в документі (довіднику) для виклику друкованої форми.

Під списком розташовані кнопки для роботи з зовнішніми файлами.

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

Натискання на кнопку оновитизаново заповнює список зовнішніх друкованих форм. Кнопку необхідно використовувати після запису нових зовнішніх друкованих форм в підкаталозі PrnForms.

кнопка змінитислужить для роботи зі списком зовнішніх файлів. При натисканні кнопки змінитипоруч з нею відкривається меню з чотирьох пунктів:

  • Змінити назву;
  • Змінити кнопку;
  • Внести в список;
  • Видалити зі списку.

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

Після редагування нову назву зовнішнього файлу з'явиться в списку замість попереднього.

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

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

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



Сподобалася стаття? поділіться їй