выбор пунктов из списка и генерация договора по этим пунктам с учетом цены

Автор 4_3, 15 марта 2024, 16:06

0 Пользователи и 1 гость просматривают эту тему.

economist

1) Таблицы из Calc/Excel по Ctrl+Shift+F4 обновляются при добавлении их в Base или в том источнике, к которому Base подключен (напр. новый Лист/Диапазон в Excel/Calc-файле, TXT-файл в папке итд). Иногда нужно пнуть в Base - Вид - Обновить... 

2) Таскать надо не поля, а столбцы, а также таблицы целиком, взяв ее за лев/верх угол. Не ищите на YT, читайте доку, искать Слияние и Рассылка. Слияние (Данные в Поля) полезно для единичных документов по выборочным строкам. А Рассылка - по массовым докам, чаще всего по Запросам, а не по Таблицам.   

3) Источники тут: Alt+F12 - LibreOffice - Базы данных. Но это базы. Про таблицы написал в п. 1 А что находится в Запросах - зависит от того что вы сделали в Base - Запросы.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

4_3

как-то запредельно сложно пока:
по 1: как добавить файл calc в base?
при открытии base он предлагает регистрировать только *.odb. речи о calc - не идет.
почему? какая логика в этом? если нельзя, то почему на самом деле можно?
не может же "просто так" быть такой алгоритм?
по 2: я видел главу про рассылки. это когда одно письмо сразу многим.
а я спросил, как занести котрагента в таблицу контрагентов, где каждый - это строка. а после выбирать шаблон в райтере: договор, письмо, обследование, пояснительная записка и пр.. и подгрузить из таблицы контрагентов ОДНОГО контрагента, расставив о нем данные в шаблоне сразу много где.
пока что я видел материалы только о том, как писать сразу нескольким. но это не то.
 

economist

1) Файл - Создать - Базу... - Соединиться - Эл таблица - выбрать Calc/Excel. Конечно же файл д.б. нормальным, опрятным, с именованным диапазоном, все столбцы с заголовками. А лучше ниже ваших заголовков - пустая строка и строка с другими - краткими заголовками, без спецсимволов и пробелов. нижним регистром, между словами _. Так гораздо проще писать SQL-запросы (в четыре раза меньше кавычек).

2) Вы все верно написали, так оно и делается. Берем много DOC/ODT, сохраняем все как ODT (договоры, акты, доверенности) и делаем из них "шаблоны", перетаскивая после Ctrl+Shift+F4 заголовки столбцов из, внимание, ОДНОЙ таблицы, в которой д.б. всё - реквизиты, фио подписанта с дата/№ доверенности итд. Архитектурно правильнее не много шаблонов ODT/OTT, а один файл на всё, но его части (дог, акт, довер, письмо, благодарность итд) оформлены как скрытые Разделы и появляются при условии (ручном или по значению из Base/Calc). На поддержку одного такого шаблона вы потратите за год кратно меньше времени, чем на россыпь их, проверено на себе.

Нет разницы один или несколько контрагентов нужно осчастливить документами. Все говорят что делают по одному, а на самом деле делают за один присест для 2-5 контров. И тогда становится понятно, почему лучше перетаскивать Поля не из Таблицы, а из Запроса по ней: Запрос в Base можно легко поменять, а Таблицы (листы/диапазоны Calc/Excel) - нет. И наоборот: если вы поменяете заголовки в листы/диапазоны Calc/Excel - все ваши Шаблоны сломаются, если использовали те имена. А если они использовали имена из "прослойки" в виде Запроса - его SQL-текст легко поправить, и Шаблон не сломается, или будет легко чиниться, за 1 минуту.     

Как у меня:
Для одного Контрагента - выбираем в Ctrl+Shift+F4 нужную строку и жмем Данные в Поля, весь шаблон заполнен, нужные разделы - появились (например текст Расписки для налички). Но лучше делать так, как будто у вас всегда несколько Контрагентов (см. ниже).

Если нужно сделать сразу несколько договоров (накопилось), например 3, - то сначала в Calc в колонке НаПечать ставим в нужных строчках 1, заходим во Writer, жмем Ctrl+Shift+F4, находим Запрос НаПечать (его текст прост SELECT * FROM Данные WHERE НаПечать=1, убеждаемся что там всего 3 строки и жмем Рассылка - получаем 3 отдельных ODT/DOCX/PDF с заполненными полями, каждый разной длины в страницах, с разным составом доков, но все - из одного Шаблона и из одной базы данных, хранящейся в Calc/Excel.

Желание что-то расставлять в шаблоне Writer - гоните прочь, без сложных макросов тут не обойтись, и никто их не сделал так, чтобы поделился с сообществом. Расставлять нужно не в Writer, а в Calc/Excel. Если вы все настройки реализуете в столбцах Calc/Excel на Данные-Проверка-Список/Диапазон, то слегка поправив SQL-запрос вы получите само-переверстываемый Шаблон ODT, выводящий разный состав страниц для каждого Контрагента. Например, можно проставлять единички в столбцах, говорящих сами за себя: ЕстьОтсрочка, ЕстьДоверенность, СразуАктВыпРаб итд. От "1" в этих столбцах будет зависеть скроет ли Шаблон разделы в Шаблоне, или покажет (причем сразу  с заполненными рекв. полями после Слияния/Рассылки).

Возможно стоит сделать игрушечный файл-шаблон и потренироваться (советую). Сделать сразу универсальный шаблон, который при всех флажках генерить, как у меня, 20+ отдельных документов - сложно, тяжело. Еще тяжелее поддерживать много разных шаблонов, хотя кому как. Разные шаблоны временно полезны лишь в одном случае - когда вы пилите их не один, и нужно разделить задачи. Но потом все равно их лучше слить в один.
   
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

4_3

непонятно, но интересно..
я вконец запутался.
надеюсь, в какой-то момент будет озарение и пойму все вышесказанное в один момент.. но для этого не хватает каких-то пазлов.
поэтому пока одни вопросы:
как сделать шаблон (не посчитайте унизительным ответить пошагово и буквально)
в каком файле? в какой программе?
в райтере?
с чего начать? (тоже буквально)

в тех шаблонах, которые Вы прислали вначале не ясно, как он созданы и в каком порядке.

нужен пример с 1 позицией в таблице.

оч надеюсь, что у Вас не лопнет терпение

economist

Терпения валом, а вот времени нет. Для начала включите показ расширений файлов. Шаблон - это ott, это как odt, только сложнее испортить. Шаблон - пустой бланк документа, оформленный Стилями, с Полями баз данных для Слияния/Рассылки. Примеры полного пакета ods+odb+odt я дал выше, изучайте. Поля тащат мышью сверху вниз по Ctrl+Shift+F4. Есть куча нюансов как сделать эти поля как можно более родными  для текста. Научиться придется самому. Выделять на это нужно десяток часов. Или делайте ручками, как вся страна работу работает, с 20 млн. действующих юристов.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...


economist

Имейте ввиду что некоторые версии LO глючат в Слиянии/Рассылке: задваивают документы, пропускают записи итд. Например LibreOffice 6.4.4.2. Они могут быть еще в ходу, особенно на слабых ПК или под Linux, где паствы мизер и она молчалива.

Все LO нужно тестировать лично, и не просто так, а по личном Check-list, с примененными технологиями в вашем бизнесе. У меня чек-лист - 10 пунктов.

И обновлять LO всем надо только после таких тестов. Подобное поведение неведомо большинству айтишников, поэтому вся надежда на продвинутых пользователей и их совесть.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...