<
  • Главная
Статьи

Створюємо шаблон документа на базі Excel

  1. шаблони друку
  2. Створення шаблонів друку на основі документа Excel
  3. Функції для використання в xls-шаблонах
  4. завдання умов
  5. Можливість друку багатосторінкових документів
  6. Функції для використання в багатосторінкових xls-шаблонах

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

шаблони друку

В нашій CRM програмі ви можете створювати будь-які шаблони друку. Наприклад, ви можете виписувати рахунки, акти про виконані роботи, заповнювати типові договори, користуючись даними з таблиць. У шаблоні друку задається загальний вигляд документа і відзначається, куди в цьому документі потрібно вставити значення полів таблиці. Шаблони друку в системі "Клієнтська база" дозволяють не тільки роздруковувати документи, а й зберігати їх в форматах rtf, odt (OpenOffice), docx (Word 2007), xls, pdf. На цьому уроці ми навчимося створювати шаблони в форматі xls (при створенні шаблонів xls для нашої програми рекомендуємо використовувати Excel 2007).

Важливо: На даний момент значення з підтаблиць можуть некоректно відображатися в версії Microsoft Office 2013. Якщо Ви зіткнулися з такою проблемою, спробуйте відкрити сформований файл в іншому текстовому редакторі (наприклад, Libre office або Open office).

Створення шаблонів друку на основі документа Excel

1. Спочатку необхідно підготувати документ в програмі Excel. Додайте в ньому необхідний текст і таблиці. Місця, куди повинні будуть підставлятися значення з таблиць CRM "Клієнтської бази", залиште поки порожніми. У документі також можна використовувати зображення.

Важливо: У шаблонах друку Excel можна використовувати тільки зображення у форматі "png", в іншому випадку зображення при друку виводитися не будуть!

Збережіть документ, але не закривайте - надалі нам ще потрібно буде його редагувати. Ви також можете завантажити шаблон будь-якого Excel документа з інтернету. Візьмемо, для прикладу, рахунок-фактуру нового формату.

2. Тепер в програмі "Клієнтська база" перейдемо в "Налаштування" - "Конфігурація".

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

4. Ви побачите список вже наявних шаблонів. Натисніть на кнопку "Додати шаблон".

5. У вікні "Створення шаблону" спочатку потрібно ввести ім'я шаблону. Потім вибрати формат шаблону. Вибираємо "xls".


Вибираємо xls


6. Далі необхідно вибрати файл, з яким ми будемо працювати. Натискаємо "Завантажити".


7. Отже, файл завантажений. Ми бачимо, що з'явився список полів, які ми можемо використовувати в шаблоні.

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

Зверніть увагу: ви можете використовувати поля не тільки з поточної таблиці, наприклад {Номер}, але і будь-які поля з пов'язаних таблиць - вони пишуться через точку, наприклад, {На кого.Названіе}.

Задайте осередкам потрібний формат, щоб Excel коректно відображав дані. Наприклад, осередкам, в яких буде подаватись ІПН або КПП, краще задати текстовий формат, тому що Excel може сприйняти номер ІПН що занадто велика кількість і виводити його некоректно.

8. Після того, як ми розмістили в xls файл все потрібні поля, зберігаємо його. Шаблон готовий. Тепер потрібно довантажити заново готовий шаблон. Знову натискаємо "Вибрати файл", вибираємо наш xls-файл, натискаємо "Завантажити". Наш шаблон з вже вставленими в нього змінними завантажений.

9. Тепер ми можемо налаштувати орієнтацію сторінок шаблону: альбомну або книжкову.

Тепер ми можемо налаштувати орієнтацію сторінок шаблону: альбомну або книжкову

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

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

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

10. Роздрукувати в програмі можна декількома способами. Наприклад, переходимо в таблицю, вибираємо запис. У режимі перегляду натискаємо кнопку "Додатково", відкривається кнопка "Роздрукувати". Або перебуваючи в таблиці відзначаємо галочками одну або кілька потрібних записів, а потім натискаємо на кнопку "Роздрукувати" на верхній панелі.

Вибираємо наш шаблон друку.

За замовчуванням ім'я файлу збігається з назвою шаблону друку. Даний файл буде збережений на вашому комп'ютері в тій папці, яка вказана для вашого браузера, як папка для завантаження. Все, документ готовий. Можна його відкрити і переконатися, що в ньому проставлені значення полів з бази.

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


Функції для використання в xls-шаблонах

Шаблони полів, умови, функції в осередку xls-файлу потрібно вставляти в фігурних дужках, наприклад, {Наша компанія.Адрес}. Усередині фігурних дужок можна використовувати круглі дужки, наприклад, {(Сума * (1 + Наша компанія. Ставка ПДВ / 100))}
ПропісьюДата (Дата) - призначена для виведення дати прописом. Наприклад: Якщо поле "Дата" має значення "21.11.12", функція Прописом (Дата) буде повертати значення "21 листопада 2010р".


