main.typ 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. // ПРИМЕР ТЕХНИКО-КОММЕРЧЕСКОГО ПРЕДЛОЖЕНИЯ.
  2. #import "/.template/lib/index.typ": document, profiles, recipient, attachment, attachment-set, load-company, empty-private-settings, private-company-media
  3. #let company-id = "scientia" // "scientia" | "technology" | "too"
  4. #let document-mode = "final" // "final" | "draft" | "clean-copy"
  5. #let use-private-assets = false // true — читать .private/settings.typ
  6. #let private-settings = if use-private-assets {
  7. import "/.private/settings.typ": settings
  8. settings
  9. } else {
  10. empty-private-settings
  11. }
  12. #let company-media = private-company-media(private-settings, company-id)
  13. #let company = load-company(
  14. company-id,
  15. logo: auto,
  16. signature: company-media.signature,
  17. stamp: company-media.stamp,
  18. )
  19. #let addressee = recipient(
  20. company: "АО «Заказчик»",
  21. title: "Руководителю проекта",
  22. name: "Иванову Ивану Ивановичу",
  23. address: none,
  24. )
  25. #let attachments = attachment-set(
  26. items: (
  27. attachment(
  28. "scope",
  29. "Техническое задание",
  30. [#include "chapters/99-appendices.typ"],
  31. subtitle: "Состав и результаты работ",
  32. number: auto,
  33. outlined: true,
  34. ),
  35. ),
  36. numbering: "arabic",
  37. start: 1,
  38. )
  39. #show: document.with(
  40. company: company,
  41. profile: profiles.commercial_offer(
  42. recipient: addressee,
  43. subject: "Геомеханическое сопровождение горных работ",
  44. amount: "1 250 000",
  45. currency: "руб.",
  46. tax_note: "включая НДС 20 %",
  47. delivery_term: "45 рабочих дней с даты получения исходных данных",
  48. validity: "30 календарных дней",
  49. payment_terms: "30 % аванс, 70 % после передачи результата",
  50. date: "01.01.2026",
  51. reference: "ТКП-001/2026",
  52. title: "Технико-коммерческое предложение",
  53. signer: none,
  54. note: "Контактное лицо: Петров П.П.",
  55. show_stamp: true,
  56. attachments: attachments,
  57. render_attachments: true,
  58. ),
  59. options: (
  60. mode: document-mode,
  61. watermark: if document-mode == "draft" { "ЧЕРНОВИК" } else { none },
  62. media-policy: if document-mode == "final" { "placeholder" } else { "reserve-space" },
  63. diagnostics: true,
  64. ),
  65. )
  66. #include "chapters/10-offer.typ"