Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

13 Декабрь 2017, 23:53 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: « 1 2 3 »   Вниз
  Печать  
Автор Тема: Общие поля свойтва пользователя для документов  (Прочитано 12393 раз)
0 Пользователей и 1 Гость смотрят эту тему.
as1234
Век живи , век учись ))
Новичок
*
Offline Offline

Пол: Мужской
Сообщений: 35


« Ответ #15: 16 Май 2012, 23:09 »

Вообще ничего так и не могу разобраться , не тот уровень наверно )))
Подумал о том что может можно сделать общую переменную или общее поле для всех этих документов ?
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 373


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #16: 17 Май 2012, 09:24 »

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

Не хочешь подробно, как для совсем неграмотных, рассказать как ставится задача, что за документы создаются, как с ними будут поступать после создания, что у них общее и чем отличаются, сколько разных людей с ними работают, и т.д., и т.п.?..
А то ведь больше месяца возишься с проблемой, а она всё ещё не решена.
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
as1234
Век живи , век учись ))
Новичок
*
Offline Offline

Пол: Мужской
Сообщений: 35


« Ответ #17: 17 Май 2012, 18:02 »

Суть облегчить работу , при помощи автоматизации документов . В данном случае заполнения проектов , чтоб как говорят "ручками не забивать" . Суть в принципе такова , что есть основной файл в нем содержиться информация (Допустим код , название , и многое прочих) и нужно сделать так чтобы этаже информация появилась в нужных местах другого документа (в полях) . Я подумал этом можно сдлеать обьединив  свойства пользолвателя в общие для двух документов . Тоесть открывая шаблон с теми же свойствами задать им значения что и в основном файле . Почему именно свойства пользователя , наверно потому что у них при надобности легче всего редактировать значение и они есть в каждом документе  . Незнаю понятно или нет  Обеспокоенный

Открываем документ , в нем задана информация , из него с помощью макроса запускаем шаблон нужного нам проекта , и нужно так чтобы поля заполнились информацией именно для этого проекта
« Последнее редактирование: 17 Май 2012, 18:11 от as1234 » Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 373


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #18: 17 Май 2012, 20:13 »

О, проясняется дело... А давай еще чуток подробнее, а?
Суть облегчить работу , при помощи автоматизации документов
Это типа эпиграфа?  Смеющийся Вступительная часть, для разгону  Улыбка
В данном случае заполнения проектов , чтоб как говорят "ручками не забивать" .
Что за проекты? Это пачка документов или цепочка? В смысле, вбиваем куда-то данные и получаем фиксированный набор документов, всегда один и тот же? Или создаем основной документ (договор, что ли?), в нем заполняем набор полей... Приходит время создания очередного документа в проекте - дергаем шаблон, создается новый документ (например, смета), макрос спрашивает "На основании какого договора?", указываем документ-основание, макрос всасывает имеющиеся поля и их значения, отыскивает в текущем (новом) документе такие же поля и по имени заполняет их родительскими значениями... Если находит еще какие-то поля, для которых нет аналогичных в документе-основании, пристает с вопросами "Введите то-то..." пока не заполнит их все. Документ готов, сохраняется. Следующий шаблон запросит документ-основание - укажем или договор или смету, макрос по той же схеме обработает поля очередного документа...
Суть в принципе такова , что есть основной файл в нем содержиться информация (Допустим код , название , и многое прочих) и нужно сделать так чтобы этаже информация появилась в нужных местах другого документа (в полях) . Я подумал этом можно сделать объединив  свойства пользователя в общие для двух документов.
Но объединять оба документа в один просто не хочется? Или почему не понравился вариант, когда все-все по проекту собрано в одном файле?
Почему именно свойства пользователя , наверно потому что у них при надобности легче всего редактировать значение и они есть в каждом документе.
Ну, это не единственные элементы, которые есть в каждом документе  Подмигивающий
Незнаю понятно или нет  Обеспокоенный
Открываем документ , в нем задана информация , из него с помощью макроса запускаем шаблон нужного нам проекта , и нужно так чтобы поля заполнились информацией именно для этого проекта
Бр-р-р... Только-только показалось, что понятно... И тут же опять - упс!.. Проект - это что?
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
as1234
Век живи , век учись ))
Новичок
*
Offline Offline

