Генерация смет с помощью Smartcat Template Engine

Smartcat позволяет генерировать сметы в формате PDF. Для этого можно использовать стандартный шаблон либо создавать собственные шаблоны, используя технологию Smartcat Template Engine. Создайте с её помощью единый шаблон для всех клиентов либо индивидуальные шаблоны для каждого клиента.

Ниже приведена модель данных, используемая при генерации сметы в формате PDF. Указанные объекты и их поля доступны при разработке собственного шаблона с помощью технологии Smartcat Template Engine.

Company

Информация о компании, выставившей смету

Название поля

Тип данных

Описание

Name

string

Название

LegalName

string

Юридическое название

 

В стандартном шаблоне используется юридическое название компании при его наличии. В противном случае используется название из профиля компании:

<<if [Company.LegalName != null]>>

<<[Company.LegalName]>><<else>><<[Company.Name]>><</if>>

  

Client

Информация о клиенте

Название поля

Тип данных

Описание

Name

string

Название

LegalName

string

Юридическое название компании

Vat

string

ИНН, VAT или другой налоговый идентификатор

Kpp

string

КПП (только для клиентов из России)

MainContact

ClientContact

Основное контактное лицо

AdditionalContacts

ClientContact[]

Дополнительные контактные лица

Country

string

3-х буквенный код страны

Address

string

Адрес компании

VendorManager

Manager

Менеджер на стороне компании, работающий с этим клиентом

Industry

string

Отрасль клиента

Website

string

Вебсайт клиента

Language

string

Язык клиента

Comment

string

Комментарий, взятый из карточки клиента

в Smartcat

ClientContact

FullName

string

Полное имя контактного лица

Email

string

Электронная почта

Phone

string

Номер телефона

Position

string

Занимаемая должность

Comment

string

Комментарий, взятый из карточки контакта клиента

в Smartcat

Manager

FullName

string

Полное имя менеджера проекта

Email

string

Электронная почта

PhoneNumber

string

Номер телефона

Пример работы с объектом Client:

<<[Client.Name]>>

VAT: <<[Client.Vat]>>

<<if [Client.MainContact != null]>>Main contact: <<[Client.MainContact.FullName]>><</if>>

<<if [Client.AdditionalContacts.Any()]>>Additional contacts:
<<foreach [a in Client.AdditionalContacts]>><<[a.FullName]>> <<link ["mailto:" + a.Email] [a.Email]>>
<<if [a.PhoneNumber != null]>> <<link ["tel:" + a.PhoneNumber] [a.PhoneNumber]>>
<</if>>
<</foreach>>
<</if>>

 

Project

Информация о проекте

Название поля

Тип данных

Описание

Name

string

Название

Number

string

Номер проекта

Filenames

string[]

Названия документов в проекте

SourceLanguage

string

Язык оригинала

TargetLanguages

string

Языки перевода

WorkflowStages

string

Этапы рабочего процесса

Managers

Manager[]

Список менеджеров проекта

Manager

FullName

string

Полное имя менеджера проекта

Email

string

Электронная почта

PhoneNumber

string

Номер телефона

 

Ниже приведён пример работы с объектом Project. Выведем рядом информацию по первым двум менеджерам, если таковые имеются в списке менеджеров:

<<if [Project.Managers.Any()]>>

<<foreach [m in Project.Managers.Take(2)]>><<[m.FullName]>>,

<<[m.Email]>>

<<next>><<if [m.FullName != null]>><<[m.FullName]>>,

<<[m.Email]>><</if>><</foreach>>

<</if>>

 

Quote

Информация по смете

Название поля

Тип данных

Описание

Number

string

Номер сметы

TotalCost

string

Общая стоимость проекта

Currency

string

Буквенный код валюты

CurrencySymbol

string

Знак валюты

DueDate

DateTime

Срок действия сметы

ClientContactName

string

Имя контактного лица

ClientContactEmail

string

Электронный адрес контактного лица

Services

Service[]

Список услуг

Service

Name

string

Название услуги

SourceLanguage

string

Язык оригинала

TargetLanguage

string

Язык перевода

UnitCount

decimal

Количество оплачиваемых единиц услуги

Rate

decimal

Ставка за оплачиваемую единицу

TotalCost

decimal

Общая стоимость услуги

UnitType

string

Тип оплачиваемых единиц

DetalizationRows

DetalizationRow[]

Список элементов детализации услуги

DetalizationRow

Name

string

Заголовок категории оплачиваемых единиц. Например, 102% совпадения, повторения

UnitCount

decimal

Количество оплачиваемых единиц элемента детализации

Rate

decimal

Ставка за оплачиваемую единицу с учётом скидки

FullRate

decimal

Ставка за оплачиваемую единицу без учёта скидки

TotalCost

decimal

Общая стоимость элемента детализации

UnitType

string

Тип оплачиваемых единиц

Ниже приведён пример работы с объектом Quote. Выведем список услуг с указанием языков оригинала и перевода:

<<foreach [s in Quote.Services]>><<[s.Name]>>

<<if [s.TargetLanguage != null]>><<[s.SourceLanguage]>> - <<[s.TargetLanguage]>><</if>>

<</foreach>>

Понравилось?

3

Похожие статьи:

    Нет похожих статей