61 lines
2.0 KiB
Typst
61 lines
2.0 KiB
Typst
#import "/.template/lib/index.typ": document, profiles, recipient, party, signer, load-company
|
|
|
|
#let profile-id = sys.inputs.at("profile", default: "letter")
|
|
#let mode = sys.inputs.at("mode", default: "draft")
|
|
#let company-id = sys.inputs.at("company", default: "test-company")
|
|
#let company = load-company(company-id)
|
|
#let addressee = recipient(company: "ООО «Проверка режима»")
|
|
|
|
#let left = party(
|
|
"left",
|
|
"Исполнитель",
|
|
company.legal.name,
|
|
legal: company.legal,
|
|
contacts: company.contacts,
|
|
banking: company.banking,
|
|
representative: signer(
|
|
company.director.name,
|
|
company.director.title,
|
|
signature: company.resources.signature,
|
|
stamp: company.resources.stamp,
|
|
),
|
|
)
|
|
#let right = party(
|
|
"right",
|
|
"Заказчик",
|
|
"ООО «Проверка режима»",
|
|
representative: signer("П.П. Проверяющий", "Директор"),
|
|
)
|
|
|
|
#let selected-profile = if profile-id == "report" {
|
|
profiles.report(title: "Проверка режима выпуска", year: 2026)
|
|
} else if profile-id == "letter" {
|
|
profiles.letter(recipient: addressee, title: "Проверка режима выпуска")
|
|
} else if profile-id == "commercial-offer" {
|
|
profiles.commercial_offer(
|
|
recipient: addressee,
|
|
subject: "Проверка режима выпуска",
|
|
amount: "100 000",
|
|
currency: "руб.",
|
|
)
|
|
} else if profile-id == "contract" {
|
|
profiles.contract(
|
|
number: "MODE-1",
|
|
date: "26.08.2026",
|
|
parties: (left, right),
|
|
sections: (
|
|
profiles.contract_section("subject", "Предмет договора", [Проверка режима выпуска.]),
|
|
),
|
|
)
|
|
} else {
|
|
panic("Неизвестный тестовый profile: " + profile-id)
|
|
}
|
|
|
|
#show: document.with(
|
|
company: company,
|
|
profile: selected-profile,
|
|
options: (mode: mode, watermark: if mode == "draft" { "ЧЕРНОВИК" } else { none }),
|
|
)
|
|
|
|
Документ собран в режиме #mode для профиля #profile-id.
|