Пол: Мужской
Сообщений: 35


« Ответ #19: 17 Май 2012, 21:17 »

"Вступительная часть, для разгону " а то  Смеющийся
 

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

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

Вот это то что нужно !!!Но для каждой части будет свой шаблон , скажем для сметы свой для пояснительной записки свой .  "всасывает поля и их значения " по сути должно  происходить из первого (основного документа , где все эти поля забиты )
Задача пока поставлена чтоб все части проекта заполнялись по отдельности , потому что в проект не всегда входят те или инные его части )) а там уже из обработанных частей , можно слепить в один

Воооот  Обеспокоенный
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 373


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #20: 17 Май 2012, 21:44 »

Всё чудесатее и чудесатее!
То есть, головной документ проекта хранит все нужные данные... Давай ему имя какое-то дадим, а? Ну чтобы в дальнейшем разговоре этим погонялом пользоваться. "Макет"? "Печка"? "Словарь"?

В общем, задача сводится к созданию пакета шаблонов, каждый из которых представляет собой один (или несколько однотипных) документ в проекте.
Тут вопрос о информации в Словаре. Если что-то изменят в словаре (ну, ачепятку поздно заметили или еще что-то в этом роде), то изменения должны разползтись по всем дочерним документам... А если какой-то недалёкий сотрудник поправит такое поле в дочернем документе? Прибить гада?
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
as1234
Век живи , век учись ))
Новичок
*
Offline Offline

Пол: Мужской
Сообщений: 35


« Ответ #21: 17 Май 2012, 22:09 »

пусть будет "словарь" =)

Всё чудесатее и чудесатее!
с этим не поспоришь конечно  Смеющийся

Изменения (ачепятка)по сути же будут только при создании новых документов , разве нет ? А те которые будут уже до этого созданы (неважно правильно или нет ) уже не должны быть затронуты . Поле будет поправленно уже в готовом документе , поэтому я думаю это не архи страшно , потому как его можно пересоздать , так как в самом шаблоне они врятле что смогут поменять , либо сверх "везучий" сотрудник )))
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 373


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #22: 17 Май 2012, 22:20 »

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

Изменения (ачепятка)по сути же будут только при создании новых документов , разве нет ?
Мы говорим об опечатке в Словаре? При заполнении полей Словаря какой-то из элементов записывается с ошибкой, затем создается несколько документов с этими данными... В какой-то момент ошибку замечают. Что должно произойти дальше? Наша песня хороша - начинай сначала?
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
as1234
Век живи , век учись ))
Новичок
*
Offline Offline

Пол: Мужской
Сообщений: 35


« Ответ #23: 17 Май 2012, 22:31 »

Приходим , если поле это не единственный способ =)

Получаеться что так, думаю  это в разы легче и быстрее , чем если оствавлять поля в готовых документах и потом возиться с ними ища ошибку и исправляя ее , а если без полей то вообще уфь уфь времени уйдет )))
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 373


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #24: 17 Май 2012, 22:54 »

 Непонимающий

Переведи ?
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
as1234
Век живи , век учись ))
Новичок
*
Offline Offline

Пол: Мужской
Сообщений: 35


« Ответ #25: 17 Май 2012, 22:59 »

Наша песня хороша - начинай сначала?
получаеться так , иного быстрого способа исправить не вижу .
Нужно в заранее определенные места шаблона вписать значения. Поле - не единственный способ это сделат
Приходим , если поле это не единственный способ =) вот только как это все делаеться без полей ?
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 373


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #26: 18 Май 2012, 09:41 »

Да погоди ты расстраиваться!