ПропісьюМесяц (Дата) - призначена для виведення місяці прописом. Наприклад: Якщо поле "Дата" має значення "21.11.12", функція ПропісьюМесяц (Дата) буде повертати значення "листопада".

ДатаЧісло (Дата) - повертає значення числа. Наприклад: Якщо поле "Дата" має значення "21.11.12", функція ДатаЧісло (Дата) буде повертати значення "21".


ДатаМесяц (Дата) - повертає значення місяця. Наприклад: Якщо поле "Дата" має значення "21.11.12", функція ДатаМесяц (Дата) буде
повертати значення "11".


ДатаГод (Дата) - повертає значення року. Наприклад: Якщо поле "Дата" має значення "21.11.12", функція ДатаМесяц (Дата) буде повертати значення "2012".


ЧіслоФормат (Шаблон поля) - повертає число з двома знаками після коми з округленням. Наприклад, ЧіслоФормат (3.068) повертає 3,07.

ЧіслоФормат (Шаблон поля, n) - повертає число з n-знаками після коми з округленням. Наприклад, ЧіслоФормат (3.068,1) повертає 3,1.

ЧіслоФормат (Шаблон поля, n, 1) - повертає число з n-знаками після коми з округленням і з поділом розрядів. Наприклад, ЧіслоФормат (35200.068,2,1) повертає 35 200,07.


ПропісьюРублей (Шаблон поля) - повертає значення числа прописом в рублях і копійках. Наприклад, ПропісьюРублей (3.068) повертає "три рубля 07 копійок".

ПропісьюРублей (Шаблон поля, '', 'none') - повертає значення числа прописом в рублях без копійок. Наприклад, ПропісьюРублей (3.23, '', 'none') повертає "три рубля".

Імя_Подтабліци.НомерСтрокі - повертає значення номера рядка в підтаблиці. Наприклад, якщо потрібно вивести в табличному вигляді всі рядки підтаблиці "Позиції Рахунки", то в осередку, в якій буде подаватись номер рядка, потрібно прописати {Позиції Счета.НомерСтрокі}.

КолічествоСтрок ( 'Імя_подтабліци') - повертає значення кількості рядків в підтаблиці. Наприклад, якщо після роздрукованих в табличному вигляді позицій рахунку необхідно вивести загальну кількість рядків, то в осередку потрібно прописати: Всього найменувань {КолічествоСтрок ( 'Товари рахунки')}

Крім того, там де це доречно, можна використовувати функції Excel і задавати формат осередків.

завдання умов

Умови в осередках xls-файлу можна додати за допомогою короткої записи умовного оператора if php.

Cінтаксіс короткої записи умовного оператора if:

expression? true_value: false_value

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

наприклад:
{(Наша компанія.Ставка ПДВ && Наша компанія.НДС включений у вартість == 'Так'? (Позиції рахунок-фактури.Цена * (1- (Наша компанія.Ставка ПДВ / (100 + Наша компанія.Ставка ПДВ))) ): Позиції рахунок-фактури.Цена)}

Можливість друку багатосторінкових документів

Починаючи з версії 2.0.1 в програмі "Клієнтська база" з'явилася можливість друку багатосторінкових документів. Для створення такого шаблону потрібно виконати ті ж дії, які описані вище в розділі "Створення шаблонів друку на основі документа Excel". Однак документ, який необхідно буде підготувати перед створенням шаблона буде мати інший вигляд:

Потрібно додати в шаблон чотири нових листа, щоб загальна кількість аркушів в документі склало 5.

  • Лист №1 - це лист, де буде міститися тіло шаблону. Назвемо його, наприклад, "Body";
  • Лист №2 - це лист, де буде вказуватися загальний заголовок всього документа. Назвемо його "Header";
  • Лист №3 - це лист, де буде вказується загальний підвал шаблону. Назвемо його "Footer";
  • Лист №4 - це лист, де буде вказуватися заголовок окремо взятої сторінки. Назвемо його "Table header";
  • Лист №5 - це лист, де буде вказуватися підвал окремо взятої сторінки. Назвемо його "Table footer".

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

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

  • лист №2
  • лист №4
  • лист №1
  • лист №5
  • лист №4
  • лист №1
  • лист №5
  • лист №3

або так

  • Header;
  • Table header;
  • Body;
  • Table footer;
  • Table header;
  • Body;
  • Table footer;
  • Footer.

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

Давайте розберемо створення складного багатосторінкового документа на прикладі шаблону ТОРГ-12. Ми хочемо, щоб при друку накладної вона виглядала наступним чином:

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

