Генерация смет с помощью 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

Название

Vat

string

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

ContactName

string

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

ContactEmail

string

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

Comment

string

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

Website

string

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

LegalName

string

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

Address

string

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

 

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

<<[Client.Name]>>

VAT: <<[Client.Vat]>>

 

Project

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

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

Тип данных

Описание

Name

string

Название

Number

string

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

Filenames

string[]

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

SourceLanguage

string

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

TargetLanguages

string

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

WorkflowStages

string

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

Managers

ProjectManager[]

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

ProjectManager

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

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

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

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

TotalCost

decimal

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

UnitType

string

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

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

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

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

<</foreach>>

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

2

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

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