Если бы документы, рожденные из шаблонов в рамках проекта были фиксированными... Ну, в смысле, текст один и тот же. Типа "Уважаем<Пол_Клиента> <Имя_Клиента> <Отчество_Клиента>! С <Эмоция> сообщаем Вам, что в ближайшее время <Состояние_проекта>. Но Вы должны перечислить нам <Сумма_очередного_взноса> до <Дата_очередного_взноса>. С уважением <ФИО_Руководителя_проекта>".
И в зависимости от содержимого каких-то там полей пачками штампуются письма:
"Уважаемый Василий Пупкин! С глубоким прискорбием сообщаем Вам, что в ближайшее время ничего не будет сделано. Но Вы должны перечислить нам 250 руб. до 31.05.2012. С уважением начальник отдела снабжения Петров И.К.".
"Уважаемая Анна Геннадиевна! С радостью сообщаем Вам, что в ближайшее время Ваш заказ будет выполнен. Но Вы должны перечислить нам 15000 руб до 01.02.2012. С уважением финансовый директор Крохоборов Е.Д.".

Я имею в виду, что такие писульки генерируются только для того, чтобы распечатать, подписать, отправить и забыть. Их даже хранить не обязательно, поскольку можно пересоздать в любой момент точно в таком же виде.

Но ты упомянул чертежи, пояснительные записки... Для таких документов из шаблонов создается только болванка, остальное содержимое вносится руками. При этом ты хочешь облегчить задачу пользователям и взвалить обязанности по внесению некоторых значений документа на компьютер... Точнее - на себя, поскольку без твоих стараний писишка ничего не сделает...
И вот тут я, похоже, тебя огорчу... Реализовать такую штуку можно. Это довольно трудоёмкая задача, хотя и решаемая. Но в рамках одного только офисного пакета такая система может работать только для небольшой группы людей, два-три человека, каждый из которых делает только свой кусок работы, свой набор документов и не лезет в файлы соседа. Если рабочая группа больше, то придется вводить системы хранения, управления версиями, разделения полномочий... Иначе порядка в ней никогда не будет.
Ты просмотри на досуге статьи в Википедии. Начни, например, с "Система автоматизации документооборота", а дальше по ссылкам пройдись по "Система управления документами", "Система управления содержимым" и т.д.
Вот теперь можешь расстраиваться... Хотя тоже не обязательно. Мы же пока обсуждаем, а не лепим решение с бухты-барахты! Глядишь и придумаем чего-то умного...
вот только как это все делаеться без полей ?
Ну, кроме полей можно использовать тэги в тексте (как в моем примере типового письма), которые подменяются на нужный текст обычным поиском/заменой. Можно вспомнить про механизм Закладок (Bookmark) - вставка текста в закладки у Питоньяка подробно расписана, просто берешь готовый листинг 5.40: Insert text at a bookmark и пользуешься. Там всего-то две строчки кода.
Есть еще такая фишка, как связь по DDE. В принципе, это что-то среднее между полями, о которых ты говорил с самого начала, и закладками. В Справочнике все нужные куски помечаются закладками, а в подчиненном шаблоне в нужных местах вставляются поля DDE, которые отображают эти данные. В чем отличие от полей, о которых ты говорил с самого начала? Связь DDE можно разорвать в любой момент и поле заменится на обычный текст, документ больше не будет привязан к Словарю. Такой документ даже можно отправлять клиенту, он не увидит всей внутренней кухни, как это было бы в случае полей пользователя...
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
as1234
Век живи , век учись ))
Новичок
*
Offline Offline

Пол: Мужской
Сообщений: 35


« Ответ #27: 19 Май 2012, 19:59 »

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

C этого места можно поподробней ? Я видел что можно создать поле DEE , но как им пользоватьс понятия не имею и информации про него КРАЙНЕ мало =)
Справочнике?Эмм в словаре всмысле?
« Последнее редактирование: 19 Май 2012, 20:07 от as1234 » Записан
worktowork
Новичок
*
Offline Offline

Сообщений: 22


« Ответ #28: 20 Май 2012, 17:53 »