Отже, в якості заголовка документа ми наголошуємо на тому, що буде на початку першої сторінки документа і більше ніде повторюватися не буде. Шаблон цієї частини повинен бути розташований на аркуші №2 - Header.

Як підвалу документа ми виділяємо те, що буде в самому кінці останньої сторінки документа. Шаблон цієї частини повинен бути розташований на аркуші №3 - Footer.

Далі виділяємо заголовок таблиці - це та частина, яка повинна бути надрукована на кожній сторінці документа, що містить дані. Тобто, якщо у нас буде багато позицій за накладною, то частина з них будуть перенесені на другу сторінку, на початку якої теж повинен стояти заголовок таблиці з назвами стовпців. Шаблон цієї частини повинен бути розташований на аркуші №4 - Table header.

Тепер давайте подивимося на закінчення (підвал) таблиці (на малюнку виділено фіолетовий кольором), яка повинна бути також на кожній сторінці, але на відміну від заголовка розташовуватися не до, а відразу ж після основної частини. У прикладі з шаблоном друку за формою ТОРГ-12 це один рядок результату. Шаблон цієї частини повинен бути розташований на аркуші №5 - Table footer.

Потім звернемо увагу на ту частину, яка є основною. У нашому прикладі - це безпосередньо самі позиції накладної. На кожній сторінці ці дані будуть обрамлені зверху тією частиною, яка поміщена в лист "Table header", а знизу тією частиною, яка розміщена в листі "Table footer". Шаблон цієї частини повинен бути розташований на листі №1 - Body. Дані з цієї частини дублюватися не будуть.

Примітка: Зазначені назви для листів у файлі шаблону обрані для зручності, ви можете їх перейменувати, якщо це необхідно. На друк шаблону це не вплине.

На друк шаблону це не вплине

Завантажити або подивитися шаблон готового багатосторінкового документа з нашого прикладу Ви завжди можете в нашій демонстраційній версії за наступним посиланням - http://demo.clientbase.ru/forms.php?table=53&mode=print&admin&form=200&edit

Функції для використання в багатосторінкових xls-шаблонах

У складних багатосторінкових шаблонах використовуються кілька додаткових функцій, пов'язаних з особливостями підсумовування не по всьому документу, а по конкретній сторінці. Так само як і для звичайних функцій в xls-шаблонах дані функції потрібно вставляти в фігурних дужках, всередині фігурних дужок можна використовувати круглі дужки.

Печать.СтрНомер - призначена для виведення номера сторінки документа.
CуммаПоПолюНаСтраніцеМінусНДС (Сума, Отправітель.НДС включений у вартість, Отправітель.Ставка ПДВ) - призначена для виведення суми за стовпцем даних за вирахуванням ПДВ, вважає суму для конкретної сторінки.
- Сума - назва поля, по якому необхідно порахувати суму;
- Отправітель.НДС включений у вартість - назва поля, в якому містяться дані про те включено ПДВ у вартість чи ні, по ньому система визначає чи потрібно вичитати з суми ставку ПДВ;
- Отправітель.Ставка ПДВ - назва поля зі значенням ставки ПДВ у відсотках, необхідно для підрахунку і вирахування.
CуммаПоПолюНаСтраніцеНДС (Сума, Отправітель.НДС включений у вартість, Отправітель.Ставка ПДВ) - призначена для виведення суми ПДВ за значеннями на конкретній сторінці.
- Сума - назва поля, по якому необхідно порахувати суму
- Отправітель.НДС включений у вартість - назва поля, що визначає віднімати суму ПДВ з вартості (має бути Так чи Ні), якщо він включений або якщо ПДВ не включено до вартість, то сума повинна залишитися незмінною.
- Отправітель.Ставка ПДВ - назва поля зі значенням для вирахування у відсотках
CуммаПоПолюНаСтраніце (Сума) - призначена для виведення суми по обраному полю
- Сума - назва поля, по якому необхідно порахувати суму

Примітка: Функції, які вважають суми по сторінці можна поміщати в будь-якій іншій лист, крім Ліста № 5 - Table footer.


Давайте розберемо їх застосування також на прикладі ТОРГ-12:

Давайте розберемо їх застосування також на прикладі ТОРГ-12:

Примітка: Якщо необхідно додати шаблон друку, в якому на кожній сторінці документа будуть повторюватися верхня (заголовок) і нижня (підвал) частини, то у файлі шаблону досить залишити три листа: Лист №1 - Body, Лист №2 - Header і Лист № 3 - Footer. Однак, в такому шаблоні можна використовувати функції розрахунку по сторінці. Тепер якщо включити параметр "Розрив рядків", то в разі багатосторінкового документа шапка і підвал будуть надруковані на кожній сторінці. Якщо параметр "Розрив рядків" не включити, то шапка буде тільки на першому аркуші, а підвал тільки на останньому.

НДС включений у вартість == 'Так'?
Php?


Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью