23 октября, вторник 20:10
Bankir.Ru

Объявление

Свернуть
Пока нет объявлений.

Создание отчетов с использованием редактора WORD

Свернуть
X
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • Создание отчетов с использованием редактора WORD

    Коллеги!
    Занимался ли кто-нибудь в Диасофте созданием отчетов с использованием редактора WORD?
    Поделитесь опытом, пожалуйста.

  • #2
    Сообщение от Alex_C Посмотреть сообщение
    Коллеги!
    Занимался ли кто-нибудь в Диасофте созданием отчетов с использованием редактора WORD?
    Поделитесь опытом, пожалуйста.
    Ну я. Получается красиво, но работает медленно. Что интересует-то?

    Комментарий


    • #3
      Сообщение от AndyElf Посмотреть сообщение
      Ну я. Получается красиво, но работает медленно. Что интересует-то?
      Есть стандартная технология, через wrd файл.

      Есть более продвинутая - через tpr c запуском Winword по команде OnReportComplete

      В обоих случаях есть штатные отчеты которые работают и их можно посмотреть. В чем вопрос то?

      Кстати wrd отчеты сильно тормозные, да и отлаживатся на них неудобно.

      Комментарий


      • #4
        Кстати wrd отчеты сильно тормозные, да и отлаживатся на них неудобно
        Я изначально отлаживаю запросы в TPR, а потом переношу их в WRD. На счет того, что "тормозные" - время исполнения сопоставимо с текстовыми отчетами, задержка происходит от вызова и скорости всасывания данных MS Word'ом. Есть у меня TPR-репорт по отбору кучки данных, он работает 5сек, та же конструкция на WRD с выходными вордовыми формами на 29 листов работает 7сек.
        Поднимал недавно филиал на 6.1, нашел вид-мо bug с вордовыми отчетами : ровно через раз отчеты вылетают с ошибкой по сумме валюты прописью. Игнорируешь, толкаешь еще раз и выходит нормально. Мож какую мелочь докрутить надо было, но времени разобраться не было.
        Последний раз редактировалось Sign; 30.10.2006, 14:20. Причина: Старым стал, забываю.

        Комментарий


        • #5
          Удобная вещь, особенно если напрячь юзеров создать вордовый макет готового документа.
          По поводу "как".
          Отчет-добавить. Вид образца - MS WORD. F5.
          Документ WORD - имя вордовского файла с тем самым макетом (пока это не док. слияния).
          Потом пишу запрос.
          Потом закладка "Поля основного запроса":
          "Перечитать", "Добавить".
          Потом закладка "поля" - туда должны перенестись с закладки "Поля основного запроса" все имена полей результирующего запроса. Тут самое муторное - описать маску для каждого поля.
          Потом исполняю отчет, он выдает ошибку "...не документ слияния...". Это нормально, главное - есть файл с данными, его выгрузил отчет. Потом открываю вордовский документ-макет и ваяю док. слияния.

          Комментарий


          • #6
            Сообщение от CostYa Посмотреть сообщение
            Кстати wrd отчеты сильно тормозные, да и отлаживатся на них неудобно.
            Полно-те, отлаживать их очень просто. Весь запрос пишется и отлаживается в Query Analyser или DB Artisan, а потом переносится в отчет "as is". По мне, так ничего удобней быть не может. Потом остается только маски полей прописать и поля слияния настроить, о чем коллеги писали уже, но тут и отлаживать нечего.

            Комментарий


            • #7
              Потом исполняю отчет, он выдает ошибку "...не документ слияния...". Это нормально, главное - есть файл с данными, его выгрузил отчет. Потом открываю вордовский документ-макет и ваяю док. слияния.
              А если в результате запроса - таблица и в Worde нужно слияние в таблицу сделать, то как слияние осуществить?

              Комментарий


              • #8
                Есть более продвинутая - через tpr c запуском Winword по команде OnReportComplete

                А пример можно привести? По OnReportComplete сделал запуск Winword, но после Worda формируется и отчет в Диасофте. Можно ли сделать, стобы в Диасофте отчет на экран не выводился?

                Комментарий


                • #9
                  А пример можно привести? По OnReportComplete сделал запуск Winword, но после Worda формируется и отчет в Диасофте. Можно ли сделать, стобы в Диасофте отчет на экран не выводился?

                  Можно посмотреть, например, отчет Kreddog_text.tpr, правда потреб.кредиты нужены, но можно и другие примеры найти.
                  Главное, чтоб в отчете описание полей было:
                  @UN@ = OnReportComplete{WinExec(FilePath + 'toword.bat '+'kreddoggpb_w.doc'),@s50}
                  @PF@ = PreviewForm{True}
                  Ну и батник toword.bat со следующим содержанием:
                  start %1

                  Комментарий


                  • #10
                    Сообщение от Alex_C Посмотреть сообщение
                    А если в результате запроса - таблица и в Worde нужно слияние в таблицу сделать, то как слияние осуществить?
                    Кстати, хороший вопрос. Если таблица с неизвестным заранее количеством строк - то я не знаю, как это сделать в ворде. Поля слияния предполагают однозначную зависимость типа одно поле - одно значение. Я бы сделал tpr и выгрузку в Excel по OnReportComplete.

                    Комментарий


                    • #11
                      Кстати, хороший вопрос. Если таблица с неизвестным заранее количеством строк - то я не знаю, как это сделать в ворде. Поля слияния предполагают однозначную зависимость типа одно поле - одно значение. Я бы сделал tpr и выгрузку в Excel по OnReportComplete.
                      Это не сложно делается. Ведь ни что не мешает формировать результат отчета в виде html-кода и не будет проблем с количеством строк в таблице. Да и с количеством таблиц тоже проблем не будет. В вачестве примера могу посоветовать посмотреть отчеты начинающиеся на gpb*.tpr или krp*.tpr. Я таких в свое время очень много нарисовал.

                      Комментарий


                      • #12
                        Сообщение от Alex_C Посмотреть сообщение
                        Потом исполняю отчет, он выдает ошибку "...не документ слияния...". Это нормально, главное - есть файл с данными, его выгрузил отчет. Потом открываю вордовский документ-макет и ваяю док. слияния.
                        А если в результате запроса - таблица и в Worde нужно слияние в таблицу сделать, то как слияние осуществить?
                        Я такие штуки реализовывал через VBA-макрос в ВОРДе.
                        Дешево и сердито. Alt-F11.

                        Комментарий


                        • #13
                          Сообщение от Alex_C Посмотреть сообщение
                          А если в результате запроса - таблица и в Worde нужно слияние в таблицу сделать, то как слияние осуществить?
                          А я такие документы делаю так - в tpr - шаблон html страницы вида (шаблон получаю из оригинального ворд. документа сохраненного как html страница)

                          #@sss@
                          #@ssn@
                          html xmlns:v="urn:schemas-microsoft-com:vml"
                          xmlns="urn:schemas-microsoft-comfficeffice"
                          xmlns:w="urn:schemas-microsoft-comffice:word"

                          ...много бла-бла-бла...
                          .. и вот таблица ..

                          $T

                          tr>
                          td style='width:260pt;border-top:none;border-left:solid windowtext .5pt;
                          border-bottom:none;border-right:solid windowtext .5pt;padding:0cm 2.85pt 0cm 2.85pt'>
                          p class=MsoNormal style='tab-stops:747.0pt'>span style='font-size:7.0pt;
                          mso-bidi-font-size:12.0pt'>@SecName@b>o>/o>/b>/span>/p>
                          /td>
                          td width=76 style='width:2.0cm;border:none;border-right:solid windowtext .5pt;
                          mso-border-left-alt:solid windowtext .5pt;padding:0cm 2.85pt 0cm 2.85pt'>
                          p class=MsoNormal align=right style='text-align:right;tab-stops:747.0pt'>span
                          style='font-size:7.0pt;mso-bidi-font-size:12.0pt'>@Nominal@b>o>/o>/b>/span>/p>
                          /td>
                          td width=50 style='width:39.7pt;border:none;border-right:solid windowtext .5pt;
                          mso-border-left-alt:solid windowtext .5pt;padding:0cm 2.85pt 0cm 2.85pt'>
                          p class=MsoNormal align=center style='text-align:center;tab-stops:747.0pt'>span
                          style='font-size:7.0pt;mso-bidi-font-size:12.0pt'>@Fnd@b>o>/o>/b>/span>/p>
                          /td>
                          ...
                          /tr>

                          $


                          где
                          @sss@ = OnReportComplete{WinExec("r:\5nt\reports\html_run.bat ",,"",,FilePath+FileName,,""),@s10}
                          @ssn@ =PreviewForm{True}

                          а в html_run.bat - копирование файла из txt в html и старт IE с переданным ему файлом.

                          минусы - много ручной возни, сложно вносить изменения
                          плюсы - внешний вид, можно забрать в DOC файл, унифицированность формата
                          С уважением, Максаев Андрей.

                          Комментарий


                          • #14
                            Огромное спасибо всем. Разобрался.

                            Комментарий

                            Пользователи, просматривающие эту тему

                            Свернуть

                            Присутствует 1. Участников: 0, гостей: 1.

                            Обработка...
                            X