По-моему хочет соединить базу данных с электронной таблицей , draw и writer . Затем красиво оформленный вывод на печать. В принципе то , что as1234 возможно.Для начала в Draw или на бумаге надо написать (начертить) схему что с чем будет связано , какой поиск будет производиться , будет ли математический расчёт - должно быть максимально подробно описано с чем будете работать и дальнейшие действия.
« Последнее редактирование: 20 Май 2012, 18:03 от worktowork » Записан

OC Altlinux WMdesktop+Libreoffice 3.6.5.2
as1234
Век живи , век учись ))
Новичок
*
Offline Offline

Пол: Мужской
Сообщений: 35


« Ответ #29: 20 Май 2012, 19:59 »

Кое-что отыскал  >Веселый

Код:
Sub GetDocumentProperties
   Dim oProps
   Dim oDocProps
   Dim s$
   Dim i As Integer
   Dim prop
   oDocProps = ThisComponent.getDocumentProperties()
   s = s & "Author = " & oDocProps.Author & CHR$(10) & _
       "AutoLoadSecs = " & oDocProps.AutoloadSecs & CHR$(10) & _
       "AutoLoadURL = " & oDocProps.AutoloadURL & CHR$(10) & _
       "CreationDate = " & DateSTructToString(oDocProps.CreationDate) & _
       CHR$(10) & _
       "Default Target = " & oDocProps.DefaultTarget & CHR$(10) & _
       "Description = " & oDocProps.Description & CHR$(10) & _
       "EditingCycles = " & oDocProps.EditingCycles & CHR$(10) & _
       "EditingDuration = " & oDocProps.EditingDuration & CHR$(10) & _
       "Generator = " & oDocProps.Generator & CHR$(10) & _
       "Language = (" & oDocProps.Language.Country & ", " & _
       oDocProps.Language.Language & ", " & _
       oDocProps.Language.Variant & ")" & CHR$(10) & _
       "ModificationDate = " & _
       DateSTructToString(oDocProps.ModificationDate) & CHR$(10) & _
       "ModifiedBy = " & oDocProps.ModifiedBy & CHR$(10) & _
       "PrintDate = " & DateSTructToString(oDocProps.PrintDate) & _
       CHR$(10) & _
       "PrintedBy = " & oDocProps.PrintedBy & CHR$(10) & _
       "Subject = " & oDocProps.Subject & CHR$(10) & _
       "TemplateDate = " & _
       DateSTructToString(oDocProps.TemplateDate) & CHR$(10) & _
       "TemplateName" & oDocProps.TemplateName & CHR$(10) & _
       "TemplateURL" & oDocProps.TemplateURL & CHR$(10) & _
       "Title = " & oDocProps.Title & CHR$(10) & _
       ""
   oProps = oDocProps.UserDefinedProperties
   s = s & "Info 1 = " & oProps.[Info 1] & CHR$(10) & _
           "Info 2 = " & oProps.[Info 2] & CHR$(10) & _
           "Info 3 = " & oProps.[Info 3] & CHR$(10) & _
           "Info 4 = " & oProps.[Info 4]
   MsgBox s
   If LBound(oDocProps.Keywords) <= UBound(oDocProps.Keywords) Then
     MsgBox Join(oDocProps.Keywords, CHR$(10)),,"Keywords"
   End If
   s = ""
   Dim oStats : oStats = oDocProps.DocumentStatistics
   For i = LBound(oStats) To UBound(oStats)
     s = s & oStats(i).Name & " = " & oStats(i).Value & CHR$(10)
   Next
   MsgBox s
 End Sub

 Function DateSTructToString(ostruct) As String
   DateSTructToString() = ostruct.Month & "/" & _
      ostruct.Day & "/" & ostruct.Year & " at " & _
      ostruct.Hours & ":" & ostruct.Minutes & ":" & _
      ostruct.Seconds & "." & ostruct.HundredthSeconds
 End Function

К макросу прилагалась записка - Вы должны получить свойства документа, как показано в макросе выше в обеих документах, а затем присвоить значения от одного к другому


Пробую , но выскакивают ошибки , помогите разобраться , толи это вообще что нужно ? =)))
« Последнее редактирование: 20 Май 2012, 20:19 от Helen » Записан
Страниц: « 1 2 3 »   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!