126 lines
3.3 KiB
Typst
126 lines
3.3 KiB
Typst
// ПРИМЕР ДОГОВОРА. Текст является заготовкой и требует юридической проверки.
|
||
#import "/.template/lib/index.typ": document, profiles, party, signer, attachment, attachment-set, load-company, empty-private-settings, private-company-media
|
||
|
||
#let company-id = "scientia" // "scientia" | "technology" | "too"
|
||
#let document-mode = "final" // "final" | "draft" | "clean-copy"
|
||
#let use-private-assets = false // true — читать .private/settings.typ
|
||
#let private-settings = if use-private-assets {
|
||
import "/.private/settings.typ": settings
|
||
settings
|
||
} else {
|
||
empty-private-settings
|
||
}
|
||
#let company-media = private-company-media(private-settings, company-id)
|
||
|
||
#let company = load-company(
|
||
company-id,
|
||
logo: auto,
|
||
signature: company-media.signature,
|
||
stamp: company-media.stamp,
|
||
)
|
||
|
||
#let contractor = party(
|
||
"contractor",
|
||
"Исполнитель",
|
||
company.legal.name,
|
||
legal: company.legal,
|
||
contacts: company.contacts,
|
||
banking: company.banking,
|
||
representative: signer(
|
||
company.director.name,
|
||
company.director.title,
|
||
basis: "Устава",
|
||
signature: company.resources.signature,
|
||
stamp: company.resources.stamp,
|
||
),
|
||
)
|
||
|
||
#let customer = party(
|
||
"customer",
|
||
"Заказчик",
|
||
"АО «Заказчик»",
|
||
legal: (
|
||
inn: "0000000000",
|
||
kpp: "000000000",
|
||
ogrn: "0000000000000",
|
||
address: "620000, г. Екатеринбург, ул. Примерная, 1",
|
||
),
|
||
contacts: (
|
||
email: "customer@example.invalid",
|
||
phone: "+7 (000) 000-00-00",
|
||
),
|
||
banking: (
|
||
bank: "Пример Банк",
|
||
account: "00000000000000000000",
|
||
correspondent-account: "00000000000000000000",
|
||
bik: "000000000",
|
||
),
|
||
representative: signer(
|
||
"Иванов И.И.",
|
||
"Генеральный директор",
|
||
basis: "Устава",
|
||
signature: none,
|
||
stamp: none,
|
||
),
|
||
)
|
||
|
||
#let sections = (
|
||
profiles.contract_section(
|
||
"subject",
|
||
"Предмет договора",
|
||
[#include "chapters/10-subject.typ"],
|
||
number: auto,
|
||
level: 1,
|
||
),
|
||
profiles.contract_section(
|
||
"price",
|
||
"Цена и порядок расчётов",
|
||
[#include "chapters/20-price.typ"],
|
||
number: auto,
|
||
level: 1,
|
||
),
|
||
profiles.contract_section(
|
||
"responsibility",
|
||
"Ответственность сторон",
|
||
[#include "chapters/30-responsibility.typ"],
|
||
number: auto,
|
||
level: 1,
|
||
),
|
||
)
|
||
|
||
#let attachments = attachment-set(
|
||
items: (
|
||
attachment(
|
||
"specification",
|
||
"Техническое задание",
|
||
[#include "chapters/99-appendices.typ"],
|
||
subtitle: none,
|
||
number: auto,
|
||
outlined: true,
|
||
),
|
||
),
|
||
numbering: "arabic",
|
||
start: 1,
|
||
)
|
||
|
||
#document(
|
||
[],
|
||
company: company,
|
||
profile: profiles.contract(
|
||
number: "Д-001/2026",
|
||
date: "01 января 2026 г.",
|
||
place: "г. Екатеринбург",
|
||
title: "Договор оказания услуг",
|
||
parties: (contractor, customer),
|
||
preamble: auto,
|
||
sections: sections,
|
||
attachments: attachments,
|
||
),
|
||
options: (
|
||
mode: document-mode,
|
||
watermark: if document-mode == "draft" { "ЧЕРНОВИК" } else { none },
|
||
media-policy: if document-mode == "final" { "placeholder" } else { "reserve-space" },
|
||
diagnostics: true,
|
||
),
|
||
)
|