Files
2026-10-09 01:45:17 +00:00

126 lines
3.3 KiB
Typst
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// ПРИМЕР ДОГОВОРА. Текст является заготовкой и требует юридической проверки.
#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,
),
)